@lenne.tech/nest-server 12.1.1 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/.claude/rules/architecture.md +1 -0
  2. package/.claude/rules/configurable-features.md +1 -0
  3. package/.claude/rules/package-management.md +16 -1
  4. package/.claude/rules/persistence.md +26 -0
  5. package/.claude/rules/testing.md +79 -14
  6. package/CLAUDE.md +2 -1
  7. package/FRAMEWORK-API.md +17 -2
  8. package/README.md +18 -0
  9. package/dist/core/common/interfaces/server-options.interface.d.ts +41 -0
  10. package/dist/core/common/interfaces/service-options.interface.d.ts +3 -0
  11. package/dist/core/common/persistence/core-persistence.module.js +12 -2
  12. package/dist/core/common/persistence/core-persistence.module.js.map +1 -1
  13. package/dist/core/common/persistence/data-source.runtime.js +4 -2
  14. package/dist/core/common/persistence/data-source.runtime.js.map +1 -1
  15. package/dist/core/common/persistence/data-store.interface.d.ts +24 -9
  16. package/dist/core/common/persistence/id-format.d.ts +2 -0
  17. package/dist/core/common/persistence/id-format.js +14 -0
  18. package/dist/core/common/persistence/id-format.js.map +1 -1
  19. package/dist/core/common/persistence/model-descriptor.interface.d.ts +6 -0
  20. package/dist/core/common/persistence/model-metadata.registry.d.ts +2 -1
  21. package/dist/core/common/persistence/model-metadata.registry.js +20 -2
  22. package/dist/core/common/persistence/model-metadata.registry.js.map +1 -1
  23. package/dist/core/common/persistence/mongo/sync-schema.plugin.d.ts +18 -0
  24. package/dist/core/common/persistence/mongo/sync-schema.plugin.js +368 -0
  25. package/dist/core/common/persistence/mongo/sync-schema.plugin.js.map +1 -0
  26. package/dist/core/common/persistence/mongoose-data-store.d.ts +19 -9
  27. package/dist/core/common/persistence/mongoose-data-store.js +107 -31
  28. package/dist/core/common/persistence/mongoose-data-store.js.map +1 -1
  29. package/dist/core/common/persistence/persisted-model.decorator.d.ts +3 -0
  30. package/dist/core/common/persistence/persisted-model.decorator.js +9 -0
  31. package/dist/core/common/persistence/persisted-model.decorator.js.map +1 -1
  32. package/dist/core/common/persistence/policies/sync.policy.d.ts +17 -0
  33. package/dist/core/common/persistence/policies/sync.policy.js +77 -0
  34. package/dist/core/common/persistence/policies/sync.policy.js.map +1 -0
  35. package/dist/core/common/persistence/sql/mysql/mysql-data-store.d.ts +12 -8
  36. package/dist/core/common/persistence/sql/mysql/mysql-data-store.js +82 -29
  37. package/dist/core/common/persistence/sql/mysql/mysql-data-store.js.map +1 -1
  38. package/dist/core/common/persistence/sql/mysql/mysql-schema.compiler.d.ts +10 -0
  39. package/dist/core/common/persistence/sql/mysql/mysql-schema.compiler.js +61 -4
  40. package/dist/core/common/persistence/sql/mysql/mysql-schema.compiler.js.map +1 -1
  41. package/dist/core/common/persistence/sql/mysql/mysql-schema.migrator.js +101 -4
  42. package/dist/core/common/persistence/sql/mysql/mysql-schema.migrator.js.map +1 -1
  43. package/dist/core/common/persistence/sql/postgres/postgres-schema.compiler.d.ts +10 -0
  44. package/dist/core/common/persistence/sql/postgres/postgres-schema.compiler.js +41 -2
  45. package/dist/core/common/persistence/sql/postgres/postgres-schema.compiler.js.map +1 -1
  46. package/dist/core/common/persistence/sql/postgres/postgres-schema.migrator.js +98 -10
  47. package/dist/core/common/persistence/sql/postgres/postgres-schema.migrator.js.map +1 -1
  48. package/dist/core/common/persistence/sql/sql-data-store.d.ts +38 -14
  49. package/dist/core/common/persistence/sql/sql-data-store.js +212 -38
  50. package/dist/core/common/persistence/sql/sql-data-store.js.map +1 -1
  51. package/dist/core/common/persistence/sql/sql-errors.d.ts +2 -1
  52. package/dist/core/common/persistence/sql/sql-errors.js +3 -1
  53. package/dist/core/common/persistence/sql/sql-errors.js.map +1 -1
  54. package/dist/core/common/persistence/sync-access.registry.d.ts +17 -0
  55. package/dist/core/common/persistence/sync-access.registry.js +8 -0
  56. package/dist/core/common/persistence/sync-access.registry.js.map +1 -0
  57. package/dist/core/common/persistence/sync-model.d.ts +29 -0
  58. package/dist/core/common/persistence/sync-model.js +138 -0
  59. package/dist/core/common/persistence/sync-model.js.map +1 -0
  60. package/dist/core/common/services/crud.service.d.ts +13 -1
  61. package/dist/core/common/services/crud.service.js +174 -16
  62. package/dist/core/common/services/crud.service.js.map +1 -1
  63. package/dist/core/modules/error-code/error-codes.d.ts +54 -0
  64. package/dist/core/modules/error-code/error-codes.js +48 -0
  65. package/dist/core/modules/error-code/error-codes.js.map +1 -1
  66. package/dist/core/modules/migrate/sql-migration.helper.d.ts +15 -1
  67. package/dist/core/modules/migrate/sql-migration.helper.js +90 -5
  68. package/dist/core/modules/migrate/sql-migration.helper.js.map +1 -1
  69. package/dist/core/modules/sync/core-sync-base.controller.d.ts +7 -0
  70. package/dist/core/modules/sync/core-sync-base.controller.js +44 -0
  71. package/dist/core/modules/sync/core-sync-base.controller.js.map +1 -0
  72. package/dist/core/modules/sync/core-sync-cursor.d.ts +19 -0
  73. package/dist/core/modules/sync/core-sync-cursor.js +77 -0
  74. package/dist/core/modules/sync/core-sync-cursor.js.map +1 -0
  75. package/dist/core/modules/sync/core-sync-hints.controller.d.ts +4 -0
  76. package/dist/core/modules/sync/core-sync-hints.controller.js +55 -0
  77. package/dist/core/modules/sync/core-sync-hints.controller.js.map +1 -0
  78. package/dist/core/modules/sync/core-sync-hints.service.d.ts +28 -0
  79. package/dist/core/modules/sync/core-sync-hints.service.js +155 -0
  80. package/dist/core/modules/sync/core-sync-hints.service.js.map +1 -0
  81. package/dist/core/modules/sync/core-sync-infrastructure.models.d.ts +2 -0
  82. package/dist/core/modules/sync/core-sync-infrastructure.models.js +17 -0
  83. package/dist/core/modules/sync/core-sync-infrastructure.models.js.map +1 -0
  84. package/dist/core/modules/sync/core-sync-mutation.store.d.ts +43 -0
  85. package/dist/core/modules/sync/core-sync-mutation.store.js +88 -0
  86. package/dist/core/modules/sync/core-sync-mutation.store.js.map +1 -0
  87. package/dist/core/modules/sync/core-sync-state.store.d.ts +18 -0
  88. package/dist/core/modules/sync/core-sync-state.store.js +64 -0
  89. package/dist/core/modules/sync/core-sync-state.store.js.map +1 -0
  90. package/dist/core/modules/sync/core-sync.constants.d.ts +28 -0
  91. package/dist/core/modules/sync/core-sync.constants.js +23 -0
  92. package/dist/core/modules/sync/core-sync.constants.js.map +1 -0
  93. package/dist/core/modules/sync/core-sync.controller.d.ts +8 -0
  94. package/dist/core/modules/sync/core-sync.controller.js +79 -0
  95. package/dist/core/modules/sync/core-sync.controller.js.map +1 -0
  96. package/dist/core/modules/sync/core-sync.decorators.d.ts +12 -0
  97. package/dist/core/modules/sync/core-sync.decorators.js +28 -0
  98. package/dist/core/modules/sync/core-sync.decorators.js.map +1 -0
  99. package/dist/core/modules/sync/core-sync.module.d.ts +16 -0
  100. package/dist/core/modules/sync/core-sync.module.js +50 -0
  101. package/dist/core/modules/sync/core-sync.module.js.map +1 -0
  102. package/dist/core/modules/sync/core-sync.resolver.d.ts +9 -0
  103. package/dist/core/modules/sync/core-sync.resolver.js +46 -0
  104. package/dist/core/modules/sync/core-sync.resolver.js.map +1 -0
  105. package/dist/core/modules/sync/core-sync.service.d.ts +142 -0
  106. package/dist/core/modules/sync/core-sync.service.js +1208 -0
  107. package/dist/core/modules/sync/core-sync.service.js.map +1 -0
  108. package/dist/core/modules/sync/interfaces/core-sync.interfaces.d.ts +56 -0
  109. package/dist/core/modules/sync/interfaces/core-sync.interfaces.js +2 -0
  110. package/dist/core/modules/sync/interfaces/core-sync.interfaces.js.map +1 -0
  111. package/dist/core/modules/sync/models/core-sync-hint.model.d.ts +4 -0
  112. package/dist/core/modules/sync/models/core-sync-hint.model.js +30 -0
  113. package/dist/core/modules/sync/models/core-sync-hint.model.js.map +1 -0
  114. package/dist/core/modules/tenant/core-tenant.guard.js +4 -0
  115. package/dist/core/modules/tenant/core-tenant.guard.js.map +1 -1
  116. package/dist/core.module.js +14 -0
  117. package/dist/core.module.js.map +1 -1
  118. package/dist/index.d.ts +16 -0
  119. package/dist/index.js +16 -0
  120. package/dist/index.js.map +1 -1
  121. package/dist/server/modules/error-code/error-codes.d.ts +6 -0
  122. package/dist/server/modules/sync-note/inputs/sync-note-create.input.d.ts +4 -0
  123. package/dist/server/modules/sync-note/inputs/sync-note-create.input.js +27 -0
  124. package/dist/server/modules/sync-note/inputs/sync-note-create.input.js.map +1 -0
  125. package/dist/server/modules/sync-note/inputs/sync-note.input.d.ts +6 -0
  126. package/dist/server/modules/sync-note/inputs/sync-note.input.js +37 -0
  127. package/dist/server/modules/sync-note/inputs/sync-note.input.js.map +1 -0
  128. package/dist/server/modules/sync-note/sync-note.model.d.ts +10 -0
  129. package/dist/server/modules/sync-note/sync-note.model.js +73 -0
  130. package/dist/server/modules/sync-note/sync-note.model.js.map +1 -0
  131. package/dist/server/modules/sync-note/sync-note.module.d.ts +2 -0
  132. package/dist/server/modules/sync-note/sync-note.module.js +21 -0
  133. package/dist/server/modules/sync-note/sync-note.module.js.map +1 -0
  134. package/dist/server/modules/sync-note/sync-note.service.d.ts +10 -0
  135. package/dist/server/modules/sync-note/sync-note.service.js +35 -0
  136. package/dist/server/modules/sync-note/sync-note.service.js.map +1 -0
  137. package/docs/REQUEST-LIFECYCLE.md +1 -0
  138. package/docs/offline-sync-protocol.md +96 -62
  139. package/docs/security-overrides.md +14 -0
  140. package/migration-guides/12.1.x-to-12.2.x.md +154 -0
  141. package/package.json +4 -2
  142. package/src/core/common/interfaces/server-options.interface.ts +149 -0
  143. package/src/core/common/interfaces/service-options.interface.ts +15 -0
  144. package/src/core/common/persistence/core-persistence.module.ts +21 -2
  145. package/src/core/common/persistence/data-source.runtime.ts +5 -2
  146. package/src/core/common/persistence/data-store.interface.ts +65 -12
  147. package/src/core/common/persistence/id-format.ts +26 -0
  148. package/src/core/common/persistence/model-descriptor.interface.ts +12 -0
  149. package/src/core/common/persistence/model-metadata.registry.ts +31 -2
  150. package/src/core/common/persistence/mongo/sync-schema.plugin.ts +508 -0
  151. package/src/core/common/persistence/mongoose-data-store.ts +171 -35
  152. package/src/core/common/persistence/persisted-model.decorator.ts +26 -0
  153. package/src/core/common/persistence/policies/sync.policy.ts +121 -0
  154. package/src/core/common/persistence/sql/mysql/mysql-data-store.ts +108 -30
  155. package/src/core/common/persistence/sql/mysql/mysql-schema.compiler.ts +107 -4
  156. package/src/core/common/persistence/sql/mysql/mysql-schema.migrator.ts +129 -3
  157. package/src/core/common/persistence/sql/postgres/postgres-schema.compiler.ts +74 -2
  158. package/src/core/common/persistence/sql/postgres/postgres-schema.migrator.ts +139 -7
  159. package/src/core/common/persistence/sql/sql-data-store.ts +325 -44
  160. package/src/core/common/persistence/sql/sql-errors.ts +5 -1
  161. package/src/core/common/persistence/sync-access.registry.ts +50 -0
  162. package/src/core/common/persistence/sync-model.ts +270 -0
  163. package/src/core/common/services/crud.service.ts +257 -19
  164. package/src/core/modules/error-code/error-codes.ts +59 -0
  165. package/src/core/modules/migrate/sql-migration.helper.ts +141 -7
  166. package/src/core/modules/sync/INTEGRATION-CHECKLIST.md +95 -0
  167. package/src/core/modules/sync/README.md +188 -0
  168. package/src/core/modules/sync/SECURITY.md +65 -0
  169. package/src/core/modules/sync/core-sync-base.controller.ts +43 -0
  170. package/src/core/modules/sync/core-sync-cursor.ts +117 -0
  171. package/src/core/modules/sync/core-sync-hints.controller.ts +52 -0
  172. package/src/core/modules/sync/core-sync-hints.service.ts +178 -0
  173. package/src/core/modules/sync/core-sync-infrastructure.models.ts +40 -0
  174. package/src/core/modules/sync/core-sync-mutation.store.ts +146 -0
  175. package/src/core/modules/sync/core-sync-state.store.ts +89 -0
  176. package/src/core/modules/sync/core-sync.constants.ts +51 -0
  177. package/src/core/modules/sync/core-sync.controller.ts +68 -0
  178. package/src/core/modules/sync/core-sync.decorators.ts +84 -0
  179. package/src/core/modules/sync/core-sync.module.ts +75 -0
  180. package/src/core/modules/sync/core-sync.resolver.ts +35 -0
  181. package/src/core/modules/sync/core-sync.service.ts +1728 -0
  182. package/src/core/modules/sync/interfaces/core-sync.interfaces.ts +85 -0
  183. package/src/core/modules/sync/models/core-sync-hint.model.ts +18 -0
  184. package/src/core/modules/tenant/core-tenant.guard.ts +8 -0
  185. package/src/core.module.ts +25 -0
  186. package/src/index.ts +21 -0
  187. package/src/server/modules/sync-note/inputs/sync-note-create.input.ts +14 -0
  188. package/src/server/modules/sync-note/inputs/sync-note.input.ts +23 -0
  189. package/src/server/modules/sync-note/sync-note.model.ts +77 -0
  190. package/src/server/modules/sync-note/sync-note.module.ts +16 -0
  191. package/src/server/modules/sync-note/sync-note.service.ts +25 -0
