@chevre/domain 21.20.0-alpha.9 → 21.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/example/src/chevre/findTransactionById.ts +21 -0
  2. package/example/src/chevre/importCategoryCodesFromCOA.ts +2 -1
  3. package/example/src/chevre/importOffersFromCOA.ts +2 -1
  4. package/example/src/chevre/migrateActionInstrumentTransactionNumber.ts +93 -0
  5. package/example/src/chevre/migrateDeleteTransactionTasks.ts +119 -0
  6. package/example/src/chevre/migrateEventMakesOfferAvailableAtOrFrom.ts +87 -0
  7. package/example/src/chevre/migrateIAMMemberPOSRoles.ts +3 -2
  8. package/example/src/chevre/migrateOfferAvailableAtOrFrom.ts +63 -0
  9. package/example/src/chevre/{migrateOrderPaymentMethodIdentifier.ts → migrateOrderAcceptedOfferSerialNumber.ts} +18 -19
  10. package/example/src/chevre/onAssetTransactionStatusChanged.ts +36 -0
  11. package/example/src/chevre/retryTasks.ts +39 -0
  12. package/example/src/chevre/searchActions.ts +13 -7
  13. package/example/src/chevre/searchOrderAcceptedOffers.ts +13 -3
  14. package/example/src/chevre/searchOrders.ts +13 -15
  15. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +28 -0
  16. package/example/src/chevre/sendOrder.ts +37 -0
  17. package/example/src/chevre/transaction/processPlaceOrder.ts +2 -1
  18. package/example/src/verifyToken.ts +44 -0
  19. package/lib/chevre/credentials.d.ts +2 -0
  20. package/lib/chevre/credentials.js +4 -2
  21. package/lib/chevre/errorHandler.js +3 -0
  22. package/lib/chevre/factory/order.d.ts +1 -0
  23. package/lib/chevre/factory/order.js +2 -1
  24. package/lib/chevre/factory/reservedAgentIdentifireNames.js +2 -1
  25. package/lib/chevre/factory/transaction.d.ts +10 -1
  26. package/lib/chevre/repo/acceptedOffer.d.ts +58 -2
  27. package/lib/chevre/repo/acceptedOffer.js +100 -4
  28. package/lib/chevre/repo/accountingReport.d.ts +33 -7
  29. package/lib/chevre/repo/accountingReport.js +157 -5
  30. package/lib/chevre/repo/action.d.ts +32 -8
  31. package/lib/chevre/repo/action.js +114 -54
  32. package/lib/chevre/repo/event.d.ts +20 -0
  33. package/lib/chevre/repo/event.js +22 -0
  34. package/lib/chevre/repo/member.d.ts +8 -1
  35. package/lib/chevre/repo/member.js +7 -1
  36. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +2 -1
  37. package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
  38. package/lib/chevre/repo/mongoose/schemas/action.js +25 -11
  39. package/lib/chevre/repo/mongoose/schemas/order.d.ts +1 -1
  40. package/lib/chevre/repo/mongoose/schemas/order.js +38 -11
  41. package/lib/chevre/repo/offer.d.ts +42 -0
  42. package/lib/chevre/repo/offer.js +35 -0
  43. package/lib/chevre/repo/order.js +43 -20
  44. package/lib/chevre/repo/orderInTransaction.d.ts +44 -0
  45. package/lib/chevre/repo/orderInTransaction.js +164 -0
  46. package/lib/chevre/repo/paymentServiceProvider.js +2 -1
  47. package/lib/chevre/repo/person.js +1 -4
  48. package/lib/chevre/repo/task.d.ts +26 -3
  49. package/lib/chevre/repo/task.js +61 -46
  50. package/lib/chevre/repo/transaction.d.ts +2 -2
  51. package/lib/chevre/repo/transaction.js +13 -36
  52. package/lib/chevre/repository.d.ts +5 -0
  53. package/lib/chevre/repository.js +15 -2
  54. package/lib/chevre/service/aggregation/event/importFromCOA.js +5 -5
  55. package/lib/chevre/service/assetTransaction/pay/factory.js +1 -6
  56. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.d.ts +9 -0
  57. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.js +143 -0
  58. package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +11 -3
  59. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +4 -165
  60. package/lib/chevre/service/assetTransaction/pay.d.ts +21 -1
  61. package/lib/chevre/service/assetTransaction/pay.js +64 -23
  62. package/lib/chevre/service/assetTransaction/reserve/factory.js +11 -14
  63. package/lib/chevre/service/assetTransaction/reserveCOA.d.ts +19 -0
  64. package/lib/chevre/service/assetTransaction/reserveCOA.js +46 -0
  65. package/lib/chevre/service/code.js +1 -1
  66. package/lib/chevre/service/delivery.js +2 -2
  67. package/lib/chevre/service/event/createEvent.js +1 -1
  68. package/lib/chevre/service/event.js +16 -24
  69. package/lib/chevre/service/moneyTransfer.js +1 -1
  70. package/lib/chevre/service/notification.js +71 -66
  71. package/lib/chevre/service/offer/any.d.ts +35 -0
  72. package/lib/chevre/service/offer/any.js +67 -0
  73. package/lib/chevre/service/offer/event/authorize.d.ts +7 -0
  74. package/lib/chevre/service/offer/event/authorize.js +27 -17
  75. package/lib/chevre/service/offer/event/cancel.d.ts +2 -0
  76. package/lib/chevre/service/offer/event/cancel.js +13 -1
  77. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  78. package/lib/chevre/service/offer/event/factory.js +11 -22
  79. package/lib/chevre/service/offer/event/importFromCOA.js +6 -8
  80. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  81. package/lib/chevre/service/offer/event/voidTransaction.js +24 -7
  82. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +54 -0
  83. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +138 -0
  84. package/lib/chevre/service/offer/eventServiceByCOA/cancel.d.ts +39 -0
  85. package/lib/chevre/service/offer/eventServiceByCOA/cancel.js +59 -0
  86. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +25 -0
  87. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +165 -0
  88. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +10 -23
  89. package/lib/chevre/service/offer/eventServiceByCOA.d.ts +4 -89
  90. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -292
  91. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +10 -1
  92. package/lib/chevre/service/offer/moneyTransfer/authorize.js +49 -3
  93. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +1 -1
  94. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.d.ts +2 -0
  95. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +47 -2
  96. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +1 -1
  97. package/lib/chevre/service/offer/product/factory.js +2 -5
  98. package/lib/chevre/service/offer/product.d.ts +2 -0
  99. package/lib/chevre/service/offer/product.js +11 -23
  100. package/lib/chevre/service/order/confirmPayTransaction.d.ts +3 -1
  101. package/lib/chevre/service/order/confirmPayTransaction.js +4 -4
  102. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +1 -1
  103. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +12 -1
  104. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +206 -7
  105. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  106. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +1 -1
  107. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +51 -53
  108. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +1 -1
  109. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +10 -25
  110. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +16 -0
  111. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +91 -0
  112. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +8 -0
  113. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +37 -0
  114. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +12 -0
  115. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +115 -0
  116. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +19 -1
  117. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +8 -0
  118. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +41 -0
  119. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +6 -10
  120. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +116 -92
  121. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +4 -1
  122. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +81 -84
  123. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  124. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +18 -15
  125. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +62 -1
  126. package/lib/chevre/service/order/onOrderStatusChanged.d.ts +3 -1
  127. package/lib/chevre/service/order/onOrderStatusChanged.js +5 -1
  128. package/lib/chevre/service/order/placeOrder.d.ts +3 -1
  129. package/lib/chevre/service/order/placeOrder.js +157 -50
  130. package/lib/chevre/service/order/returnOrder.js +25 -16
  131. package/lib/chevre/service/order/sendOrder.d.ts +5 -0
  132. package/lib/chevre/service/order/sendOrder.js +67 -33
  133. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  134. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.d.ts +3 -1
  135. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +15 -9
  136. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.d.ts +3 -1
  137. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +8 -5
  138. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +2 -2
  139. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  140. package/lib/chevre/service/payment/any.d.ts +6 -2
  141. package/lib/chevre/service/payment/any.js +3 -2
  142. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  143. package/lib/chevre/service/payment/creditCard.js +62 -68
  144. package/lib/chevre/service/payment/faceToFace.d.ts +1 -1
  145. package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
  146. package/lib/chevre/service/payment/movieTicket.js +1 -1
  147. package/lib/chevre/service/payment/paymentCard.d.ts +1 -1
  148. package/lib/chevre/service/payment.d.ts +5 -0
  149. package/lib/chevre/service/payment.js +40 -5
  150. package/lib/chevre/service/product.js +1 -1
  151. package/lib/chevre/service/reserve/cancelReservation.js +2 -2
  152. package/lib/chevre/service/reserve/checkInReservation.d.ts +1 -3
  153. package/lib/chevre/service/reserve/checkInReservation.js +6 -5
  154. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  155. package/lib/chevre/service/reserve/factory.js +0 -8
  156. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +1 -1
  157. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +4 -4
  158. package/lib/chevre/service/reserve/searchByOrder.js +2 -1
  159. package/lib/chevre/service/reserve/useReservation.d.ts +1 -3
  160. package/lib/chevre/service/reserve/useReservation.js +10 -9
  161. package/lib/chevre/service/reserve/verifyToken4reservation.js +2 -0
  162. package/lib/chevre/service/task/confirmMoneyTransfer.js +4 -4
  163. package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
  164. package/lib/chevre/service/task/confirmRegisterServiceTransaction.d.ts +1 -1
  165. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +30 -8
  166. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -1
  167. package/lib/chevre/service/task/confirmReserveTransaction.js +176 -29
  168. package/lib/chevre/service/task/createAccountingReport.d.ts +6 -0
  169. package/lib/chevre/service/task/createAccountingReport.js +80 -0
  170. package/lib/chevre/service/task/importOffersFromCOA.js +2 -1
  171. package/lib/chevre/service/task/onAuthorizationCreated.js +0 -1
  172. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -7
  173. package/lib/chevre/service/task/pay.js +6 -0
  174. package/lib/chevre/service/task/placeOrder.js +9 -10
  175. package/lib/chevre/service/task/returnOrder.js +0 -3
  176. package/lib/chevre/service/task/returnPayTransaction.js +1 -1
  177. package/lib/chevre/service/task/returnReserveTransaction.js +3 -2
  178. package/lib/chevre/service/task/sendOrder.js +8 -4
  179. package/lib/chevre/service/task/useReservation.js +1 -1
  180. package/lib/chevre/service/task/voidReserveTransaction.js +8 -12
  181. package/lib/chevre/service/transaction/deleteTransaction.js +1 -1
  182. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +2 -18
  183. package/lib/chevre/service/transaction/moneyTransfer.js +7 -6
  184. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +2 -2
  185. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +17 -20
  186. package/lib/chevre/service/transaction/placeOrder.js +2 -1
  187. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.d.ts +51 -0
  188. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.js +268 -0
  189. package/lib/chevre/service/transaction/placeOrderInProgress/factory.d.ts +1 -1
  190. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +3 -2
  191. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  192. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +22 -44
  193. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.d.ts +14 -0
  194. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.js +41 -0
  195. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.d.ts +18 -0
  196. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.js +42 -0
  197. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.d.ts +23 -0
  198. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.js +46 -0
  199. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +34 -37
  200. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +3 -1
  201. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +13 -4
  202. package/lib/chevre/service/transaction/placeOrderInProgress/start.d.ts +19 -0
  203. package/lib/chevre/service/transaction/placeOrderInProgress/start.js +46 -0
  204. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.d.ts +26 -0
  205. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.js +109 -0
  206. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +10 -23
  207. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +20 -1
  208. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +11 -73
  209. package/lib/chevre/service/transaction/placeOrderInProgress.js +13 -286
  210. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +1 -2
  211. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +0 -1
  212. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +8 -3
  213. package/lib/chevre/service/transaction/returnOrder/preStart.js +78 -50
  214. package/lib/chevre/service/transaction/returnOrder.js +3 -10
  215. package/lib/chevre/service.js +0 -10
  216. package/lib/chevre/settings.d.ts +7 -3
  217. package/lib/chevre/settings.js +13 -4
  218. package/package.json +5 -9
  219. package/example/src/chevre/cleanAccountingReports.ts +0 -57
  220. package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +0 -78
  221. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +0 -11
  222. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +0 -30
  223. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +0 -7
  224. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +0 -82
  225. package/lib/chevre/service/util.d.ts +0 -19
  226. package/lib/chevre/service/util.js +0 -126
