diff options
author | madelinegr <laura_wilson@brown.edu> | 2019-02-18 19:38:08 -0500 |
---|---|---|
committer | madelinegr <laura_wilson@brown.edu> | 2019-02-18 19:38:08 -0500 |
commit | 6fd2cec91efd6672a70e15a786954f92c1d23416 (patch) | |
tree | 0cbf4c1dd399bd041e05eb4c911a642547f673f9 /src/server/ServerUtil.ts | |
parent | 41ba832136aef2b7e6a5034486757aa4b3047cf9 (diff) | |
parent | 70a8b4ab8075af4d06efb04c083b3bf11636373e (diff) |
Merge remote-tracking branch 'origin/server_database_merge' into authentication
Diffstat (limited to 'src/server/ServerUtil.ts')
-rw-r--r-- | src/server/ServerUtil.ts | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/src/server/ServerUtil.ts b/src/server/ServerUtil.ts index 6757615fb..46c409ec4 100644 --- a/src/server/ServerUtil.ts +++ b/src/server/ServerUtil.ts @@ -11,47 +11,35 @@ import { Types } from './Message'; import { Utils } from '../Utils'; export class ServerUtils { - public static FromJson(json: string): Field { - let obj = JSON.parse(json) + public static FromJson(json: any): Field { + let obj = json let data: any = obj.data - let id: string = obj.id + let id: string = obj._id let type: Types = obj.type - if (!(data && id && type != undefined)) { + if (!(data !== undefined && id && type !== undefined)) { console.log("how did you manage to get an object that doesn't have a data or an id?") return new TextField("Something to fill the space", Utils.GenerateGuid()); } switch (type) { case Types.Number: - return new NumberField(data, id) + return new NumberField(data, id, false) case Types.Text: - return new TextField(data, id) + return new TextField(data, id, false) case Types.RichText: - return new RichTextField(data, id) + return new RichTextField(data, id, false) case Types.Key: - return new Key(data, id) + return new Key(data, id, false) case Types.Image: - return new ImageField(data, id) + return new ImageField(new URL(data), id, false) case Types.List: - return new ListField(data, id) + return ListField.FromJson(id, data) case Types.Document: - let doc: Document = new Document(id) + let doc: Document = new Document(id, false) let fields: [string, string][] = data as [string, string][] fields.forEach(element => { doc._proxies.set(element[0], element[1]); - let keyId: string = element[0] - let valueId: string = element[1] - Server.GetField(keyId, (key: Field) => { - if (key instanceof Key) { - Server.GetField(valueId, (field: Field) => { - doc.Set(key as Key, field) - }) - } - else { - console.log("how did you get a key that isnt a key wtf") - } - }) }); return doc } |