@mbc-cqrs-serverless/core 1.1.6 → 1.2.1

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 (53) hide show
  1. package/dist/commands/command.module.js +3 -0
  2. package/dist/commands/command.module.js.map +1 -1
  3. package/dist/commands/command.service.d.ts +9 -1
  4. package/dist/commands/command.service.js +33 -2
  5. package/dist/commands/command.service.js.map +1 -1
  6. package/dist/commands/data.service.js +3 -26
  7. package/dist/commands/data.service.js.map +1 -1
  8. package/dist/commands/index.d.ts +1 -0
  9. package/dist/commands/index.js +1 -0
  10. package/dist/commands/index.js.map +1 -1
  11. package/dist/commands/repository.d.ts +102 -0
  12. package/dist/commands/repository.js +280 -0
  13. package/dist/commands/repository.js.map +1 -0
  14. package/dist/data-store/data-store.module.js +3 -2
  15. package/dist/data-store/data-store.module.js.map +1 -1
  16. package/dist/data-store/index.d.ts +2 -0
  17. package/dist/data-store/index.js +2 -0
  18. package/dist/data-store/index.js.map +1 -1
  19. package/dist/data-store/session.interface.d.ts +10 -0
  20. package/dist/data-store/session.interface.js +3 -0
  21. package/dist/data-store/session.interface.js.map +1 -0
  22. package/dist/data-store/session.service.d.ts +52 -0
  23. package/dist/data-store/session.service.js +128 -0
  24. package/dist/data-store/session.service.js.map +1 -0
  25. package/dist/env.validation.d.ts +1 -0
  26. package/dist/env.validation.js +5 -0
  27. package/dist/env.validation.js.map +1 -1
  28. package/dist/helpers/index.d.ts +1 -0
  29. package/dist/helpers/index.js +1 -0
  30. package/dist/helpers/index.js.map +1 -1
  31. package/dist/helpers/key.d.ts +13 -0
  32. package/dist/helpers/key.js +26 -0
  33. package/dist/helpers/key.js.map +1 -1
  34. package/dist/helpers/transform.d.ts +7 -0
  35. package/dist/helpers/transform.js +36 -0
  36. package/dist/helpers/transform.js.map +1 -0
  37. package/dist/queue/index.d.ts +1 -0
  38. package/dist/queue/index.js +1 -0
  39. package/dist/queue/index.js.map +1 -1
  40. package/dist/queue/queue.module.js +4 -2
  41. package/dist/queue/queue.module.js.map +1 -1
  42. package/dist/queue/sns-client-factory.d.ts +2 -2
  43. package/dist/queue/sns-client-factory.js +4 -6
  44. package/dist/queue/sns-client-factory.js.map +1 -1
  45. package/dist/queue/sns.service.js +1 -1
  46. package/dist/queue/sns.service.js.map +1 -1
  47. package/dist/queue/sqs-client-factory.d.ts +8 -0
  48. package/dist/queue/sqs-client-factory.js +35 -0
  49. package/dist/queue/sqs-client-factory.js.map +1 -0
  50. package/dist/queue/sqs.service.d.ts +28 -0
  51. package/dist/queue/sqs.service.js +89 -0
  52. package/dist/queue/sqs.service.js.map +1 -0
  53. package/package.json +2 -2
@@ -15,6 +15,7 @@ const command_service_1 = require("./command.service");
15
15
  const data_service_1 = require("./data.service");
16
16
  const data_sync_dds_handler_1 = require("./handlers/data-sync-dds.handler");
17
17
  const history_service_1 = require("./history.service");
18
+ const repository_1 = require("./repository");
18
19
  const ttl_service_1 = require("./ttl.service");
