server-ts: Port services/sync

This commit is contained in:
Elian Doran
2024-02-18 13:10:51 +02:00
parent 43c89c0e9d
commit d89b791914
11 changed files with 133 additions and 85 deletions

View File

@@ -4,17 +4,7 @@ import entityChangesService = require('./entity_changes');
import eventService = require('./events');
import entityConstructor = require('../becca/entity_constructor');
import ws = require('./ws');
import { EntityChange } from './entity_changes_interface';
interface EntityRow {
isDeleted?: boolean;
content: Buffer | string;
}
interface EntityChangeInput {
entityChange: EntityChange;
entity: EntityRow;
}
import { EntityChange, EntityChangeRecord, EntityRow } from './entity_changes_interface';
interface UpdateContext {
alreadyErased: number;
@@ -22,7 +12,7 @@ interface UpdateContext {
updated: Record<string, string[]>
}
function updateEntities(entityChanges: EntityChangeInput[], instanceId: string) {
function updateEntities(entityChanges: EntityChangeRecord[], instanceId: string) {
if (entityChanges.length === 0) {
return;
}
@@ -51,7 +41,9 @@ function updateEntities(entityChanges: EntityChangeInput[], instanceId: string)
atLeastOnePullApplied = true;
}
updateEntity(entityChange, entity, instanceId, updateContext);
if (entity) {
updateEntity(entityChange, entity, instanceId, updateContext);
}
}
logUpdateContext(updateContext);