@chevre/domain 21.2.0-alpha.69 → 21.2.0-alpha.70

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 (27) hide show
  1. package/example/src/chevre/deleteTasksByName.ts +1 -1
  2. package/lib/chevre/repo/assetTransaction.d.ts +1 -1
  3. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +9 -9
  4. package/lib/chevre/repo/task.d.ts +1 -1
  5. package/lib/chevre/service/assetTransaction/cancelReservation.js +0 -25
  6. package/lib/chevre/service/assetTransaction/moneyTransfer.js +0 -24
  7. package/lib/chevre/service/assetTransaction/pay.js +0 -23
  8. package/lib/chevre/service/assetTransaction/refund.js +0 -24
  9. package/lib/chevre/service/assetTransaction/registerService.js +0 -25
  10. package/lib/chevre/service/assetTransaction/reserve/factory.js +15 -15
  11. package/lib/chevre/service/assetTransaction/reserve.d.ts +5 -1
  12. package/lib/chevre/service/assetTransaction/reserve.js +7 -29
  13. package/lib/chevre/service/offer/event/authorize.js +3 -1
  14. package/lib/chevre/service/offer/event/factory.d.ts +2 -0
  15. package/lib/chevre/service/offer/event/factory.js +2 -2
  16. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  17. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +0 -1
  18. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +1 -37
  19. package/lib/chevre/service/order/onOrderStatusChanged.js +0 -2
  20. package/lib/chevre/service/reserve/cancelReservation.js +2 -2
  21. package/lib/chevre/settings.d.ts +0 -2
  22. package/lib/chevre/settings.js +1 -3
  23. package/package.json +3 -3
  24. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  25. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  26. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
  27. package/lib/chevre/service/task/deleteOrder.js +0 -35
@@ -12,7 +12,7 @@ async function main() {
12
12
  const taskRepo = new chevre.repository.Task(mongoose.connection);
13
13
 
14
14
  const result = await taskRepo.deleteByName({
15
- name: chevre.factory.taskName.DeleteAssetTransaction,
15
+ name: chevre.factory.taskName.OrderProgramMembership,
16
16
  status: { $eq: chevre.factory.taskStatus.Ready }
17
17
  // runsAt: {
18
18
  // $gte: moment('2023-05-20T00:00:00Z')
@@ -67,7 +67,7 @@ export declare class MongoRepository {
67
67
  addReservations(params: {
68
68
  typeOf: factory.assetTransactionType.Reserve;
69
69
  id: string;
70
- object: factory.assetTransaction.reserve.IObject;
70
+ object: Pick<factory.assetTransaction.reserve.IObject, 'acceptedOffer' | 'reservationFor' | 'subReservation'>;
71
71
  }): Promise<factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>>;
72
72
  /**
73
73
  * 取引を確定する
@@ -61,17 +61,17 @@ declare const schema: Schema<any, import("mongoose").Model<any, any, any, any, a
61
61
  project?: any;
62
62
  additionalProperty?: any;
63
63
  reservationFor?: any;
64
+ subReservation?: any;
64
65
  price?: any;
65
66
  priceCurrency?: string | undefined;
66
- issuedThrough?: any;
67
- reservedTicket?: any;
68
- subReservation?: any;
69
67
  additionalTicketText?: string | undefined;
70
68
  bookingTime?: Date | undefined;
71
69
  broker?: any;
70
+ issuedThrough?: any;
72
71
  modifiedTime?: Date | undefined;
73
72
  numSeats?: number | undefined;
74
73
  programMembershipUsed?: any;
74
+ reservedTicket?: any;
75
75
  underName?: any;
76
76
  bookingAgent?: any;
77
77
  cancelReservationUrl?: string | undefined;
@@ -89,17 +89,17 @@ declare const schema: Schema<any, import("mongoose").Model<any, any, any, any, a
89
89
  project?: any;
90
90
  additionalProperty?: any;
91
91
  reservationFor?: any;
92
+ subReservation?: any;
92
93
  price?: any;
93
94
  priceCurrency?: string | undefined;
94
- issuedThrough?: any;
95
- reservedTicket?: any;
96
- subReservation?: any;
97
95
  additionalTicketText?: string | undefined;
98
96
  bookingTime?: Date | undefined;
99
97
  broker?: any;
98
+ issuedThrough?: any;
100
99
  modifiedTime?: Date | undefined;
101
100
  numSeats?: number | undefined;
102
101
  programMembershipUsed?: any;
102
+ reservedTicket?: any;
103
103
  underName?: any;
104
104
  bookingAgent?: any;
105
105
  cancelReservationUrl?: string | undefined;
@@ -117,17 +117,17 @@ declare const schema: Schema<any, import("mongoose").Model<any, any, any, any, a
117
117
  project?: any;
118
118
  additionalProperty?: any;
119
119
  reservationFor?: any;
120
+ subReservation?: any;
120
121
  price?: any;
121
122
  priceCurrency?: string | undefined;
122
- issuedThrough?: any;
123
- reservedTicket?: any;
124
- subReservation?: any;
125
123
  additionalTicketText?: string | undefined;
126
124
  bookingTime?: Date | undefined;
127
125
  broker?: any;
126
+ issuedThrough?: any;
128
127
  modifiedTime?: Date | undefined;
129
128
  numSeats?: number | undefined;
130
129
  programMembershipUsed?: any;
130
+ reservedTicket?: any;
131
131
  underName?: any;
132
132
  bookingAgent?: any;
133
133
  cancelReservationUrl?: string | undefined;
@@ -63,7 +63,7 @@ export declare class MongoRepository {
63
63
  */
64
64
  $nin?: factory.taskName[];
65
65
  };
66
- }): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/deleteAssetTransaction").ITask | import("@chevre/factory/lib/task/deleteOrder").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/deleteMember").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/orderProgramMembership").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "id" | "name" | "status">[]>;
66
+ }): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/deleteMember").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/orderProgramMembership").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "id" | "name" | "status">[]>;
67
67
  retry(params: {
68
68
  intervalInMinutes: number;
69
69
  }): Promise<void>;
