@chevre/domain 25.2.0-alpha.4 → 25.2.0-alpha.40

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 (172) hide show
  1. package/lib/chevre/factory/customerTelephone2COATelNum.d.ts +3 -0
  2. package/lib/chevre/factory/customerTelephone2COATelNum.js +22 -0
  3. package/lib/chevre/repo/action/acceptPay.d.ts +15 -0
  4. package/lib/chevre/repo/action/acceptPay.js +47 -19
  5. package/lib/chevre/repo/action/actionProcess.js +57 -57
  6. package/lib/chevre/repo/action.d.ts +16 -9
  7. package/lib/chevre/repo/action.js +99 -180
  8. package/lib/chevre/repo/aggregateOffer.d.ts +2 -3
  9. package/lib/chevre/repo/creativeWork.d.ts +2 -3
  10. package/lib/chevre/repo/customerType.d.ts +2 -3
  11. package/lib/chevre/repo/event.d.ts +10 -11
  12. package/lib/chevre/repo/eventOffer.d.ts +4 -5
  13. package/lib/chevre/repo/eventSellerMakesOffer.d.ts +2 -3
  14. package/lib/chevre/repo/eventSeries.d.ts +4 -5
  15. package/lib/chevre/repo/message.d.ts +1 -1
  16. package/lib/chevre/repo/message.js +1 -1
  17. package/lib/chevre/repo/mongoose/schemas/action.js +67 -66
  18. package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -0
  19. package/lib/chevre/repo/mongoose/schemas/order.js +10 -0
  20. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -0
  21. package/lib/chevre/repo/mongoose/schemas/task.js +12 -12
  22. package/lib/chevre/repo/note.d.ts +3 -4
  23. package/lib/chevre/repo/noteAboutOrder.d.ts +2 -3
  24. package/lib/chevre/repo/offerCatalog.d.ts +2 -3
  25. package/lib/chevre/repo/offerCatalogItem.d.ts +2 -3
  26. package/lib/chevre/repo/order.d.ts +2 -0
  27. package/lib/chevre/repo/order.js +14 -14
  28. package/lib/chevre/repo/orderInTransaction.d.ts +68 -1
  29. package/lib/chevre/repo/orderInTransaction.js +181 -3
  30. package/lib/chevre/repo/person.d.ts +0 -15
  31. package/lib/chevre/repo/person.js +122 -108
  32. package/lib/chevre/repo/place/entranceGate.d.ts +4 -5
  33. package/lib/chevre/repo/place/movieTheater.d.ts +3 -4
  34. package/lib/chevre/repo/place/screeningRoom.d.ts +4 -5
  35. package/lib/chevre/repo/place/seat.d.ts +4 -5
  36. package/lib/chevre/repo/place/section.d.ts +3 -4
  37. package/lib/chevre/repo/product.d.ts +3 -4
  38. package/lib/chevre/repo/rateLimit/offer.js +0 -12
  39. package/lib/chevre/repo/reservation.d.ts +2 -3
  40. package/lib/chevre/repo/sellerMakesOffer.d.ts +3 -4
  41. package/lib/chevre/repo/stockHolder.d.ts +1 -1
  42. package/lib/chevre/repo/stockHolder.js +0 -146
  43. package/lib/chevre/repo/transaction/placeOrder.d.ts +2 -45
  44. package/lib/chevre/repo/transaction/placeOrder.js +43 -83
  45. package/lib/chevre/repo/transaction.d.ts +2 -2
  46. package/lib/chevre/repo/transactionNumberCounter.js +0 -34
  47. package/lib/chevre/repo/transactionProcess.js +0 -13
  48. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +1 -1
  49. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +1 -1
  50. package/lib/chevre/service/assetTransaction/pay/start/factory.js +3 -4
  51. package/lib/chevre/service/assetTransaction/pay/start.d.ts +1 -1
  52. package/lib/chevre/service/notification/factory.d.ts +2 -4
  53. package/lib/chevre/service/notification/factory.js +26 -24
  54. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.d.ts +11 -5
  55. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -3
  56. package/lib/chevre/service/offer/event/authorize/factory.d.ts +3 -5
  57. package/lib/chevre/service/offer/event/authorize/factory.js +93 -75
  58. package/lib/chevre/service/offer/event/authorize.d.ts +0 -4
  59. package/lib/chevre/service/offer/event/authorize.js +2 -2
  60. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +6 -7
  61. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +10 -10
  62. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +0 -5
  63. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +17 -14
  64. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.d.ts +0 -5
  65. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +2 -2
  66. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +1 -1
  67. package/lib/chevre/service/order/deleteOrder.d.ts +5 -1
  68. package/lib/chevre/service/order/deleteOrder.js +8 -1
  69. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +19 -11
  70. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +2 -0
  71. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +2 -2
  72. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +1 -7
  73. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +2 -0
  74. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +2 -0
  75. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +5 -1
  76. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +95 -33
  77. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +2 -2
  78. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +4 -2
  79. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +2 -6
  80. package/lib/chevre/service/order/payOrder.d.ts +2 -0
  81. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -1
  82. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +13 -58
  83. package/lib/chevre/service/order/placeOrder/factory.js +3 -21
  84. package/lib/chevre/service/order/placeOrder.d.ts +4 -5
  85. package/lib/chevre/service/order/placeOrder.js +20 -31
  86. package/lib/chevre/service/payment/any/authorize/fixOrderAsNeeded.js +1 -2
  87. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +3 -2
  88. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +4 -3
  89. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +3 -31
  90. package/lib/chevre/service/payment/any/authorize.js +13 -37
  91. package/lib/chevre/service/payment/any/factory.d.ts +7 -7
  92. package/lib/chevre/service/payment/any/factory.js +19 -22
  93. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +3 -1
  94. package/lib/chevre/service/payment/any/findAcceptAction.js +14 -6
  95. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +2 -0
  96. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +4 -66
  97. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +4 -0
  98. package/lib/chevre/service/payment/any/publishPaymentUrl.js +4 -18
  99. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +2 -0
  100. package/lib/chevre/service/payment/any/voidPayTransaction.js +1 -23
  101. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +1 -1
  102. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +5 -9
  103. package/lib/chevre/service/reserve/adminFindReservations.d.ts +15 -0
  104. package/lib/chevre/service/reserve/adminFindReservations.js +35 -0
  105. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +17 -8
  106. package/lib/chevre/service/reserve/searchByOrder.js +2 -6
  107. package/lib/chevre/service/reserve.d.ts +2 -2
  108. package/lib/chevre/service/reserve.js +3 -3
  109. package/lib/chevre/service/task/aggregateOffers.d.ts +2 -2
  110. package/lib/chevre/service/task/aggregateOffers.js +2 -1
  111. package/lib/chevre/service/task/aggregateScreeningEvent.d.ts +2 -2
  112. package/lib/chevre/service/task/aggregateScreeningEvent.js +2 -1
  113. package/lib/chevre/service/task/authorizePayment.js +3 -1
  114. package/lib/chevre/service/task/cancelReservation.d.ts +2 -2
  115. package/lib/chevre/service/task/cancelReservation.js +2 -1
  116. package/lib/chevre/service/task/confirmPayTransaction.js +0 -1
  117. package/lib/chevre/service/task/confirmReserveTransaction.js +2 -7
  118. package/lib/chevre/service/task/deleteTransaction.d.ts +2 -2
  119. package/lib/chevre/service/task/deleteTransaction.js +2 -1
  120. package/lib/chevre/service/task/onAssetTransactionStatusChanged.d.ts +2 -2
  121. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -3
  122. package/lib/chevre/service/task/onEventChanged.d.ts +2 -2
  123. package/lib/chevre/service/task/onEventChanged.js +2 -1
  124. package/lib/chevre/service/task/onOrderPaymentCompleted.d.ts +2 -2
  125. package/lib/chevre/service/task/onOrderPaymentCompleted.js +4 -1
  126. package/lib/chevre/service/task/onResourceUpdated.d.ts +2 -2
  127. package/lib/chevre/service/task/onResourceUpdated.js +2 -1
  128. package/lib/chevre/service/task/placeOrder.d.ts +2 -2
  129. package/lib/chevre/service/task/placeOrder.js +6 -3
  130. package/lib/chevre/service/task/publishPaymentUrl.js +7 -3
  131. package/lib/chevre/service/task/refund.d.ts +2 -2
  132. package/lib/chevre/service/task/refund.js +4 -10
  133. package/lib/chevre/service/task/reserve.d.ts +2 -2
  134. package/lib/chevre/service/task/reserve.js +2 -1
  135. package/lib/chevre/service/task/returnOrder.d.ts +2 -2
  136. package/lib/chevre/service/task/returnOrder.js +2 -1
  137. package/lib/chevre/service/task/sendOrder.d.ts +2 -2
  138. package/lib/chevre/service/task/sendOrder.js +2 -1
  139. package/lib/chevre/service/task/voidPayTransaction.js +3 -7
  140. package/lib/chevre/service/task/voidPayment.d.ts +2 -2
  141. package/lib/chevre/service/task/voidPayment.js +2 -1
  142. package/lib/chevre/service/taskHandler.d.ts +2 -2
  143. package/lib/chevre/service/taskHandler.js +36 -37
  144. package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.d.ts +15 -0
  145. package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.js +51 -0
  146. package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.d.ts +23 -0
  147. package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.js +64 -0
  148. package/lib/chevre/service/transaction/deleteTransaction.js +15 -152
  149. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +28 -2
  150. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +11 -12
  151. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +4 -2
  152. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +6 -7
  153. package/lib/chevre/service/transaction/placeOrder/confirm/prepareUnitPriceOfferConditions.d.ts +35 -2
  154. package/lib/chevre/service/transaction/placeOrder/confirm/prepareUnitPriceOfferConditions.js +16 -12
  155. package/lib/chevre/service/transaction/placeOrder/confirm/validation/factory.d.ts +5 -1
  156. package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +11 -2
  157. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +112 -91
  158. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +6 -5
  159. package/lib/chevre/service/transaction/placeOrder/confirm.js +33 -78
  160. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +4 -7
  161. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +33 -15
  162. package/lib/chevre/service/transaction/placeOrder/start.d.ts +1 -1
  163. package/lib/chevre/service/transaction/placeOrder/updateAgent/fixCustomer.d.ts +20 -0
  164. package/lib/chevre/service/transaction/placeOrder/updateAgent/fixCustomer.js +63 -0
  165. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +0 -1
  166. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +17 -86
  167. package/lib/chevre/taskSettings.d.ts +1 -3
  168. package/package.json +8 -11
  169. package/lib/chevre/service/order/findConfirmedPlaceOrder.d.ts +0 -13
  170. package/lib/chevre/service/order/findConfirmedPlaceOrder.js +0 -32
  171. package/lib/chevre/service/reserve/findReservations.d.ts +0 -33
  172. package/lib/chevre/service/reserve/findReservations.js +0 -61
