diff options
| author | bobzel <zzzman@gmail.com> | 2020-10-16 15:48:54 -0400 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2020-10-16 15:48:54 -0400 |
| commit | 5816840af60f97a34318a52a5276482cab392496 (patch) | |
| tree | eea1b3e86cdda16ea4e2a66cbdfb3cdd880f7cda /src/server | |
| parent | e6d700159cb6c273a2df0fd02469e72aa5b48c86 (diff) | |
updated user initialization code to not generate server traffic when creating a new account. set user accounts to update their cache 2.5s after login.
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/websocket.ts | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/websocket.ts b/src/server/websocket.ts index e5692a7dd..490760441 100644 --- a/src/server/websocket.ts +++ b/src/server/websocket.ts @@ -207,9 +207,12 @@ export namespace WebSocket { } } + function GetRefFieldLocal([id, callback]: [string, (result?: Transferable) => void]) { + return Database.Instance.getDocument(id, callback); + } function GetRefField([id, callback]: [string, (result?: Transferable) => void]) { process.stdout.write(`.`); - Database.Instance.getDocument(id, callback); + GetRefFieldLocal([id, callback]); } function GetRefFields([ids, callback]: [string[], (result?: Transferable[]) => void]) { @@ -311,9 +314,9 @@ export namespace WebSocket { function UpdateField(socket: Socket, diff: Diff) { - if (diff.diff.$addToSet) return GetRefField([diff.id, (result?: Transferable) => addToListField(socket, diff, result)]); // would prefer to have Mongo handle list additions direclty, but for now handle it on our own - if (diff.diff.$remFromSet) return GetRefField([diff.id, (result?: Transferable) => remFromListField(socket, diff, result)]); // would prefer to have Mongo handle list additions direclty, but for now handle it on our own - return GetRefField([diff.id, (result?: Transferable) => SetField(socket, diff, result)]); + if (diff.diff.$addToSet) return GetRefFieldLocal([diff.id, (result?: Transferable) => addToListField(socket, diff, result)]); // would prefer to have Mongo handle list additions direclty, but for now handle it on our own + if (diff.diff.$remFromSet) return GetRefFieldLocal([diff.id, (result?: Transferable) => remFromListField(socket, diff, result)]); // would prefer to have Mongo handle list additions direclty, but for now handle it on our own + return GetRefFieldLocal([diff.id, (result?: Transferable) => SetField(socket, diff, result)]); } function SetField(socket: Socket, diff: Diff, curListItems?: Transferable) { Database.Instance.update(diff.id, diff.diff, |