@@ -13,10 +13,8 @@ exports.exportTasksById = exports.startAndConfirm = exports.confirm = exports.st
13
13
  /**
14
14
  * 予約取消取引サービス
15
15
  */
16
- const moment = require("moment");
17
16
  const mongoose = require("mongoose");
18
17
  const factory = require("../../factory");
19
- const settings_1 = require("../../settings");
20
18
  const factory_1 = require("./cancelReservation/factory");
21
19
  function validateStartParams(params) {
22
20
  return (repos) => __awaiter(this, void 0, void 0, function* () {
@@ -167,29 +165,6 @@ function exportTasksById(params) {
167
165
  });
168
166
  const potentialActions = transaction.potentialActions;
169
167
  const taskAttributes = [];
170
- if (settings_1.USE_DELETE_ASSET_TRANSACTION_TASK) {
171
- // 資産取引削除タスクを作成
172
- const deleteTransactionTask = {
173
- project: transaction.project,
174
- name: factory.taskName.DeleteAssetTransaction,
175
- status: factory.taskStatus.Ready,
176
- runsAt: moment(transaction.endDate)
177
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
178
- .toDate(),
179
- remainingNumberOfTries: 3,
180
- numberOfTried: 0,
181
- executionResults: [],
182
- data: {
183
- object: {
184
- project: transaction.project,
185
- id: transaction.id,
186
- transactionNumber: transaction.transactionNumber,
187
- typeOf: transaction.typeOf
188
- }
189
- }
190
- };
191
- taskAttributes.push(deleteTransactionTask);
192
- }
193
168
  switch (transaction.status) {
194
169
  case factory.transactionStatusType.Confirmed:
195
170
  // tslint:disable-next-line:no-single-line-block-comment
@@ -15,7 +15,6 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
15
15
  */
16
16
  const moment = require("moment");
17
17
  const factory = require("../../factory");
18
- const settings_1 = require("../../settings");
19
18
  const pecorinoapi = require("../../pecorinoapi");
20
19
  // import { RedisRepository as TransactionNumberRepo } from '../../repo/transactionNumber';
21
20
  const MoneyTransferService = require("../moneyTransfer");
@@ -360,29 +359,6 @@ function exportTasksById(params) {
360
359
  });
361
360
  const potentialActions = transaction.potentialActions;
362
361
  const taskAttributes = [];
363
- if (settings_1.USE_DELETE_ASSET_TRANSACTION_TASK) {
364
- // 資産取引削除タスクを作成
365
- const deleteTransactionTask = {
366
- project: transaction.project,
367
- name: factory.taskName.DeleteAssetTransaction,
368
- status: factory.taskStatus.Ready,
369
- runsAt: moment(transaction.endDate)
370
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
371
- .toDate(),
372
- remainingNumberOfTries: 3,
373
- numberOfTried: 0,
374
- executionResults: [],
375
- data: {
376
- object: {
377
- project: transaction.project,
378
- id: transaction.id,
379
- transactionNumber: transaction.transactionNumber,
380
- typeOf: transaction.typeOf
381
- }
382
- }
383
- };
384
- taskAttributes.push(deleteTransactionTask);
385
- }
386
362
  // タスク実行日時バッファの指定があれば調整
387
363
  let taskRunsAt = new Date();
388
364
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -399,29 +399,6 @@ function exportTasksById(params) {
399
399
  });
400
400
  const potentialActions = transaction.potentialActions;
401
401
  const taskAttributes = [];
402
- if (settings_1.USE_DELETE_ASSET_TRANSACTION_TASK) {
403
- // 資産取引削除タスクを作成
404
- const deleteTransactionTask = {
405
- project: transaction.project,
406
- name: factory.taskName.DeleteAssetTransaction,
407
- status: factory.taskStatus.Ready,
408
- runsAt: moment(transaction.endDate)
409
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
410
- .toDate(),
411
- remainingNumberOfTries: 3,
412
- numberOfTried: 0,
413
- executionResults: [],
414
- data: {
415
- object: {
416
- project: transaction.project,
417
- id: transaction.id,
418
- transactionNumber: transaction.transactionNumber,
419
- typeOf: transaction.typeOf
420
- }
421
- }
422
- };
423
- taskAttributes.push(deleteTransactionTask);
424
- }
425
402
  // タスク実行日時バッファの指定があれば調整
426
403
  let taskRunsAt = new Date();
427
404
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -15,7 +15,6 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
15
15
  */
16
16
  const moment = require("moment");
17
17
  const factory = require("../../factory");
18
- const settings_1 = require("../../settings");
19
18
  const factory_1 = require("./refund/factory");
20
19
  const potentialActions_1 = require("./refund/potentialActions");
21
20
  /**
@@ -160,29 +159,6 @@ function exportTasksById(params) {
160
159
  });
161
160
  const potentialActions = transaction.potentialActions;
162
161
  const taskAttributes = [];
163
- if (settings_1.USE_DELETE_ASSET_TRANSACTION_TASK) {
164
- // 資産取引削除タスクを作成
165
- const deleteTransactionTask = {
166
- project: transaction.project,
167
- name: factory.taskName.DeleteAssetTransaction,
168
- status: factory.taskStatus.Ready,
169
- runsAt: moment(transaction.endDate)
170
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
171
- .toDate(),
172
- remainingNumberOfTries: 3,
173
- numberOfTried: 0,
174
- executionResults: [],
175
- data: {
176
- object: {
177
- project: transaction.project,
178
- id: transaction.id,
179
- transactionNumber: transaction.transactionNumber,
180
- typeOf: transaction.typeOf
181
- }
182
- }
183
- };
184
- taskAttributes.push(deleteTransactionTask);
185
- }
186
162
  // タスク実行日時バッファの指定があれば調整
187
163
  let taskRunsAt = new Date();
188
164
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -13,10 +13,8 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
13
13
  /**
14
14
  * サービス登録取引サービス
15
15
  */
16
- const moment = require("moment");
17
16
  const pecorinoapi = require("../../pecorinoapi");
18
17
  const factory = require("../../factory");
19
- const settings_1 = require("../../settings");
20
18
  const searchProductOffers_1 = require("../offer/product/searchProductOffers");
21
19
  const factory_1 = require("./registerService/factory");
22
20
  const potentialActions_1 = require("./registerService/potentialActions");
@@ -230,29 +228,6 @@ function exportTasksById(params) {
230
228
  });