@@ -1,5 +1,5 @@
1
1
  import { IndexDefinition, IndexOptions, Schema } from 'mongoose';
2
2
  declare const modelName = "Order";
3
- declare function createSchema(): Schema;
4
3
  declare const indexes: [d: IndexDefinition, o: IndexOptions][];
4
+ declare function createSchema(): Schema;
5
5
  export { modelName, indexes, createSchema };
@@ -60,17 +60,6 @@ const schemaOptions = {
60
60
  versionKey: false
61
61
  }
62
62
  };
63
- /**
64
- * 注文スキーマ
65
- */
66
- let schema;
67
- function createSchema() {
68
- if (schema === undefined) {
69
- schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
70
- }
71
- return schema;
72
- }
73
- exports.createSchema = createSchema;
74
63
  const indexes = [
75
64
  [
76
65
  { createdAt: 1 },
@@ -439,6 +428,24 @@ const indexes = [
439
428
  }
440
429
  }
441
430
  ],
431
+ [
432
+ { 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': 1, orderDate: -1 },
433
+ {
434
+ name: 'searchByReservedTicketTicketedSeatSeatNumber',
435
+ partialFilterExpression: {
436
+ 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': { $exists: true }
437
+ }
438
+ }
439
+ ],
440
+ [
441
+ { 'acceptedOffers.serialNumber': 1, orderDate: -1 },
442
+ {
443
+ name: 'searchByAcceptedOffersSerialNumber',
444
+ partialFilterExpression: {
445
+ 'acceptedOffers.serialNumber': { $exists: true }
446
+ }
447
+ }
448
+ ],
442
449
  [
443
450
  { price: 1, orderDate: -1 },
444
451
  {
@@ -456,6 +463,26 @@ const indexes = [
456
463
  additionalProperty: { $exists: true }
457
464
  }
458
465
  }
466
+ ],
467
+ [
468
+ { typeOf: 1, orderDate: -1 },
469
+ { name: 'searchByTypeOf' }
459
470
  ]
460
471
  ];
