@chevre/domain 24.0.0-alpha.2 → 24.0.0-alpha.21

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 (177) hide show
  1. package/lib/chevre/repo/action/acceptCOAOffer.d.ts +23 -0
  2. package/lib/chevre/repo/action/acceptCOAOffer.js +64 -0
  3. package/lib/chevre/repo/action/acceptPay.d.ts +8 -0
  4. package/lib/chevre/repo/action/acceptPay.js +13 -0
  5. package/lib/chevre/repo/action/actionProcess.d.ts +115 -0
  6. package/lib/chevre/repo/action/actionProcess.js +293 -0
  7. package/lib/chevre/repo/action/authorizeOffer.d.ts +21 -0
  8. package/lib/chevre/repo/action/authorizeOffer.js +85 -0
  9. package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
  10. package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
  11. package/lib/chevre/repo/action/checkThing.d.ts +8 -0
  12. package/lib/chevre/repo/action/checkThing.js +13 -0
  13. package/lib/chevre/repo/action.d.ts +9 -249
  14. package/lib/chevre/repo/action.js +308 -708
  15. package/lib/chevre/repo/aggregateAction.d.ts +102 -0
  16. package/lib/chevre/repo/aggregateAction.js +379 -0
  17. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  18. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  19. package/lib/chevre/repo/orderInTransaction.js +16 -2
  20. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  21. package/lib/chevre/repo/orderNumber.js +23 -28
  22. package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
  23. package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
  24. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  25. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  26. package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
  27. package/lib/chevre/repo/transaction/returnOrder.js +341 -0
  28. package/lib/chevre/repo/transaction.d.ts +1 -125
  29. package/lib/chevre/repo/transaction.js +726 -632
  30. package/lib/chevre/repository.d.ts +49 -0
  31. package/lib/chevre/repository.js +107 -2
  32. package/lib/chevre/service/aggregation/system.d.ts +10 -10
  33. package/lib/chevre/service/aggregation/system.js +9 -9
  34. package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
  35. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +5 -2
  36. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
  37. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  38. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  39. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  40. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  41. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +55 -0
  42. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  43. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
  44. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  45. package/lib/chevre/service/assetTransaction/pay/start.d.ts +2 -0
  46. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  47. package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
  48. package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
  49. package/lib/chevre/service/offer/event/authorize.js +3 -3
  50. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
  51. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
  52. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
  53. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
  54. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -2
  55. package/lib/chevre/service/offer/event/voidTransaction.js +2 -2
  56. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +3 -3
  57. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
  58. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
  59. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
  60. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
  61. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
  62. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
  63. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
  64. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
  65. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +2 -2
  66. package/lib/chevre/service/offer/moneyTransfer/authorize.js +6 -3
  67. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +2 -2
  68. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +4 -1
  69. package/lib/chevre/service/offer/product.d.ts +3 -3
  70. package/lib/chevre/service/offer/product.js +4 -4
  71. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  72. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  73. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
  74. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
  75. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
  76. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
  77. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
  78. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
  79. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
  80. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
  81. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
  82. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
  83. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
  84. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
  85. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
  86. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
  87. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
  88. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
  89. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
  90. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
  91. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
  92. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  93. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  94. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
  95. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
  96. package/lib/chevre/service/order/placeOrder.d.ts +13 -12
  97. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  98. package/lib/chevre/service/order/returnOrder.js +1 -1
  99. package/lib/chevre/service/order/sendOrder.d.ts +6 -6
  100. package/lib/chevre/service/order/sendOrder.js +10 -8
  101. package/lib/chevre/service/order.d.ts +3 -6
  102. package/lib/chevre/service/order.js +3 -9
  103. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
  104. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
  105. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +3 -3
  106. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +3 -3
  107. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +1 -1
  108. package/lib/chevre/service/payment/any/authorize.d.ts +92 -0
  109. package/lib/chevre/service/payment/any/authorize.js +225 -0
  110. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
  111. package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
  112. package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +41 -0
  113. package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
  114. package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
  115. package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
  116. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +28 -0
  117. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +185 -0
  118. package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
  119. package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
  120. package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +29 -0
  121. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
  122. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
  123. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
  124. package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
  125. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +31 -0
  126. package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
  127. package/lib/chevre/service/payment/any.d.ts +8 -305
  128. package/lib/chevre/service/payment/any.js +17 -857
  129. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
  130. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
  131. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
  132. package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
  133. package/lib/chevre/service/payment/movieTicket/validation.js +19 -15
  134. package/lib/chevre/service/report/telemetry.d.ts +4 -0
  135. package/lib/chevre/service/report/telemetry.js +7 -12
  136. package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
  137. package/lib/chevre/service/task/authorizePayment.js +6 -2
  138. package/lib/chevre/service/task/checkMovieTicket.js +3 -3
  139. package/lib/chevre/service/task/checkResource.js +2 -2
  140. package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
  141. package/lib/chevre/service/task/deleteTransaction.js +7 -1
  142. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
  143. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
  144. package/lib/chevre/service/task/payment/payByTask.d.ts +14 -12
  145. package/lib/chevre/service/task/placeOrder.js +6 -4
  146. package/lib/chevre/service/task/publishPaymentUrl.js +8 -4
  147. package/lib/chevre/service/task/returnOrder.js +4 -4
  148. package/lib/chevre/service/task/returnPayTransaction.js +4 -3
  149. package/lib/chevre/service/task/sendOrder.js +4 -4
  150. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +6 -3
  151. package/lib/chevre/service/task/voidPayTransaction.js +4 -2
  152. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -3
  153. package/lib/chevre/service/task/voidReserveTransaction.js +4 -3
  154. package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -0
  155. package/lib/chevre/service/transaction/deleteTransaction.js +56 -14
  156. package/lib/chevre/service/transaction/moneyTransfer.d.ts +5 -5
  157. package/lib/chevre/service/transaction/moneyTransfer.js +5 -5
  158. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
  159. package/lib/chevre/service/transaction/placeOrder/confirm.js +10 -9
  160. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
  161. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
  162. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
  163. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
  164. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
  165. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
  166. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
  167. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  168. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
  169. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
  170. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
  171. package/lib/chevre/service/transaction/placeOrder.js +3 -1
  172. package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
  173. package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
  174. package/lib/chevre/service/transaction/returnOrder.js +4 -4
  175. package/lib/chevre/service/transaction.d.ts +9 -21
  176. package/lib/chevre/service/transaction.js +5 -111
  177. package/package.json +4 -8