231
229
  const potentialActions = transaction.potentialActions;
232
230
  const taskAttributes = [];
233
- if (settings_1.USE_DELETE_ASSET_TRANSACTION_TASK) {
234
- // 資産取引削除タスクを作成
235
- const deleteTransactionTask = {
236
- project: transaction.project,
237
- name: factory.taskName.DeleteAssetTransaction,
238
- status: factory.taskStatus.Ready,
239
- runsAt: moment(transaction.endDate)
240
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
241
- .toDate(),
242
- remainingNumberOfTries: 3,
243
- numberOfTried: 0,
244
- executionResults: [],
245
- data: {
246
- object: {
247
- project: transaction.project,
248
- id: transaction.id,
249
- transactionNumber: transaction.transactionNumber,
250
- typeOf: transaction.typeOf
251
- }
252
- }
253
- };
254
- taskAttributes.push(deleteTransactionTask);
255
- }
256
231
  const taskRunsAt = new Date();
257
232
  switch (transaction.status) {
258
233
  case factory.transactionStatusType.Confirmed:
@@ -467,7 +467,7 @@ function createPotentialActions(params) {
467
467
  underName
468
468
  }));
469
469
  });
470
- const reservationPackage = Object.assign({ reservationFor, reservationNumber: pendingReservations[0].reservationNumber, reservationStatus: pendingReservations[0].reservationStatus,
470
+ const reservationPackage = Object.assign({ reservationFor, reservationNumber: transaction.object.reservationNumber, reservationStatus: pendingReservations[0].reservationStatus,
471
471
  // 不要なので廃止(2023-01-19~)
472
472
  // subReservation: pendingReservations,
473
473
  typeOf: factory.reservationType.ReservationPackage }, (typeof (underName === null || underName === void 0 ? void 0 : underName.typeOf) === 'string') ? { underName } : undefined);
@@ -511,7 +511,7 @@ function ordre2reservationUnderName(params) {
511
511
  };
512
512
  }
513
513
  function createMoneyTransferActions(params) {
514
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
514
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
515
515
  const pointAward = (_b = (_a = params.acceptedOffer) === null || _a === void 0 ? void 0 : _a.itemOffered) === null || _b === void 0 ? void 0 : _b.pointAward;
516
516
  const moneyTransfer = [];
517
517
  // ポイント特典があれば適用
@@ -521,33 +521,33 @@ function createMoneyTransferActions(params) {
521
521
  && typeof pointAwardToLocationIdentifier === 'string'
522
522
  && typeof pointAwardToLocationTypeOf === 'string') {
523
523
  const fromLocation = {
524
- typeOf: (typeof ((_f = params.reservation.reservedTicket.issuedBy) === null || _f === void 0 ? void 0 : _f.typeOf) === 'string')
525
- ? params.reservation.reservedTicket.issuedBy.typeOf
524
+ typeOf: (typeof ((_f = params.reservation.underName) === null || _f === void 0 ? void 0 : _f.typeOf) === 'string')
525
+ ? params.reservation.underName.typeOf
526
526
  : params.transaction.typeOf,
527
- name: (typeof ((_h = (_g = params.reservation.reservedTicket) === null || _g === void 0 ? void 0 : _g.issuedBy) === null || _h === void 0 ? void 0 : _h.name) === 'string')
528
- ? params.reservation.reservedTicket.issuedBy.name
527
+ name: (typeof ((_g = params.reservation.underName) === null || _g === void 0 ? void 0 : _g.name) === 'string')
528
+ ? params.reservation.underName.name
529
529
  : params.transaction.id
530
530
  };
531
531
  const toLocation = {
532
532
  identifier: pointAwardToLocationIdentifier,
533
533
  typeOf: factory.permit.PermitType.Permit,
534
- issuedThrough: { id: String((_k = (_j = pointAward.toLocation) === null || _j === void 0 ? void 0 : _j.issuedThrough) === null || _k === void 0 ? void 0 : _k.id) }
534
+ issuedThrough: { id: String((_j = (_h = pointAward.toLocation) === null || _h === void 0 ? void 0 : _h.issuedThrough) === null || _j === void 0 ? void 0 : _j.id) }
535
535
  };
536
536
  const recipient = {
537
- typeOf: (typeof ((_l = params.underName) === null || _l === void 0 ? void 0 : _l.typeOf) === 'string')
538
- ? (_m = params.underName) === null || _m === void 0 ? void 0 : _m.typeOf
537
+ typeOf: (typeof ((_k = params.underName) === null || _k === void 0 ? void 0 : _k.typeOf) === 'string')
538
+ ? (_l = params.underName) === null || _l === void 0 ? void 0 : _l.typeOf
539
539
  : factory.personType.Person,
540
- id: (typeof ((_o = params.underName) === null || _o === void 0 ? void 0 : _o.id) === 'string')
541
- ? (_p = params.underName) === null || _p === void 0 ? void 0 : _p.id
540
+ id: (typeof ((_m = params.underName) === null || _m === void 0 ? void 0 : _m.id) === 'string')
541
+ ? (_o = params.underName) === null || _o === void 0 ? void 0 : _o.id
542
542
  : '',
543
- name: String((_q = params.underName) === null || _q === void 0 ? void 0 : _q.name)
543
+ name: String((_p = params.underName) === null || _p === void 0 ? void 0 : _p.name)
544
544
  };
545
545
  moneyTransfer.push(Object.assign(Object.assign({ project: params.transaction.project, typeOf: factory.actionType.MoneyTransfer, agent: params.transaction.project, recipient, object: {
546
546
  typeOf: factory.account.transactionType.Deposit
547
- }, purpose: Object.assign({ typeOf: params.transaction.typeOf, id: params.transaction.id }, (typeof ((_r = pointAward.purpose) === null || _r === void 0 ? void 0 : _r.identifier) === 'string') ? { identifier: pointAward.purpose.identifier } : undefined), amount: {
547
+ }, purpose: Object.assign({ typeOf: params.transaction.typeOf, id: params.transaction.id }, (typeof ((_q = pointAward.purpose) === null || _q === void 0 ? void 0 : _q.identifier) === 'string') ? { identifier: pointAward.purpose.identifier } : undefined), amount: {
548
548
  typeOf: 'MonetaryAmount',
549
- value: (_s = pointAward.amount) === null || _s === void 0 ? void 0 : _s.value,
550
- currency: (_t = pointAward.amount) === null || _t === void 0 ? void 0 : _t.currency
549
+ value: (_r = pointAward.amount) === null || _r === void 0 ? void 0 : _r.value,
550
+ currency: (_s = pointAward.amount) === null || _s === void 0 ? void 0 : _s.currency
551
551
  }, fromLocation: fromLocation, toLocation: toLocation }, (typeof pointAward.description === 'string') ? { description: pointAward.description } : undefined), (pointAward.recipient !== undefined) ? { recipient: pointAward.recipient } : undefined));
552
552
  }
553
553
  return moneyTransfer;
@@ -62,6 +62,7 @@ interface IConfirmRepo {
62
62
  task: TaskRepo;
63
63
  }
64
64
  export type IConfirmOperation<T> = (repos: IConfirmRepo) => Promise<T>;
65
+ type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
65
66
  type IStartParams = factory.assetTransaction.reserve.IStartParamsWithoutDetail & {
66
67
  /**
67
68
  * 承認アクションを介した場合に検索済のイベント
@@ -94,7 +95,10 @@ type IStartParams = factory.assetTransaction.reserve.IStartParamsWithoutDetail &
94
95
  /**
95
96
  * 取引開始
96
97
  */
97
- export declare function start(params: IStartParams): IStartOperation<factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>>;
98
+ export declare function start(params: IStartParams): IStartOperation<{
99
+ transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>;
100
+ objectSubReservations: IObjectSubReservation[];
101
+ }>;
98
102
  /**
99
103
  * 取引確定
100
104
  */
@@ -63,9 +63,10 @@ function start(params) {
63
63
  catch (error) {
64
64
  throw error;
65
65
  }
66
+ let objectSubReservations = [];
66
67
  // 指定があれば予約追加
67
68
  if (typeof ((_d = params.object.reservationFor) === null || _d === void 0 ? void 0 : _d.id) === 'string') {
68
- transaction = yield addReservations({
69
+ const addReservationsResult = yield addReservations({
69
70
  id: transaction.id,
70
71
  object: params.object,
71
72
  event,
@@ -74,8 +75,10 @@ function start(params) {
74
75
  availableAtOrFrom: { id: (_e = params.availableAtOrFrom) === null || _e === void 0 ? void 0 : _e.id },
75
76
  validateAppliesToMovieTicket: params.validateAppliesToMovieTicket
76
77
  })(repos);
78
+ transaction = addReservationsResult.transaction;
79
+ objectSubReservations = addReservationsResult.objectSubReservations;
77
80
  }
78
- return transaction;
81
+ return { transaction, objectSubReservations };
79
82
  });
80
83
  }
81
84
  exports.start = start;
@@ -140,12 +143,10 @@ function addReservations(params) {
140
143
  typeOf: factory.assetTransactionType.Reserve,
141
144
  id: transaction.id,
142
145
  object: {
143
- project: transaction.project,
144
146
  acceptedOffer: acceptedOffers4transactionObject,
145
147
  reservationFor,
146
148
  // subReservationにreservationForを保管しない(2021-10-19~)
147
- subReservation: objectSubReservations,
148
- typeOf: factory.reservationType.ReservationPackage
149
+ subReservation: objectSubReservations
149
150
  }
150
151
  });
151
152
  }
@@ -168,7 +169,7 @@ function addReservations(params) {
168
169
  yield repos.reservation.createMany({ reservationFor, reservations: objectSubReservations });
169
170
  // 予約作成後処理
170
171
  yield onReservationsCreated({ event })(repos);
171
- return transaction;
172
+ return { transaction, objectSubReservations };
172
173
  });
173
174
  }