@@ -3,7 +3,12 @@ import { FilterArgs } from '../args/filter.args.js';
3
3
  import { getStringIds } from '../helpers/db.helper.js';
4
4
  import { convertFilterArgsToQuery } from '../helpers/filter.helper.js';
5
5
  import { mergePlain, prepareServiceOptionsForCreate } from '../helpers/input.helper.js';
6
+ import { getModelDescriptor } from '../persistence/model-metadata.registry.js';
7
+ import { getSyncAccessListener } from '../persistence/sync-access.registry.js';
6
8
  import { UnsupportedCapabilityError } from '../persistence/unsupported-capability.error.js';
9
+ import { isDuplicateIdError } from '../persistence/mongoose-data-store.js';
10
+ import { includeTombstones, syncOfSchema } from '../persistence/mongo/sync-schema.plugin.js';
11
+ import { assertClientId, assertExpectedVersion, insertWithServerId, suppliedId, VersionConflictError, } from '../persistence/policies/sync.policy.js';
7
12
  import { PaginationInfo } from '../models/pagination-info.model.js';
8
13
  import { ConfigService } from './config.service.js';
9
14
  import { ModuleService } from './module.service.js';
@@ -34,14 +39,30 @@ export class CrudService extends ModuleService {
34
39
  serviceOptions = prepareServiceOptionsForCreate(serviceOptions);
35
40
  return this.process(async (data) => {
36
41
  const currentUserId = serviceOptions?.currentUser?.id;
42
+ const createId = serviceOptions?.createId;
37
43
  if (this.usesNeutralStore) {
38
- return this.dataStore.insert({ ...data.input, createdBy: currentUserId, updatedBy: currentUserId });
44
+ return this.syncChanged(await this.dataStore.insert({
45
+ ...data.input,
46
+ ...(createId === undefined || createId === null ? {} : { id: createId }),
47
+ createdBy: currentUserId,
48
+ updatedBy: currentUserId,
49
+ }));
39
50
  }
40
- return new this.mainDbModel({
51
+ const build = (id) => new this.mainDbModel({
41
52
  ...data.input,
53
+ ...(id === undefined ? {} : { _id: id }),
42
54
  createdBy: currentUserId,
43
55
  updatedBy: currentUserId,
44
- }).save();
56
+ });
57
+ const sync = this.mongoSync;
58
+ if (!sync) {
59
+ return build(createId ?? undefined).save();
60
+ }
61
+ const supplied = createId ?? suppliedId(data.input ?? {});
62
+ if (supplied !== undefined && supplied !== null) {
63
+ return this.syncChanged(await build(assertClientId(supplied, sync.idFormat, this.mainDbModel.modelName)).save());
64
+ }
65
+ return this.syncChanged(await insertWithServerId(sync.idFormat, (id) => build(id).save(), isDuplicateIdError));
45
66
  }, { input, serviceOptions });
46
67
  }