461
472
  exports.indexes = indexes;
473
+ /**
474
+ * 注文スキーマ
475
+ */
476
+ let schema;
477
+ function createSchema() {
478
+ if (schema === undefined) {
479
+ schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
480
+ if (settings_1.MONGO_AUTO_INDEX) {
481
+ indexes.forEach((indexParams) => {
482
+ schema === null || schema === void 0 ? void 0 : schema.index(...indexParams);
483
+ });
484
+ }
485
+ }
486
+ return schema;
487
+ }
488
+ exports.createSchema = createSchema;
@@ -1,3 +1,27 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
1
25
  import type { BulkWriteResult } from 'mongodb';
2
26
  import { AnyExpression, Connection, PipelineStage } from 'mongoose';
3
27
  import * as factory from '../factory';
@@ -189,6 +213,24 @@ export declare class MongoRepository {
189
213
  };
190
214
  };
191
215
  }): Promise<import("mongodb").UpdateResult | undefined>;
216
+ getCursor(conditions: any, projection: any): import("mongoose").Cursor<any, import("mongoose").QueryOptions<any>>;
217
+ addAvailableAtOrFrom(params: {
218
+ id: string;
219
+ identifier: string;
220
+ offers: {
221
+ availableAtOrFrom: {
222
+ id: string;
223
+ };
224
+ };
225
+ }): Promise<any>;
226
+ deleteAvailableAtOrFrom(params: {
227
+ id: string;
228
+ offers: {
229
+ availableAtOrFrom: {
230
+ id: string;
231
+ };
232
+ };
233
+ }): Promise<any>;
192
234
  /**
193
235
  * サブカタログから集計オファーIDリストを検索する
194
236
  */
