aboutsummaryrefslogtreecommitdiff
path: root/src/server/websocket.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/websocket.ts')
-rw-r--r--src/server/websocket.ts7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index f10455680..f588151a5 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -240,7 +240,7 @@ export namespace WebSocket {
// if the client and server have different versions of the data after
// deletion, they will have different lengths and the server will
// send its version of the data to the client
- const sendBack = diff.diff.length !== remListItems.length;
+ const sendBack = diff.diff.length !== diff.diff.$set[updatefield].fields.length;
delete diff.diff.length;
Database.Instance.update(
diff.id,
@@ -306,6 +306,10 @@ export namespace WebSocket {
});
}
+ function CreateDocField(newValue: serializedDoctype) {
+ Database.Instance.insert(newValue);
+ }
+
export async function initialize(isRelease: boolean, credentials: SecureContextOptions) {
let io: Server;
if (isRelease) {
@@ -367,6 +371,7 @@ export namespace WebSocket {
ServerUtils.AddServerHandler(socket, MessageStore.DeleteAll, () => doDelete(false));
}
+ ServerUtils.AddServerHandler(socket, MessageStore.CreateDocField, CreateDocField);
ServerUtils.AddServerHandler(socket, MessageStore.UpdateField, diff => UpdateField(socket, diff));
ServerUtils.AddServerHandler(socket, MessageStore.DeleteField, id => DeleteField(socket, id));
ServerUtils.AddServerHandler(socket, MessageStore.DeleteFields, ids => DeleteFields(socket, ids));