@chevre/domain 21.18.0-alpha.9 → 21.18.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 (150) hide show
  1. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +24 -0
  2. package/example/src/chevre/migratePaymentServicesToNewCollection.ts +21 -0
  3. package/example/src/chevre/offerCatalog2offerCatalogItem.ts +4 -0
  4. package/example/src/chevre/searchOffers.ts +41 -37
  5. package/example/src/chevre/searchOrderAcceptedOffers.ts +11 -11
  6. package/example/src/chevre/searchOrders.ts +11 -0
  7. package/example/src/chevre/searchProducts.ts +28 -0
  8. package/example/src/chevre/searchReservationsByOrder.ts +30 -0
  9. package/example/src/chevre/searchTransactions.ts +41 -0
  10. package/example/src/chevre/unsetUnnecessaryFields.ts +12 -6
  11. package/example/src/chevre/upsertMoviesByIdentifier.ts +5 -4
  12. package/example/src/chevre/upsertOfferCatalogsByIdentifier.ts +46 -0
  13. package/example/src/chevre/upsertOffersByIdentifier.ts +94 -0
  14. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +104 -0
  15. package/lib/chevre/credentials.d.ts +0 -3
  16. package/lib/chevre/credentials.js +4 -3
  17. package/lib/chevre/repo/acceptedOffer.d.ts +31 -14
  18. package/lib/chevre/repo/acceptedOffer.js +56 -102
  19. package/lib/chevre/repo/creativeWork.d.ts +12 -2
  20. package/lib/chevre/repo/creativeWork.js +39 -25
  21. package/lib/chevre/repo/event.d.ts +15 -0
  22. package/lib/chevre/repo/event.js +66 -0
  23. package/lib/chevre/repo/mongoose/schemas/paymentService.d.ts +5 -0
  24. package/lib/chevre/repo/mongoose/schemas/paymentService.js +146 -0
  25. package/lib/chevre/repo/offer.d.ts +14 -5
  26. package/lib/chevre/repo/offer.js +94 -19
  27. package/lib/chevre/repo/offerCatalog.d.ts +18 -1
  28. package/lib/chevre/repo/offerCatalog.js +51 -39
  29. package/lib/chevre/repo/order.d.ts +14 -10
  30. package/lib/chevre/repo/order.js +20 -14
  31. package/lib/chevre/repo/paymentService.d.ts +62 -0
  32. package/lib/chevre/repo/paymentService.js +339 -0
  33. package/lib/chevre/repo/paymentServiceProvider.d.ts +27 -4
  34. package/lib/chevre/repo/paymentServiceProvider.js +85 -12
  35. package/lib/chevre/repo/place.js +14 -10
  36. package/lib/chevre/repo/product.d.ts +37 -24
  37. package/lib/chevre/repo/product.js +60 -150
  38. package/lib/chevre/repo/transaction.d.ts +5 -4
  39. package/lib/chevre/repository.d.ts +5 -7
  40. package/lib/chevre/repository.js +14 -17
  41. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +10 -1
  42. package/lib/chevre/service/aggregation/event/findEventOffers.js +10 -1
  43. package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -1
  44. package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +1 -1
  45. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +3 -3
  46. package/lib/chevre/service/assetTransaction/pay.d.ts +7 -6
  47. package/lib/chevre/service/assetTransaction/pay.js +44 -36
  48. package/lib/chevre/service/assetTransaction/refund/factory.d.ts +1 -1
  49. package/lib/chevre/service/assetTransaction/refund/factory.js +0 -5
  50. package/lib/chevre/service/assetTransaction/refund.d.ts +2 -0
  51. package/lib/chevre/service/assetTransaction/refund.js +16 -4
  52. package/lib/chevre/service/assetTransaction/registerService.js +18 -2
  53. package/lib/chevre/service/assetTransaction/reserve/factory/price.js +1 -1
  54. package/lib/chevre/service/assetTransaction/reserve.d.ts +6 -0
  55. package/lib/chevre/service/assetTransaction/reserve.js +32 -2
  56. package/lib/chevre/service/delivery/factory.d.ts +3 -1
  57. package/lib/chevre/service/delivery/factory.js +4 -2
  58. package/lib/chevre/service/delivery.d.ts +1 -2
  59. package/lib/chevre/service/delivery.js +1 -3
  60. package/lib/chevre/service/event.js +1 -1
  61. package/lib/chevre/service/moneyTransfer.js +11 -1
  62. package/lib/chevre/service/offer/event/authorize.d.ts +4 -0
  63. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  64. package/lib/chevre/service/offer/event/factory.js +4 -2
  65. package/lib/chevre/service/offer/event/processStartReserve4chevre.d.ts +4 -0
  66. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +40 -5
  67. package/lib/chevre/service/offer/product/factory.js +1 -1
  68. package/lib/chevre/service/offer/product/searchProductOffers.js +10 -1
  69. package/lib/chevre/service/offer/product.d.ts +4 -15
  70. package/lib/chevre/service/offer/product.js +85 -57
  71. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  72. package/lib/chevre/service/order/confirmPayTransaction.js +0 -1
  73. package/lib/chevre/service/order/createAccountingReportIfNotExist.d.ts +3 -1
  74. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +4 -1
  75. package/lib/chevre/service/order/deleteOrder.d.ts +2 -0
  76. package/lib/chevre/service/order/deleteOrder.js +15 -4
  77. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +3 -1
  78. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -2
  79. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +3 -0
  80. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +13 -5
  81. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  82. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.d.ts +2 -2
  83. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +1 -1
  84. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +2 -4
  85. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +13 -32
  86. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.d.ts +1 -1
  87. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +12 -12
  88. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +17 -76
  89. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +2 -1
  90. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +1 -3
  91. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.d.ts +2 -2
  92. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +3 -3
  93. package/lib/chevre/service/order/payOrder.d.ts +2 -0
  94. package/lib/chevre/service/order/placeOrder.d.ts +2 -0
  95. package/lib/chevre/service/order/placeOrder.js +62 -14
  96. package/lib/chevre/service/order/returnOrder.js +28 -10
  97. package/lib/chevre/service/order/sendOrder.d.ts +2 -2
  98. package/lib/chevre/service/order/sendOrder.js +16 -4
  99. package/lib/chevre/service/payment/any.d.ts +5 -4
  100. package/lib/chevre/service/payment/any.js +1 -1
  101. package/lib/chevre/service/payment/creditCard.d.ts +5 -5
  102. package/lib/chevre/service/payment/creditCard.js +4 -4
  103. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +5 -3
  104. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.js +3 -3
  105. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +14 -5
  106. package/lib/chevre/service/payment/movieTicket/getCredentials.js +26 -9
  107. package/lib/chevre/service/payment/movieTicket/validation.d.ts +4 -2
  108. package/lib/chevre/service/payment/movieTicket.d.ts +11 -7
  109. package/lib/chevre/service/payment/movieTicket.js +4 -5
  110. package/lib/chevre/service/payment/paymentCard.js +9 -2
  111. package/lib/chevre/service/payment.d.ts +4 -0
  112. package/lib/chevre/service/reserve/searchByOrder.d.ts +21 -0
  113. package/lib/chevre/service/reserve/searchByOrder.js +113 -0
  114. package/lib/chevre/service/reserve/verifyToken4reservation.js +0 -11
  115. package/lib/chevre/service/reserve.d.ts +2 -1
  116. package/lib/chevre/service/reserve.js +3 -1
  117. package/lib/chevre/service/task/confirmPayTransaction.js +0 -2
  118. package/lib/chevre/service/task/deleteTransaction.js +2 -0
  119. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +2 -0
  120. package/lib/chevre/service/task/onAuthorizationCreated.js +0 -19
  121. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -0
  122. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +3 -6
  123. package/lib/chevre/service/task/onResourceUpdated.js +1 -1
  124. package/lib/chevre/service/task/pay.js +2 -1
  125. package/lib/chevre/service/task/placeOrder.js +2 -0
  126. package/lib/chevre/service/task/refund.js +2 -1
  127. package/lib/chevre/service/task/returnPayTransaction.js +3 -2
  128. package/lib/chevre/service/task/sendOrder.js +10 -17
  129. package/lib/chevre/service/task/voidPayTransaction.js +2 -3
  130. package/lib/chevre/service/task/voidPayment.js +2 -0
  131. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -7
  132. package/lib/chevre/service/transaction/deleteTransaction.d.ts +2 -0
  133. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +0 -4
  134. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +0 -86
  135. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -1
  136. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +1 -1
  137. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +1 -0
  138. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +3 -3
  139. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +1 -0
  140. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -1
  141. package/lib/chevre/service/transaction/returnOrder.d.ts +1 -0
  142. package/lib/chevre/service/transaction/returnOrder.js +64 -58
  143. package/lib/chevre/settings.d.ts +2 -0
  144. package/lib/chevre/settings.js +3 -1
  145. package/package.json +3 -3
  146. package/example/src/chevre/transaction/findPaymentCardPermit.ts +0 -29
  147. package/lib/chevre/repo/action/registerServiceInProgress.d.ts +0 -29
  148. package/lib/chevre/repo/action/registerServiceInProgress.js +0 -58
  149. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.d.ts +0 -26
  150. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +0 -65
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
+ const acceptedOffer_1 = require("../../repo/acceptedOffer");
13
14
  const order_1 = require("../../repo/order");