@@ -16,10 +16,8 @@ const DEFAULT_LOCK_EXPIRES = 120;
16
16
  class TransactionProcessRepo {
17
17
  concurrentLockRepo;
18
18
  options;
19
- // private readonly redisClient: RedisClientType;
20
19
  constructor(redisClient, options) {
21
20
  this.concurrentLockRepo = new concurrentLock_1.ConcurrentLockRepo({ redisClient });
22
- // this.redisClient = redisClient;
23
21
  this.options = options;
24
22
  }
25
23
  static CREATE_REDIS_KEY(params) {
@@ -44,16 +42,6 @@ class TransactionProcessRepo {
44
42
  catch (_error) {
45
43
  throw new factory_1.factory.errors.AlreadyInUse(params.typeOf, [], 'Another transaction process in progress');
46
44
  }
47
- // const results = await this.redisClient.multi()
48
- // .setNX(key, '1')
49
- // .expire(key, ttl)
50
- // .exec();
51
- // debug('locked,', params.id, results);
52
- // if (Array.isArray(results) && (results[0] === 1 || (<any>results)[0] === true)) {
53
- // return;
54
- // } else {
55
- // throw new factory.errors.AlreadyInUse(params.typeOf, [], 'Another transaction process in progress');
56
- // }
57
45
  }
58
46
  async unlock(params) {
59
47
  const key = TransactionProcessRepo.CREATE_REDIS_KEY(params);
@@ -62,7 +50,6 @@ class TransactionProcessRepo {
62
50
  about: { identifier: key, typeOf: 'Thing' },
63
51
  audience: { identifier: '1', typeOf: 'Audience' }
64
52
  });
65
- // await this.redisClient.del([key]);
66
53
  }
67
54
  }