174
175
  /**
@@ -773,29 +774,6 @@ function exportTasksById(params) {
773
774
  });
774
775
  const potentialActions = transaction.potentialActions;
775
776
  const taskAttributes = [];
776
- if (settings_1.USE_DELETE_ASSET_TRANSACTION_TASK) {
777
- // 資産取引削除タスクを作成
778
- const deleteTransactionTask = {
779
- project: transaction.project,
780
- name: factory.taskName.DeleteAssetTransaction,
781
- status: factory.taskStatus.Ready,
782
- runsAt: moment(transaction.endDate)
783
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
784
- .toDate(),
785
- remainingNumberOfTries: 3,
786
- numberOfTried: 0,
787
- executionResults: [],
788
- data: {
789
- object: {
790
- project: transaction.project,
791
- id: transaction.id,
792
- transactionNumber: transaction.transactionNumber,
793
- typeOf: transaction.typeOf
794
- }
795
- }
796
- };
797
- taskAttributes.push(deleteTransactionTask);
798
- }
799
777
  switch (transaction.status) {
800
778
  case factory.transactionStatusType.Confirmed:
801
779
  // tslint:disable-next-line:no-single-line-block-comment
@@ -162,9 +162,11 @@ function processStartReserve4chevre(params) {
162
162
  // requestBody = startParams;
163
163
  const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
164
164
  // 予約取引開始
165
- responseBody = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true }))(repos);
165
+ const startReserveTransactionResult = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true }))(repos);
166
+ responseBody = startReserveTransactionResult.transaction;
166
167
  // 予約取引からオファー情報を生成する
167
168
  acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
169
+ objectSubReservations: startReserveTransactionResult.objectSubReservations,
168
170
  responseBody: responseBody,
169
171
  event: event,
170
172
  project: transaction.project,
@@ -23,8 +23,10 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
23
23
  export declare function acceptedOffers2amount(params: {
24
24
  acceptedOffers: IResultAcceptedOffer[];
25
25
  }): number;
26
+ type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
26
27
  type IResultAcceptedOffer = factory.action.authorize.offer.seatReservation.IResultAcceptedOffer;
27
28
  export declare function responseBody2acceptedOffers4result(params: {
29
+ objectSubReservations: IObjectSubReservation[];
28
30
  responseBody: factory.assetTransaction.reserve.ITransaction;
29
31
  event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>;
30
32
  project: {
@@ -154,8 +154,8 @@ exports.acceptedOffers2amount = acceptedOffers2amount;
154
154
  function responseBody2acceptedOffers4result(params) {
155
155
  let acceptedOffers4result = [];
156
156
  // 予約取引からacceptedOffers4resultを生成する
157
- if (Array.isArray(params.responseBody.object.subReservation)) {
158
- acceptedOffers4result = params.responseBody.object.subReservation.map((itemOffered) => {
157
+ if (Array.isArray(params.objectSubReservations)) {
158
+ acceptedOffers4result = params.objectSubReservations.map((itemOffered) => {
159
159
  var _a;
160
160
  const reservation = createReservation({ project: params.project, itemOffered, event: params.event });
161
161
  // appliesToMovieTicketがArrayでないケースは廃止(2022-09-12~)
@@ -7,7 +7,9 @@ import * as factory from '../../factory';
7
7
  * 注文に関わるリソースを削除する
8
8
  * 冪等性を確保すること
9
9
  */