19
20
  let CommandModule = class CommandModule extends command_module_definition_1.ConfigurableModuleClass {
20
21
  static register(options) {
@@ -42,6 +43,7 @@ exports.CommandModule = CommandModule = __decorate([
42
43
  history_service_1.HistoryService,
43
44
  command_event_handler_1.CommandEventHandler,
44
45
  data_sync_dds_handler_1.DataSyncDdsHandler,
46
+ repository_1.Repository,
45
47
  ],
46
48
  exports: [
47
49
  command_service_1.CommandService,
@@ -49,6 +51,7 @@ exports.CommandModule = CommandModule = __decorate([
49
51
  history_service_1.HistoryService,
50
52
  command_event_handler_1.CommandEventHandler,
51
53
  ttl_service_1.TtlService,
54
+ repository_1.Repository,
52
55
  ],
53
56
  })
54
57
  ], CommandModule);
@@ -1 +1 @@
1
- {"version":3,"file":"command.module.js","sourceRoot":"","sources":["../../src/commands/command.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsD;AAEtD,0CAA6C;AAC7C,mEAA6D;AAC7D,2EAGoC;AACpC,uDAAkD;AAClD,iDAA4C;AAC5C,4EAAqE;AACrE,uDAAkD;AAClD,+CAA0C;AAqBnC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mDAAuB;IACxD,MAAM,CAAC,QAAQ,CAAC,OAA4B;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;QACpD,MAAM,CAAC,SAAS,CAAC,IAAI,CACnB;YACE,2GAA2G;YAC3G,OAAO,EAAE,SAAS,GAAG,sBAAsB;YAC3C,WAAW,EAAE,2CAAmB;SACjC,EACD,GAAG,gBAAgB,CACpB,CAAA;QAED,OAAO;YACL,GAAG,MAAM;SACV,CAAA;IACH,CAAC;CACF,CAAA;AAlBY,sCAAa;wBAAb,aAAa;IAnBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;QACX,SAAS,EAAE;YACT,0BAAe;YACf,gCAAc;YACd,0BAAW;YACX,wBAAU;YACV,gCAAc;YACd,2CAAmB;YACnB,0CAAkB;SACnB;QACD,OAAO,EAAE;YACP,gCAAc;YACd,0BAAW;YACX,gCAAc;YACd,2CAAmB;YACnB,wBAAU;SACX;KACF,CAAC;GACW,aAAa,CAkBzB"}
1
+ {"version":3,"file":"command.module.js","sourceRoot":"","sources":["../../src/commands/command.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsD;AAEtD,0CAA6C;AAC7C,mEAA6D;AAC7D,2EAGoC;AACpC,uDAAkD;AAClD,iDAA4C;AAC5C,4EAAqE;AACrE,uDAAkD;AAClD,6CAAyC;AACzC,+CAA0C;AAuBnC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mDAAuB;IACxD,MAAM,CAAC,QAAQ,CAAC,OAA4B;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;QACpD,MAAM,CAAC,SAAS,CAAC,IAAI,CACnB;YACE,2GAA2G;YAC3G,OAAO,EAAE,SAAS,GAAG,sBAAsB;YAC3C,WAAW,EAAE,2CAAmB;SACjC,EACD,GAAG,gBAAgB,CACpB,CAAA;QAED,OAAO;YACL,GAAG,MAAM;SACV,CAAA;IACH,CAAC;CACF,CAAA;AAlBY,sCAAa;wBAAb,aAAa;IArBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;QACX,SAAS,EAAE;YACT,0BAAe;YACf,gCAAc;YACd,0BAAW;YACX,wBAAU;YACV,gCAAc;YACd,2CAAmB;YACnB,0CAAkB;YAClB,uBAAU;SACX;QACD,OAAO,EAAE;YACP,gCAAc;YACd,0BAAW;YACX,gCAAc;YACd,2CAAmB;YACnB,wBAAU;YACV,uBAAU;SACX;KACF,CAAC;GACW,aAAa,CAkBzB"}
@@ -1,6 +1,7 @@
1
1
  import { OnModuleInit, Type } from '@nestjs/common';
2
2
  import { ModuleRef } from '@nestjs/core';
3
3
  import { DynamoDbService } from '../data-store/dynamodb.service';
4
+ import { SessionService } from '../data-store/session.service';
4
5
  import { CommandInputModel, CommandModel, CommandModuleOptions, CommandPartialInputModel, DetailKey, ICommandService } from '../interfaces';
5
6
  import { ICommandOptions } from '../interfaces/command.options.interface';
6
7
  import { IDataSyncHandler } from '../interfaces/data-sync-handler.interface';
@@ -23,10 +24,11 @@ export declare class CommandService implements OnModuleInit, ICommandService {
23
24
  private readonly dataService;
24
25
  private readonly ttlService;
25
26
  private readonly historyService;
27
+ private readonly sessionService;
26
28
  private logger;
27
29
  private [TABLE_NAME];
28
30
  private [DATA_SYNC_HANDLER];
29
- constructor(options: CommandModuleOptions, dynamoDbService: DynamoDbService, explorerService: ExplorerService, moduleRef: ModuleRef, snsService: SnsService, dataSyncDdsHandler: DataSyncDdsHandler, dataService: DataService, ttlService: TtlService, historyService: HistoryService);
31
+ constructor(options: CommandModuleOptions, dynamoDbService: DynamoDbService, explorerService: ExplorerService, moduleRef: ModuleRef, snsService: SnsService, dataSyncDdsHandler: DataSyncDdsHandler, dataService: DataService, ttlService: TtlService, historyService: HistoryService, sessionService: SessionService);
30
32
  publishItem(key: DetailKey): Promise<any | null>;
31
33
  onModuleInit(): void;
32
34
  set tableName(name: string);
@@ -37,6 +39,12 @@ export declare class CommandService implements OnModuleInit, ICommandService {
37
39
  publishPartialUpdateAsync(input: CommandPartialInputModel, options: ICommandOptions): Promise<CommandModel | null>;
38
40
  publishSync(input: CommandInputModel, options: ICommandOptions): Promise<CommandModel | null>;
39
41
  publishAsync(input: CommandInputModel, options: ICommandOptions): Promise<CommandModel | null>;
42
+ /**
43
+ * Records a short-lived session row so Repository can merge pending async
44
+ * commands before the data table catches up. Only used after publishAsync —
45
+ * publishSync writes data in the same request, so no session is needed.
46
+ */
47
+ private writeRywSessionIfApplicable;
40
48
  duplicate(key: DetailKey, options: ICommandOptions): Promise<CommandModel>;
41
49
  reSyncData(): Promise<void>;
42
50
  updateStatus(key: DetailKey, status: string, notifyId?: string): Promise<void>;
@@ -21,6 +21,7 @@ const util_1 = require("util");
21
21
  const constants_1 = require("../constants");
22
22
  const user_1 = require("../context/user");
23
23
  const dynamodb_service_1 = require("../data-store/dynamodb.service");
24
+ const session_service_1 = require("../data-store/session.service");
24
25
  const decorators_1 = require("../decorators");
25
26
  const helpers_1 = require("../helpers");
26
27
  const key_1 = require("../helpers/key");
@@ -37,7 +38,7 @@ const ttl_service_1 = require("./ttl.service");
37
38
  const TABLE_NAME = Symbol('command');
38
39
  const DATA_SYNC_HANDLER = Symbol(decorators_1.DATA_SYNC_HANDLER_METADATA);
39
40
  let CommandService = CommandService_1 = class CommandService {
40
- constructor(options, dynamoDbService, explorerService, moduleRef, snsService, dataSyncDdsHandler, dataService, ttlService, historyService) {
41
+ constructor(options, dynamoDbService, explorerService, moduleRef, snsService, dataSyncDdsHandler, dataService, ttlService, historyService, sessionService) {
41
42
  this.options = options;
42
43
  this.dynamoDbService = dynamoDbService;
43
44
  this.explorerService = explorerService;
@@ -47,6 +48,7 @@ let CommandService = CommandService_1 = class CommandService {
47
48
  this.dataService = dataService;
48
49
  this.ttlService = ttlService;
49
50
  this.historyService = historyService;
51
+ this.sessionService = sessionService;
50
52
  this[_a] = [];
51
53
  this.tableName = this.dynamoDbService.getTableName(this.options.tableName, enums_1.TableType.COMMAND);
52
54
  this.logger = new common_1.Logger(`${CommandService_1.name}:${this.tableName}`);
@@ -234,8 +236,36 @@ let CommandService = CommandService_1 = class CommandService {
234
236
  };
235
237
  this.logger.debug('publish::', command);
236
238
  await this.dynamoDbService.putItem(this.tableName, command, 'attribute_not_exists(pk) AND attribute_not_exists(sk)');
239
+ await this.writeRywSessionIfApplicable(command, options);
237
240
  return command;
238
241
  }
242
+ /**
243
+ * Records a short-lived session row so Repository can merge pending async
244
+ * commands before the data table catches up. Only used after publishAsync —
245
+ * publishSync writes data in the same request, so no session is needed.
246
+ */
247
+ async writeRywSessionIfApplicable(command, options) {
248
+ let userId;
249
+ try {
250
+ userId = (0, user_1.getUserContext)(options.invokeContext)?.userId;
251
+ }
252
+ catch {
253
+ return;
254
+ }
255
+ if (!userId) {
256
+ return;
257
+ }
258
+ const tenantCode = (0, key_1.getTenantCode)(command.pk);
259
+ if (!tenantCode) {
260
+ return;
261
+ }
262
+ try {
263
+ await this.sessionService.put(userId, tenantCode, this.options.tableName, command.id, command.version);
264
+ }
265
+ catch (err) {
266
+ this.logger.warn('RYW session write failed (non-fatal)', err);
267
+ }
268
+ }
239
269
  async duplicate(key, options) {
240
270
  const item = await this.getItem(key);
241
271
  if (!item) {
@@ -397,6 +427,7 @@ exports.CommandService = CommandService = CommandService_1 = __decorate([
397
427
  data_sync_dds_handler_1.DataSyncDdsHandler,
398
428
  data_service_1.DataService,
399
429
  ttl_service_1.TtlService,
400
- history_service_1.HistoryService])
430
+ history_service_1.HistoryService,
431
+ session_service_1.SessionService])
401
432
  ], CommandService);
402
433
  //# sourceMappingURL=command.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.service.js","sourceRoot":"","sources":["../../src/commands/command.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.service.js","sourceRoot":"","sources":["../../src/commands/command.service.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ exports.DataService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const dynamodb_service_1 = require("../data-store/dynamodb.service");
19
19
  const key_1 = require("../helpers/key");
20
+ const transform_1 = require("../helpers/transform");
20
21
  const interfaces_1 = require("../interfaces");
21
22
  const command_module_definition_1 = require("./command.module-definition");
22
23
  const enums_1 = require("./enums");
@@ -60,33 +61,9 @@ let DataService = DataService_1 = class DataService {
60
61
  * @returns The published data model
61
62
  */
62
63
  async publish(cmd) {
63
- const pk = cmd.pk;
64
64
  const sk = (0, key_1.removeSortKeyVersion)(cmd.sk);
65
- const data = await this.getItem({ pk, sk });
66
- const dataModel = {
67
- ...data,
68
- pk,
69
- sk,
70
- id: cmd.id,
71
- code: cmd.code,
72
- name: cmd.name,
73
- version: cmd.version,
74
- tenantCode: cmd.tenantCode,
75
- type: cmd.type,
76
- seq: cmd.seq,
77
- attributes: cmd.attributes,
78
- cpk: cmd.pk,
79
- csk: cmd.sk,
80
- isDeleted: cmd.isDeleted,
81
- ttl: cmd.ttl,
82
- requestId: cmd.requestId,
83
- createdAt: data?.createdAt || cmd.createdAt,
84
- updatedAt: cmd.updatedAt,
85
- createdBy: data?.createdBy || cmd.createdBy,
86
- updatedBy: cmd.updatedBy,
87
- createdIp: data?.createdIp || cmd.createdIp,
88
- updatedIp: cmd.updatedIp,
89
- };
65
+ const existing = await this.getItem({ pk: cmd.pk, sk });
66
+ const dataModel = (0, transform_1.transformCommandToData)(cmd, existing);
90
67
  this.logger.debug('publish::', dataModel);
91
68
  await this.dynamoDbService.putItem(this.tableName, dataModel);
92
69
  return dataModel;
@@ -1 +1 @@
1
- {"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../src/commands/data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../src/commands/data.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2D;AAE3D,qEAAgE;AAChE,wCAAqD;AACrD,oDAA6D;AAC7D,8CAOsB;AACtB,2EAAkE;AAClE,mCAAmC;AAEnC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;AAEjC;;;;;;;;;;;;;;;;;GAiBG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAItB,YAEmB,OAA6B,EAC7B,eAAgC;QADhC,YAAO,GAAP,OAAO,CAAsB;QAC7B,oBAAe,GAAf,eAAe,CAAiB;QAEjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,iBAAS,CAAC,IAAI,CACf,CAAA;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,aAAW,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,SAAS,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,GAAiB;QAC7B,MAAM,EAAE,GAAG,IAAA,0BAAoB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,IAAA,kCAAsB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAEvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAE7D,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,GAAc;QAC1B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,aAAa,CACjB,EAAU,EACV,IASC;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAChE,IAAI,CAAC,SAAS,EACd,EAAE,EACF,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,CACZ,CAAA;QAED,OAAO,IAAI,2BAAc,CAAC;YACxB,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAC;SACjD,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA1FY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,gDAAoB,CAAC,CAAA;6CAEK,kCAAe;GAPxC,WAAW,CA0FvB"}
@@ -5,3 +5,4 @@ export * from './data.service';
5
5
  export * from './enums';
6
6
  export * from './handlers';
7
7
  export * from './history.service';
8
+ export * from './repository';
@@ -21,4 +21,5 @@ __exportStar(require("./data.service"), exports);
21
21
  __exportStar(require("./enums"), exports);
22
22
  __exportStar(require("./handlers"), exports);
23
23
  __exportStar(require("./history.service"), exports);
24
+ __exportStar(require("./repository"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,mDAAgC;AAChC,oDAAiC;AACjC,iDAA8B;AAC9B,0CAAuB;AACvB,6CAA0B;AAC1B,oDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,mDAAgC;AAChC,oDAAiC;AACjC,iDAA8B;AAC9B,0CAAuB;AACvB,6CAA0B;AAC1B,oDAAiC;AACjC,+CAA4B"}
@@ -0,0 +1,102 @@
1
+ import { SessionService } from '../data-store/session.service';
2
+ import { CommandModel, CommandModuleOptions, DataListEntity, DataModel, DetailKey, ICommandOptions } from '../interfaces';
3
+ import { CommandService } from './command.service';
4
+ import { DataService } from './data.service';
5
+ export interface IMergeOptions<TItem extends {
6
+ id: string;
7
+ }> {
8
+ /** * Set true to merge pending async commands into the result.
9
+ * If false/undefined -> acts as a simple passthrough.
10
+ */
11
+ latestFlg?: boolean;
12
+ /**
13
+ * Transform a CommandModel into the same shape as a TItem returned by the query.
14
+ * The `existing` parameter is provided for update cases to merge unchanged fields.
15
+ */
16
+ transformCommand: (cmd: CommandModel, existing?: TItem) => TItem;
17
+ /**
18
+ * Optional filter applied AFTER transformCommand for "create-new" rows.
19
+ * Prevents newly created items from appearing in lists where they don't match the current search criteria.
20
+ */
21
+ matchesFilter?: (item: TItem) => boolean;
22
+ }
23
+ export declare class Repository {
24
+ private readonly options;
25
+ private readonly dataService;
26
+ private readonly commandService;
27
+ private readonly sessionService;
28
+ private readonly logger;
29
+ private readonly moduleTableName;
30
+ constructor(options: CommandModuleOptions, dataService: DataService, commandService: CommandService, sessionService: SessionService);
31
+ /**
32
+ * Get a single data item, merging a pending async command when a session exists.
33
+ */
34
+ getItem(key: DetailKey, options: ICommandOptions): Promise<DataModel>;
35
+ /**
36
+ * List items from the DynamoDB data table with an optional merge of pending async commands.
37
+ *
38
+ * When `mergeOptions.latestFlg` is true, the result is augmented with any
39
+ * pending writes the current user has not yet seen reflected in the data table:
40
+ *
41
+ * - **update** — the existing item is replaced in-place, preserving its
42
+ * position in the list.
43
+ * - **delete** — the item is removed from the result.
44
+ * - **create-new** — the item is prepended to the top of the list, sorted by
45
+ * `updatedAt` descending when there are multiple pending creates.
46
+ *
47
+ * > **Sort-order note**: Prepended create-new items are not integrated into
48
+ * > the caller's sort order (e.g. by `name` or `code`). They will appear
49
+ * > at the top of the result until the async DynamoDB Stream sync completes and
50
+ * > the next read returns fully sorted data. This is intentional — the
51
+ * > guarantee is visibility, not sort position.
52
+ */
53
+ listItemsByPk(pk: string, opts?: {
54
+ sk?: {
55
+ skExpression: string;
56
+ skAttributeValues: Record<string, string>;
57
+ skAttributeNames?: Record<string, string>;
58
+ };
59
+ startFromSk?: string;
60
+ limit?: number;
61
+ order?: 'asc' | 'desc';
62
+ }, mergeOptions?: {
63
+ latestFlg?: boolean;
64
+ }, options?: ICommandOptions): Promise<DataListEntity>;
65
+ /**
66
+ * List items from an external source (e.g., RDS/Elasticsearch) with an
67
+ * optional merge of pending async commands.
68
+ *
69
+ * When `mergeOptions.latestFlg` is true, the result is augmented with any
70
+ * pending writes the current user has not yet seen reflected in the query
71
+ * source:
72
+ *
73
+ * - **update** — the existing item is replaced in-place via `transformCommand`,
74
+ * preserving its position. `existing` is passed to the transformer so join
75
+ * data (e.g. related RDS rows) can be carried over.
76
+ * - **delete** — the item is removed and `total` is decremented.
77
+ * - **create-new** — the item is transformed, optionally filtered by
78
+ * `matchesFilter`, and prepended to the top of the result sorted by
79
+ * `updatedAt` descending. `total` is incremented.
80
+ *
81
+ * > **Sort-order note**: Prepended create-new items are not integrated into
82
+ * > the caller's sort order (e.g. by `name` or `code`). They will appear
83
+ * > at the top of the result until the async Stream → RDS sync completes and
84
+ * > the next read returns fully sorted data. This is intentional — the
85
+ * > guarantee is visibility, not sort position.
86
+ *
87
+ * > **Pagination note**: `total` reflects the adjusted count after merge.
88
+ * > However, prepended items sit outside the RDS `LIMIT`/`OFFSET` window, so
89
+ * > on page 2+ the caller may see a one-item overlap or gap until sync
90
+ * > completes. For most UX patterns (redirect-after-write, optimistic UI)
91
+ * > this is not noticeable.
92
+ */
93
+ listItems<TItem extends {
94
+ id: string;
95
+ }>(query: () => Promise<{
96
+ total: number;
97
+ items: TItem[];
98
+ }>, mergeOptions?: IMergeOptions<TItem>, options?: ICommandOptions): Promise<{
99
+ total: number;
100
+ items: TItem[];
101
+ }>;
102
+ }