47
68
  async createForce(input, serviceOptions = {}) {
@@ -54,18 +75,21 @@ export class CrudService extends ModuleService {
54
75
  serviceOptions.raw = true;
55
76
  return this.createForce(input, serviceOptions);
56
77
  }
57
- distinct(property) {
58
- return this.dataStore.distinct(property);
78
+ distinct(property, serviceOptions) {
79
+ return this.dataStore.distinct(property, undefined, tombstoneOption(serviceOptions));
59
80
  }
60
81
  async get(id, serviceOptions) {
61
82
  if (this.usesNeutralStore) {
62
- const record = await this.dataStore.findById(id, neutralSelect(serviceOptions?.select));
83
+ const record = await this.dataStore.findById(id, {
84
+ ...neutralSelect(serviceOptions?.select),
85
+ ...tombstoneOption(serviceOptions),
86
+ });
63
87
  if (!record) {
64
88
  throw new NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
65
89
  }
66
90
  return this.process(async () => record, { dbObject: record, serviceOptions });
67
91
  }
68
- const query = this.mainDbModel.findById(id);
92
+ const query = this.withTombstones(this.mainDbModel.findById(id), serviceOptions);
69
93
  if (serviceOptions?.select) {
70
94
  query.select(serviceOptions.select);
71
95
  }
@@ -103,7 +127,7 @@ export class CrudService extends ModuleService {
103
127
  const { options, where } = neutralQuery(filterQuery, serviceOptions);
104
128
  return this.dataStore.find(where, options);
105
129
  }
106
- let find = this.mainDbModel.find(filterQuery.filterQuery, null, filterQuery.queryOptions);
130
+ let find = this.withTombstones(this.mainDbModel.find(filterQuery.filterQuery, null, filterQuery.queryOptions), serviceOptions);
107
131
  const collation = serviceOptions?.collation || ConfigService.get('mongoose.collation');
108
132
  if (collation) {
109
133
  find = find.collation(collation);
@@ -139,7 +163,7 @@ export class CrudService extends ModuleService {
139
163
  const { options, where } = neutralQuery(filterQuery, serviceOptions);
140
164
  const [items, totalCount] = await Promise.all([
141
165
  this.dataStore.find(where, filter?.samples ? { ...options, sample: filter.samples } : options),
142
- this.dataStore.count(where),
166
+ this.dataStore.count(where, tombstoneOption(serviceOptions)),
143
167
  ]);
144
168
  const queryOptions = filterQuery.queryOptions || {};
145
169
  return {
@@ -181,7 +205,7 @@ export class CrudService extends ModuleService {
181
205
  }
182
206
  aggregation.push({ $facet: facet });
183
207
  const collation = serviceOptions?.collation || ConfigService.get('mongoose.collation');
184
- const dbResult = (await this.mainDbModel.aggregate(aggregation, collation ? { collation } : {}).exec())[0] || {};
208
+ const dbResult = (await this.withTombstones(this.mainDbModel.aggregate(aggregation, collation ? { collation } : {}), serviceOptions).exec())[0] || {};
185
209
  dbResult.totalCount = dbResult.totalCount?.[0]?.total || 0;
186
210
  dbResult.items = dbResult.items?.map((item) => this.mainDbModel.hydrate(item)) || [];
187
211
  const queryOptions = filterQuery.queryOptions || {};
@@ -241,11 +265,12 @@ export class CrudService extends ModuleService {
241
265
  return this.dataStore.findOne(where, {
242
266
  collation: options.collation,
243
267
  exclude: options.exclude,
268
+ includeTombstones: options.includeTombstones,
244
269
  select: options.select,
245
270
  sort: options.sort,
246
271
  });
247
272
  }
248
- let find = this.mainDbModel.findOne(filterQuery.filterQuery, null, filterQuery.queryOptions);
273
+ let find = this.withTombstones(this.mainDbModel.findOne(filterQuery.filterQuery, null, filterQuery.queryOptions), serviceOptions);
249
274
  const collation = serviceOptions?.collation || ConfigService.get('mongoose.collation');
250
275
  if (collation) {
251
276
  find = find.collation(collation);
@@ -315,29 +340,53 @@ export class CrudService extends ModuleService {
315
340
  }
316
341
  }
317
342
  async update(id, input, serviceOptions) {
343
+ const expectedVersion = this.expectedVersionOf(serviceOptions);
318
344
  if (this.usesNeutralStore) {
319
345
  const stored = await this.dataStore.findById(id);
320
346
  if (!stored) {
321
347
  throw new NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
322
348
  }
349
+ this.assertVersion(id, stored, expectedVersion);
323
350
  return this.process(async (data) => {
351
+ const before = this.syncAccessSnapshot(stored);
324
352
  const merged = mergePlain(stored, data.input, { updatedBy: serviceOptions?.currentUser?.id });
325
353
  const { _id: _mongoId, id: _id, updatedAt: _updatedAt, ...patch } = merged;
326
- return this.dataStore.updateById(id, patch);
354
+ const updated = expectedVersion === undefined
355
+ ? await this.dataStore.updateById(id, patch)
356
+ :
357
+ ((await this.dataStore.updateOne({ id, version: expectedVersion }, patch)) ??
358
+ this.versionConflict(id));
359
+ if (updated) {
360
+ await this.reportSyncAccessMove(before, merged);
361
+ this.reportSyncChange(before, merged);
362
+ }
363
+ return updated;
327
364
  }, { dbObject: stored, input, serviceOptions });
328
365
  }
329
366
  const dbObject = await this.mainDbModel.findById(id).lean();
330
367
  if (!dbObject) {
331
368
  throw new NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
332
369
  }
370
+ this.assertVersion(id, dbObject, expectedVersion);
333
371
  return this.process(async (data) => {
334
372
  const currentUserId = serviceOptions?.currentUser?.id;
373
+ const before = this.syncAccessSnapshot(dbObject);
335
374
  const merged = mergePlain(dbObject, data.input, { updatedBy: currentUserId });
336
- const query = this.mainDbModel.findByIdAndUpdate(id, merged, { returnDocument: 'after' });
375
+ const query = expectedVersion === undefined
376
+ ? this.mainDbModel.findByIdAndUpdate(id, merged, { returnDocument: 'after' })
377
+ : this.mainDbModel.findOneAndUpdate({ _id: id, version: expectedVersion }, merged, {
378
+ returnDocument: 'after',
379
+ });
337
380
  if (serviceOptions?.select) {
338
381
  query.select(serviceOptions.select);
339
382
  }
340
- return await query.exec();
383
+ const updated = await query.exec();
384
+ if (!updated) {
385
+ return expectedVersion === undefined ? updated : this.versionConflict(id);
386
+ }
387
+ await this.reportSyncAccessMove(before, merged);
388
+ this.reportSyncChange(before, merged);
389
+ return updated;
341
390
  }, { dbObject, input, serviceOptions });
342
391
  }
343
392
  async updateForce(id, input, serviceOptions) {
@@ -351,13 +400,16 @@ export class CrudService extends ModuleService {
351
400
  return this.updateForce(id, input, serviceOptions);
352
401
  }
353
402
  async delete(id, serviceOptions) {
403
+ const expectedVersion = this.expectedVersionOf(serviceOptions);
354
404
  if (this.usesNeutralStore) {
355
405
  const stored = await this.dataStore.findById(id, neutralSelect(serviceOptions?.select));
356
406
  if (!stored) {
357
407
  throw new NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
358
408
  }
409
+ this.assertVersion(id, stored, expectedVersion);
359
410
  return this.process(async () => {
360
- await this.dataStore.deleteById(id);
411
+ await this.removeOrTombstone(id, expectedVersion);
412
+ this.reportSyncChange(stored);
361
413
  return stored;
362
414
  }, { dbObject: stored, serviceOptions });
363
415
  }
@@ -369,11 +421,113 @@ export class CrudService extends ModuleService {
369
421
  if (!dbObject) {
370
422
  throw new NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
371
423
  }
424
+ this.assertVersion(id, dbObject, expectedVersion);
372
425
  return this.process(async () => {
373
- await this.mainDbModel.findByIdAndDelete(id).exec();
426
+ if (this.mongoSync) {
427
+ await this.removeOrTombstone(id, expectedVersion);
428
+ this.reportSyncChange(dbObject);
429
+ }
430
+ else {
431
+ await this.mainDbModel.findByIdAndDelete(id).exec();
432
+ }
374
433
  return dbObject;
375
434
  }, { dbObject, serviceOptions });
376
435
  }
436
+ get mongoSync() {
437
+ return this.usesNeutralStore ? undefined : syncOfSchema(this.mainDbModel?.schema);
438
+ }
439
+ get isSynchronized() {
440
+ return !!this.dataStore?.capabilities.changeOrder;
441
+ }
442
+ withTombstones(query, serviceOptions) {
443
+ return serviceOptions?.includeTombstones && this.mongoSync ? includeTombstones(query) : query;
444
+ }
445
+ expectedVersionOf(serviceOptions) {
446
+ if (serviceOptions?.expectedVersion === undefined || serviceOptions.expectedVersion === null) {
447
+ return undefined;
448
+ }
449
+ if (!this.isSynchronized) {
450
+ throw new UnsupportedCapabilityError(`expectedVersion: ${this.mainModelConstructor?.name ?? this.dataStore?.modelName} is not a synchronized model ` +
451
+ '(@PersistedModel({ sync }))');
452
+ }
453
+ return assertExpectedVersion(serviceOptions.expectedVersion);
454
+ }
455
+ assertVersion(id, stored, expectedVersion) {
456
+ if (expectedVersion !== undefined && stored?.version !== expectedVersion) {
457
+ this.versionConflict(id);
458
+ }
459
+ }
460
+ versionConflict(id) {
461
+ throw new VersionConflictError(this.mainModelConstructor?.name ?? this.dataStore.modelName, id);
462
+ }
463
+ syncAccessSnapshot(stored) {
464
+ if (!stored || !getSyncAccessListener() || !this.isSynchronized) {
465
+ return undefined;
466
+ }
467
+ const scope = getModelDescriptor(this.dataStore.modelName)?.sync?.scope ?? [];
468
+ return Object.fromEntries(['tenantId', ...scope].map((field) => [field, Array.isArray(stored[field]) ? [...stored[field]] : stored[field]]));
469
+ }
470
+ async reportSyncAccessMove(stored, written) {
471
+ const listener = getSyncAccessListener();
472
+ if (!listener || !stored) {
473
+ return;
474
+ }
475
+ const model = this.dataStore.modelName;
476
+ const ids = (value) => value === undefined || value === null
477
+ ? []
478
+ : (Array.isArray(value) ? value : [value]).flatMap((item) => item === undefined || item === null ? [] : [String(getStringIds(item))]);
479
+ const after = (field) => (field in written ? written[field] : stored[field]);
480
+ const [tenantBefore] = ids(stored.tenantId);
481
+ const tenantChanged = !!tenantBefore && ids(after('tenantId'))[0] !== tenantBefore;
482
+ const usersLost = (getModelDescriptor(model)?.sync?.scope ?? []).flatMap((field) => {
483
+ const now = new Set(ids(after(field)));
484
+ return ids(stored[field]).filter((user) => !now.has(user));
485
+ });
486
+ if (!tenantChanged && !usersLost.length) {
487
+ return;
488
+ }
489
+ try {
490
+ await listener.recordMoved({ model, tenantChanged, tenantId: tenantBefore, usersLost: [...new Set(usersLost)] });
491
+ }
492
+ catch (error) {
493
+ Logger.error(`Sync access epoch for a moved ${model} record not bumped — affected clients keep their copy until their next ` +
494
+ `full resync: ${error?.message ?? error}`, this.constructor.name);
495
+ }
496
+ }
497
+ reportSyncChange(...records) {
498
+ const listener = getSyncAccessListener();
499
+ if (!listener?.recordChanged || !this.isSynchronized) {
500
+ return;
501
+ }
502
+ const tenantIds = new Set();
503
+ for (const record of records) {
504
+ const tenantId = record?.tenantId;
505
+ if (tenantId !== undefined && tenantId !== null && tenantId !== '') {
506
+ tenantIds.add(String(getStringIds(tenantId)));
507
+ }
508
+ }
509
+ try {
510
+ listener.recordChanged({ model: this.dataStore.modelName, tenantIds: [...tenantIds] });
511
+ }
512
+ catch (error) {
513
+ Logger.warn(`Sync hint for a ${this.dataStore.modelName} write not sent — clients learn of it at their next pull: ` +
514
+ `${error?.message ?? error}`, this.constructor.name);
515
+ }
516
+ }
517
+ syncChanged(created) {
518
+ this.reportSyncChange(created);
519
+ return created;
520
+ }
521
+ async removeOrTombstone(id, expectedVersion) {
522
+ if (expectedVersion === undefined) {
523
+ await this.dataStore.deleteById(id);
524
+ return;
525
+ }
526
+ const removed = await this.dataStore.deleteOne({ id, version: expectedVersion });
527
+ if (!removed) {
528
+ this.versionConflict(id);
529
+ }
530
+ }
377
531
  async deleteForce(id, serviceOptions) {
378
532
  serviceOptions = serviceOptions || {};
379
533
  serviceOptions.force = true;
@@ -439,11 +593,15 @@ function neutralSelect(select) {
439
593
  ...(include.length ? { select: include } : {}),
440
594
  };
441
595
  }
596
+ function tombstoneOption(serviceOptions) {
597
+ return serviceOptions?.includeTombstones ? { includeTombstones: true } : {};
598
+ }
442
599
  function neutralQuery(query, serviceOptions) {
443
600
  const queryOptions = query.queryOptions || {};
444
601
  const options = {
445
602
  collation: (serviceOptions?.collation || ConfigService.get('mongoose.collation')),
446
603
  ...neutralSelect(serviceOptions?.select),
604
+ ...tombstoneOption(serviceOptions),
447
605
  };
448
606
  const skip = queryOptions.skip ?? queryOptions.offset;
449
607
  const limit = queryOptions.limit ?? queryOptions.take;
@@ -1 +1 @@
1
- {"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/crud.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/crud.service.ts"],"names":[],"mappings":"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"}
@@ -353,6 +353,14 @@ export declare const LtnsErrors: {
353
353
  readonly en: "This resource already exists.";
354
354
  };
355
355
  };
356
+ readonly VERSION_CONFLICT: {
357
+ readonly code: "LTNS_0402";
358
+ readonly message: "Version conflict";
359
+ readonly translations: {
360
+ readonly de: "Der Datensatz wurde inzwischen geändert.";
361
+ readonly en: "The record was changed in the meantime.";
362
+ };
363
+ };
356
364
  readonly FILE_NOT_FOUND: {
357
365
  readonly code: "LTNS_0500";
358
366
  readonly message: "File not found";
@@ -497,6 +505,46 @@ export declare const LtnsErrors: {
497
505
  readonly en: "The AI connection has no valid base URL.";
498
506
  };
499
507
  };
508
+ readonly SYNC_RESYNC_REQUIRED: {
509
+ readonly code: "LTNS_0700";
510
+ readonly message: "Resync required";
511
+ readonly translations: {
512
+ readonly de: "Die lokalen Daten müssen vollständig neu geladen werden.";
513
+ readonly en: "The local data must be loaded again in full.";
514
+ };
515
+ };
516
+ readonly SYNC_MODEL_NOT_FOUND: {
517
+ readonly code: "LTNS_0701";
518
+ readonly message: "Model is not available for sync";
519
+ readonly translations: {
520
+ readonly de: "Diese Daten können nicht synchronisiert werden.";
521
+ readonly en: "This data cannot be synchronized.";
522
+ };
523
+ };
524
+ readonly SYNC_INVALID_REQUEST: {
525
+ readonly code: "LTNS_0702";
526
+ readonly message: "Invalid sync request";
527
+ readonly translations: {
528
+ readonly de: "Die Synchronisierungsanfrage ist ungültig.";
529
+ readonly en: "The synchronization request is invalid.";
530
+ };
531
+ };
532
+ readonly SYNC_ORIGIN_REFUSED: {
533
+ readonly code: "LTNS_0703";
534
+ readonly message: "Origin not allowed for this request";
535
+ readonly translations: {
536
+ readonly de: "Diese Anfrage ist von dieser Seite aus nicht erlaubt.";
537
+ readonly en: "This request is not allowed from this site.";
538
+ };
539
+ };
540
+ readonly SYNC_STORE_UNAVAILABLE: {
541
+ readonly code: "LTNS_0704";
542
+ readonly message: "Sync store unavailable";
543
+ readonly translations: {
544
+ readonly de: "Die Synchronisierung ist gerade nicht verfügbar. Bitte später erneut versuchen.";
545
+ readonly en: "Synchronization is unavailable right now. Please try again later.";
546
+ };
547
+ };
500
548
  };
501
549
  export declare const ErrorCode: {
502
550
  readonly USER_NOT_FOUND: string;
@@ -542,6 +590,7 @@ export declare const ErrorCode: {
542
590
  readonly REQUEST_BODY_TOO_LARGE: string;
543
591
  readonly RESOURCE_NOT_FOUND: string;
544
592
  readonly RESOURCE_ALREADY_EXISTS: string;
593
+ readonly VERSION_CONFLICT: string;
545
594
  readonly FILE_NOT_FOUND: string;
546
595
  readonly FILE_UPLOAD_FAILED: string;
547
596
  readonly FILE_TYPE_NOT_ALLOWED: string;
@@ -560,6 +609,11 @@ export declare const ErrorCode: {
560
609
  readonly AI_RATE_LIMITED: string;
561
610
  readonly AI_PROVIDER_ERROR: string;
562
611
  readonly AI_CONNECTION_INVALID_URL: string;
612
+ readonly SYNC_RESYNC_REQUIRED: string;
613
+ readonly SYNC_MODEL_NOT_FOUND: string;
614
+ readonly SYNC_INVALID_REQUEST: string;
615
+ readonly SYNC_ORIGIN_REFUSED: string;
616
+ readonly SYNC_STORE_UNAVAILABLE: string;
563
617
  };
564
618
  export type ErrorCodeKey = keyof typeof ErrorCode;
565
619
  export type ErrorCodeType = (typeof ErrorCode)[keyof typeof ErrorCode];
@@ -343,6 +343,14 @@ export const LtnsErrors = {
343
343
  en: 'This resource already exists.',
344
344
  },
345
345
  },
346
+ VERSION_CONFLICT: {
347
+ code: 'LTNS_0402',
348
+ message: 'Version conflict',
349
+ translations: {
350
+ de: 'Der Datensatz wurde inzwischen geändert.',
351
+ en: 'The record was changed in the meantime.',
352
+ },
353
+ },
346
354
  FILE_NOT_FOUND: {
347
355
  code: 'LTNS_0500',
348
356
  message: 'File not found',
@@ -487,6 +495,46 @@ export const LtnsErrors = {
487
495
  en: 'The AI connection has no valid base URL.',
488
496
  },
489
497
  },
498
+ SYNC_RESYNC_REQUIRED: {
499
+ code: 'LTNS_0700',
500
+ message: 'Resync required',
501
+ translations: {
502
+ de: 'Die lokalen Daten müssen vollständig neu geladen werden.',
503
+ en: 'The local data must be loaded again in full.',
504
+ },
505
+ },
506
+ SYNC_MODEL_NOT_FOUND: {
507
+ code: 'LTNS_0701',
508
+ message: 'Model is not available for sync',
509
+ translations: {
510
+ de: 'Diese Daten können nicht synchronisiert werden.',
511
+ en: 'This data cannot be synchronized.',
512
+ },
513
+ },
514
+ SYNC_INVALID_REQUEST: {
515
+ code: 'LTNS_0702',
516
+ message: 'Invalid sync request',
517
+ translations: {
518
+ de: 'Die Synchronisierungsanfrage ist ungültig.',
519
+ en: 'The synchronization request is invalid.',
520
+ },
521
+ },
522
+ SYNC_ORIGIN_REFUSED: {
523
+ code: 'LTNS_0703',
524
+ message: 'Origin not allowed for this request',
525
+ translations: {
526
+ de: 'Diese Anfrage ist von dieser Seite aus nicht erlaubt.',
527
+ en: 'This request is not allowed from this site.',
528
+ },
529
+ },
530
+ SYNC_STORE_UNAVAILABLE: {
531
+ code: 'LTNS_0704',
532
+ message: 'Sync store unavailable',
533
+ translations: {
534
+ de: 'Die Synchronisierung ist gerade nicht verfügbar. Bitte später erneut versuchen.',
535
+ en: 'Synchronization is unavailable right now. Please try again later.',
536
+ },
537
+ },
490
538
  };
491
539
  function formatErrorMessage(def) {
492
540
  return `#${def.code}: ${def.message}`;
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/core/modules/error-code/error-codes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/core/modules/error-code/error-codes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
1
  import type { DatabaseSqlEngine } from '../../common/interfaces/server-options.interface.js';
2
- export declare function runSqlMigration(ownerUrl: string, statements: readonly string[], options?: {
2
+ export interface SqlSyncUpdate {
3
+ syncUpdate: {
4
+ set: string;
5
+ table: string;
6
+ where: string;
7
+ };
8
+ }
9
+ export type SqlMigrationRun = (statement: {
10
+ params: unknown[];
11
+ text: string;
12
+ }) => Promise<{
13
+ rows: any[];
14
+ }>;
15
+ export declare function runSqlMigration(ownerUrl: string, statements: readonly (SqlSyncUpdate | string)[], options?: {
3
16
  engine?: DatabaseSqlEngine;
4
17
  }): Promise<void>;
18
+ export declare function applySqlSyncUpdate(run: SqlMigrationRun, dialect: 'mysql' | 'postgres', update: SqlSyncUpdate['syncUpdate']): Promise<number>;