@chevre/domain 21.8.0-alpha.4 → 21.8.0-alpha.41
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.
- package/example/src/chevre/countOffers.ts +32 -0
- package/example/src/chevre/importOffersFromCOA.ts +7 -1
- package/example/src/chevre/migrateAggregateOffers.ts +75 -0
- package/example/src/chevre/migrateOrderPaymentMethodIdentifier.ts +81 -0
- package/example/src/chevre/migratePayTransactionPaymentMethodId.ts +72 -0
- package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +78 -0
- package/example/src/chevre/processPay.ts +3 -4
- package/example/src/chevre/publishPermitOwnershipInfoToken.ts +56 -0
- package/example/src/chevre/pullAddOnsFromOffer.ts +26 -0
- package/example/src/chevre/searchOffersByCatalog.ts +9 -4
- package/example/src/chevre/searchOffersFromAggregateOffer.ts +167 -0
- package/example/src/chevre/sync2aggregateOffer.ts +27 -0
- package/example/src/chevre/syncAggregateOffer.ts +25 -0
- package/lib/chevre/repo/assetTransaction.d.ts +16 -1
- package/lib/chevre/repo/assetTransaction.js +54 -2
- package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +71 -0
- package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +176 -0
- package/lib/chevre/repo/mongoose/schemas/offer.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +3 -0
- package/lib/chevre/repo/mongoose/schemas/order.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +3 -0
- package/lib/chevre/repo/mongoose/schemas/task.js +8 -0
- package/lib/chevre/repo/offer.d.ts +71 -14
- package/lib/chevre/repo/offer.js +1061 -87
- package/lib/chevre/repo/order.d.ts +15 -0
- package/lib/chevre/repo/order.js +34 -1
- package/lib/chevre/repo/task.d.ts +7 -1
- package/lib/chevre/repo/task.js +100 -0
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +2 -2
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +2 -2
- package/lib/chevre/service/assetTransaction/pay/account/validation.js +2 -2
- package/lib/chevre/service/assetTransaction/pay/factory.js +26 -18
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +3 -3
- package/lib/chevre/service/assetTransaction/pay.js +65 -46
- package/lib/chevre/service/assetTransaction/refund/factory.js +8 -2
- package/lib/chevre/service/assetTransaction/reserve.js +105 -31
- package/lib/chevre/service/delivery.js +17 -0
- package/lib/chevre/service/offer/event/authorize.js +18 -19
- package/lib/chevre/service/offer/event/factory.js +8 -8
- package/lib/chevre/service/offer/event/importFromCOA.d.ts +2 -0
- package/lib/chevre/service/offer/event/searchEventTicketOffers.js +2 -2
- package/lib/chevre/service/offer/event/voidTransaction.js +7 -2
- package/lib/chevre/service/offer/product/searchProductOffers.js +1 -1
- package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
- package/lib/chevre/service/order/confirmPayTransaction.js +29 -40
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +27 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +226 -0
- package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +8 -6
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +80 -57
- package/lib/chevre/service/order/onOrderStatusChanged.js +104 -81
- package/lib/chevre/service/order/payOrder.d.ts +2 -10
- package/lib/chevre/service/order/payOrder.js +4 -45
- package/lib/chevre/service/order/placeOrder.js +11 -13
- package/lib/chevre/service/order.d.ts +3 -1
- package/lib/chevre/service/order.js +6 -2
- package/lib/chevre/service/payment/any/factory.js +33 -8
- package/lib/chevre/service/payment/any.js +30 -21
- package/lib/chevre/service/payment/creditCard.js +12 -12
- package/lib/chevre/service/payment/movieTicket/validation.js +2 -2
- package/lib/chevre/service/payment/movieTicket.js +10 -11
- package/lib/chevre/service/payment/paymentCard.js +9 -12
- package/lib/chevre/service/project.js +1 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +3 -0
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +1 -4
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +1 -5
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +3 -0
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +1 -4
- package/lib/chevre/service/task/confirmPayTransaction.js +1 -3
- package/lib/chevre/service/task/importOffersFromCOA.js +3 -0
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.d.ts +6 -0
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +37 -0
- package/lib/chevre/service/task/onOrderPaymentCompleted.d.ts +6 -0
- package/lib/chevre/service/task/onOrderPaymentCompleted.js +35 -0
- package/lib/chevre/service/task/returnPayTransaction.js +8 -3
- package/lib/chevre/service/task/syncAggregateOffer.d.ts +7 -0
- package/lib/chevre/service/task/syncAggregateOffer.js +23 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +32 -16
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +13 -11
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +53 -17
- package/lib/chevre/service/transaction/placeOrderInProgress.js +4 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +7 -6
- package/lib/chevre/service/transaction/returnOrder.js +5 -1
- package/lib/chevre/settings.d.ts +4 -2
- package/lib/chevre/settings.js +5 -5
- package/package.json +3 -3
- package/example/src/chevre/migrateAuthorizePaymentActionResult.ts +0 -83
- package/example/src/chevre/migrateEventOrganizer.ts +0 -154
|
@@ -13,18 +13,20 @@ exports.onOrderStatusChanged = void 0;
|
|
|
13
13
|
/**
|
|
14
14
|
* 注文ステータス変更時処理
|
|
15
15
|
*/
|
|
16
|
+
const createDebug = require("debug");
|
|
16
17
|
const google_libphonenumber_1 = require("google-libphonenumber");
|
|
17
|
-
const moment = require("moment");
|
|
18
18
|
const factory = require("../../factory");
|
|
19
19
|
const order_1 = require("../../factory/order");
|
|
20
20
|
const product_1 = require("../offer/product");
|
|
21
21
|
const factory_1 = require("./onOrderStatusChanged/factory");
|
|
22
|
+
const debug = createDebug('chevre-domain:service:order');
|
|
22
23
|
const USE_CONFIRM_REGISTER_SERVICE_TRANSACTION = process.env.USE_CONFIRM_REGISTER_SERVICE_TRANSACTION === '1';
|
|
23
24
|
const TOKEN_EXPIRES_IN = 604800;
|
|
24
25
|
function onOrderStatusChanged(params) {
|
|
25
26
|
// tslint:disable-next-line:max-func-body-length
|
|
26
27
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
27
28
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
29
|
+
debug('onOrderStatusChanged called.', params.order.orderNumber, params.order.orderStatus, params.order.orderDate);
|
|
28
30
|
let tasks = [];
|
|
29
31
|
const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order, { noProfile: true });
|
|
30
32
|
const simpleOrder = {
|
|
@@ -88,21 +90,23 @@ function onOrderStatusChanged(params) {
|
|
|
88
90
|
tasks = [
|
|
89
91
|
// 注文作成時のみトークン付加
|
|
90
92
|
...(0, factory_1.createInformTasks)(orderWithToken),
|
|
91
|
-
|
|
92
|
-
...
|
|
93
|
-
|
|
93
|
+
// 決済取引確定タスク作成はOrderPaymentDueへ完全移行(2023-08-26~)
|
|
94
|
+
// ...await createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
|
|
95
|
+
// createConfirmReserveTransactionTasksIfNotExistへ移行(2023-08-25~)
|
|
96
|
+
// ...await createConfirmReserveTransactionTasks(params.order, simpleOrder)(repos),
|
|
97
|
+
...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
|
|
94
98
|
// 取引のpotentialActionsを適用(2023-08-17~)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
})
|
|
99
|
+
// createGivePointAwardTaskIfNotExistへ移行(2023-09-01~)
|
|
100
|
+
// ...createOnPlaceOrderTasksByTransaction({
|
|
101
|
+
// object: params.order,
|
|
102
|
+
// potentialActions: params.placeOrderTransaction?.potentialActions?.order?.potentialActions
|
|
103
|
+
// })
|
|
100
104
|
];
|
|
101
105
|
break;
|
|
102
106
|
case factory.orderStatus.OrderReturned:
|
|
103
|
-
const potentialActionsByTransaction = (
|
|
107
|
+
const potentialActionsByTransaction = (_j = (_h = (_g = (_f = params.returnOrderTransaction) === null || _f === void 0 ? void 0 : _f.potentialActions) === null || _g === void 0 ? void 0 : _g.returnOrder) === null || _h === void 0 ? void 0 : _h.find((returnOrderActionByTransaction) => {
|
|
104
108
|
return returnOrderActionByTransaction.object.orderNumber === params.order.orderNumber;
|
|
105
|
-
})) === null ||
|
|
109
|
+
})) === null || _j === void 0 ? void 0 : _j.potentialActions;
|
|
106
110
|
tasks = [
|
|
107
111
|
...(0, factory_1.createInformTasks)(params.order),
|
|
108
112
|
...createReturnReserveTransactionTasks(params.order, simpleOrder),
|
|
@@ -112,14 +116,26 @@ function onOrderStatusChanged(params) {
|
|
|
112
116
|
...(0, factory_1.createOnOrderReturnedTasksByTransaction)({ potentialActions: potentialActionsByTransaction })
|
|
113
117
|
];
|
|
114
118
|
break;
|
|
119
|
+
// OrderCancelled追加(2023-08-30~)
|
|
120
|
+
case factory.orderStatus.OrderCancelled:
|
|
121
|
+
// 注文取引中止時と同様の処理か
|
|
122
|
+
tasks = [
|
|
123
|
+
...(0, factory_1.createOnOrderCancelledTasksByTransaction)({ transaction: params.placeOrderTransaction })
|
|
124
|
+
];
|
|
125
|
+
break;
|
|
115
126
|
default:
|
|
116
127
|
}
|
|
117
128
|
yield repos.task.saveMany(tasks, { emitImmediately: true });
|
|
118
129
|
switch (params.order.orderStatus) {
|
|
119
130
|
case factory.orderStatus.OrderProcessing:
|
|
120
|
-
// 冗長な
|
|
131
|
+
// 冗長なconfirmReserveTransactionタスク作成を回避(2023-08-25~)
|
|
132
|
+
yield createConfirmReserveTransactionTasksIfNotExist(params.order, simpleOrder)(repos);
|
|
133
|
+
// 冗長なsendOrderタスク作成を回避(2023-08-25~)
|
|
121
134
|
yield createSendOrderTransactionTaskIfNotExist({
|
|
122
135
|
object: params.order,
|
|
136
|
+
potentialActions: (_m = (_l = (_k = params.placeOrderTransaction) === null || _k === void 0 ? void 0 : _k.potentialActions) === null || _l === void 0 ? void 0 : _l.order) === null || _m === void 0 ? void 0 : _m.potentialActions
|
|
137
|
+
})(repos);
|
|
138
|
+
yield createGivePointAwardTaskIfNotExist({
|
|
123
139
|
potentialActions: (_q = (_p = (_o = params.placeOrderTransaction) === null || _o === void 0 ? void 0 : _o.potentialActions) === null || _p === void 0 ? void 0 : _p.order) === null || _q === void 0 ? void 0 : _q.potentialActions
|
|
124
140
|
})(repos);
|
|
125
141
|
break;
|
|
@@ -130,16 +146,13 @@ function onOrderStatusChanged(params) {
|
|
|
130
146
|
exports.onOrderStatusChanged = onOrderStatusChanged;
|
|
131
147
|
function createConfirmPayTransactionTasks(order, simpleOrder) {
|
|
132
148
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
const taskRunsAt =
|
|
134
|
-
.toDate();
|
|
149
|
+
const taskRunsAt = new Date();
|
|
135
150
|
const tasks = [];
|
|
136
151
|
yield Promise.all(order.paymentMethods.map((invoice) => __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
// return;
|
|
142
|
-
// }
|
|
152
|
+
// PaymentAutomaticallyAppliedであれば、自動決済処理を実行(2023-08-24~)
|
|
153
|
+
if (invoice.paymentStatus !== factory.paymentStatusType.PaymentAutomaticallyApplied) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
143
156
|
// 冗長なタスク作成を回避
|
|
144
157
|
const existingTasks = yield repos.task.search({
|
|
145
158
|
limit: 1,
|
|
@@ -183,69 +196,49 @@ function createConfirmPayTransactionTasks(order, simpleOrder) {
|
|
|
183
196
|
return tasks;
|
|
184
197
|
});
|
|
185
198
|
}
|
|
186
|
-
const COA_TASK_DELAY_IN_SECONDS = 0;
|
|
187
|
-
function
|
|
199
|
+
// const COA_TASK_DELAY_IN_SECONDS = 0;
|
|
200
|
+
function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder) {
|
|
188
201
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
189
|
-
const taskRunsAt =
|
|
190
|
-
|
|
191
|
-
const taskRunsAt4coa = moment(order.orderDate)
|
|
192
|
-
|
|
193
|
-
|
|
202
|
+
const taskRunsAt = new Date();
|
|
203
|
+
const taskRunsAt4coa = new Date();
|
|
204
|
+
// const taskRunsAt4coa = moment(order.orderDate)
|
|
205
|
+
// .add(COA_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
206
|
+
// .toDate();
|
|
194
207
|
const confirmObjects = [
|
|
195
208
|
...(0, factory_1.createConfirmReservationActionObject4ChevreByOrder)({ order }),
|
|
196
209
|
...(0, factory_1.createConfirmReservationActionObject4COAByOrder)({ order })
|
|
197
210
|
];
|
|
198
|
-
const tasks = [];
|
|
199
211
|
yield Promise.all(confirmObjects.map((confirmObject) => __awaiter(this, void 0, void 0, function* () {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
212
|
+
const data = {
|
|
213
|
+
project: order.project,
|
|
214
|
+
typeOf: factory.actionType.ConfirmAction,
|
|
215
|
+
object: confirmObject,
|
|
216
|
+
agent: order.project,
|
|
217
|
+
purpose: simpleOrder,
|
|
218
|
+
instrument: {
|
|
219
|
+
typeOf: 'WebAPI',
|
|
220
|
+
identifier: (confirmObject.typeOf === 'COAReserveTransaction')
|
|
221
|
+
? factory.service.webAPI.Identifier.COA
|
|
222
|
+
: factory.service.webAPI.Identifier.Chevre
|
|
209
223
|
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
typeOf: 'WebAPI',
|
|
223
|
-
identifier: (confirmObject.typeOf === 'COAReserveTransaction')
|
|
224
|
-
? factory.service.webAPI.Identifier.COA
|
|
225
|
-
: factory.service.webAPI.Identifier.Chevre
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
tasks.push({
|
|
229
|
-
project: order.project,
|
|
230
|
-
name: factory.taskName.ConfirmReserveTransaction,
|
|
231
|
-
status: factory.taskStatus.Ready,
|
|
232
|
-
runsAt: (confirmObject.typeOf === 'COAReserveTransaction')
|
|
233
|
-
? taskRunsAt4coa
|
|
234
|
-
: taskRunsAt,
|
|
235
|
-
remainingNumberOfTries: 10,
|
|
236
|
-
numberOfTried: 0,
|
|
237
|
-
executionResults: [],
|
|
238
|
-
data
|
|
239
|
-
});
|
|
240
|
-
}
|
|
224
|
+
};
|
|
225
|
+
const confirmReserveTransactionTask = {
|
|
226
|
+
project: order.project,
|
|
227
|
+
name: factory.taskName.ConfirmReserveTransaction,
|
|
228
|
+
status: factory.taskStatus.Ready,
|
|
229
|
+
runsAt: (confirmObject.typeOf === 'COAReserveTransaction') ? taskRunsAt4coa : taskRunsAt,
|
|
230
|
+
remainingNumberOfTries: 10,
|
|
231
|
+
numberOfTried: 0,
|
|
232
|
+
executionResults: [],
|
|
233
|
+
data
|
|
234
|
+
};
|
|
235
|
+
yield repos.task.createConfirmReserveTransactionTaskIfNotExist(confirmReserveTransactionTask, { emitImmediately: true });
|
|
241
236
|
})));
|
|
242
|
-
return tasks;
|
|
243
237
|
});
|
|
244
238
|
}
|
|
245
239
|
function createConfirmRegisterServiceTransactionTasks(order, simpleOrder) {
|
|
246
240
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
247
|
-
const taskRunsAt =
|
|
248
|
-
.toDate();
|
|
241
|
+
const taskRunsAt = new Date();
|
|
249
242
|
if (USE_CONFIRM_REGISTER_SERVICE_TRANSACTION) {
|
|
250
243
|
const confirmObjects = (0, factory_1.createConfirmRegisterServiceActionObjectByOrder)({ order });
|
|
251
244
|
const tasks = [];
|
|
@@ -319,14 +312,43 @@ function createSendOrderTransactionTaskIfNotExist(params) {
|
|
|
319
312
|
}
|
|
320
313
|
});
|
|
321
314
|
}
|
|
322
|
-
|
|
315
|
+
function createGivePointAwardTaskIfNotExist(params) {
|
|
316
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
317
|
+
var _a;
|
|
318
|
+
const now = new Date();
|
|
319
|
+
const givePointAwardsByTransaction = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.givePointAward;
|
|
320
|
+
if (Array.isArray(givePointAwardsByTransaction)) {
|
|
321
|
+
for (const givePointAwardByTransaction of givePointAwardsByTransaction) {
|
|
322
|
+
let taskIdentifier = `${givePointAwardByTransaction.project.id}:${factory.taskName.GivePointAward}:${Date.now()}`;
|
|
323
|
+
if (typeof givePointAwardByTransaction.object.identifier === 'string'
|
|
324
|
+
&& givePointAwardByTransaction.object.identifier.length > 0) {
|
|
325
|
+
taskIdentifier = `${givePointAwardByTransaction.project.id}:${factory.taskName.GivePointAward}:${givePointAwardByTransaction.object.identifier}`;
|
|
326
|
+
}
|
|
327
|
+
const givePointAwardTask = {
|
|
328
|
+
identifier: taskIdentifier,
|
|
329
|
+
project: givePointAwardByTransaction.project,
|
|
330
|
+
name: factory.taskName.GivePointAward,
|
|
331
|
+
status: factory.taskStatus.Ready,
|
|
332
|
+
runsAt: now,
|
|
333
|
+
remainingNumberOfTries: 10,
|
|
334
|
+
numberOfTried: 0,
|
|
335
|
+
executionResults: [],
|
|
336
|
+
data: givePointAwardByTransaction
|
|
337
|
+
};
|
|
338
|
+
// 冗長なgivePointAwardタスク作成を回避(2023-09-01~)
|
|
339
|
+
yield repos.task.createIfNotExistByIdentifier(givePointAwardTask, { emitImmediately: true });
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
// const RETURN_COA_TASK_DELAY_IN_SECONDS = 0;
|
|
323
345
|
function createReturnReserveTransactionTasks(order, simpleOrder) {
|
|
324
346
|
var _a, _b;
|
|
325
|
-
const taskRunsAt =
|
|
326
|
-
|
|
327
|
-
const taskRunsAt4coa = moment(order.dateReturned)
|
|
328
|
-
|
|
329
|
-
|
|
347
|
+
const taskRunsAt = new Date();
|
|
348
|
+
const taskRunsAt4coa = new Date();
|
|
349
|
+
// const taskRunsAt4coa = moment(order.dateReturned)
|
|
350
|
+
// .add(RETURN_COA_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
351
|
+
// .toDate();
|
|
330
352
|
const tasks = [];
|
|
331
353
|
const returnActionRecipient = {
|
|
332
354
|
typeOf: order.seller.typeOf,
|
|
@@ -401,12 +423,13 @@ function createReturnReserveTransactionTasks(order, simpleOrder) {
|
|
|
401
423
|
}
|
|
402
424
|
return tasks;
|
|
403
425
|
}
|
|
404
|
-
const RETURN_PAY_TASK_DELAY_IN_SECONDS = 0;
|
|
426
|
+
// const RETURN_PAY_TASK_DELAY_IN_SECONDS = 0;
|
|
405
427
|
function createReturnPayTransactionTasks(order, __, returnOrderTransaction) {
|
|
406
428
|
var _a, _b;
|
|
407
|
-
const taskRunsAt =
|
|
408
|
-
|
|
409
|
-
|
|
429
|
+
const taskRunsAt = new Date();
|
|
430
|
+
// const taskRunsAt = moment(order.dateReturned)
|
|
431
|
+
// .add(RETURN_PAY_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
432
|
+
// .toDate();
|
|
410
433
|
const tasks = [];
|
|
411
434
|
const returnOrderPotentialActions = (_b = (_a = returnOrderTransaction === null || returnOrderTransaction === void 0 ? void 0 : returnOrderTransaction.potentialActions) === null || _a === void 0 ? void 0 : _a.returnOrder.find((action) => action.object.orderNumber === order.orderNumber)) === null || _b === void 0 ? void 0 : _b.potentialActions;
|
|
412
435
|
const returnPayActionsByReturnOrderTransaction = returnOrderPotentialActions === null || returnOrderPotentialActions === void 0 ? void 0 : returnOrderPotentialActions.returnPaymentMethod;
|
|
@@ -2,19 +2,11 @@ import { RedisRepository as RegisterServiceInProgressRepo } from '../../repo/act
|
|
|
2
2
|
import { MongoRepository as OrderRepo } from '../../repo/order';
|
|
3
3
|
import { MongoRepository as TaskRepo } from '../../repo/task';
|
|
4
4
|
import { MongoRepository as TransactionRepo } from '../../repo/transaction';
|
|
5
|
+
import * as factory from '../../factory';
|
|
5
6
|
/**
|
|
6
7
|
* 注文を決済する
|
|
7
8
|
*/
|
|
8
|
-
declare function payOrder(params: {
|
|
9
|
-
project: {
|
|
10
|
-
id: string;
|
|
11
|
-
};
|
|
12
|
-
object: {
|
|
13
|
-
confirmationNumber: string;
|
|
14
|
-
orderNumber: string;
|
|
15
|
-
};
|
|
16
|
-
useOnOrderStatusChanged: boolean;
|
|
17
|
-
}): (repos: {
|
|
9
|
+
declare function payOrder(params: factory.task.IData<factory.taskName.OnOrderPaymentCompleted>): (repos: {
|
|
18
10
|
order: OrderRepo;
|
|
19
11
|
registerActionInProgress: RegisterServiceInProgressRepo;
|
|
20
12
|
task: TaskRepo;
|
|
@@ -10,8 +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.payOrder = void 0;
|
|
13
|
-
const
|
|
14
|
-
const onOrderStatusChanged_1 = require("./onOrderStatusChanged");
|
|
13
|
+
const onAssetTransactionStatusChanged_1 = require("./onAssetTransactionStatusChanged");
|
|
15
14
|
const factory = require("../../factory");
|
|
16
15
|
/**
|
|
17
16
|
* 注文を決済する
|
|
@@ -23,52 +22,12 @@ function payOrder(params) {
|
|
|
23
22
|
}
|
|
24
23
|
const orderNumber = params.object.orderNumber;
|
|
25
24
|
const confirmationNumber = params.object.confirmationNumber;
|
|
26
|
-
|
|
25
|
+
yield (0, onAssetTransactionStatusChanged_1.paymentDue2Processing)({
|
|
27
26
|
project: { id: params.project.id },
|
|
28
27
|
confirmationNumber,
|
|
29
|
-
orderNumber
|
|
30
|
-
})({ transaction: repos.transaction });
|
|
31
|
-
let order = yield repos.order.findByOrderNumber({
|
|
32
28
|
orderNumber,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
exclusion: []
|
|
36
|
-
});
|
|
37
|
-
try {
|
|
38
|
-
order = yield repos.order.changeStatus({
|
|
39
|
-
project: { id: order.project.id },
|
|
40
|
-
orderNumber,
|
|
41
|
-
orderStatus: factory.orderStatus.OrderProcessing,
|
|
42
|
-
previousOrderStatus: factory.orderStatus.OrderPaymentDue
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
let throwsError = true;
|
|
47
|
-
// すでにステータスが煤でいた場合、OrderPaymentDue->OrderProcessingの処理自体は成功しているので、後処理を続行する
|
|
48
|
-
order = yield repos.order.findByOrderNumber({
|
|
49
|
-
orderNumber: params.object.orderNumber,
|
|
50
|
-
project: { id: params.project.id },
|
|
51
|
-
inclusion: [],
|
|
52
|
-
exclusion: []
|
|
53
|
-
});
|
|
54
|
-
if (order.orderStatus === factory.orderStatus.OrderDelivered
|
|
55
|
-
|| order.orderStatus === factory.orderStatus.OrderReturned) {
|
|
56
|
-
throwsError = false;
|
|
57
|
-
}
|
|
58
|
-
if (throwsError) {
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (params.useOnOrderStatusChanged) {
|
|
63
|
-
yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({
|
|
64
|
-
order: Object.assign(Object.assign({}, order), { orderStatus: factory.orderStatus.OrderProcessing // 強制的にOrderProcessingとして処理する
|
|
65
|
-
}),
|
|
66
|
-
placeOrderTransaction
|
|
67
|
-
})({
|
|
68
|
-
registerActionInProgress: repos.registerActionInProgress,
|
|
69
|
-
task: repos.task
|
|
70
|
-
});
|
|
71
|
-
}
|
|
29
|
+
useOnOrderStatusChanged: params.useOnOrderStatusChanged
|
|
30
|
+
})(repos);
|
|
72
31
|
});
|
|
73
32
|
}
|
|
74
33
|
exports.payOrder = payOrder;
|
|
@@ -14,8 +14,8 @@ const moment = require("moment");
|
|
|
14
14
|
const order_1 = require("../../factory/order");
|
|
15
15
|
const createAccountingReportIfNotExist_1 = require("./createAccountingReportIfNotExist");
|
|
16
16
|
const findPlaceOrderTransaction_1 = require("./findPlaceOrderTransaction");
|
|
17
|
+
const onAssetTransactionStatusChanged_1 = require("./onAssetTransactionStatusChanged");
|
|
17
18
|
const onOrderStatusChanged_1 = require("./onOrderStatusChanged");
|
|
18
|
-
const payOrder_1 = require("./payOrder");
|
|
19
19
|
const factory = require("../../factory");
|
|
20
20
|
function createOrder(params) {
|
|
21
21
|
// 必要な属性についてDate型に変換(でないと検索クエリを効率的に使えない)
|
|
@@ -241,22 +241,20 @@ function placeOrder(params) {
|
|
|
241
241
|
registerActionInProgress: repos.registerActionInProgress,
|
|
242
242
|
task: repos.task
|
|
243
243
|
});
|
|
244
|
-
// paymentMethods.length: 0の場合を考慮(2023-08-24~)
|
|
245
|
-
if (order.paymentMethods.length === 0) {
|
|
246
|
-
// paymentMethods.length: 0の場合に、confirmPayTransactionは実行されないので、ここで強制的にpayOrderを実行する必要がある
|
|
247
|
-
yield (0, payOrder_1.payOrder)({
|
|
248
|
-
project: { id: order.project.id },
|
|
249
|
-
object: {
|
|
250
|
-
confirmationNumber: order.confirmationNumber,
|
|
251
|
-
orderNumber: order.orderNumber
|
|
252
|
-
},
|
|
253
|
-
useOnOrderStatusChanged: params.useOnOrderStatusChanged
|
|
254
|
-
})(repos);
|
|
255
|
-
}
|
|
256
244
|
}
|
|
257
245
|
else {
|
|
258
246
|
throw new factory.errors.NotImplemented(`placing an order on the status '${order.orderStatus}' not implemented`);
|
|
259
247
|
}
|
|
248
|
+
// paymentMethods.length: 0の場合を考慮(2023-08-24~)
|
|
249
|
+
if (order.paymentMethods.length === 0) {
|
|
250
|
+
// paymentMethods.length: 0の場合に、confirmPayTransactionは実行されないので、ここで強制的にpaymentDue2Processingを実行する必要がある
|
|
251
|
+
yield (0, onAssetTransactionStatusChanged_1.paymentDue2Processing)({
|
|
252
|
+
project: { id: order.project.id },
|
|
253
|
+
confirmationNumber: order.confirmationNumber,
|
|
254
|
+
orderNumber: order.orderNumber,
|
|
255
|
+
useOnOrderStatusChanged: params.useOnOrderStatusChanged === true
|
|
256
|
+
})(repos);
|
|
257
|
+
}
|
|
260
258
|
}
|
|
261
259
|
// onOrderStatusChangedへ移行(2023-08-17~)
|
|
262
260
|
// await onPlaceOrder({
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { confirmPayTransaction } from './order/confirmPayTransaction';
|
|
5
5
|
import { deleteOrder } from './order/deleteOrder';
|
|
6
|
+
import { onAssetTransactionStatusChanged, paymentDue2Processing } from './order/onAssetTransactionStatusChanged';
|
|
6
7
|
import { onOrderStatusChanged } from './order/onOrderStatusChanged';
|
|
7
8
|
import { onOrderUpdated } from './order/onOrderUpdated';
|
|
9
|
+
import { payOrder } from './order/payOrder';
|
|
8
10
|
import { placeOrder, placeOrderWithoutTransaction } from './order/placeOrder';
|
|
9
11
|
import { sendOrder } from './order/sendOrder';
|
|
10
|
-
export { confirmPayTransaction, deleteOrder, onOrderStatusChanged, onOrderUpdated, placeOrder, placeOrderWithoutTransaction, sendOrder };
|
|
12
|
+
export { confirmPayTransaction, deleteOrder, onAssetTransactionStatusChanged, onOrderStatusChanged, onOrderUpdated, paymentDue2Processing, payOrder, placeOrder, placeOrderWithoutTransaction, sendOrder };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sendOrder = exports.placeOrderWithoutTransaction = exports.placeOrder = exports.onOrderUpdated = exports.onOrderStatusChanged = exports.deleteOrder = exports.confirmPayTransaction = void 0;
|
|
3
|
+
exports.sendOrder = exports.placeOrderWithoutTransaction = exports.placeOrder = exports.payOrder = exports.paymentDue2Processing = exports.onOrderUpdated = exports.onOrderStatusChanged = exports.onAssetTransactionStatusChanged = exports.deleteOrder = exports.confirmPayTransaction = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* 注文サービス
|
|
6
6
|
*/
|
|
@@ -8,13 +8,17 @@ const confirmPayTransaction_1 = require("./order/confirmPayTransaction");
|
|
|
8
8
|
Object.defineProperty(exports, "confirmPayTransaction", { enumerable: true, get: function () { return confirmPayTransaction_1.confirmPayTransaction; } });
|
|
9
9
|
const deleteOrder_1 = require("./order/deleteOrder");
|
|
10
10
|
Object.defineProperty(exports, "deleteOrder", { enumerable: true, get: function () { return deleteOrder_1.deleteOrder; } });
|
|
11
|
+
const onAssetTransactionStatusChanged_1 = require("./order/onAssetTransactionStatusChanged");
|
|
12
|
+
Object.defineProperty(exports, "onAssetTransactionStatusChanged", { enumerable: true, get: function () { return onAssetTransactionStatusChanged_1.onAssetTransactionStatusChanged; } });
|
|
13
|
+
Object.defineProperty(exports, "paymentDue2Processing", { enumerable: true, get: function () { return onAssetTransactionStatusChanged_1.paymentDue2Processing; } });
|
|
11
14
|
const onOrderStatusChanged_1 = require("./order/onOrderStatusChanged");
|
|
12
15
|
Object.defineProperty(exports, "onOrderStatusChanged", { enumerable: true, get: function () { return onOrderStatusChanged_1.onOrderStatusChanged; } });
|
|
13
16
|
const onOrderUpdated_1 = require("./order/onOrderUpdated");
|
|
14
17
|
Object.defineProperty(exports, "onOrderUpdated", { enumerable: true, get: function () { return onOrderUpdated_1.onOrderUpdated; } });
|
|
18
|
+
const payOrder_1 = require("./order/payOrder");
|
|
19
|
+
Object.defineProperty(exports, "payOrder", { enumerable: true, get: function () { return payOrder_1.payOrder; } });
|
|
15
20
|
const placeOrder_1 = require("./order/placeOrder");
|
|
16
21
|
Object.defineProperty(exports, "placeOrder", { enumerable: true, get: function () { return placeOrder_1.placeOrder; } });
|
|
17
22
|
Object.defineProperty(exports, "placeOrderWithoutTransaction", { enumerable: true, get: function () { return placeOrder_1.placeOrderWithoutTransaction; } });
|
|
18
|
-
// import { returnOrder } from './order/returnOrder';
|
|
19
23
|
const sendOrder_1 = require("./order/sendOrder");
|
|
20
24
|
Object.defineProperty(exports, "sendOrder", { enumerable: true, get: function () { return sendOrder_1.sendOrder; } });
|
|
@@ -3,11 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.optimizeAction4inform = exports.createAuthorizeResult = exports.creatPayTransactionStartParams = void 0;
|
|
4
4
|
const moment = require("moment");
|
|
5
5
|
const factory = require("../../../factory");
|
|
6
|
+
const settings_1 = require("../../../settings");
|
|
6
7
|
function creatPayTransactionStartParams(params) {
|
|
7
8
|
var _a, _b, _c, _d;
|
|
8
|
-
|
|
9
|
+
let expires = moment(params.transaction.expires)
|
|
9
10
|
.add(1, 'month')
|
|
10
11
|
.toDate(); // 余裕を持って
|
|
12
|
+
// 実験的にPaymentDueに対応(2023-08-30~)
|
|
13
|
+
if (params.paymentServiceType === factory.service.paymentService.PaymentServiceType.FaceToFace) {
|
|
14
|
+
if (params.object.paymentMethod.length === 0) {
|
|
15
|
+
expires = moment(params.transaction.expires)
|
|
16
|
+
.add(1, 'hour')
|
|
17
|
+
.toDate();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
11
20
|
const confirmationNumber = params.transaction.object.confirmationNumber;
|
|
12
21
|
const issuedThroughId = (_a = params.object.issuedThrough) === null || _a === void 0 ? void 0 : _a.id;
|
|
13
22
|
const accountId = (typeof params.accountId === 'string')
|
|
@@ -39,7 +48,9 @@ function creatPayTransactionStartParams(params) {
|
|
|
39
48
|
typeOf: params.paymentServiceType,
|
|
40
49
|
// 決済サービスIDを連携(2022-04-12~)
|
|
41
50
|
id: issuedThroughId,
|
|
42
|
-
paymentMethod: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({
|
|
51
|
+
paymentMethod: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ identifier: params.object.paymentMethod,
|
|
52
|
+
// typeOf: params.object.paymentMethod, // identifierへ移行(2023-08-30~)
|
|
53
|
+
amount: params.object.amount, additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [] }, (typeof params.object.method === 'string') ? { method: params.object.method } : undefined), (typeof params.object.name === 'string') ? { name: params.object.name } : undefined), (typeof accountId === 'string') ? { accountId } : undefined), (typeof params.object.description === 'string') ? { description: params.object.description } : undefined), (typeof params.object.fromLocation === 'string') ? { fromLocation: params.object.fromLocation } : undefined), (params.object.creditCard !== undefined) ? { creditCard: params.object.creditCard } : undefined), (Array.isArray(movieTickets)) ? { movieTickets } : undefined)
|
|
43
54
|
}, expires: expires }, (typeof confirmationNumber === 'string')
|
|
44
55
|
? {
|
|
45
56
|
purpose: {
|
|
@@ -80,7 +91,7 @@ function createMovieTicket(params) {
|
|
|
80
91
|
};
|
|
81
92
|
}
|
|
82
93
|
function createAuthorizeResult(params) {
|
|
83
|
-
var _a, _b, _c, _d, _e, _f
|
|
94
|
+
var _a, _b, _c, _d, _e, _f;
|
|
84
95
|
const payTransactionObject = params.payTransaction.object;
|
|
85
96
|
const totalPaymentDue = (_a = payTransactionObject.paymentMethod) === null || _a === void 0 ? void 0 : _a.totalPaymentDue;
|
|
86
97
|
if (typeof (totalPaymentDue === null || totalPaymentDue === void 0 ? void 0 : totalPaymentDue.typeOf) !== 'string') {
|
|
@@ -98,7 +109,15 @@ function createAuthorizeResult(params) {
|
|
|
98
109
|
&& typeof paymentMethodAmountCurrencyByPayTransaction === 'string')
|
|
99
110
|
? { amount: { currency: paymentMethodAmountCurrencyByPayTransaction } }
|
|
100
111
|
: undefined);
|
|
101
|
-
|
|
112
|
+
// FaceToFaceの場合、決済方法区分未指定に対応(2023-08-29~)
|
|
113
|
+
let paymentStatus = factory.paymentStatusType.PaymentAutomaticallyApplied;
|
|
114
|
+
if (issuedThrough.typeOf === factory.service.paymentService.PaymentServiceType.FaceToFace) {
|
|
115
|
+
if (paymentMethodAsObject.typeOf.length === 0) {
|
|
116
|
+
paymentStatus = factory.paymentStatusType.PaymentDue;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Array対応(2023-09-02~)
|
|
120
|
+
const resultAsInvoice = {
|
|
102
121
|
accountId: (typeof ((_e = payTransactionObject.paymentMethod) === null || _e === void 0 ? void 0 : _e.accountId) === 'string')
|
|
103
122
|
? payTransactionObject.paymentMethod.accountId
|
|
104
123
|
: '',
|
|
@@ -108,17 +127,23 @@ function createAuthorizeResult(params) {
|
|
|
108
127
|
// 完全廃止(paymentMethodAsObjectへ完全移行)(2023-08-16~)
|
|
109
128
|
// paymentMethod: params.object.paymentMethod,
|
|
110
129
|
paymentMethodAsObject,
|
|
111
|
-
paymentStatus
|
|
112
|
-
paymentMethodId: (typeof
|
|
113
|
-
? payTransactionObject.
|
|
130
|
+
paymentStatus,
|
|
131
|
+
paymentMethodId: (typeof payTransactionObject.paymentMethodId === 'string')
|
|
132
|
+
? payTransactionObject.paymentMethodId
|
|
114
133
|
: '',
|
|
115
|
-
name: (typeof ((
|
|
134
|
+
name: (typeof ((_f = payTransactionObject.paymentMethod) === null || _f === void 0 ? void 0 : _f.name) === 'string')
|
|
116
135
|
? payTransactionObject.paymentMethod.name
|
|
117
136
|
: params.object.paymentMethod,
|
|
118
137
|
totalPaymentDue: totalPaymentDue,
|
|
119
138
|
additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [],
|
|
120
139
|
typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment
|
|
121
140
|
};
|
|
141
|
+
if (settings_1.USE_AUTHORIZE_PAYMENT_RESULT_AS_ARRAY) {
|
|
142
|
+
return [resultAsInvoice];
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
return resultAsInvoice;
|
|
146
|
+
}
|
|
122
147
|
}
|
|
123
148
|
exports.createAuthorizeResult = createAuthorizeResult;
|
|
124
149
|
function payActionObject2invoice(params) {
|
|
@@ -104,7 +104,7 @@ exports.invalidatePaymentUrl = invalidatePaymentUrl;
|
|
|
104
104
|
function processVoidPayTransaction(params) {
|
|
105
105
|
// tslint:disable-next-line:max-func-body-length
|
|
106
106
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
var _a, _b;
|
|
107
|
+
var _a, _b, _c, _d;
|
|
108
108
|
let transaction;
|
|
109
109
|
// アクションID指定の場合、進行中取引検証(2023-02-24~)
|
|
110
110
|
if (typeof params.id === 'string') {
|
|
@@ -145,23 +145,27 @@ function processVoidPayTransaction(params) {
|
|
|
145
145
|
throw new factory.errors.NotImplemented(`${transaction.status} not implemented`);
|
|
146
146
|
// 確定取引に対応(2023-05-03~)
|
|
147
147
|
case factory.transactionStatusType.Confirmed:
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
if (
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
if (paymentMethodIds.length > 0) {
|
|
158
|
-
authorizeActions = authorizeActions.filter((a) => {
|
|
159
|
-
// paymentMethodIdが存在しない、あるいは、注文のpaymentMethodIdsに含まれなければ、アクション取消対象
|
|
160
|
-
const paymentMethodIdByAction = a.object.paymentMethodId;
|
|
161
|
-
const includedInOrder = typeof paymentMethodIdByAction === 'string'
|
|
162
|
-
&& paymentMethodIds.includes(paymentMethodIdByAction);
|
|
163
|
-
return !includedInOrder;
|
|
148
|
+
// OrderCancelledを考慮(2023-08-30~)
|
|
149
|
+
const orderCancelled = ((_b = (_a = params.purpose.result) === null || _a === void 0 ? void 0 : _a.order) === null || _b === void 0 ? void 0 : _b.orderStatus) === factory.orderStatus.OrderCancelled;
|
|
150
|
+
if (!orderCancelled) {
|
|
151
|
+
// 取り消すべきアクションに絞る
|
|
152
|
+
authorizeActions = authorizeActions.filter((a) => a.actionStatus !== factory.actionStatusType.CompletedActionStatus);
|
|
153
|
+
if (transaction.typeOf === factory.transactionType.PlaceOrder) {
|
|
154
|
+
const paymentMethodIds = (_d = (_c = transaction.result) === null || _c === void 0 ? void 0 : _c.order) === null || _d === void 0 ? void 0 : _d.paymentMethods.map((p) => {
|
|
155
|
+
return p.paymentMethodId;
|
|
164
156
|
});
|
|
157
|
+
if (!Array.isArray(paymentMethodIds)) {
|
|
158
|
+
throw new factory.errors.Argument('Transaction', `${transaction.id} must have result.order.paymentMethods`);
|
|
159
|
+
}
|
|
160
|
+
if (paymentMethodIds.length > 0) {
|
|
161
|
+
authorizeActions = authorizeActions.filter((a) => {
|
|
162
|
+
// paymentMethodIdが存在しない、あるいは、注文のpaymentMethodIdsに含まれなければ、アクション取消対象
|
|
163
|
+
const paymentMethodIdByAction = a.object.paymentMethodId;
|
|
164
|
+
const includedInOrder = typeof paymentMethodIdByAction === 'string'
|
|
165
|
+
&& paymentMethodIds.includes(paymentMethodIdByAction);
|
|
166
|
+
return !includedInOrder;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
165
169
|
}
|
|
166
170
|
}
|
|
167
171
|
break;
|
|
@@ -182,9 +186,14 @@ function processVoidPayTransaction(params) {
|
|
|
182
186
|
project: { id: { $eq: action.project.id } },
|
|
183
187
|
typeOf: factory.assetTransactionType.Pay,
|
|
184
188
|
transactionNumber: { $eq: transactionNumber }
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
|
|
189
|
+
}, ['_id', 'status']);
|
|
190
|
+
const payTransaction = payTransactions.shift();
|
|
191
|
+
if (payTransaction !== undefined) {
|
|
192
|
+
// ステータス検証(Expiredから実行される可能性がある)
|
|
193
|
+
if (payTransaction.status !== factory.transactionStatusType.Canceled
|
|
194
|
+
&& payTransaction.status !== factory.transactionStatusType.Expired) {
|
|
195
|
+
yield PayTransactionService.cancel({ transactionNumber })(repos);
|
|
196
|
+
}
|
|
188
197
|
}
|
|
189
198
|
}
|
|
190
199
|
yield repos.action.cancel({ typeOf: action.typeOf, id: action.id });
|
|
@@ -339,7 +348,7 @@ function authorize(params) {
|
|
|
339
348
|
if (error.name !== 'AbortError') {
|
|
340
349
|
yield processVoidPayTransaction({
|
|
341
350
|
project: action.project,
|
|
342
|
-
agent: { id: action.project.id },
|
|
351
|
+
// agent: { id: action.project.id },
|
|
343
352
|
id: action.id,
|
|
344
353
|
purpose: action.purpose
|
|
345
354
|
})(repos);
|