10
- declare function deleteOrder(params: factory.task.IData<factory.taskName.DeleteOrder>): (repos: {
10
+ declare function deleteOrder(params: {
11
+ object: Pick<factory.order.IOrder, 'project' | 'typeOf' | 'confirmationNumber' | 'orderDate' | 'orderNumber'>;
12
+ }): (repos: {
11
13
  accountingReport: AccountingReportRepo;
12
14
  order: OrderRepo;
13
15
  ownershipInfo: OwnershipInfoRepo;
@@ -7,7 +7,6 @@ export declare function getOrderWithToken(params: {
7
7
  expiresIn: number;
8
8
  }): Promise<factory.order.IOrder | IOrderWithToken>;
9
9
  export declare function createInformTasks(order: factory.order.IOrder | IOrderWithToken): factory.task.IAttributes<factory.taskName.TriggerWebhook>[];
10
- export declare function createDeleteTasks(order: factory.order.IOrder): factory.task.IAttributes<factory.taskName.DeleteOrder>[];
11
10
  export declare function createConfirmReservationActionObject4ChevreByOrder(params: {
12
11
  order: factory.order.IOrder;
13
12
  }): factory.action.interact.confirm.reservation.IObject<factory.service.webAPI.Identifier.Chevre>[];
@@ -10,10 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  var _a;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createDeleteTasks = exports.createInformTasks = exports.getOrderWithToken = void 0;
13
+ exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = exports.getOrderWithToken = void 0;
14
14
  const google_libphonenumber_1 = require("google-libphonenumber");
15
15
  const jwt = require("jsonwebtoken");
16
- const moment = require("moment");
17
16
  const util_1 = require("util");
18
17
  const credentials_1 = require("../../../credentials");
19
18
  const factory = require("../../../factory");
@@ -133,41 +132,6 @@ function creteOrder4inform(order) {
133
132
  : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
134
133
  }
135
134
  }
136
- /**
137
- * 注文保管期間
138
- */
139
- const ORDER_STORAGE_PERIOD_IN_DAYS = (typeof process.env.ORDER_STORAGE_PERIOD_IN_DAYS === 'string')
140
- ? Number(process.env.ORDER_STORAGE_PERIOD_IN_DAYS) :
141
- // tslint:disable-next-line:no-magic-numbers
142
- 365;
143
- function createDeleteTasks(order) {
144
- if (settings_1.USE_DELETE_ORDER_TASK) {
145
- return [{
146
- project: order.project,
147
- name: factory.taskName.DeleteOrder,
148
- status: factory.taskStatus.Ready,
149
- runsAt: moment(order.orderDate)
150
- .add(ORDER_STORAGE_PERIOD_IN_DAYS, 'days')
151
- .toDate(),
152
- remainingNumberOfTries: 10,
153
- numberOfTried: 0,
154
- executionResults: [],
155
- data: {
156
- object: {
157
- confirmationNumber: order.confirmationNumber,
158
- orderDate: order.orderDate,
159
- orderNumber: order.orderNumber,
160
- project: order.project,
161
- typeOf: order.typeOf
162
- }
163
- }
164
- }];
165
- }
166
- else {
167
- return [];
168
- }
169
- }
170
- exports.createDeleteTasks = createDeleteTasks;
171
135
  function createConfirmReservationActionObject4ChevreByOrder(params) {
172
136
  const chevreReservationNumbers = (Array.isArray(params.order.acceptedOffers))
173
137
  ? params.order.acceptedOffers.filter((o) => {
@@ -72,8 +72,6 @@ function onOrderStatusChanged(params) {
72
72
  tasks = [
73
73
  // 注文作成時のみトークン付加
74
74
  ...(0, factory_1.createInformTasks)(orderWithToken),
75
- // リソース削除タスク
76
- ...(0, factory_1.createDeleteTasks)(params.order),
77
75
  ...yield createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
78
76
  ...yield createConfirmReserveTransactionTasks(params.order, simpleOrder)(repos),
79
77
  ...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
@@ -73,7 +73,7 @@ function cancelPendingReservation(actionAttributesList) {
73
73
  })(repos);
74
74
  yield processUnlockOfferRateLimit({
75
75
  reservation: {
76
- reservationNumber: cancelingSubReservation.reservationNumber,
76
+ reservationNumber: reserveTransaction.object.reservationNumber,
77
77
  reservedTicket: cancelingSubReservation.reservedTicket
78
78
  },
79
79
  reservationFor
@@ -214,7 +214,7 @@ function cancelReservation(actionAttributesList) {
214
214
  })(repos);
215
215
  yield processUnlockOfferRateLimit({
216
216
  reservation: {
217
- reservationNumber: cancelingSubReservation.reservationNumber,
217
+ reservationNumber: reserveTransaction.object.reservationNumber,
218
218
  reservedTicket: cancelingSubReservation.reservedTicket
219
219
  },
220
220
  reservationFor
@@ -33,8 +33,6 @@ export declare const DEFAULT_TASKS_EXPORT_AGENT_NAME: string;
33
33
  export declare const USE_ASSET_TRANSACTION_SYNC_PROCESSING: boolean;
34
34
  export declare const USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING: boolean;
35
35
  export declare const USE_NEW_EVENT_AVAILABILITY_KEY_FROM: moment.Moment;
36
- export declare const USE_DELETE_ASSET_TRANSACTION_TASK: boolean;
37
- export declare const USE_DELETE_ORDER_TASK: boolean;
38
36
  export declare const INFORM_RESERVATION_TASK_DELAY_IN_SECONDS: number;
39
37
  /**
40
38
  * グローバル設定
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.settings = exports.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS = exports.USE_DELETE_ORDER_TASK = exports.USE_DELETE_ASSET_TRANSACTION_TASK = exports.USE_NEW_EVENT_AVAILABILITY_KEY_FROM = exports.USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = exports.DEFAULT_PAYMENT_METHOD_TYPE_FOR_CREDIT_CARD = exports.DEFAULT_SENDER_EMAIL = exports.TRANSACTION_CANCELED_STORAGE_PERIOD_IN_DAYS = exports.TRANSACTION_CONFIRMED_STORAGE_PERIOD_IN_DAYS = exports.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS = exports.ABORTED_TASKS_WITHOUT_REPORT = exports.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS = exports.TRIGGER_WEBHOOK_MAX_RETRY_COUNT = void 0;
3
+ exports.settings = exports.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS = exports.USE_NEW_EVENT_AVAILABILITY_KEY_FROM = exports.USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = exports.DEFAULT_PAYMENT_METHOD_TYPE_FOR_CREDIT_CARD = exports.DEFAULT_SENDER_EMAIL = exports.TRANSACTION_CANCELED_STORAGE_PERIOD_IN_DAYS = exports.TRANSACTION_CONFIRMED_STORAGE_PERIOD_IN_DAYS = exports.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS = exports.ABORTED_TASKS_WITHOUT_REPORT = exports.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS = exports.TRIGGER_WEBHOOK_MAX_RETRY_COUNT = void 0;
4
4
  const moment = require("moment");
5
5
  const factory = require("./factory");
6
6
  const transactionWebhookUrls = (typeof process.env.INFORM_TRANSACTION_URL === 'string')
@@ -59,8 +59,6 @@ exports.USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING = process.env.USE_PAY_ASSET_TR
59
59
  exports.USE_NEW_EVENT_AVAILABILITY_KEY_FROM = (typeof process.env.USE_NEW_EVENT_AVAILABILITY_KEY_FROM === 'string')
60
60
  ? moment(process.env.USE_NEW_EVENT_AVAILABILITY_KEY_FROM)
61
61
  : moment('2023-08-31T15:00:00Z');
62
- exports.USE_DELETE_ASSET_TRANSACTION_TASK = process.env.USE_DELETE_ASSET_TRANSACTION_TASK === '1';
63
- exports.USE_DELETE_ORDER_TASK = process.env.USE_DELETE_ORDER_TASK === '1';
64
62
  exports.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS = (typeof process.env.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS === 'string')
65
63
  ? Number(process.env.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS)
66
64
  : 0;
package/package.json CHANGED
@@ -9,8 +9,8 @@
9
9
  }
10
10
  ],
11
11
  "dependencies": {
12
- "@chevre/factory": "4.313.0-alpha.11",
13
- "@cinerino/sdk": "3.157.0-alpha.1",
12
+ "@chevre/factory": "4.313.0-alpha.12",
13
+ "@cinerino/sdk": "3.157.0-alpha.2",
14
14
  "@motionpicture/coa-service": "9.2.0",
15
15
  "@motionpicture/gmo-service": "5.2.0",
16
16
  "@sendgrid/mail": "6.4.0",
@@ -117,5 +117,5 @@
117
117
  "postversion": "git push origin --tags",
118
118
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
119
119
  },
120
- "version": "21.2.0-alpha.69"
120
+ "version": "21.2.0-alpha.70"
121
121
  }
@@ -1,12 +0,0 @@
1
- import { IOperation } from '../task';
2
- import * as factory from '../../factory';
3
- import { MongoRepository as ActionRepo } from '../../repo/action';
4
- import { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
5
- /**
6
- * タスク実行関数
7
- */
8
- export declare function call(data: factory.task.IData<factory.taskName.DeleteAssetTransaction>): IOperation<void>;
9
- export declare function deleteAssetTransaction(params: factory.task.IData<factory.taskName.DeleteAssetTransaction>): (repos: {
10
- action: ActionRepo;
11
- assetTransaction: AssetTransactionRepo;
12
- }) => Promise<void>;
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.deleteAssetTransaction = exports.call = void 0;
13
- const factory = require("../../factory");
14
- const action_1 = require("../../repo/action");
15
- const assetTransaction_1 = require("../../repo/assetTransaction");
16
- /**
17
- * タスク実行関数
18
- */
19
- function call(data) {
20
- return (settings) => __awaiter(this, void 0, void 0, function* () {
21
- const actionRepo = new action_1.MongoRepository(settings.connection);
22
- const assetTransactionRepo = new assetTransaction_1.MongoRepository(settings.connection);
23
- yield deleteAssetTransaction(data)({
24
- action: actionRepo,
25
- assetTransaction: assetTransactionRepo
26
- });
27
- });
28
- }
29
- exports.call = call;
30
- function deleteAssetTransaction(params) {
31
- return (repos) => __awaiter(this, void 0, void 0, function* () {
32
- const assetTransaction = params.object;
33
- // アクションを作成(logとしての意味合いも含めて)
34
- const actionAttributes = {
35
- typeOf: factory.actionType.DeleteAction,
36
- project: assetTransaction.project,
37
- object: assetTransaction,
38
- agent: assetTransaction.project
39
- };
40
- const action = yield repos.action.start(actionAttributes);
41
- try {
42
- const assetTransactionTypeOf = assetTransaction.typeOf;
43
- switch (assetTransactionTypeOf) {
44
- default:
45
- // 取引削除
46
- yield repos.assetTransaction.findByIdAndDelete({ id: assetTransaction.id });
47
- }
48
- }
49
- catch (error) {
50
- // actionにエラー結果を追加
51
- try {
52
- const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
53
- yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error: actionError });
54
- }
55
- catch (__) {
56
- // 失敗したら仕方ない
57
- }
58
- throw error;
59
- }
60
- // アクション完了
61
- const actionResult = {};
62
- yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
63
- });
64
- }
65
- exports.deleteAssetTransaction = deleteAssetTransaction;
@@ -1,6 +0,0 @@
1
- import { IOperation } from '../task';
2
- import * as factory from '../../factory';
3
- /**
4
- * タスク実行関数
5
- */
6
- export declare function call(data: factory.task.IData<factory.taskName.DeleteOrder>): IOperation<void>;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.call = void 0;
13
- const accountingReport_1 = require("../../repo/accountingReport");
14
- const order_1 = require("../../repo/order");
15
- const ownershipInfo_1 = require("../../repo/ownershipInfo");
16
- const reservation_1 = require("../../repo/reservation");
17
- const OrderService = require("../order");
18
- /**
19
- * タスク実行関数
20
- */
21
- function call(data) {
22
- return (settings) => __awaiter(this, void 0, void 0, function* () {
23
- const accountingReportRepo = new accountingReport_1.MongoRepository(settings.connection);
24
- const orderRepo = new order_1.MongoRepository(settings.connection);
25
- const ownershipInfoRepo = new ownershipInfo_1.MongoRepository(settings.connection);
26
- const reservationRepo = new reservation_1.MongoRepository(settings.connection);
27
- yield OrderService.deleteOrder(data)({
28
- accountingReport: accountingReportRepo,
29
- order: orderRepo,
30
- ownershipInfo: ownershipInfoRepo,
31
- reservation: reservationRepo
32
- });
33
- });
34
- }
35
- exports.call = call;