14
15
  const task_1 = require("../../repo/task");
15
16
  const transaction_1 = require("../../repo/transaction");
@@ -23,6 +24,7 @@ function call(data) {
23
24
  // throw new factory.errors.Argument('settings', 'redisClient required');
24
25
  // }
25
26
  yield (0, payOrder_1.payOrder)(data)({
27
+ acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
26
28
  order: new order_1.MongoRepository(settings.connection),
27
29
  task: new task_1.MongoRepository(settings.connection),
28
30
  transaction: new transaction_1.MongoRepository(settings.connection)
@@ -64,11 +64,6 @@ function onResourceDeleted(params) {
64
64
  project: { id: params.project.id },
65
65
  ids: params.id
66
66
  })(repos);
67
- // case factory.offerType.Offer:
68
- // await deleteResourcesByOffer({
69
- // project: { id: params.project.id },
70
- // ids: params.id
71
- // })(repos);
72
67
  break;
73
68
  case 'OfferCatalog':
74
69
  yield deleteResourcesByOfferCatalog({
@@ -86,6 +81,8 @@ function onResourceDeleted(params) {
86
81
  case factory.product.ProductType.EventService:
87
82
  case factory.product.ProductType.Product:
88
83
  case factory.product.ProductType.Transportation:
84
+ case factory.product.ProductType.MembershipService:
85
+ case factory.product.ProductType.PaymentCard:
89
86
  yield deleteResourcesByProduct({
90
87
  project: { id: params.project.id },
91
88
  ids: params.id,
@@ -337,7 +334,7 @@ function deleteResourcesByOfferCatalog(params) {
337
334
  const action = yield repos.action.start(deleteActionAttributes);
338
335
  try {
339
336
  // カタログからプロダクト検索
340
- const productsWithCatalog = yield repos.product.search({
337
+ const productsWithCatalog = yield repos.product.searchProducts({
341
338
  project: { id: { $eq: params.project.id } },
342
339
  hasOfferCatalog: { id: { $eq: catalogId } }
343
340
  }, ['_id'], []);
@@ -187,7 +187,7 @@ function createInformMovieTasks(params) {
187
187
  }
188
188
  function createInformProductTasks(params) {
189
189
  return (repos) => __awaiter(this, void 0, void 0, function* () {
190
- const products4inform = yield repos.product.search({
190
+ const products4inform = yield repos.product.searchProducts({
191
191
  typeOf: { $eq: params.typeOf },
192
192
  id: { $in: params.ids }
193
193
  }, ['additionalProperty', 'description', 'name', 'productID', 'project', 'typeOf', 'serviceType'], []);
@@ -13,6 +13,7 @@ exports.call = void 0;
13
13
  const accountingReport_1 = require("../../repo/accountingReport");
14
14
  const action_1 = require("../../repo/action");
15
15
  const event_1 = require("../../repo/event");
16
+ const paymentService_1 = require("../../repo/paymentService");
16
17
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
17
18
  const product_1 = require("../../repo/product");
18
19
  const project_1 = require("../../repo/project");
@@ -29,10 +30,10 @@ function call(data) {
29
30
  action: new action_1.MongoRepository(settings.connection),
30
31
  event: new event_1.MongoRepository(settings.connection),
31
32
  paymentAccepted: new sellerPaymentAccepted_1.MongoRepository(settings.connection),
33
+ paymentService: new paymentService_1.MongoRepository(settings.connection),
32
34
  paymentServiceProvider: new paymentServiceProvider_1.MongoRepository(settings.connection),
33
35
  product: new product_1.MongoRepository(settings.connection),
34
36
  project: new project_1.MongoRepository(settings.connection),
35
- // seller: new SellerRepo(settings.connection),
36
37
  task: new task_1.MongoRepository(settings.connection)
37
38
  });
38
39
  });
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
+ const acceptedOffer_1 = require("../../repo/acceptedOffer");
13
14
  const accountingReport_1 = require("../../repo/accountingReport");
14
15
  const action_1 = require("../../repo/action");
15
16
  const order_1 = require("../../repo/order");
@@ -25,6 +26,7 @@ function call(data) {
25
26
  // throw new factory.errors.Argument('settings', 'redisClient required');
26
27
  // }
27
28
  yield OrderService.placeOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
29
+ acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
28
30
  accountingReport: new accountingReport_1.MongoRepository(settings.connection),
29
31
  action: new action_1.MongoRepository(settings.connection),
30
32
  order: new order_1.MongoRepository(settings.connection),
@@ -14,6 +14,7 @@ const factory = require("../../factory");
14
14
  const accountingReport_1 = require("../../repo/accountingReport");
15
15
  const action_1 = require("../../repo/action");
16
16
  const assetTransaction_1 = require("../../repo/assetTransaction");
17
+ const paymentService_1 = require("../../repo/paymentService");
17
18
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
18
19
  const product_1 = require("../../repo/product");
19
20
  const project_1 = require("../../repo/project");
@@ -33,10 +34,10 @@ function call(data) {
33
34
  accountingReport: new accountingReport_1.MongoRepository(settings.connection),
34
35
  action: new action_1.MongoRepository(settings.connection),
35
36
  paymentAccepted: new sellerPaymentAccepted_1.MongoRepository(settings.connection),
37
+ paymentService: new paymentService_1.MongoRepository(settings.connection),
36
38
  paymentServiceProvider: new paymentServiceProvider_1.MongoRepository(settings.connection),
37
39
  product: new product_1.MongoRepository(settings.connection),
38
40
  project: new project_1.MongoRepository(settings.connection),
39
- // seller: new SellerRepo(settings.connection),
40
41
  task: new task_1.MongoRepository(settings.connection),
41
42
  assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
42
43
  transactionNumber: new transactionNumber_1.RedisRepository(settings.redisClient)
@@ -15,6 +15,7 @@ const factory = require("../../factory");
15
15
  const action_1 = require("../../repo/action");
16
16
  const assetTransaction_1 = require("../../repo/assetTransaction");
17
17
  const order_1 = require("../../repo/order");
18
+ const paymentService_1 = require("../../repo/paymentService");
18
19
  const product_1 = require("../../repo/product");
19
20
  const task_1 = require("../../repo/task");
20
21
  const transaction_1 = require("../../repo/transaction");
@@ -32,9 +33,8 @@ function call(data) {
32
33
  action: new action_1.MongoRepository(settings.connection),
33
34
  assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
34
35
  order: new order_1.MongoRepository(settings.connection),
36
+ paymentService: new paymentService_1.MongoRepository(settings.connection),
35
37
  product: new product_1.MongoRepository(settings.connection),
36
- // project: new ProjectRepo(settings.connection),
37
- // seller: new SellerRepo(settings.connection),
38
38
  task: new task_1.MongoRepository(settings.connection),
39
39
  transaction: new transaction_1.MongoRepository(settings.connection),
40
40
  transactionNumber: new transactionNumber_1.RedisRepository(settings.redisClient)
@@ -89,6 +89,7 @@ function returnPayTransaction(params) {
89
89
  const refundPurpose = createRefundPurpose(params, order);
90
90
  refundTransaction = yield RefundTransactionService.start(startRefundTransactionParams)({
91
91
  action: repos.action,
92
+ paymentService: repos.paymentService,
92
93
  product: repos.product,
93
94
  assetTransaction: repos.assetTransaction
94
95
  });
@@ -10,9 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
- const factory = require("../../factory");
13
+ const acceptedOffer_1 = require("../../repo/acceptedOffer");
14
14
  const action_1 = require("../../repo/action");
15
- const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
16
15
  const order_1 = require("../../repo/order");
17
16
  const ownershipInfo_1 = require("../../repo/ownershipInfo");
18
17
  const task_1 = require("../../repo/task");
@@ -23,22 +22,16 @@ const OrderService = require("../order");
23
22
  */
24
23
  function call(data) {
25
24
  return (settings) => __awaiter(this, void 0, void 0, function* () {
26
- if (settings.redisClient === undefined) {
27
- throw new factory.errors.Argument('settings', 'redisClient required');
28
- }
29
- const actionRepo = new action_1.MongoRepository(settings.connection);
30
- const orderRepo = new order_1.MongoRepository(settings.connection);
31
- const ownershipInfoRepo = new ownershipInfo_1.MongoRepository(settings.connection);
32
- const taskRepo = new task_1.MongoRepository(settings.connection);
33
- const transactionRepo = new transaction_1.MongoRepository(settings.connection);
34
- const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
25
+ // if (settings.redisClient === undefined) {
26
+ // throw new factory.errors.Argument('settings', 'redisClient required');
27
+ // }
35
28
  yield OrderService.sendOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
36
- action: actionRepo,
37
- order: orderRepo,
38
- ownershipInfo: ownershipInfoRepo,
39
- registerActionInProgress: registerServiceInProgressRepo,
40
- task: taskRepo,
41
- transaction: transactionRepo
29
+ acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
30
+ action: new action_1.MongoRepository(settings.connection),
31
+ order: new order_1.MongoRepository(settings.connection),
32
+ ownershipInfo: new ownershipInfo_1.MongoRepository(settings.connection),
33
+ task: new task_1.MongoRepository(settings.connection),
34
+ transaction: new transaction_1.MongoRepository(settings.connection)
42
35
  });
43
36
  });
44
37
  }
@@ -13,8 +13,8 @@ exports.call = void 0;
13
13
  const accountingReport_1 = require("../../repo/accountingReport");
14
14
  const action_1 = require("../../repo/action");
15
15
  const assetTransaction_1 = require("../../repo/assetTransaction");
16
+ const paymentService_1 = require("../../repo/paymentService");
16
17
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
17
- const product_1 = require("../../repo/product");
18
18
  const project_1 = require("../../repo/project");
19
19
  const sellerPaymentAccepted_1 = require("../../repo/sellerPaymentAccepted");
20
20
  const task_1 = require("../../repo/task");
@@ -30,10 +30,9 @@ function call(data) {
30
30
  action: new action_1.MongoRepository(settings.connection),
31
31
  assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
32
32
  paymentAccepted: new sellerPaymentAccepted_1.MongoRepository(settings.connection),
33
+ paymentService: new paymentService_1.MongoRepository(settings.connection),
33
34
  paymentServiceProvider: new paymentServiceProvider_1.MongoRepository(settings.connection),
34
- product: new product_1.MongoRepository(settings.connection),
35
35
  project: new project_1.MongoRepository(settings.connection),
36
- // seller: new SellerRepo(settings.connection),
37
36
  task: new task_1.MongoRepository(settings.connection),
38
37
  transaction: new transaction_1.MongoRepository(settings.connection)
39
38
  });
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
13
  const accountingReport_1 = require("../../repo/accountingReport");
14
14
  const action_1 = require("../../repo/action");
15
+ const paymentService_1 = require("../../repo/paymentService");
15
16
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
16
17
  const product_1 = require("../../repo/product");
17
18
  const project_1 = require("../../repo/project");
@@ -27,6 +28,7 @@ function call(data) {
27
28
  accountingReport: new accountingReport_1.MongoRepository(settings.connection),
28
29
  action: new action_1.MongoRepository(settings.connection),
29
30
  paymentAccepted: new sellerPaymentAccepted_1.MongoRepository(settings.connection),
31
+ paymentService: new paymentService_1.MongoRepository(settings.connection),
30
32
  paymentServiceProvider: new paymentServiceProvider_1.MongoRepository(settings.connection),
31
33
  product: new product_1.MongoRepository(settings.connection),
32
34
  project: new project_1.MongoRepository(settings.connection),
@@ -10,9 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
- const factory = require("../../factory");
14
13
  const action_1 = require("../../repo/action");
15
- const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
16
14
  const assetTransaction_1 = require("../../repo/assetTransaction");
17
15
  const transaction_1 = require("../../repo/transaction");
18
16
  const ProductOfferService = require("../offer/product");
@@ -21,17 +19,15 @@ const ProductOfferService = require("../offer/product");
21
19
  */
22
20
  function call(data) {
23
21
  return (settings) => __awaiter(this, void 0, void 0, function* () {
24
- if (settings.redisClient === undefined) {
25
- throw new factory.errors.Argument('settings', 'redisClient required');
26
- }
22
+ // if (settings.redisClient === undefined) {
23
+ // throw new factory.errors.Argument('settings', 'redisClient required');
24
+ // }
27
25
  const actionRepo = new action_1.MongoRepository(settings.connection);
28
- const registerActionInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
29
26
  const assetTransactionRepo = new assetTransaction_1.MongoRepository(settings.connection);
30
27
  const transactionRepo = new transaction_1.MongoRepository(settings.connection);
31
28
  yield ProductOfferService.voidTransaction(data)({
32
29
  action: actionRepo,
33
30
  assetTransaction: assetTransactionRepo,
34
- registerActionInProgress: registerActionInProgressRepo,
35
31
  transaction: transactionRepo
36
32
  });
37
33
  });
@@ -1,4 +1,5 @@
1
1
  import * as factory from '../../factory';
2
+ import type { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
3
  import type { MongoRepository as AccountingReportRepo } from '../../repo/accountingReport';
3
4
  import type { MongoRepository as ActionRepo } from '../../repo/action';
4
5
  import type { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
@@ -13,6 +14,7 @@ import type { MongoRepository as TransactionRepo } from '../../repo/transaction'
13
14
  * 冪等性を確保すること
14
15
  */
15
16
  export declare function deleteTransaction(params: factory.task.IData<factory.taskName.DeleteTransaction>): (repos: {
17
+ acceptedOffer: AcceptedOfferRepo;
16
18
  accountingReport: AccountingReportRepo;
17
19
  action: ActionRepo;
18
20
  assetTransaction: AssetTransactionRepo;
@@ -4,7 +4,3 @@ export declare function createRegisterServiceActions(params: {
4
4
  transaction: factory.transaction.placeOrder.ITransaction;
5
5
  authorizeActions: factory.action.authorize.IAction<factory.action.authorize.IAttributes<any, any>>[];
6
6
  }): Promise<factory.action.interact.confirm.registerService.IAttributes[]>;
7
- /**
8
- * ssktsへの互換性対応として
9
- * 次回メンバーシップ注文タスクを作成する
10
- */
@@ -76,89 +76,3 @@ function createRegisterServiceActionObject(params) {
76
76
  typeOf: factory.assetTransactionType.RegisterService
77
77
  };
78
78
  }
79
- /**
80
- * ssktsへの互換性対応として
81
- * 次回メンバーシップ注文タスクを作成する
82
- */
83
- // function createOrderProgramMembershipTask(params: {
84
- // order: factory.order.IOrder;
85
- // authorizeAction: factory.action.authorize.offer.product.IAction;
86
- // }): factory.task.IAttributes<factory.taskName.OrderProgramMembership> | undefined {
87
- // let orderMembershipTask: factory.task.IAttributes<factory.taskName.OrderProgramMembership> | undefined;
88
- // const acceptedOffer = params.authorizeAction.object[0];
89
- // // ssktsへの互換性対応なので、限定的に(暫定対応のautomaticRenewal設定で判定)
90
- // const serviceOutput = acceptedOffer.itemOffered.serviceOutput;
91
- // if (acceptedOffer.itemOffered.typeOf === factory.product.ProductType.MembershipService
92
- // && typeof serviceOutput?.typeOf === 'string'
93
- // && serviceOutput.typeOf.length > 0
94
- // && serviceOutput.automaticRenewal === true) {
95
- // const memebershipFor: Pick<factory.product.IProduct, 'project' | 'typeOf' | 'id'> = {
96
- // project: { typeOf: factory.organizationType.Project, id: params.order.project.id },
97
- // typeOf: acceptedOffer.itemOffered.typeOf,
98
- // id: String(acceptedOffer.itemOffered.id)
99
- // };
100
- // const orderMembershipObject: factory.task.orderProgramMembership.IAcceptedOffer = {
101
- // seller: { id: String(acceptedOffer.seller.id) },
102
- // typeOf: acceptedOffer.typeOf,
103
- // itemOffered: {
104
- // typeOf: serviceOutput.typeOf,
105
- // name: (typeof serviceOutput.name === 'string') ? serviceOutput.name : serviceOutput.typeOf,
106
- // issuedThrough: { id: String(memebershipFor.id), typeOf: factory.product.ProductType.MembershipService }
107
- // },
108
- // id: String(acceptedOffer.id),
109
- // identifier: String(acceptedOffer.identifier)
110
- // };
111
- // // 次回のメンバーシップ注文タスクを生成
112
- // const orderProgramMembershipTaskData: factory.task.IData<factory.taskName.OrderProgramMembership> = {
113
- // // 最低限の情報のみagentに設定
114
- // agent: {
115
- // typeOf: factory.personType.Person,
116
- // id: params.order.customer.id,
117
- // // transaction.agent.identifierにissがあれば情報を引き継ぐ
118
- // identifier: (Array.isArray(params.order.customer.identifier))
119
- // ? params.order.customer.identifier
120
- // : []
121
- // },
122
- // object: orderMembershipObject,
123
- // project: params.order.project,
124
- // typeOf: factory.actionType.OrderAction
125
- // };
126
- // // どういう期間でいくらのオファーなのか
127
- // const priceSpec = <factory.compoundPriceSpecification.IPriceSpecification<factory.priceSpecificationType>>
128
- // acceptedOffer.priceSpecification;
129
- // if (priceSpec === undefined) {
130
- // throw new factory.errors.NotFound('Order.acceptedOffers.priceSpecification');
131
- // }
132
- // const unitPriceSpec =
133
- // <factory.priceSpecification.IPriceSpecification<factory.priceSpecificationType.UnitPriceSpecification>>
134
- // priceSpec.priceComponent.find(
135
- // (p) => p.typeOf === factory.priceSpecificationType.UnitPriceSpecification
136
- // );
137
- // if (unitPriceSpec === undefined) {
138
- // throw new factory.errors.NotFound('Unit Price Specification in Order.acceptedOffers.priceSpecification');
139
- // }
140
- // // 期間単位としては秒のみ実装
141
- // if (unitPriceSpec.referenceQuantity.unitCode !== factory.unitCode.Sec) {
142
- // throw new factory.errors.NotImplemented('Only \'SEC\' is implemented for priceSpecification.referenceQuantity.unitCode ');
143
- // }
144
- // const referenceQuantityValue = unitPriceSpec.referenceQuantity.value;
145
- // if (typeof referenceQuantityValue !== 'number') {
146
- // throw new factory.errors.NotFound('Order.acceptedOffers.priceSpecification.referenceQuantity.value');
147
- // }
148
- // // プログラム更新日時は、今回のプログラムの所有期限
149
- // const runsAt = moment(params.order.orderDate)
150
- // .add(referenceQuantityValue, 'seconds')
151
- // .toDate();
152
- // orderMembershipTask = {
153
- // data: orderProgramMembershipTaskData,
154
- // executionResults: [],
155
- // name: <factory.taskName.OrderProgramMembership>factory.taskName.OrderProgramMembership,
156
- // numberOfTried: 0,
157
- // project: params.order.project,
158
- // remainingNumberOfTries: 10,
159
- // runsAt: runsAt,
160
- // status: factory.taskStatus.Ready
161
- // };
162
- // }
163
- // return orderMembershipTask;
164
- // }
@@ -10,4 +10,4 @@ export declare function createOrder(params: {
10
10
  orderStatus: factory.orderStatus;
11
11
  isGift: boolean;
12
12
  authorizeActions: factory.action.authorize.IAction<factory.action.authorize.IAttributes<any, any>>[];
13
- }): factory.order.IOrder;
13
+ }): factory.transaction.placeOrder.IOrderAsResult;
@@ -32,7 +32,7 @@ export type IResultOrderParams = factory.transaction.placeOrder.IResultOrderPara
32
32
  };
33
33
  };
34
34
  export declare function validateNumItems(params: {
35
- order: factory.order.IOrder;
35
+ order: factory.transaction.placeOrder.IOrderAsResult;
36
36
  result: {
37
37
  order: IResultOrderParams;
38
38
  };
@@ -2,5 +2,6 @@ import * as factory from '../../../../factory';
2
2
  export type WebAPIIdentifier = factory.service.webAPI.Identifier;
3
3
  export declare function createReturnMoneyTransferActions(params: {
4
4
  order: factory.order.IOrder;
5
+ moneyTransferAcceptedOffers: Pick<factory.order.IAcceptedOffer<factory.order.IMoneyTransfer>, 'itemOffered'>[];
5
6
  returnOrderActionParams?: factory.transaction.returnOrder.IReturnOrderActionParams;
6
7
  }): Promise<factory.task.IData<factory.taskName.ReturnMoneyTransfer>[]>;
@@ -32,9 +32,9 @@ function createReturnMoneyTransferActions(params) {
32
32
  priceCurrency: order.priceCurrency,
33
33
  orderDate: order.orderDate
34
34
  };
35
- // 注文アイテムから返却アクションを作成する
36
- const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
37
- for (const acceptedOffer of acceptedOffers) {
35
+ // 注文オファーから返却アクションを作成する
36
+ // const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
37
+ for (const acceptedOffer of params.moneyTransferAcceptedOffers) {
38
38
  if (acceptedOffer.itemOffered.typeOf === factory.actionType.MoneyTransfer) {
39
39
  const moneyTransfer = acceptedOffer.itemOffered;
40
40
  const transactionNumber = String((_b = (_a = moneyTransfer.object) === null || _a === void 0 ? void 0 : _a.pendingTransaction) === null || _b === void 0 ? void 0 : _b.transactionNumber);
@@ -9,4 +9,5 @@ export declare function createPotentialActions(params: {
9
9
  potentialActions?: factory.transaction.returnOrder.IPotentialActionsParams;
10
10
  transaction: factory.transaction.returnOrder.ITransaction;
11
11
  emailMessageOnOrderReturned?: factory.creativeWork.message.email.ICreativeWork;
12
+ moneyTransferAcceptedOffers: Pick<factory.order.IAcceptedOffer<factory.order.IMoneyTransfer>, 'itemOffered'>[];
12
13
  }): Promise<factory.transaction.returnOrder.IPotentialActions>;
@@ -34,7 +34,7 @@ function createPotentialActions(params) {
34
34
  const returnPaymentMethodActions = yield (0, returnPaymentMethod_1.createReturnPaymentMethodActions)(Object.assign(Object.assign({}, params), { order, returnOrderActionParams }));
35
35
  // ポイント特典の数だけ、返却アクションを作成
36
36
  const returnPointAwardActions = yield (0, returnPointAward_1.createReturnPointAwardActions)(Object.assign(Object.assign({}, params), { order }));
37
- const returnMoneyTransferActions = yield (0, returnMoneyTransfer_1.createReturnMoneyTransferActions)(Object.assign(Object.assign({}, params), { order, returnOrderActionParams }));
37
+ const returnMoneyTransferActions = yield (0, returnMoneyTransfer_1.createReturnMoneyTransferActions)(Object.assign(Object.assign({}, params), { order, moneyTransferAcceptedOffers: params.moneyTransferAcceptedOffers, returnOrderActionParams }));
38
38
  // 返品後のEメール送信アクション
39
39
  const sendEmailMessaegActionsOnReturn = yield (0, sendEmailMessage_1.createSendEmailMessaegActionsOnReturn)(Object.assign(Object.assign({}, params), { order, returnOrderActionParams }));
40
40
  const potentialActionsOnReturnOrder = {
@@ -42,6 +42,7 @@ export declare function confirm(params: factory.transaction.returnOrder.IConfirm
42
42
  };
43
43
  };
44
44
  }): (repos: {
45
+ acceptedOffer: AcceptedOfferRepo;
45
46
  emailMessage?: EmailMessageRepo;
46
47
  order: OrderRepo;
47
48
  transaction: TransactionRepo;
@@ -172,34 +172,34 @@ function fixOrders(params) {
172
172
  project: { id: { $eq: params.project.id } },
173
173
  confirmationNumbers: [params.object.order[0].confirmationNumber],
174
174
  orderNumbers: [params.object.order[0].orderNumber]
175
- }, {
176
- // acceptedOffers: 0, // カスタム返品ポリシーに必要
177
- customer: 0,
178
- orderedItem: 0
179
- // paymentMethods: 0 // 適用決済方法検証に必要
180
- });
175
+ },
176
+ // positive projectionで検索(2023-12-08~)
177
+ {
178
+ confirmationNumber: 1, dateReturned: 1, orderDate: 1, orderNumber: 1, orderStatus: 1,
179
+ paymentMethods: 1, price: 1, project: 1, seller: 1, typeOf: 1
180
+ }
181
+ // {
182
+ // // acceptedOffers: 0, // カスタム返品ポリシーに必要
183
+ // customer: 0,
184
+ // orderedItem: 0
185
+ // // paymentMethods: 0 // 適用決済方法検証に必要
186
+ // }
187
+ );
181
188
  if (orders.length !== params.object.order.length) {
182
189
  throw new factory.errors.NotFound('Order');
183
190
  }
184
- // const offerIds = await repos.acceptedOffer.searchAcceptedOfferIds({
185
- // project: { id: { $eq: params.project.id } },
186
- // confirmationNumbers: [params.object.order[0].confirmationNumber],
187
- // orderNumbers: [params.object.order[0].orderNumber]
188
- // });
189
- // const offerIds = await repos.acceptedOffer.searchAcceptedOfferIds({
190
- // orderNumber: { $in: [params.object.order[0].orderNumber] }
191
- // });
192
191
  const offerIds = yield repos.acceptedOffer.distinctValues({
193
192
  orderNumber: { $in: [params.object.order[0].orderNumber] }
194
193
  }, 'acceptedOffers.id');
195
- // const eventIds = await repos.acceptedOffer.searchReservationForIdsByOrderNumbers({
196
- // orderNumber: { $in: [params.object.order[0].orderNumber] }
197
- // });
198
194
  const eventIds = yield repos.acceptedOffer.distinctValues({
199
195
  orderNumber: { $in: [params.object.order[0].orderNumber] }
200
196
  }, 'acceptedOffers.itemOffered.reservationFor.id');
201
- const acceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumbers({
202
- orderNumber: { $in: [params.object.order[0].orderNumber] }
197
+ // const acceptedOffers = await repos.acceptedOffer.searchAcceptedOffersByOrderNumbers({
198
+ // orderNumber: { $in: [params.object.order[0].orderNumber] }
199
+ // });
200
+ const acceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
201
+ orderNumber: { $eq: params.object.order[0].orderNumber },
202
+ project: { id: { $eq: params.project.id } }
203
203
  });
204
204
  return { acceptedOffers, eventIds, offerIds, orders };
205
205
  });
@@ -291,42 +291,40 @@ function createOrder4returnPolicy(params) {
291
291
  orderDate: params.order.orderDate,
292
292
  orderNumber: params.order.orderNumber,
293
293
  price: params.order.price,
294
- acceptedOffers: (Array.isArray(params.order.acceptedOffers))
295
- ? params.order.acceptedOffers.map((o) => {
296
- var _a;
297
- if (o.itemOffered.typeOf === factory.reservationType.EventReservation) {
298
- const reservation = o.itemOffered;
299
- const priceComponent = (_a = o.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent;
300
- return {
301
- itemOffered: {
302
- additionalProperty: reservation.additionalProperty,
303
- reservationFor: {
304
- doorTime: reservation.reservationFor.doorTime,
305
- endDate: reservation.reservationFor.endDate,
306
- startDate: reservation.reservationFor.startDate
307
- // superEvent: reservation.reservationFor.superEvent
308
- },
309
- reservedTicket: {
310
- ticketedSeat: reservation.reservedTicket.ticketedSeat
311
- }
294
+ acceptedOffers: params.order.acceptedOffers.map((o) => {
295
+ var _a;
296
+ if (o.itemOffered.typeOf === factory.reservationType.EventReservation) {
297
+ const reservation = o.itemOffered;
298
+ const priceComponent = (_a = o.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent;
299
+ return {
300
+ itemOffered: {
301
+ additionalProperty: reservation.additionalProperty,
302
+ reservationFor: {
303
+ doorTime: reservation.reservationFor.doorTime,
304
+ endDate: reservation.reservationFor.endDate,
305
+ startDate: reservation.reservationFor.startDate
306
+ // superEvent: reservation.reservationFor.superEvent
312
307
  },
313
- priceSpecification: {
314
- priceComponent: (Array.isArray(priceComponent))
315
- ? priceComponent.map((component) => {
316
- const { accounting, name, priceCurrency, valueAddedTaxIncluded } = component, postingComponent = __rest(component, ["accounting", "name", "priceCurrency", "valueAddedTaxIncluded"]);
317
- return postingComponent;
318
- })
319
- : []
308
+ reservedTicket: {
309
+ ticketedSeat: reservation.reservedTicket.ticketedSeat
320
310
  }
321
- };
322
- }
323
- else {
324
- return {
325
- priceSpecification: o.priceSpecification
326
- };
327
- }
328
- })
329
- : []
311
+ },
312
+ priceSpecification: {
313
+ priceComponent: (Array.isArray(priceComponent))
314
+ ? priceComponent.map((component) => {
315
+ const { accounting, name, priceCurrency, valueAddedTaxIncluded } = component, postingComponent = __rest(component, ["accounting", "name", "priceCurrency", "valueAddedTaxIncluded"]);
316
+ return postingComponent;
317
+ })
318
+ : []
319
+ }
320
+ };
321
+ }
322
+ else {
323
+ return {
324
+ priceSpecification: o.priceSpecification
325
+ };
326
+ }
327
+ })
330
328
  };
331
329
  }
332
330
  const TIMEOUT = 5000;
@@ -401,7 +399,7 @@ function findApplicableReturnPolicy(params) {
401
399
  if (typeof returnPolicySameAsByPoject === 'string' && returnPolicySameAsByPoject.length > 0) {
402
400
  const returnPolicyByProject = yield getReturnPolicyByProject({
403
401
  sameAs: returnPolicySameAsByPoject,
404
- order: params.orders[0] // 同時返品可能な注文数をは1
402
+ order: Object.assign(Object.assign({}, params.orders[0]), { acceptedOffers: params.acceptedOffers })
405
403
  });
406
404
  applicalbleReturnPolicies.push(returnPolicyByProject);
407
405
  }
@@ -613,6 +611,7 @@ function validateOffersReturnPolicy(params) {
613
611
  // 決済カード取消ポリシーを確定(2023-05-23~)
614
612
  const returnFeesMovieTicket = [];
615
613
  params.acceptedOffers.forEach((acceptedOffer) => {
614
+ var _a, _b;
616
615
  const unitPriceOffer = params.offers.find((offer) => offer.id === acceptedOffer.id);
617
616
  if (unitPriceOffer === undefined) {
618
617
  throw new factory.errors.NotFound(`UnitPriceOffer ${acceptedOffer.id}`);
@@ -625,11 +624,11 @@ function validateOffersReturnPolicy(params) {
625
624
  if (policyByOffer === undefined) {
626
625
  throw new factory.errors.NotFound(`MerchantReturnPolicy acceptedOffer:${acceptedOffer.id}`);
627
626
  }
628
- const movieTicketTypeChargeSpecExists = acceptedOffer.priceSpecification.priceComponent.some((component) => {
627
+ const movieTicketTypeChargeSpecExists = (_a = acceptedOffer.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent.some((component) => {
629
628
  return component.typeOf === factory.priceSpecificationType.MovieTicketTypeChargeSpecification;
630
629
  });
631
- if (movieTicketTypeChargeSpecExists) {
632
- acceptedOffer.priceSpecification.priceComponent.forEach((component) => {
630
+ if (movieTicketTypeChargeSpecExists === true) {
631
+ (_b = acceptedOffer.priceSpecification) === null || _b === void 0 ? void 0 : _b.priceComponent.forEach((component) => {
633
632
  if (component.typeOf === factory.priceSpecificationType.UnitPriceSpecification) {
634
633
  if (Array.isArray(component.appliesToMovieTicket)) {
635
634
  component.appliesToMovieTicket.forEach((appliesToMovieTicket) => {
@@ -718,12 +717,19 @@ function confirm(params) {
718
717
  emailMessageOnOrderReturned = searchEmailMessagesResult.shift();
719
718
  }
720
719
  const result = {};
720
+ const moneyTransferAcceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
721
+ orderNumber: { $eq: transaction.object.order[0].orderNumber },
722
+ project: { id: { $eq: transaction.project.id } },
723
+ acceptedOffers: { itemOffered: { typeOf: { $in: [factory.actionType.MoneyTransfer] } } }
724
+ }, ['itemOffered']);
725
+ debug(moneyTransferAcceptedOffers.length, 'moneyTransferAcceptedOffers found.', moneyTransferAcceptedOffers);
721
726
  const potentialActions = yield (0, potentialActions_1.createPotentialActions)({
722
727
  dateReturned: params.object.order.dateReturned,
723
728
  orders: orders,
724
729
  potentialActions: params.potentialActions,
725
730
  transaction: transaction,
726
- emailMessageOnOrderReturned: emailMessageOnOrderReturned
731
+ emailMessageOnOrderReturned: emailMessageOnOrderReturned,
732
+ moneyTransferAcceptedOffers
727
733
  });
728
734
  // ステータス変更
729
735
  yield repos.transaction.confirm({