@@ -1037,6 +1037,41 @@ class MongoRepository {
1037
1037
  return result;
1038
1038
  });
1039
1039
  }
1040
+ getCursor(conditions, projection) {
1041
+ return this.aggregateOfferModel.find(conditions, projection)
1042
+ .sort({ 'offers.identifier': factory.sortType.Ascending })
1043
+ .cursor();
1044
+ }
1045
+ addAvailableAtOrFrom(params) {
1046
+ return __awaiter(this, void 0, void 0, function* () {
1047
+ return this.aggregateOfferModel.findOneAndUpdate({ _id: { $eq: params.id } }, {
1048
+ $push: {
1049
+ 'offers.$[unitPriceOffer].availableAtOrFrom': {
1050
+ id: params.offers.availableAtOrFrom.id
1051
+ }
1052
+ }
1053
+ }, {
1054
+ arrayFilters: [
1055
+ {
1056
+ 'unitPriceOffer.identifier': { $eq: params.identifier }
1057
+ }
1058
+ ]
1059
+ })
1060
+ .exec();
1061
+ });
1062
+ }
1063
+ deleteAvailableAtOrFrom(params) {
1064
+ return __awaiter(this, void 0, void 0, function* () {
1065
+ return this.aggregateOfferModel.findOneAndUpdate({ _id: { $eq: params.id } }, {
1066
+ $pull: {
1067
+ 'offers.$[].availableAtOrFrom': {
1068
+ id: { $eq: params.offers.availableAtOrFrom.id }
1069
+ }
1070
+ }
1071
+ })
1072
+ .exec();
1073
+ });
1074
+ }
1040
1075
  /**
1041
1076
  * サブカタログから集計オファーIDリストを検索する
1042
1077
  */
@@ -23,8 +23,10 @@ class MongoRepository {
23
23
  }