68
55
  exports.TransactionProcessRepo = TransactionProcessRepo;
@@ -167,7 +167,7 @@ function publishPaymentUrl(params, options) {
167
167
  }
168
168
  const actionResult = {
169
169
  paymentMethodId: result.paymentMethodId,
170
- paymentUrl: result.paymentUrl
170
+ // paymentUrl: result.paymentUrl // result.paymentUrlは廃止(2026-07-14~)
171
171
  };
172
172
  await repos.acceptPayAction.completeWithVoid({ typeOf: actionAttributes.typeOf, id: action.id, result: actionResult, recipe });
173
173
  return result;
@@ -20,7 +20,7 @@ export declare function createStartParams(params: factory.assetTransaction.pay.I
20
20
  */
21
21
  id: string;
22
22
  }[];
23
- instrument: factory.action.trade.pay.IPlaceOrderRelatedInstrument[];
23
+ instrument: factory.action.trade.pay.IPayTransactionInstrument[];
24
24
  }, options: {
25
25
  checkedAction: {
26
26
  id: string;
@@ -82,7 +82,8 @@ function createStartParams(params, options) {
82
82
  break;
83
83
  }
84
84
  default:
85
- // no op
85
+ // no op
86
+ throw new factory_1.factory.errors.NotImplemented(`paymentServiceType: ${params.paymentServiceType} not implemented`);
86
87
  }
87
88
  // const informPaymentParams = createInformPaymentParams({
88
89
  // paymentService: <factory.service.paymentService.IService | undefined>params.paymentService
@@ -122,12 +123,10 @@ function createStartParams(params, options) {
122
123
  : paymentMethodType,
123
124
  amount: paymentMethodAmount, // MonetaryAmount対応(2023-08-14~)
124
125
  identifier: paymentMethodType, // 追加(2023-08-29~)
126
+ totalPaymentDue,
125
127
  ...(typeof params.object.paymentMethod?.description === 'string')
126
128
  ? { description: params.object.paymentMethod?.description }
127
129
  : undefined,
128
- ...(totalPaymentDue !== undefined)
129
- ? { totalPaymentDue: totalPaymentDue }
130
- : undefined,
131
130
  ...(typeof accountId === 'string') ? { accountId: accountId } : undefined,
132
131
  ...(typeof params.object.paymentMethod?.method === 'string')
133
132
  ? { method: params.object.paymentMethod?.method }
@@ -44,7 +44,7 @@ export { IPaymentAgencyTransaction };
44
44
  * 取引開始
45
45
  */
46
46
  export declare function start(params: factory.assetTransaction.pay.IStartParamsWithoutDetail & {
47
- instrument: factory.action.trade.pay.IPlaceOrderRelatedInstrument[];
47
+ instrument: factory.action.trade.pay.IPayTransactionInstrument[];
48
48
  }, options: {
49
49
  pendingPaymentAgencyTransaction?: IPaymentAgencyTransaction;
50
50
  /**
@@ -5,11 +5,9 @@ export interface ILineNotifyMessage {
5
5
  subject: string;
6
6
  content: string;
7
7
  }
8
- export declare function task2lineNotify(params: {
9
- task: factory.task.ITask<factory.taskName>;
10
- }): ILineNotifyMessage;
11
8
  export declare function tasks2lineNotify(params: {
12
- tasks: factory.task.ITask<factory.taskName>[];
9
+ tasks: Pick<factory.task.ITask<factory.taskName>, 'id' | 'executionResults' | 'project' | 'name' | 'runsAt'>[];
10
+ limit: number;
13
11
  }): ILineNotifyMessage;
14
12
  export declare function createSendEmailMessageRecipe(params: {
15
13
  mailData?: MailData;
@@ -4,37 +4,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ABORT_REPORT_SUBJECT = void 0;
7
- exports.task2lineNotify = task2lineNotify;
8
7
  exports.tasks2lineNotify = tasks2lineNotify;
9
8
  exports.createSendEmailMessageRecipe = createSendEmailMessageRecipe;
10
9
  const moment_1 = __importDefault(require("moment"));
11
10
  const factory_1 = require("../../factory");
12
11
  exports.ABORT_REPORT_SUBJECT = 'tasks aborted';
13
- function task2lineNotify(params) {
14
- const task = params.task;
15
- const lastExecutionResult = (task.executionResults.length > 0) ? task.executionResults.slice(-1)[0] : undefined;
16
- let lastError = lastExecutionResult?.error;
17
- if (typeof lastError === 'string') {
18
- lastError = { message: lastError, name: 'Error' };
19
- }
20
- const lastMessage = `${String(lastError?.name)} ${String(lastError?.message)}`;
21
- const content = `project:${task.project?.id}
22
- id:${task.id}
23
- name:${task.name}
24
- runsAt:${(0, moment_1.default)(task.runsAt)
25
- .toISOString()}
26
- lastTriedAt:${(0, moment_1.default)(task.lastTriedAt)
27
- .toISOString()}
28
- numberOfTried:${task.numberOfTried}
29
- lastMessage:${lastMessage}`;
30
- return {
31
- subject: exports.ABORT_REPORT_SUBJECT,
32
- content: content
33
- };
34
- }
12
+ // function task2lineNotify(params: {
13
+ // task: factory.task.ITask<factory.taskName>;
14
+ // }): ILineNotifyMessage {
15
+ // const task = params.task;
16
+ // const lastExecutionResult = (task.executionResults.length > 0) ? task.executionResults.slice(-1)[0] : undefined;
17
+ // let lastError = lastExecutionResult?.error;
18
+ // if (typeof lastError === 'string') {
19
+ // lastError = { message: lastError, name: 'Error' };
20
+ // }
21
+ // const lastMessage = `${String(lastError?.name)} ${String(lastError?.message)}`;
22
+ // const content = `project:${task.project?.id}
23
+ // id:${task.id}
24
+ // name:${task.name}
25
+ // runsAt:${moment(task.runsAt)
26
+ // .toISOString()}
27
+ // lastTriedAt:${moment((task.lastTriedAt as Date))
28
+ // .toISOString()}
29
+ // numberOfTried:${task.numberOfTried}
30
+ // lastMessage:${lastMessage}`;
31
+ // return {
32
+ // subject: ABORT_REPORT_SUBJECT,
33
+ // content: content
34
+ // };
35
+ // }
35
36
  const MAX_LAST_MESSAGE_LENGTH = 60;
36
37
  function tasks2lineNotify(params) {
37
- const subject = `${params.tasks.length} ${exports.ABORT_REPORT_SUBJECT}`;
38
+ const abortedTasksCount = (params.tasks.length >= params.limit) ? `over ${params.tasks.length}` : params.tasks.length;
39
+ const subject = `${abortedTasksCount} ${exports.ABORT_REPORT_SUBJECT}`;
38
40
  let content;
39
41
  // あまりに通知タスク数が多いケースに対応
40
42
  if (params.tasks.length > 10) {
@@ -1,13 +1,19 @@
1
1
  import type { TaskRepo } from '../../repo/task';
2
2
  import type { IntegrationSettingRepo } from '../../repo/setting/integration';
3
+ interface INotifyAbortedTasksRepos {
4
+ task: TaskRepo;
5
+ integrationSetting: IntegrationSettingRepo;
6
+ }
3
7
  /**
4
8
  * 中止されたタスクリストをEメールで通知する
5
9
  * add(2025-03-13~)
6
10
  */
7
11
  declare function notifyAbortedTasksByEmail(params: {
8
12
  dateAbortedGte: Date;
9
- }): (repos: {
10
- task: TaskRepo;
11
- integrationSetting: IntegrationSettingRepo;
12
- }) => Promise<void>;
13
- export { notifyAbortedTasksByEmail };
13
+ dateAbortedLte: Date;
14
+ /**
15
+ * 中止タスクがあまりに多いと性能に影響するので、現実的にタスク数を制限する
16
+ */
17
+ limit: number;
18
+ }): (repos: INotifyAbortedTasksRepos) => Promise<void>;
19
+ export { notifyAbortedTasksByEmail, INotifyAbortedTasksRepos };
@@ -17,16 +17,24 @@ function notifyAbortedTasksByEmail(params) {
17
17
  return async (repos) => {
18
18
  const abortedTasksWithoutReport = await repos.integrationSetting.getByKey('abortedTasksWithoutReport');
19
19
  const abortedTasks = await repos.task.projectFields({
20
+ limit: params.limit,
21
+ page: 1,
20
22
  status: { $eq: factory_1.factory.taskStatus.Aborted },
21
- dateAborted: { $gte: params.dateAbortedGte },
23
+ dateAborted: {
24
+ $gte: params.dateAbortedGte,
25
+ $lte: params.dateAbortedLte,
26
+ },
22
27
  // 中止を報告しないタスク以外にフィルター
23
28
  ...(abortedTasksWithoutReport.length > 0)
24
29
  ? { name: { $nin: abortedTasksWithoutReport } }
25
30
  : undefined
26
- }, []);
31
+ }, ['executionResults', 'name', 'project', 'runsAt']);
27
32
  if (abortedTasks.length > 0) {
28
33
  // 開発者へ報告
29
- const message = (0, factory_2.tasks2lineNotify)({ tasks: abortedTasks });
34
+ const message = (0, factory_2.tasks2lineNotify)({
35
+ tasks: abortedTasks,
36
+ limit: params.limit
37
+ });
30
38
  const notifyResult = await (0, notifyByEmail_1.notifyByEmail)({
31
39
  subject: message.subject, content: message.content,
32
40
  logLevel: 'error'
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../../../factory';
2
- import { IMinimizedIndividualEvent } from '../../../../factory/event';
3
2
  declare function createReserveTransactionStartParams(params: {
4
3
  project: {
5
4
  id: string;
@@ -13,7 +12,6 @@ declare function createReserveTransactionStartParams(params: {
13
12
  transactionNumber: string;
14
13
  }): factory.assetTransaction.reserve.IStartParamsWithoutDetail;
15
14
  declare function createAuthorizeSeatReservationActionAttributes(params: {
16
- event: Pick<IMinimizedIndividualEvent, 'id'>;
17
15
  instrument: {
18
16
  /**
19
17
  * 予約取引番号
@@ -21,8 +19,6 @@ declare function createAuthorizeSeatReservationActionAttributes(params: {
21
19
  transactionNumber: string;
22
20
  };
23
21
  transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'agent' | 'id' | 'project' | 'seller' | 'typeOf'>;
24
- }, options: {
25
- useLegacyAuthorizeOfferObject: boolean;
26
22
  }): factory.action.authorize.offer.eventService.IAttributes;
27
23
  declare function acceptedOffers2amount(params: {
28
24
  acceptedOffers: Pick<IResultAcceptedOffer, 'priceSpecification' | 'id'>[];
@@ -31,7 +27,9 @@ declare function acceptedOffers2authorizeResult(params: {
31
27
  acceptedOffers4result: IResultAcceptedOffer[];
32
28
  noOfferSpecified: boolean;
33
29
  ticketOffers: factory.product.ITicketOffer[];
34
- }): factory.action.authorize.offer.eventService.IResult;
30
+ }): factory.action.authorize.offer.eventService.IResult & {
31
+ onlyPrice?: boolean;
32
+ };
35
33
  type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
36
34
  export type IResultAcceptedOffer = Omit<factory.order.IOptimizedAcceptedOffer, 'priceSpecification'> & {
37
35
  itemOffered: factory.order.IEventReservation;
@@ -80,16 +80,16 @@ function createReserveTransactionStartParams(params) {
80
80
  .toDate() // 余裕を持って
81
81
  };
82
82
  }
83
- function createAuthorizeSeatReservationActionAttributes(params, options) {
84
- const { useLegacyAuthorizeOfferObject } = options;
85
- const { event, transaction } = params;
86
- const authorizeObjectEvent = {
87
- id: event.id,
88
- typeOf: factory_1.factory.eventType.ScreeningEvent // fix(2024-07-17~)
89
- };
83
+ function createAuthorizeSeatReservationActionAttributes(params) {
84
+ // const { useLegacyAuthorizeOfferObject } = options;
85
+ const { transaction } = params;
86
+ // const authorizeObjectEvent: factory.action.authorize.offer.eventService.IEventInObject = {
87
+ // id: event.id,
88
+ // typeOf: factory.eventType.ScreeningEvent // fix(2024-07-17~)
89
+ // };
90
90
  const object = {
91
91
  typeOf: factory_1.factory.action.authorize.offer.eventService.ObjectType.SeatReservation,
92
- ...((useLegacyAuthorizeOfferObject) && { event: authorizeObjectEvent })
92
+ // ...((useLegacyAuthorizeOfferObject) && { event: authorizeObjectEvent })
93
93
  };
94
94
  const instrument = {
95
95
  typeOf: factory_1.factory.assetTransactionType.Reserve, // 変更(2024-03-08~)
@@ -144,82 +144,100 @@ function acceptedOffers2amount(params) {
144
144
  });
145
145
  return amount;
146
146
  }
147
- function acceptedOffers2programMembershipUsed(params) {
148
- const programMembershipUsed = [];
149
- const permitIdentifiers = [];
150
- params.acceptedOffers.forEach(({ itemOffered }) => {
151
- if (itemOffered.programMembershipUsed?.typeOf === factory_1.factory.programMembership.ProgramMembershipType.ProgramMembership) {
152
- // メンバーシップコードに対してユニークに集計
153
- if (!permitIdentifiers.includes(itemOffered.programMembershipUsed.identifier)) {
154
- permitIdentifiers.push(itemOffered.programMembershipUsed.identifier);
155
- const issuedThroughTypeOf = itemOffered.programMembershipUsed.issuedThrough.typeOf;
156
- if (issuedThroughTypeOf === factory_1.factory.service.paymentService.PaymentServiceType.FaceToFace) {
157
- programMembershipUsed.push({
158
- typeOf: factory_1.factory.permit.PermitType.Permit,
159
- identifier: itemOffered.programMembershipUsed.identifier,
160
- issuedThrough: { typeOf: issuedThroughTypeOf }
161
- });
162
- }
163
- else {
164
- programMembershipUsed.push({
165
- typeOf: factory_1.factory.permit.PermitType.Permit,
166
- identifier: itemOffered.programMembershipUsed.identifier,
167
- issuedThrough: { typeOf: issuedThroughTypeOf, id: itemOffered.programMembershipUsed.issuedThrough.id }
168
- });
169
- }
170
- }
171
- }
172
- });
173
- return programMembershipUsed;
174
- }
147
+ // function acceptedOffers2programMembershipUsed(params: {
148
+ // acceptedOffers: IResultAcceptedOffer[];
149
+ // }): factory.action.authorize.offer.eventService.IAggregateProgramMembershipUsed {
150
+ // const programMembershipUsed: factory.action.authorize.offer.eventService.IAggregateProgramMembershipUsed = [];
151
+ // const permitIdentifiers: string[] = [];
152
+ // params.acceptedOffers.forEach(
153
+ // ({ itemOffered }) => {
154
+ // if (itemOffered.programMembershipUsed?.typeOf === factory.programMembership.ProgramMembershipType.ProgramMembership) {
155
+ // // メンバーシップコードに対してユニークに集計
156
+ // if (!permitIdentifiers.includes(itemOffered.programMembershipUsed.identifier)) {
157
+ // permitIdentifiers.push(itemOffered.programMembershipUsed.identifier);
158
+ // const issuedThroughTypeOf = itemOffered.programMembershipUsed.issuedThrough.typeOf;
159
+ // if (issuedThroughTypeOf === factory.service.paymentService.PaymentServiceType.FaceToFace) {
160
+ // programMembershipUsed.push({
161
+ // typeOf: factory.permit.PermitType.Permit,
162
+ // identifier: itemOffered.programMembershipUsed.identifier,
163
+ // issuedThrough: { typeOf: issuedThroughTypeOf }
164
+ // });
165
+ // } else {
166
+ // programMembershipUsed.push({
167
+ // typeOf: factory.permit.PermitType.Permit,
168
+ // identifier: itemOffered.programMembershipUsed.identifier,
169
+ // issuedThrough: { typeOf: issuedThroughTypeOf, id: itemOffered.programMembershipUsed.issuedThrough.id }
170
+ // });
171
+ // }
172
+ // }
173
+ // }
174
+ // }
175
+ // );
176
+ // return programMembershipUsed;
177
+ // }
175
178
  function acceptedOffers2authorizeResult(params) {
176
- const { acceptedOffers4result, noOfferSpecified, ticketOffers } = params;
177
- const priceCurrency = factory_1.factory.priceCurrency.JPY; // fix(2024-07-03~)
178
- let offers;
179
+ const { acceptedOffers4result, noOfferSpecified,
180
+ // ticketOffers
181
+ } = params;
182
+ // let offers: factory.action.authorize.offer.eventService.IAcceptedOfferInResult[] | undefined;
179
183
  let price;
180
- let programMembershipUsed = [];
184
+ // let programMembershipUsed: factory.action.authorize.offer.eventService.IAggregateProgramMembershipUsed = [];
181
185
  if (!noOfferSpecified) {
182
186
  price = acceptedOffers2amount({ acceptedOffers: acceptedOffers4result }); // オファー指定の場合のみ金額計算(2023-11-27~)
183
- programMembershipUsed = acceptedOffers2programMembershipUsed({ acceptedOffers: acceptedOffers4result });
187
+ // programMembershipUsed = acceptedOffers2programMembershipUsed({ acceptedOffers: acceptedOffers4result });
184
188
  // オファーIDごとに集計
185
- const offerIds = [...new Set(acceptedOffers4result.map((o) => String(o.id)))];
186
- // const offerIds = [...new Set(acceptedOffers.map((o) => o.id))];
187
- offers = offerIds.map((offerId) => {
188
- const acceptedOffer = ticketOffers.find(({ id }) => id === offerId);
189
- if (acceptedOffer === undefined) {
190
- throw new factory_1.factory.errors.Internal(`acceptedOffer not found [id:${offerId}]`);
191
- }
192
- const amountOfThisGood = acceptedOffers4result.filter(({ id }) => id === offerId).length;
193
- // const amountOfThisGood: number = acceptedOffers.filter(({ id }) => id === offerId).length;
194
- const { acceptedPaymentMethod, priceSpecification } = acceptedOffer;
195
- const unitPriceSpec = priceSpecification.priceComponent.find((spec) => spec.typeOf === factory_1.factory.priceSpecificationType.UnitPriceSpecification
196
- && (!Array.isArray(spec.appliesToAddOn)) // アドオン単価ではない
197
- );
198
- if (unitPriceSpec === undefined) {
199
- throw new factory_1.factory.errors.Internal(`unitPriceSpec not found [id:${offerId}]`);
200
- }
201
- const { eligibleQuantity } = unitPriceSpec;
202
- return {
203
- id: offerId,
204
- includesObject: { amountOfThisGood },
205
- typeOf: factory_1.factory.offerType.Offer,
206
- priceSpecification: {
207
- ...(eligibleQuantity !== undefined) ? { eligibleQuantity } : undefined,
208
- // ...(eligibleTransactionVolume !== undefined) ? { eligibleTransactionVolume } : undefined // discontinue(2026-07-05~)
209
- },
210
- ...(acceptedPaymentMethod !== undefined) ? { acceptedPaymentMethod } : undefined
211
- };
212
- });
189
+ // const offerIds = [...new Set(acceptedOffers4result.map((o) => String(o.id)))];
190
+ // offers = offerIds.map<factory.action.authorize.offer.eventService.IAcceptedOfferInResult>((offerId) => {
191
+ // const acceptedOffer = ticketOffers.find(({ id }) => id === offerId);
192
+ // if (acceptedOffer === undefined) {
193
+ // throw new factory.errors.Internal(`acceptedOffer not found [id:${offerId}]`);
194
+ // }
195
+ // const amountOfThisGood: number = acceptedOffers4result.filter(({ id }) => id === offerId).length;
196
+ // // const amountOfThisGood: number = acceptedOffers.filter(({ id }) => id === offerId).length;
197
+ // const { acceptedPaymentMethod, priceSpecification } = acceptedOffer;
198
+ // const unitPriceSpec = priceSpecification.priceComponent.find(
199
+ // (spec) => spec.typeOf === factory.priceSpecificationType.UnitPriceSpecification
200
+ // && (!Array.isArray(spec.appliesToAddOn)) // アドオン単価ではない
201
+ // ) as IUnitPriceSpecification | undefined;
202
+ // if (unitPriceSpec === undefined) {
203
+ // throw new factory.errors.Internal(`unitPriceSpec not found [id:${offerId}]`);
204
+ // }
205
+ // const { eligibleQuantity } = unitPriceSpec;
206
+ // return {
207
+ // id: offerId,
208
+ // includesObject: { amountOfThisGood },
209
+ // typeOf: factory.offerType.Offer,
210
+ // priceSpecification: {
211
+ // ...(eligibleQuantity !== undefined) ? { eligibleQuantity } : undefined,
212
+ // // ...(eligibleTransactionVolume !== undefined) ? { eligibleTransactionVolume } : undefined // discontinue(2026-07-05~)
213
+ // },
214
+ // ...(acceptedPaymentMethod !== undefined) ? { acceptedPaymentMethod } : undefined
215
+ // };
216
+ // });
213
217
  }
218
+ // discontinue useLegacyAuthorizeOfferResult(2026-07-18~)
219
+ // if (useLegacyAuthorizeOfferResult) {
220
+ // return {
221
+ // typeOf: factory.offerType.AggregateOffer,
222
+ // // priceCurrency, // discontinue(2026-07-06~)
223
+ // // amount: [], // discontinue(2026-07-06~)
224
+ // itemOffered: {
225
+ // serviceOutput: { programMembershipUsed } // add programMembershipUsed required(2024-08-15~)
226
+ // },
227
+ // ...(typeof price === 'number') ? { price } : undefined,
228
+ // ...(Array.isArray(offers)) ? { offers } : undefined
229
+ // };
230
+ // } else {
231
+ // return {
232
+ // typeOf: factory.offerType.AggregateOffer,
233
+ // onlyPrice: true,
234
+ // ...(typeof price === 'number') ? { price } : undefined,
235
+ // };
236
+ // }
214
237
  return {
215
238
  typeOf: factory_1.factory.offerType.AggregateOffer,
216
- priceCurrency,
217
- amount: [],
218
- itemOffered: {
219
- serviceOutput: { programMembershipUsed } // add programMembershipUsed required(2024-08-15~)
220
- },
239
+ onlyPrice: true,
221
240
  ...(typeof price === 'number') ? { price } : undefined,
222
- ...(Array.isArray(offers)) ? { offers } : undefined
223
241
  };
224
242
  }
225
243
  function responseBody2acceptedOffers4result(params) {
@@ -63,10 +63,6 @@ interface IAuthorizeOptions {
63
63
  * 最大n日前から予約可能
64
64
  */
65
65
  maxReservationGracePeriodInDays: number;
66
- /**
67
- * 2026-07-04~
68
- */
69
- useLegacyAuthorizeOfferObject: boolean;
70
66
  }
71
67
  /**
72
68
  * 興行オファー承認
@@ -32,9 +32,9 @@ function authorize(params, options) {
32
32
  // まず取引番号発行
33
33
  const { transactionNumber } = await repos.transactionNumber.publishByTimestamp({ startDate: now });
34
34
  const actionAttributes = (0, factory_2.createAuthorizeSeatReservationActionAttributes)({
35
- event, transaction,
35
+ transaction,
36
36
  instrument: { transactionNumber }
37
- }, options);
37
+ });
38
38
  const action = await repos.authorizeOfferAction.start(actionAttributes);
39
39
  try {
40
40
  const processStartReserveResult = await (0, processStartReserve4chevre_1.processStartReserve4chevre)({
@@ -8,14 +8,13 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
8
8
  acceptAction: {
9
9
  id: string;
10
10
  };
11
- event: {
12
- id: string;
13
- typeOf: factory.eventType.ScreeningEvent;
14
- };
15
11
  transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'agent' | 'id' | 'project' | 'seller' | 'typeOf'>;
16
- pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction;
17
- }, options: {
18
- useLegacyAuthorizeOfferObject: boolean;
12
+ /**
13
+ * 仮予約済のCOA予約取引
14
+ */
15
+ pendingTransaction: {
16
+ transactionNumber: string;
17
+ };
19
18
  }): factory.action.authorize.offer.eventService.IAttributes;
20
19
  /**
21
20
  * 供給情報から承認アクションの価格を導き出す
@@ -9,20 +9,20 @@ exports.responseBody2acceptedOffers4result = responseBody2acceptedOffers4result;
9
9
  const moment_1 = __importDefault(require("moment"));
10
10
  const util_1 = require("util");
11
11
  const factory_1 = require("../../../../factory");
12
- function createAuthorizeSeatReservationActionAttributes(params, options) {
13
- const { useLegacyAuthorizeOfferObject } = options;
12
+ function createAuthorizeSeatReservationActionAttributes(params) {
13
+ // const { useLegacyAuthorizeOfferObject } = options;
14
14
  const transaction = params.transaction;
15
- const authorizeObjectEvent = {
16
- id: params.event.id,
17
- typeOf: params.event.typeOf
18
- };
15
+ // const authorizeObjectEvent: factory.action.authorize.offer.eventService.IEventInObject = {
16
+ // id: params.event.id,
17
+ // typeOf: params.event.typeOf
18
+ // };
19
19
  const authorizeObject = {
20
20
  typeOf: factory_1.factory.action.authorize.offer.eventService.ObjectType.SeatReservation,
21
21
  id: params.acceptAction.id,
22
- ...((useLegacyAuthorizeOfferObject) && {
23
- event: authorizeObjectEvent,
24
- pendingTransaction: params.pendingTransaction
25
- })
22
+ // ...((useLegacyAuthorizeOfferObject) && {
23
+ // event: authorizeObjectEvent,
24
+ // pendingTransaction: params.pendingTransaction
25
+ // })
26
26
  };
27
27
  const instrument = {
28
28
  typeOf: factory_1.factory.assetTransactionType.COAReserveTransaction, // 変更(2024-03-08~)
@@ -53,11 +53,6 @@ export declare function authorize(params: {
53
53
  requestBody: IRequestBody;
54
54
  responseBody: IResponseBody;
55
55
  };
56
- }, options: {
57
- /**
58
- * 2026-07-04~
59
- */
60
- useLegacyAuthorizeOfferObject: boolean;
61
56
  }): IAuthorizeOperation<Pick<IAuthorizeOfferAction, 'id' | 'instrument'> & {
62
57
  result: IAuthorizeOfferAction['result'];
63
58
  }>;
@@ -12,7 +12,7 @@ const factory_2 = require("../../../factory");
12
12
  /**
13
13
  * COA興行オファー承認
14
14
  */
15
- function authorize(params, options) {
15
+ function authorize(params) {
16
16
  return async (repos) => {
17
17
  const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
18
18
  typeOf: factory_2.factory.transactionType.PlaceOrder,
@@ -28,15 +28,18 @@ function authorize(params, options) {
28
28
  }
29
29
  let screeningEvent;
30
30
  let acceptedOffers;
31
+ // const pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction = {
32
+ // theaterCode: params.result.requestBody.theaterCode,
33
+ // dateJouei: params.result.requestBody.dateJouei,
34
+ // titleCode: params.result.requestBody.titleCode,
35
+ // titleBranchNum: params.result.requestBody.titleBranchNum,
36
+ // timeBegin: params.result.requestBody.timeBegin,
37
+ // tmpReserveNum: params.result.responseBody.tmpReserveNum,
38
+ // transactionNumber: params.result.responseBody.tmpReserveNum,
39
+ // typeOf: factory.assetTransactionType.COAReserveTransaction
40
+ // };
31
41
  const pendingTransaction = {
32
- theaterCode: params.result.requestBody.theaterCode,
33
- dateJouei: params.result.requestBody.dateJouei,
34
- titleCode: params.result.requestBody.titleCode,
35
- titleBranchNum: params.result.requestBody.titleBranchNum,
36
- timeBegin: params.result.requestBody.timeBegin,
37
- tmpReserveNum: params.result.responseBody.tmpReserveNum,
38
42
  transactionNumber: params.result.responseBody.tmpReserveNum,
39
- typeOf: factory_2.factory.assetTransactionType.COAReserveTransaction
40
43
  };
41
44
  try {
42
45
  screeningEvent = await repos.event.projectEventFieldsById({ id: params.object.event.id }, [
@@ -71,10 +74,10 @@ function authorize(params, options) {
71
74
  // アクション開始前に例外がthrowされてもCOA仮予約を取り消す機会をつくるためにFailedアクションを作成する(2023-09-12~)
72
75
  const failedActionAttributes = (0, factory_1.createAuthorizeSeatReservationActionAttributes)({
73
76
  acceptAction: params.object.acceptAction,
74
- event: { id: params.object.event.id, typeOf: factory_2.factory.eventType.ScreeningEvent },
77
+ // event: { id: params.object.event.id, typeOf: factory.eventType.ScreeningEvent },
75
78
  transaction,
76
79
  pendingTransaction
77
- }, options);
80
+ });
78
81
  const failedAction = await repos.action.start(failedActionAttributes);
79
82
  await repos.action.giveUp({ typeOf: failedAction.typeOf, id: failedAction.id, error });
80
83
  throw error;
@@ -88,10 +91,10 @@ function authorize(params, options) {
88
91
  // 承認アクションを開始
89
92
  const actionAttributes = (0, factory_1.createAuthorizeSeatReservationActionAttributes)({
90
93
  acceptAction: params.object.acceptAction,
91
- event: { id: screeningEvent.id, typeOf: screeningEvent.typeOf },
94
+ // event: { id: screeningEvent.id, typeOf: screeningEvent.typeOf },
92
95
  transaction,
93
96
  pendingTransaction
94
- }, options);
97
+ });
95
98
  const action = await repos.action.start(actionAttributes);
96
99
  try {
97
100
  // 座席仮予約からオファー情報を生成する
@@ -109,8 +112,8 @@ function authorize(params, options) {
109
112
  result = {
110
113
  typeOf: factory_2.factory.offerType.AggregateOffer, // add(2024-06-18~)
111
114
  price: price,
112
- priceCurrency: factory_2.factory.priceCurrency.JPY,
113
- amount: []
115
+ // priceCurrency: factory.priceCurrency.JPY, // discontinue(2026-07-06~)
116
+ // amount: [] // discontinue(2026-07-06~)
114
117
  };
115
118
  await (0, any_1.acceptOffer)({
116
119
  project: transaction.project,
@@ -26,11 +26,6 @@ export declare function authorizeByAcceptAction(params: {
26
26
  */
27
27
  id: string;
28
28
  };
29
- }, options: {
30
- /**
31
- * 2026-07-04~
32
- */
33
- useLegacyAuthorizeOfferObject: boolean;
34
29
  }): IAuthorizeOperation<Pick<IAuthorizeOfferAction, 'id' | 'instrument'> & {
35
30
  result: IAuthorizeOfferAction['result'];
36
31
  }>;