@rkrkdldkd/example-event-sourcing 0.0.13 → 0.0.14

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.
@@ -47,7 +47,7 @@ let EventSourcingModule = EventSourcingModule_1 = class EventSourcingModule {
47
47
  const connection = await this.dbClient.getConnection();
48
48
  try {
49
49
  await connection.query('BEGIN');
50
- await this.dbClient.query(`CREATE TABLE IF NOT EXISTS "book_event" (
50
+ await this.dbClient.query(`CREATE TABLE IF NOT EXISTS "BookAggregate_event" (
51
51
  stream_id VARCHAR(120) NOT NULL,
52
52
  version INT NOT NULL,
53
53
  event VARCHAR(80) NOT NULL,
@@ -60,6 +60,7 @@ let EventSourcingModule = EventSourcingModule_1 = class EventSourcingModule {
60
60
  causation_id VARCHAR(255),
61
61
  PRIMARY KEY (stream_id, version)
62
62
  )`);
63
+ await connection.query('COMMIT');
63
64
  }
64
65
  catch (error) {
65
66
  await connection.query('ROLLBACK');
@@ -1 +1 @@
1
- {"version":3,"file":"event-sourcing.module.js","sourceRoot":"","sources":["../src/event-sourcing.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA+E;AAC/E,uCAA+C;AAE/C,kDAA8D;AAC9D,oDAAgD;AAKzC,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IA0BD;IAzB7B,MAAM,CAAC,YAAY,CAAC,MAAkB;QACpC,MAAM,SAAS,GAAe;YAC5B;gBACE,OAAO,EAAE,kCAAsB;gBAC/B,QAAQ,EAAE,MAAM;aACjB;YACD;gBACE,OAAO,EAAE,oBAAQ;gBACjB,UAAU,EAAE,CAAC,OAAmB,EAAE,EAAE;oBAClC,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,EAAE,CAAC,kCAAsB,CAAC;aACjC;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS;YACT,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,KAAK,CAAC,YAAY;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CACvB;;;;;;;;;;;;kBAYU,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAA;AAvDY,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;KACZ,CAAC;qCA2BuC,oBAAQ;GA1BpC,mBAAmB,CAuD/B"}
1
+ {"version":3,"file":"event-sourcing.module.js","sourceRoot":"","sources":["../src/event-sourcing.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA+E;AAC/E,uCAA+C;AAE/C,kDAA8D;AAC9D,oDAAgD;AAKzC,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IA0BD;IAzB7B,MAAM,CAAC,YAAY,CAAC,MAAkB;QACpC,MAAM,SAAS,GAAe;YAC5B;gBACE,OAAO,EAAE,kCAAsB;gBAC/B,QAAQ,EAAE,MAAM;aACjB;YACD;gBACE,OAAO,EAAE,oBAAQ;gBACjB,UAAU,EAAE,CAAC,OAAmB,EAAE,EAAE;oBAClC,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,EAAE,CAAC,kCAAsB,CAAC;aACjC;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS;YACT,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,KAAK,CAAC,YAAY;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CACvB;;;;;;;;;;;;kBAYU,CACX,CAAC;YAEF,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAA;AA1DY,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;KACZ,CAAC;qCA2BuC,oBAAQ;GA1BpC,mBAAmB,CA0D/B"}
@@ -56,7 +56,9 @@ let AbstractRepository = class AbstractRepository {
56
56
  });
57
57
  }
58
58
  async appendEvents(aggregate, events) {
59
+ const connection = await this.dbClient.getConnection();
59
60
  try {
61
+ await connection.query('BEGIN');
60
62
  const streamId = `${aggregate.name}:${aggregate.getRawId()}`;
61
63
  const aggregateVersion = aggregate.version;
62
64
  const { rows: currentVersionRows } = await this.dbClient.query(`SELECT MAX(version) as version FROM "${aggregate.name}_event" WHERE stream_id = $1`, [streamId]);
@@ -88,9 +90,11 @@ let AbstractRepository = class AbstractRepository {
88
90
  params.push(streamId, envelope.metadata.version, envelope.event, envelope.payload, new helper_1.TzDate('Asia/Seoul', envelope.metadata.eventId.timestamp).format('YYYY-MM-DD'), envelope.metadata.eventId.toString(), envelope.metadata.aggregateId, envelope.metadata.occurredOn.toISOString(), envelope.metadata.correlationId ?? null, envelope.metadata.causationId ?? null);
89
91
  }
90
92
  await this.dbClient.query(`INSERT INTO "${aggregate.name}_event" (${this.columns.join(', ')}) VALUES ${values.join(',')}`, params);
93
+ await connection.query('COMMIT');
91
94
  return envelopes;
92
95
  }
93
96
  catch (error) {
97
+ await connection.query('ROLLBACK');
94
98
  switch (error.constructor) {
95
99
  case event_sourcing_1.EventStoreVersionConflictException:
96
100
  throw error;
@@ -98,6 +102,9 @@ let AbstractRepository = class AbstractRepository {
98
102
  throw new Error('Failed to append events to event store');
99
103
  }
100
104
  }
105
+ finally {
106
+ connection.release();
107
+ }
101
108
  }
102
109
  async save(aggregate) {
103
110
  const events = aggregate.commit();
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.repository.js","sourceRoot":"","sources":["../../src/model/abstract.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.repository.js","sourceRoot":"","sources":["../../src/model/abstract.repository.ts"],"names":[],"mappings":"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"}