24
24
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
25
25
  static CREATE_MONGO_CONDITIONS(params) {
26
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;
27
- const andConditions = [];
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26;
27
+ const andConditions = [
28
+ { typeOf: { $eq: factory.order.OrderType.Order } }
29
+ ];
28
30
  const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
29
31
  if (typeof projectIdEq === 'string') {
30
32
  andConditions.push({ 'project.id': { $eq: projectIdEq } });
@@ -352,7 +354,11 @@ class MongoRepository {
352
354
  if (typeof acceptedOffersSize === 'number') {
353
355
  andConditions.push({ acceptedOffers: { $size: acceptedOffersSize } });
354
356
  }
355
- const itemOfferedIdentifierIn = (_v = (_u = (_t = params.acceptedOffers) === null || _t === void 0 ? void 0 : _t.itemOffered) === null || _u === void 0 ? void 0 : _u.identifier) === null || _v === void 0 ? void 0 : _v.$in;
357
+ const serialNumberEq = (_u = (_t = params.acceptedOffers) === null || _t === void 0 ? void 0 : _t.serialNumber) === null || _u === void 0 ? void 0 : _u.$eq;
358
+ if (typeof serialNumberEq === 'string') {
359
+ andConditions.push({ 'acceptedOffers.serialNumber': { $exists: true, $eq: serialNumberEq } });
360
+ }
361
+ const itemOfferedIdentifierIn = (_x = (_w = (_v = params.acceptedOffers) === null || _v === void 0 ? void 0 : _v.itemOffered) === null || _w === void 0 ? void 0 : _w.identifier) === null || _x === void 0 ? void 0 : _x.$in;
356
362
  if (Array.isArray(itemOfferedIdentifierIn)) {
357
363
  andConditions.push({
358
364
  'acceptedOffers.itemOffered.identifier': {
@@ -361,7 +367,7 @@ class MongoRepository {
361
367
  }
362
368
  });
363
369
  }
364
- const itemOfferedTypeOfIn = (_y = (_x = (_w = params.acceptedOffers) === null || _w === void 0 ? void 0 : _w.itemOffered) === null || _x === void 0 ? void 0 : _x.typeOf) === null || _y === void 0 ? void 0 : _y.$in;
370
+ const itemOfferedTypeOfIn = (_0 = (_z = (_y = params.acceptedOffers) === null || _y === void 0 ? void 0 : _y.itemOffered) === null || _z === void 0 ? void 0 : _z.typeOf) === null || _0 === void 0 ? void 0 : _0.$in;
365
371
  if (Array.isArray(itemOfferedTypeOfIn)) {
366
372
  andConditions.push({
367
373
  'acceptedOffers.itemOffered.typeOf': {
@@ -370,7 +376,7 @@ class MongoRepository {
370
376
  }
371
377
  });
372
378
  }
373
- const itemOfferedIssuedThroughTypeOfEq = (_2 = (_1 = (_0 = (_z = params.acceptedOffers) === null || _z === void 0 ? void 0 : _z.itemOffered) === null || _0 === void 0 ? void 0 : _0.issuedThrough) === null || _1 === void 0 ? void 0 : _1.typeOf) === null || _2 === void 0 ? void 0 : _2.$eq;
379
+ const itemOfferedIssuedThroughTypeOfEq = (_4 = (_3 = (_2 = (_1 = params.acceptedOffers) === null || _1 === void 0 ? void 0 : _1.itemOffered) === null || _2 === void 0 ? void 0 : _2.issuedThrough) === null || _3 === void 0 ? void 0 : _3.typeOf) === null || _4 === void 0 ? void 0 : _4.$eq;
374
380
  if (typeof itemOfferedIssuedThroughTypeOfEq === 'string') {
375
381
  andConditions.push({
376
382
  'acceptedOffers.itemOffered.issuedThrough.typeOf': {
@@ -379,7 +385,7 @@ class MongoRepository {
379
385
  }
380
386
  });
381
387
  }
382
- const itemOfferedIssuedThroughIdIn = (_6 = (_5 = (_4 = (_3 = params.acceptedOffers) === null || _3 === void 0 ? void 0 : _3.itemOffered) === null || _4 === void 0 ? void 0 : _4.issuedThrough) === null || _5 === void 0 ? void 0 : _5.id) === null || _6 === void 0 ? void 0 : _6.$in;
388
+ const itemOfferedIssuedThroughIdIn = (_8 = (_7 = (_6 = (_5 = params.acceptedOffers) === null || _5 === void 0 ? void 0 : _5.itemOffered) === null || _6 === void 0 ? void 0 : _6.issuedThrough) === null || _7 === void 0 ? void 0 : _7.id) === null || _8 === void 0 ? void 0 : _8.$in;
383
389
  if (Array.isArray(itemOfferedIssuedThroughIdIn)) {
384
390
  andConditions.push({
385
391
  'acceptedOffers.itemOffered.issuedThrough.id': {
@@ -388,7 +394,7 @@ class MongoRepository {
388
394
  }
389
395
  });
390
396
  }
391
- const itemOfferedProgramMembershipUsedIdentifierEq = (_10 = (_9 = (_8 = (_7 = params.acceptedOffers) === null || _7 === void 0 ? void 0 : _7.itemOffered) === null || _8 === void 0 ? void 0 : _8.programMembershipUsed) === null || _9 === void 0 ? void 0 : _9.identifier) === null || _10 === void 0 ? void 0 : _10.$eq;
397
+ const itemOfferedProgramMembershipUsedIdentifierEq = (_12 = (_11 = (_10 = (_9 = params.acceptedOffers) === null || _9 === void 0 ? void 0 : _9.itemOffered) === null || _10 === void 0 ? void 0 : _10.programMembershipUsed) === null || _11 === void 0 ? void 0 : _11.identifier) === null || _12 === void 0 ? void 0 : _12.$eq;
392
398
  if (typeof itemOfferedProgramMembershipUsedIdentifierEq === 'string') {
393
399
  andConditions.push({
394
400
  'acceptedOffers.itemOffered.programMembershipUsed.identifier': {
@@ -397,7 +403,7 @@ class MongoRepository {
397
403
  }
398
404
  });
399
405
  }
400
- const itemOfferedProgramMembershipUsedIssuedThroughServiceTypeCodeValueEq = (_16 = (_15 = (_14 = (_13 = (_12 = (_11 = params.acceptedOffers) === null || _11 === void 0 ? void 0 : _11.itemOffered) === null || _12 === void 0 ? void 0 : _12.programMembershipUsed) === null || _13 === void 0 ? void 0 : _13.issuedThrough) === null || _14 === void 0 ? void 0 : _14.serviceType) === null || _15 === void 0 ? void 0 : _15.codeValue) === null || _16 === void 0 ? void 0 : _16.$eq;
406
+ const itemOfferedProgramMembershipUsedIssuedThroughServiceTypeCodeValueEq = (_18 = (_17 = (_16 = (_15 = (_14 = (_13 = params.acceptedOffers) === null || _13 === void 0 ? void 0 : _13.itemOffered) === null || _14 === void 0 ? void 0 : _14.programMembershipUsed) === null || _15 === void 0 ? void 0 : _15.issuedThrough) === null || _16 === void 0 ? void 0 : _16.serviceType) === null || _17 === void 0 ? void 0 : _17.codeValue) === null || _18 === void 0 ? void 0 : _18.$eq;
401
407
  if (typeof itemOfferedProgramMembershipUsedIssuedThroughServiceTypeCodeValueEq === 'string') {
402
408
  andConditions.push({
403
409
  'acceptedOffers.itemOffered.programMembershipUsed.issuedThrough.serviceType.codeValue': {
@@ -559,11 +565,11 @@ class MongoRepository {
559
565
  }
560
566
  }
561
567
  }
562
- const paymentMethodIdentifierIn = (_19 = (_18 = (_17 = params.paymentMethods) === null || _17 === void 0 ? void 0 : _17.paymentMethod) === null || _18 === void 0 ? void 0 : _18.identifier) === null || _19 === void 0 ? void 0 : _19.$in;
568
+ const paymentMethodIdentifierIn = (_21 = (_20 = (_19 = params.paymentMethods) === null || _19 === void 0 ? void 0 : _19.paymentMethod) === null || _20 === void 0 ? void 0 : _20.identifier) === null || _21 === void 0 ? void 0 : _21.$in;
563
569
  if (Array.isArray(paymentMethodIdentifierIn)) {
564
570
  andConditions.push({ 'paymentMethods.paymentMethod.identifier': { $exists: true, $in: paymentMethodIdentifierIn } });
565
571
  }
566
- const paymentMethodsTypeOfIn = (_20 = params.paymentMethods) === null || _20 === void 0 ? void 0 : _20.typeOfs;
572
+ const paymentMethodsTypeOfIn = (_22 = params.paymentMethods) === null || _22 === void 0 ? void 0 : _22.typeOfs;
567
573
  if (Array.isArray(paymentMethodsTypeOfIn)) {
568
574
  // paymentMethod.identifierで検索(2023-11-15~)
569
575
  // andConditions.push({ 'paymentMethods.typeOf': { $exists: true, $in: paymentMethodsTypeOfIn } });
@@ -593,7 +599,7 @@ class MongoRepository {
593
599
  });
594
600
  }
595
601
  }
596
- const paymentMethodAdditionalPropertyAll = (_22 = (_21 = params.paymentMethods) === null || _21 === void 0 ? void 0 : _21.additionalProperty) === null || _22 === void 0 ? void 0 : _22.$all;
602
+ const paymentMethodAdditionalPropertyAll = (_24 = (_23 = params.paymentMethods) === null || _23 === void 0 ? void 0 : _23.additionalProperty) === null || _24 === void 0 ? void 0 : _24.$all;
597
603
  if (Array.isArray(paymentMethodAdditionalPropertyAll)) {
598
604
  andConditions.push({
599
605
  'paymentMethods.additionalProperty': {
@@ -602,7 +608,7 @@ class MongoRepository {
602
608
  }
603
609
  });
604
610
  }
605
- const paymentMethodAdditionalPropertyIn = (_24 = (_23 = params.paymentMethods) === null || _23 === void 0 ? void 0 : _23.additionalProperty) === null || _24 === void 0 ? void 0 : _24.$in;
611
+ const paymentMethodAdditionalPropertyIn = (_26 = (_25 = params.paymentMethods) === null || _25 === void 0 ? void 0 : _25.additionalProperty) === null || _26 === void 0 ? void 0 : _26.$in;
606
612
  if (Array.isArray(paymentMethodAdditionalPropertyIn)) {
607
613
  andConditions.push({
608
614
  'paymentMethods.additionalProperty': {
@@ -663,7 +669,13 @@ class MongoRepository {
663
669
  createIfNotExist(order) {
664
670
  return __awaiter(this, void 0, void 0, function* () {
665
671
  try {
666
- yield this.orderModel.findOneAndUpdate({ orderNumber: order.orderNumber }, { $setOnInsert: order }, { new: true, upsert: true })
672
+ // 存在しなければ上書き
673
+ // updateOneに変更(2024-01-14~)
674
+ // await this.orderModel.findOneAndUpdate(
675
+ yield this.orderModel.updateOne({ orderNumber: order.orderNumber }, { $setOnInsert: order }, {
676
+ // new: true,
677
+ upsert: true
678
+ })
667
679
  .exec();
668
680
  }
669
681
  catch (error) {
@@ -688,7 +700,8 @@ class MongoRepository {
688
700
  const doc = yield this.orderModel.findOneAndUpdate({
689
701
  orderNumber: { $eq: params.orderNumber },
690
702
  orderStatus: { $eq: params.previousOrderStatus },
691
- 'project.id': { $eq: params.project.id }
703
+ 'project.id': { $eq: params.project.id },
704
+ typeOf: { $eq: factory.order.OrderType.Order }
692
705
  }, {
693
706
  previousOrderStatus: params.previousOrderStatus,
694
707
  orderStatus: params.orderStatus
@@ -735,7 +748,8 @@ class MongoRepository {
735
748
  const doc = yield this.orderModel.findOneAndUpdate({
736
749
  orderNumber: { $eq: params.orderNumber },
737
750
  orderStatus: { $eq: factory.orderStatus.OrderDelivered },
738
- 'project.id': { $eq: params.project.id }
751
+ 'project.id': { $eq: params.project.id },
752
+ typeOf: { $eq: factory.order.OrderType.Order }
739
753
  }, {
740
754
  previousOrderStatus: factory.orderStatus.OrderDelivered,
741
755
  orderStatus: factory.orderStatus.OrderReturned,
@@ -785,7 +799,8 @@ class MongoRepository {
785
799
  return __awaiter(this, void 0, void 0, function* () {
786
800
  const doc = yield this.orderModel.findOneAndUpdate({
787
801
  orderNumber: { $eq: params.orderNumber },
788
- 'project.id': { $eq: params.project.id }
802
+ 'project.id': { $eq: params.project.id },
803
+ typeOf: { $eq: factory.order.OrderType.Order }
789
804
  }, {
790
805
  $set: Object.assign(Object.assign({}, (Array.isArray(params.additionalProperty)) ? { additionalProperty: params.additionalProperty } : undefined), (typeof params.name === 'string') ? { name: params.name } : undefined)
791
806
  }, {
@@ -810,6 +825,7 @@ class MongoRepository {
810
825
  const doc = yield this.orderModel.findOneAndUpdate({
811
826
  orderNumber: { $eq: params.orderNumber },
812
827
  'project.id': { $eq: params.project.id },
828
+ typeOf: { $eq: factory.order.OrderType.Order },
813
829
  'paymentMethods.paymentMethodId': { $exists: true, $eq: params.invoice.paymentMethodId }
814
830
  }, {
815
831
  $set: {
@@ -854,7 +870,10 @@ class MongoRepository {
854
870
  });
855
871
  }
856
872
  }
857
- const doc = yield this.orderModel.findById({ _id: params.id }, projection)
873
+ const doc = yield this.orderModel.findOne({
874
+ _id: params.id,
875
+ typeOf: { $eq: factory.order.OrderType.Order }
876
+ }, projection)
858
877
  .exec();
859
878
  if (doc === null) {
860
879
  throw new factory.errors.NotFound(this.orderModel.modelName);
@@ -890,7 +909,8 @@ class MongoRepository {
890
909
  }
891
910
  const doc = yield this.orderModel.findOne({
892
911
  orderNumber: { $eq: params.orderNumber },
893
- 'project.id': { $eq: params.project.id }
912
+ 'project.id': { $eq: params.project.id },
913
+ typeOf: { $eq: factory.order.OrderType.Order }
894
914
  }, projection)
895
915
  .exec();
896
916
  if (doc === null) {
@@ -908,7 +928,7 @@ class MongoRepository {
908
928
  orderNumber: 1,
909
929
  _id: 0
910
930
  };
911
- const doc = yield this.orderModel.findOne(Object.assign({ orderNumber: { $eq: params.orderNumber }, 'project.id': { $eq: params.project.id }, acceptedOffers: {
931
+ const doc = yield this.orderModel.findOne(Object.assign({ orderNumber: { $eq: params.orderNumber }, 'project.id': { $eq: params.project.id }, typeOf: { $eq: factory.order.OrderType.Order }, acceptedOffers: {
912
932
  $elemMatch: {
913
933
  'itemOffered.typeOf': { $in: [factory.reservationType.BusReservation, factory.reservationType.EventReservation] },
914
934
  'itemOffered.id': { $eq: params.reservationId }
@@ -928,7 +948,10 @@ class MongoRepository {
928
948
  */
929
949
  deleteByOrderNumber(params) {
930
950
  return __awaiter(this, void 0, void 0, function* () {
931
- yield this.orderModel.deleteOne({ orderNumber: params.orderNumber })
951
+ yield this.orderModel.deleteOne({
952
+ orderNumber: params.orderNumber,
953
+ typeOf: { $eq: factory.order.OrderType.Order }
954
+ })
932
955
  .exec();
933
956
  });
934
957
  }
@@ -0,0 +1,44 @@
1
+ import type { Connection } from 'mongoose';
2
+ import * as factory from '../factory';
3
+ type IOrderInTransaction = Pick<factory.order.IOrder, 'orderNumber' | 'project'> & {
4
+ typeOf: factory.transactionType.PlaceOrder;
5
+ acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
6
+ };
7
+ /**
8
+ * 取引中注文リポジトリ
9
+ */
10
+ export declare class MongoRepository {
11
+ private readonly orderModel;
12
+ constructor(connection: Connection);
13
+ searchByOrderNumber(params: {
14
+ orderNumber: {
15
+ $eq: string;
16
+ };
17
+ }): Promise<IOrderInTransaction[]>;
18
+ /**
19
+ * 注文を受注する
20
+ */
21
+ placeOrder(order: Omit<factory.order.IOrder, 'id'> & {
22
+ acceptedOffers?: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
23
+ }, options: {
24
+ ignoreAccpetedOffersFromResult: boolean;
25
+ }): Promise<void>;
26
+ acceptOffer(params: Pick<IOrderInTransaction, 'acceptedOffers' | 'orderNumber' | 'project'>): Promise<import("mongodb").UpdateResult | undefined>;
27
+ /**
28
+ * serialNumberからオファーを除外する
29
+ * ホワイトリストとブラックリスト両方に対応
30
+ */
31
+ voidAcceptedOfferBySerialNumber(params: {
32
+ orderNumber: string;
33
+ acceptedOffers: {
34
+ serialNumber: {
35
+ $in?: string[];
36
+ $nin?: string[];
37
+ };
38
+ };
39
+ }): Promise<import("mongodb").UpdateResult | undefined>;
40
+ deleteByOrderNumber(params: {
41
+ orderNumber: string;
42
+ }): Promise<import("mongodb").DeleteResult>;
43
+ }
44
+ export {};
@@ -0,0 +1,164 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.MongoRepository = void 0;
24
+ const createDebug = require("debug");
25
+ const factory = require("../factory");
26
+ const order_1 = require("./mongoose/schemas/order");
27
+ const debug = createDebug('chevre-domain:repo:orderInTransaction');
28
+ /**
29
+ * 取引中注文リポジトリ
30
+ */
31
+ class MongoRepository {
32
+ constructor(connection) {
33
+ this.orderModel = connection.model(order_1.modelName, (0, order_1.createSchema)());
34
+ }
35
+ searchByOrderNumber(params) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ // typeOf:PlaceOrderのドキュメントが存在すれば、typeOf:Orderに変更する
38
+ return this.orderModel.find({
39
+ orderNumber: { $eq: params.orderNumber.$eq },
40
+ typeOf: { $eq: factory.transactionType.PlaceOrder }
41
+ })
42
+ .exec()
43
+ .then((docs) => docs.map((doc) => doc.toObject()));
44
+ });
45
+ }
46
+ /**
47
+ * 注文を受注する
48
+ */
49
+ placeOrder(order, options) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ let setFields;
52
+ if (options.ignoreAccpetedOffersFromResult) {
53
+ // acceptedOffersを上書きしない
54
+ const { acceptedOffers } = order, orderWithoutAcceptedOffers = __rest(order, ["acceptedOffers"]);
55
+ setFields = orderWithoutAcceptedOffers;
56
+ }
57
+ else {
58
+ setFields = order;
59
+ }
60
+ debug('placing an order...', order.orderNumber, 'setFields:', setFields);
61
+ // typeOf:PlaceOrderのドキュメントが存在すれば、typeOf:Orderに変更する
62
+ yield this.orderModel.updateOne({
63
+ orderNumber: { $eq: order.orderNumber },
64
+ typeOf: { $eq: factory.transactionType.PlaceOrder }
65
+ }, { $set: setFields }, {})
66
+ .exec();
67
+ });
68
+ }
69
+ acceptOffer(params) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ if (!Array.isArray(params.acceptedOffers) || params.acceptedOffers.length === 0) {
72
+ return;
73
+ }
74
+ return this.orderModel.updateOne({
75
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
76
+ orderNumber: { $eq: params.orderNumber }
77
+ }, {
78
+ $setOnInsert: {
79
+ typeOf: factory.transactionType.PlaceOrder,
80
+ orderNumber: params.orderNumber,
81
+ project: params.project
82
+ },
83
+ $push: {
84
+ acceptedOffers: {
85
+ $each: params.acceptedOffers
86
+ }
87
+ }
88
+ }, { upsert: true })
89
+ .exec();
90
+ });
91
+ }
92
+ // 廃止(voidAcceptedOfferBySerialNumberへ機能移行)(2024-01-31~)
93
+ // public async voidAcceptedOfferByReservationNumber(params: {
94
+ // orderNumber: string;
95
+ // acceptedOffers: { reservationNumber: { $in: string[] } };
96
+ // }) {
97
+ // return this.orderModel.updateOne(
98
+ // {
99
+ // typeOf: { $eq: factory.transactionType.PlaceOrder },
100
+ // orderNumber: { $eq: params.orderNumber }
101
+ // },
102
+ // {
103
+ // $pull: {
104
+ // acceptedOffers: {
105
+ // 'itemOffered.reservationNumber': {
106
+ // $exists: true,
107
+ // $in: params.acceptedOffers.reservationNumber.$in
108
+ // }
109
+ // }
110
+ // }
111
+ // }
112
+ // )
113
+ // .exec();
114
+ // }
115
+ /**
116
+ * serialNumberからオファーを除外する
117
+ * ホワイトリストとブラックリスト両方に対応
118
+ */
119
+ voidAcceptedOfferBySerialNumber(params) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const serialNumberIn = params.acceptedOffers.serialNumber.$in;
122
+ const serialNumberNin = params.acceptedOffers.serialNumber.$nin;
123
+ if (Array.isArray(serialNumberIn) && serialNumberIn.length > 0) {
124
+ return this.orderModel.updateOne({
125
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
126
+ orderNumber: { $eq: params.orderNumber }
127
+ }, {
128
+ $pull: {
129
+ acceptedOffers: {
130
+ serialNumber: { $exists: true, $in: serialNumberIn }
131
+ }
132
+ }
133
+ })
134
+ .exec();
135
+ }
136
+ else if (Array.isArray(serialNumberNin) && serialNumberNin.length > 0) {
137
+ return this.orderModel.updateOne({
138
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
139
+ orderNumber: { $eq: params.orderNumber }
140
+ }, {
141
+ $pull: {
142
+ acceptedOffers: {
143
+ serialNumber: { $nin: serialNumberNin }
144
+ }
145
+ }
146
+ })
147
+ .exec();
148
+ }
149
+ else {
150
+ return;
151
+ }
152
+ });
153
+ }
154
+ deleteByOrderNumber(params) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ return this.orderModel.deleteOne({
157
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
158
+ orderNumber: { $eq: params.orderNumber }
159
+ })
160
+ .exec();
161
+ });
162
+ }
163
+ }
164
+ exports.MongoRepository = MongoRepository;
@@ -120,7 +120,8 @@ class MongoRepository {
120
120
  paymentUrl: {
121
121
  expiresInSeconds: '$provider.credentials.paymentUrl.expiresInSeconds',
122
122
  useCallback: '$provider.credentials.paymentUrl.useCallback',
123
- useWebhook: '$provider.credentials.paymentUrl.useWebhook'
123
+ useWebhook: '$provider.credentials.paymentUrl.useWebhook',
124
+ use3DS: '$provider.credentials.paymentUrl.use3DS'
124
125
  }
125
126
  }
126
127
  }
@@ -78,10 +78,7 @@ class CognitoRepository {
78
78
  const profile = CognitoRepository.ATTRIBUTE2PROFILE(params);
79
79
  const identifier = [];
80
80
  if (typeof params.userPoolId === 'string') {
81
- identifier.push(
82
- // 廃止(2022-12-28~)
83
- // { name: 'tokenIssuer', value: `${TOKEN_ISSUER_ENDPOINT}/${params.userPoolId}` },
84
- { name: 'iss', value: `${TOKEN_ISSUER_ENDPOINT}/${params.userPoolId}` });
81
+ identifier.push({ name: 'iss', value: `${TOKEN_ISSUER_ENDPOINT}/${params.userPoolId}` });
85
82
  }
86
83
  const person = Object.assign(Object.assign({}, profile), { typeOf: factory.personType.Person, id: '', identifier: identifier, memberOf: {
87
84
  membershipNumber: params.username,