@@ -0,0 +1,111 @@
1
+ import { factory as surfrockFactory } from '@surfrock/sdk';
2
+ import * as factory from '../../factory';
3
+ import { ActionProcessRepo, IActionRecipe } from './actionProcess';
4
+ export type IMinimizedPurchaseNumberAuthResult = Pick<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberAuthResult, 'mkknmiNumSum' | 'resultInfo' | 'ykknmiNumSum'> & {
5
+ knyknrNoInfoOut: Omit<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberInfo, 'ykknInfo' | 'mkknInfo'>[] | null;
6
+ };
7
+ /**
8
+ * アクションIDで参照、あるいは、決済カードコード+イベントIDで参照
9
+ */
10
+ type IFindCompletedCheckActionsParams = ({
11
+ /**
12
+ * アクションID
13
+ */
14
+ id?: string;
15
+ purpose?: {
16
+ /**
17
+ * 注文取引ID
18
+ */
19
+ id?: string;
20
+ };
21
+ object?: never;
22
+ sort?: never;
23
+ }) | (Pick<factory.action.ISearchConditions, 'sort'> & {
24
+ purpose?: {
25
+ /**
26
+ * 注文取引ID
27
+ */
28
+ id?: string;
29
+ };
30
+ object?: {
31
+ /**
32
+ * 決済サービス
33
+ */
34
+ id?: {
35
+ $eq?: string;
36
+ };
37
+ movieTickets?: {
38
+ identifier?: {
39
+ $eq?: string;
40
+ };
41
+ serviceOutput?: {
42
+ reservationFor?: {
43
+ id?: {
44
+ $eq?: string;
45
+ };
46
+ };
47
+ };
48
+ };
49
+ typeOf?: {
50
+ $eq?: factory.service.paymentService.PaymentServiceType.MovieTicket;
51
+ };
52
+ };
53
+ /**
54
+ * アクションID
55
+ */
56
+ id?: never;
57
+ });
58
+ export type ICheckMovieTicketAction = factory.action.check.paymentMethod.movieTicket.IAction;
59
+ /**
60
+ * 決済カード認証アクションリポジトリ
61
+ */
62
+ export declare class CheckMovieTicketActionRepo extends ActionProcessRepo<ICheckMovieTicketAction, IActionRecipe<factory.recipe.RecipeCategory.checkMovieTicket>> {
63
+ /**
64
+ * アクションIDからレシピのafterMediaを参照する
65
+ */
66
+ findIMinimizedPurchaseNumberAuthResultByCheckMovieTicketRecipe(params: {
67
+ project: {
68
+ id: string;
69
+ };
70
+ recipeFor: {
71
+ id: string;
72
+ };
73
+ }): Promise<IMinimizedPurchaseNumberAuthResult | undefined>;
74
+ searchYkknInfoByCheckRecipe(filter: {
75
+ limit: number;
76
+ page: number;
77
+ /**
78
+ * 認証アクションID
79
+ */
80
+ id: string;
81
+ project: {
82
+ id: string;
83
+ };
84
+ purpose: {
85
+ id: string;
86
+ };
87
+ }): Promise<(surfrockFactory.service.auth.purchaseNumberAuth.IValidTicket & {
88
+ knyknrNo: string;
89
+ })[]>;
90
+ searchMkknInfoByCheckRecipe(filter: {
91
+ limit: number;
92
+ page: number;
93
+ /**
94
+ * 認証アクションID
95
+ */
96
+ id: string;
97
+ project: {
98
+ id: string;
99
+ };
100
+ purpose: {
101
+ id: string;
102
+ };
103
+ }): Promise<(surfrockFactory.service.auth.purchaseNumberAuth.INvalidTicket & {
104
+ knyknrNo: string;
105
+ })[]>;
106
+ /**
107
+ * 認証済アクション参照
108
+ */
109
+ findCompletedCheckActions(params: IFindCompletedCheckActionsParams): Promise<Pick<ICheckMovieTicketAction, 'id'>[]>;
110
+ }
111
+ export {};
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.CheckMovieTicketActionRepo = void 0;
27
+ const factory = __importStar(require("../../factory"));
28
+ const settings_1 = require("../../settings");
29
+ const actionProcess_1 = require("./actionProcess");
30
+ /**
31
+ * 決済カード認証アクションリポジトリ
32
+ */
33
+ class CheckMovieTicketActionRepo extends actionProcess_1.ActionProcessRepo {
34
+ /**
35
+ * アクションIDからレシピのafterMediaを参照する
36
+ */
37
+ async findIMinimizedPurchaseNumberAuthResultByCheckMovieTicketRecipe(params) {
38
+ const recipe = await this.actionRecipeModel.findOne({
39
+ 'project.id': { $eq: params.project.id },
40
+ 'recipeFor.id': { $eq: params.recipeFor.id }
41
+ }, {
42
+ project: 0,
43
+ typeOf: 0,
44
+ recipeCategory: 0,
45
+ recipeFor: 0,
46
+ dateCreated: 0,
47
+ dateModified: 0,
48
+ 'step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo': 0,
49
+ 'step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo': 0
50
+ }, { lean: true })
51
+ .exec();
52
+ return recipe?.step[0]?.itemListElement[0]?.itemListElement[0]?.afterMedia;
53
+ }
54
+ async searchYkknInfoByCheckRecipe(filter) {
55
+ const filterQuery = {
56
+ _id: { $eq: filter.id },
57
+ 'project.id': { $eq: filter.project.id },
58
+ 'purpose.id': { $exists: true, $eq: filter.purpose.id },
59
+ typeOf: { $eq: factory.actionType.CheckAction },
60
+ actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
61
+ };
62
+ const actionDoc = await this.actionModel.findOne(filterQuery, { _id: 1 }, { lean: true })
63
+ .exec();
64
+ if (actionDoc === null) {
65
+ throw new factory.errors.NotFound(this.actionModel.modelName);
66
+ }
67
+ const filterQuery4recipe = {
68
+ 'recipeFor.id': { $eq: filter.id }
69
+ };
70
+ const projectStage = {
71
+ _id: 0,
72
+ knyknrNo: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.knyknrNo',
73
+ ykknshTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.ykknshTyp',
74
+ eishhshkTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.eishhshkTyp',
75
+ ykknKnshbtsmiNum: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.ykknKnshbtsmiNum',
76
+ knshknhmbiUnip: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.knshknhmbiUnip',
77
+ kijUnip: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.kijUnip'
78
+ };
79
+ const aggregate = this.actionRecipeModel.aggregate([
80
+ { $unwind: '$step' },
81
+ { $unwind: '$step.itemListElement' },
82
+ { $unwind: '$step.itemListElement.itemListElement' },
83
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut' },
84
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo' },
85
+ { $match: filterQuery4recipe },
86
+ { $project: projectStage }
87
+ ]);
88
+ if (typeof filter.limit === 'number' && filter.limit > 0) {
89
+ const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
90
+ aggregate.limit(filter.limit * page)
91
+ .skip(filter.limit * (page - 1));
92
+ }
93
+ return aggregate
94
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
95
+ .exec();
96
+ }
97
+ async searchMkknInfoByCheckRecipe(filter) {
98
+ const filterQuery = {
99
+ _id: { $eq: filter.id },
100
+ 'project.id': { $eq: filter.project.id },
101
+ 'purpose.id': { $exists: true, $eq: filter.purpose.id },
102
+ typeOf: { $eq: factory.actionType.CheckAction },
103
+ actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
104
+ };
105
+ const actionDoc = this.actionModel.findOne(filterQuery, { _id: 1 }, { lean: true })
106
+ .exec();
107
+ if (actionDoc === null) {
108
+ throw new factory.errors.NotFound(this.actionModel.modelName);
109
+ }
110
+ const filterQuery4recipe = {
111
+ 'recipeFor.id': { $eq: filter.id }
112
+ };
113
+ const projectStage = {
114
+ _id: 0,
115
+ knyknrNo: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.knyknrNo',
116
+ mkknshTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkknshTyp',
117
+ mkknKnshbtsmiNum: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkknKnshbtsmiNum',
118
+ mkjyTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkjyTyp',
119
+ yykDt: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.yykDt',
120
+ shyJeiDt: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyJeiDt',
121
+ shyStCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyStCd',
122
+ shyScrnCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyScrnCd',
123
+ shySkhnCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shySkhnCd',
124
+ shySkhnNm: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shySkhnNm'
125
+ };
126
+ const aggregate = this.actionRecipeModel.aggregate([
127
+ { $unwind: '$step' },
128
+ { $unwind: '$step.itemListElement' },
129
+ { $unwind: '$step.itemListElement.itemListElement' },
130
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut' },
131
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo' },
132
+ { $match: filterQuery4recipe },
133
+ { $project: projectStage }
134
+ ]);
135
+ if (typeof filter.limit === 'number' && filter.limit > 0) {
136
+ const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
137
+ aggregate.limit(filter.limit * page)
138
+ .skip(filter.limit * (page - 1));
139
+ }
140
+ return aggregate
141
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
142
+ .exec();
143
+ }
144
+ /**
145
+ * 認証済アクション参照
146
+ */
147
+ async findCompletedCheckActions(params) {
148
+ const andConditions = [
149
+ ...(typeof params.id === 'string') ? [{ _id: { $eq: params.id } }] : [],
150
+ { typeOf: { $eq: factory.actionType.CheckAction } },
151
+ { actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus } }
152
+ ];
153
+ const objectMovieTicketsIdentifierEq = params.object?.movieTickets?.identifier?.$eq;
154
+ if (typeof objectMovieTicketsIdentifierEq === 'string') {
155
+ andConditions.push({
156
+ 'object.movieTickets.identifier': { $exists: true, $eq: objectMovieTicketsIdentifierEq }
157
+ });
158
+ }
159
+ const objectMovieTicketsServiceOutputReservationForIdEq = params.object?.movieTickets?.serviceOutput?.reservationFor?.id?.$eq;
160
+ if (typeof objectMovieTicketsServiceOutputReservationForIdEq === 'string') {
161
+ andConditions.push({
162
+ 'object.movieTickets.serviceOutput.reservationFor.id': { $exists: true, $eq: objectMovieTicketsServiceOutputReservationForIdEq }
163
+ });
164
+ }
165
+ const objectTypeOfEq = params.object?.typeOf?.$eq;
166
+ if (typeof objectTypeOfEq === 'string') {
167
+ andConditions.push({
168
+ 'object.typeOf': { $exists: true, $eq: objectTypeOfEq }
169
+ });
170
+ }
171
+ const objectIdEq = params.object?.id?.$eq;
172
+ if (typeof objectIdEq === 'string') {
173
+ andConditions.push({
174
+ 'object.id': { $exists: true, $eq: objectIdEq }
175
+ });
176
+ }
177
+ const purposeIdEq = params.purpose?.id;
178
+ if (typeof purposeIdEq === 'string') {
179
+ andConditions.push({
180
+ 'purpose.id': { $exists: true, $eq: purposeIdEq }
181
+ });
182
+ }
183
+ const projection = {
184
+ _id: 0,
185
+ id: { $toString: '$_id' },
186
+ };
187
+ const query = this.actionModel.find({ $and: andConditions }, projection);
188
+ query.limit(1);
189
+ /* istanbul ignore else */
190
+ if (params.sort?.startDate !== undefined) {
191
+ query.sort({ startDate: params.sort.startDate });
192
+ }
193
+ // const explainResult = await (<any>query).explain();
194
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
195
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
196
+ .lean()
197
+ .exec();
198
+ }
199
+ }
200
+ exports.CheckMovieTicketActionRepo = CheckMovieTicketActionRepo;
@@ -0,0 +1,8 @@
1
+ import * as factory from '../../factory';
2
+ import { ActionProcessRepo } from './actionProcess';
3
+ export type ICheckThingAction = factory.action.check.thing.IAction;
4
+ /**
5
+ * 汎用リソース検証アクションリポジトリ
6
+ */
7
+ export declare class CheckThingActionRepo extends ActionProcessRepo<ICheckThingAction, never> {
8
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckThingActionRepo = void 0;
4
+ // import { MONGO_MAX_TIME_MS } from '../settings';
5
+ // import { createSchema, IModel as IActionModel, modelName } from './mongoose/schemas/action';
6
+ // import { createSchema as createRecipeSchema, IModel as IActionRecipeModel, modelName as recipeModelName } from './mongoose/schemas/actionRecipe';
7
+ const actionProcess_1 = require("./actionProcess");
8
+ /**
9
+ * 汎用リソース検証アクションリポジトリ
10
+ */
11
+ class CheckThingActionRepo extends actionProcess_1.ActionProcessRepo {
12
+ }
13
+ exports.CheckThingActionRepo = CheckThingActionRepo;
@@ -1,117 +1,22 @@
1
- import { factory as surfrockFactory } from '@surfrock/sdk';
2
- import { Connection, FilterQuery, UpdateQuery } from 'mongoose';
1
+ import { FilterQuery, UpdateQuery } from 'mongoose';
3
2
  import * as factory from '../factory';
3
+ import { IAction, IKeyOfProjection, ActionProcessRepo, ICancelActionAction, IActionRecipe } from './action/actionProcess';
4
4
  export type IAction4transaction<T extends factory.actionType.AcceptAction | factory.actionType.AuthorizeAction> = T extends factory.actionType.AcceptAction ? factory.action.accept.coaOffer.IAction | factory.action.accept.pay.IAction : T extends factory.actionType.AuthorizeAction ? (factory.action.authorize.offer.eventService.IAction | factory.action.authorize.offer.moneyTransfer.IAction | factory.action.authorize.offer.product.IAction | factory.action.authorize.paymentMethod.any.IAction) : never;
5
- export type IAction<T extends factory.actionType> = T extends factory.actionType.OrderAction ? factory.action.trade.order.IAction : T extends factory.actionType.AcceptAction ? IAction4transaction<factory.actionType.AcceptAction> : T extends factory.actionType.AuthorizeAction ? factory.action.authorize.IAction<factory.action.authorize.IAttributes<any, any>> : T extends factory.actionType.CheckAction ? (factory.action.check.paymentMethod.movieTicket.IAction | factory.action.check.thing.IAction) : T extends factory.actionType.CreateAction ? factory.action.create.IAction : T extends factory.actionType.MoneyTransfer ? factory.action.transfer.moneyTransfer.IAction : T extends factory.actionType.AddAction ? factory.action.update.add.IAction : T extends factory.actionType.ReplaceAction ? factory.action.update.replace.IAction : T extends factory.actionType.UpdateAction ? factory.action.update.update.IAction : T extends factory.actionType.InformAction ? factory.action.interact.inform.IAction<factory.action.interact.inform.IAttributes<factory.action.interact.inform.IObject>> & {
6
- error?: any;
7
- purpose?: never;
8
- } : factory.action.IAction<factory.action.IAttributes<T, any, any>>;
9
- interface IAggregationByStatus {
10
- actionCount: number;
11
- avgDuration: number;
12
- maxDuration: number;
13
- minDuration: number;
14
- percentilesDuration: {
15
- name: string;
16
- value: number;
17
- }[];
18
- }
19
- interface IStatus {
20
- status: factory.actionStatusType;
21
- aggregation: IAggregationByStatus;
22
- }
23
- interface IAggregateAction {
24
- statuses: IStatus[];
25
- }
26
- export interface ICancelActionAction {
27
- typeOf: factory.actionType.CancelAction;
28
- agent: factory.action.IParticipantAsPerson | factory.action.IParticipantAsProject | factory.action.IParticipantAsWebApplication;
29
- endTime: Date;
30
- startTime: Date;
31
- sameAs?: {
32
- id: string;
33
- typeOf: 'Task';
34
- };
35
- }
36
- export type IActionRecipe<T extends factory.recipe.RecipeCategory> = T extends factory.recipe.RecipeCategory.checkMovieTicket ? factory.action.check.paymentMethod.movieTicket.IRecipe : T extends factory.recipe.RecipeCategory.payCreditCard ? factory.action.trade.pay.IPayCreditCardRecipe : T extends factory.recipe.RecipeCategory.payMovieTicket ? factory.action.trade.pay.IPayMovieTicketRecipe : T extends factory.recipe.RecipeCategory.publishPaymentUrl ? factory.action.accept.pay.IRecipe : T extends factory.recipe.RecipeCategory.refundCreditCard ? factory.action.trade.refund.IRefundCreditCardRecipe : T extends factory.recipe.RecipeCategory.refundMovieTicket ? factory.action.trade.refund.IRefundMovieTicketRecipe : T extends factory.recipe.RecipeCategory.acceptCOAOffer ? factory.action.accept.coaOffer.IRecipe : T extends factory.recipe.RecipeCategory.confirmCOAReserve ? factory.action.interact.confirm.reservation.IConfirmCOAReserveRecipe : never;
37
- export type IRecipeAsDocument = factory.recipe.IRecipe & {
38
- recipeFor: {
39
- id: string;
40
- typeOf: factory.actionType;
41
- };
42
- dateCreated: Date;
43
- dateModified?: Date;
44
- };
45
- export type IRecipeAsActionAttributes = Pick<factory.recipe.IRecipe, 'project' | 'recipeCategory' | 'step' | 'typeOf'>;
46
- export type IMinimizedPurchaseNumberAuthResult = Pick<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberAuthResult, 'mkknmiNumSum' | 'resultInfo' | 'ykknmiNumSum'> & {
47
- knyknrNoInfoOut: Omit<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberInfo, 'ykknInfo' | 'mkknInfo'>[] | null;
48
- };
49
- type IKeyOfProjection = keyof IAction<factory.actionType> | keyof IAction<factory.actionType.AuthorizeAction> | keyof IAction<factory.actionType.MoneyTransfer> | keyof IAction<factory.actionType.ReplaceAction> | 'identifier';
5
+ export { ICancelActionAction };
6
+ /**
7
+ * 汎用アクションリポジトリで開始可能なアクションタイプ
8
+ */
9
+ type StartableActionType = Exclude<factory.actionType, factory.actionType.AcceptAction | factory.actionType.CheckAction>;
10
+ type IAvailableActionRecipe = IActionRecipe<Exclude<factory.recipe.RecipeCategory, factory.recipe.RecipeCategory.publishPaymentUrl>>;
50
11
  /**
51
12
  * アクションリポジトリ
52
13
  */
53
- export declare class ActionRepo {
54
- private readonly actionModel;
55
- private readonly actionRecipeModel;
56
- constructor(connection: Connection);
14
+ export declare class ActionRepo extends ActionProcessRepo<IAction<StartableActionType>, IAvailableActionRecipe> {
57
15
  static CREATE_MONGO_CONDITIONS(params: factory.action.ISearchConditions): any[];
58
16
  /**
59
17
  * アクション検索
60
18
  */
61
19
  search<T extends factory.actionType>(params: factory.action.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<IAction<T>[]>;
62
- /**
63
- * アクション開始
64
- */
65
- start<T extends factory.actionType>(attributes: factory.action.IAttributes<T, any, any>, options?: {
66
- recipe?: IRecipeAsActionAttributes;
67
- }): Promise<Pick<IAction<T>, 'id' | 'typeOf' | 'startDate'>>;
68
- completeWithVoid(params: {
69
- typeOf: factory.actionType;
70
- id: string;
71
- result: any;
72
- recipe?: IRecipeAsActionAttributes;
73
- }): Promise<void>;
74
- /**
75
- * アクション取消
76
- */
77
- cancelWithVoid(params: {
78
- typeOf: factory.actionType.AcceptAction | factory.actionType.AuthorizeAction;
79
- id: string;
80
- cancelAction?: Pick<ICancelActionAction, 'agent' | 'sameAs' | 'startTime'>;
81
- }): Promise<void>;
82
- /**
83
- * アクション失敗
84
- */
85
- giveUp(params: {
86
- typeOf: factory.actionType;
87
- id: string;
88
- error: Error | Error[];
89
- recipe?: IRecipeAsActionAttributes;
90
- }): Promise<void>;
91
- /**
92
- * アクション再開
93
- */
94
- reStart(params: {
95
- typeOf: factory.actionType;
96
- id: string;
97
- recipe?: IRecipeAsActionAttributes;
98
- }): Promise<void>;
99
- /**
100
- * 一定期間ActiveActionStatusのアクションをFailedActionStatusにする
101
- */
102
- giveUpStartDatePassedCertainPeriod(params: {
103
- id?: {
104
- $eq?: string;
105
- };
106
- error: any;
107
- startDate: {
108
- $lt: Date;
109
- };
110
- }): Promise<any>;
111
- findById<T extends factory.actionType>(params: {
112
- typeOf: T;
113
- id: string;
114
- }, inclusion?: IKeyOfProjection[], exclusion?: IKeyOfProjection[]): Promise<IAction<T>>;
115
20
  findPayAction(params: {
116
21
  project: {
117
22
  id: string;
@@ -150,34 +55,11 @@ export declare class ActionRepo {
150
55
  orderNumber: string;
151
56
  sort?: factory.action.ISortOrder;
152
57
  }): Promise<IAction<factory.actionType>[]>;
153
- searchBySameAs<T extends factory.actionType>(params: {
154
- sameAs: {
155
- id: {
156
- $eq: string;
157
- };
158
- };
159
- purpose?: {
160
- id: {
161
- $eq: string;
162
- };
163
- };
164
- /**
165
- * 1taskから複数actionが発生する可能性があるので、typeOf指定が必須
166
- */
167
- typeOf: {
168
- $eq: T;
169
- };
170
- }): Promise<Pick<IAction<T>, 'id' | 'actionStatus' | 'error' | 'purpose'>[]>;
171
58
  deleteByProject(params: {
172
59
  project: {
173
60
  id: string;
174
61
  };
175
62
  }): Promise<void>;
176
- reCompleteAuthorizeEventOfferAction(params: {
177
- id: string;
178
- object: factory.action.authorize.offer.eventService.IObject;
179
- result: factory.action.authorize.offer.eventService.IResult;
180
- }): Promise<void>;
181
63
  updateById(params: {
182
64
  id: string;
183
65
  update: any;
@@ -190,38 +72,6 @@ export declare class ActionRepo {
190
72
  * イベントと入場ゲート指定で予約使用アクションを集計する
191
73
  * discontinue(2024-12-26~)
192
74
  */
193
- searchYkknInfoByCheckRecipe(filter: {
194
- limit: number;
195
- page: number;
196
- /**
197
- * 認証アクションID
198
- */
199
- id: string;
200
- project: {
201
- id: string;
202
- };
203
- purpose: {
204
- id: string;
205
- };
206
- }): Promise<(surfrockFactory.service.auth.purchaseNumberAuth.IValidTicket & {
207
- knyknrNo: string;
208
- })[]>;
209
- searchMkknInfoByCheckRecipe(filter: {
210
- limit: number;
211
- page: number;
212
- /**
213
- * 認証アクションID
214
- */
215
- id: string;
216
- project: {
217
- id: string;
218
- };
219
- purpose: {
220
- id: string;
221
- };
222
- }): Promise<(surfrockFactory.service.auth.purchaseNumberAuth.INvalidTicket & {
223
- knyknrNo: string;
224
- })[]>;
225
75
  /**
226
76
  * 開始日時を一定期間過ぎたアクションを削除する
227
77
  */
@@ -252,93 +102,6 @@ export declare class ActionRepo {
252
102
  }): Promise<{
253
103
  deletedCount?: number;
254
104
  } | null>;
255
- saveActionWithEndDate(savingAction: Omit<factory.action.authorize.invoice.IAction, 'id'>): Promise<import("mongoose").UpdateWriteOpResult>;
256
- findRecipeByAction<T extends factory.recipe.RecipeCategory>(params: {
257
- project: {
258
- id: string;
259
- };
260
- recipeFor: {
261
- id: string;
262
- };
263
- }): Promise<Pick<IActionRecipe<T>, 'step' | 'recipeCategory'> | null>;
264
- findIMinimizedPurchaseNumberAuthResultByCheckMovieTicketRecipe(params: {
265
- project: {
266
- id: string;
267
- };
268
- recipeFor: {
269
- id: string;
270
- };
271
- }): Promise<IMinimizedPurchaseNumberAuthResult | undefined>;
272
- aggregateAuthorizeEventServiceOfferAction(params: {
273
- project?: {
274
- id?: {
275
- $ne?: string;
276
- };
277
- };
278
- startFrom: Date;
279
- startThrough: Date;
280
- typeOf: factory.actionType;
281
- }): Promise<IAggregateAction>;
282
- aggregateAuthorizePaymentAction(params: {
283
- project?: {
284
- id?: {
285
- $ne?: string;
286
- };
287
- };
288
- startFrom: Date;
289
- startThrough: Date;
290
- typeOf: factory.actionType;
291
- }): Promise<IAggregateAction>;
292
- aggregateAuthorizeOrderAction(params: {
293
- project?: {
294
- id?: {
295
- $ne?: string;
296
- };
297
- };
298
- startFrom: Date;
299
- startThrough: Date;
300
- typeOf: factory.actionType;
301
- }): Promise<IAggregateAction>;
302
- aggregateCancelReservationAction(params: {
303
- project?: {
304
- id?: {
305
- $ne?: string;
306
- };
307
- };
308
- startFrom: Date;
309
- startThrough: Date;
310
- }): Promise<IAggregateAction>;
311
- /**
312
- * アクションタイプによる汎用的な集計
313
- */
314
- aggregateByTypeOf(params: {
315
- project?: {
316
- id?: {
317
- $ne?: string;
318
- };
319
- };
320
- startFrom: Date;
321
- startThrough: Date;
322
- typeOf: factory.actionType;
323
- }): Promise<IAggregateAction>;
324
- aggregateCheckMovieTicketAction(params: {
325
- project?: {
326
- id?: {
327
- $ne?: string;
328
- };
329
- };
330
- startFrom: Date;
331
- startThrough: Date;
332
- }): Promise<IAggregateAction>;
333
- aggregatePayMovieTicketAction(params: {
334
- project?: {
335
- id?: {
336
- $ne?: string;
337
- };
338
- };
339
- startFrom: Date;
340
- startThrough: Date;
341
- }): Promise<IAggregateAction>;
342
105
  getCursor(conditions: any, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, Omit<import("@chevre/factory/lib/action").IAction<import("@chevre/factory/lib/action").IAttributes<factory.actionType, any, any>>, "id"> & {
343
106
  identifier?: string;
344
107
  }> & Omit<import("@chevre/factory/lib/action").IAction<import("@chevre/factory/lib/action").IAttributes<factory.actionType, any, any>>, "id"> & {
@@ -356,7 +119,4 @@ export declare class ActionRepo {
356
119
  filter: FilterQuery<factory.action.IAction<factory.action.IAttributes<factory.actionType, any, any>>>;
357
120
  $unset: any;
358
121
  }): Promise<import("mongoose").UpdateWriteOpResult>;
359
- private agggregateByStatus;
360
- private upsertRecipe;
361
122
  }
362
- export {};