@chevre/domain 21.2.0-alpha.12 → 21.2.0-alpha.121
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/aggregateEventReservation.ts +1 -1
- package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
- package/example/src/chevre/countDelayedTasks.ts +7 -2
- package/example/src/chevre/deleteTasksByName.ts +10 -2
- package/example/src/chevre/findMovieTheaterById.ts +40 -0
- package/example/src/chevre/importEventsFromCOA.ts +3 -4
- package/example/src/chevre/lockStockHolder.ts +2 -1
- package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
- package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
- package/example/src/chevre/migrateStockHolderKeys.ts +1 -1
- package/example/src/chevre/processPay.ts +5 -1
- package/example/src/chevre/processRegisterMembership.ts +8 -4
- package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
- package/example/src/chevre/processReserve.ts +5 -2
- package/example/src/chevre/saveTasks.ts +13 -10
- package/example/src/chevre/searchAbortedTasks.ts +36 -0
- package/example/src/chevre/searchActions.ts +33 -0
- package/example/src/chevre/searchEventSeats.ts +2 -1
- package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
- package/example/src/chevre/searchSendEmailActions.ts +44 -0
- package/example/src/chevre/task/executeTasks.ts +26 -0
- package/example/src/chevre/transaction/findCreditCard.ts +1 -1
- package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
- package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
- package/example/src/chevre/transaction/startExportTasks.ts +20 -0
- package/example/src/chevre/updateScreeningRoom.ts +41 -0
- package/example/src/chevre/updateTransaction.ts +1 -1
- package/example/src/playOnMoment.ts +24 -0
- package/lib/chevre/credentials.d.ts +1 -0
- package/lib/chevre/credentials.js +2 -1
- package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
- package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
- package/lib/chevre/eventEmitter/task.d.ts +18 -0
- package/lib/chevre/eventEmitter/task.js +25 -0
- package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
- package/lib/chevre/eventEmitter/transaction.js +25 -0
- package/lib/chevre/eventEmitter.d.ts +4 -0
- package/lib/chevre/eventEmitter.js +9 -0
- package/lib/chevre/index.d.ts +3 -2
- package/lib/chevre/index.js +5 -3
- package/lib/chevre/repo/account.js +3 -2
- package/lib/chevre/repo/accountTransaction.d.ts +3 -11
- package/lib/chevre/repo/accountTransaction.js +3 -55
- package/lib/chevre/repo/action.d.ts +42 -2
- package/lib/chevre/repo/action.js +130 -57
- package/lib/chevre/repo/additionalProperty.js +2 -1
- package/lib/chevre/repo/aggregation.d.ts +3 -0
- package/lib/chevre/repo/aggregation.js +3 -0
- package/lib/chevre/repo/assetTransaction.d.ts +25 -9
- package/lib/chevre/repo/assetTransaction.js +259 -87
- package/lib/chevre/repo/categoryCode.d.ts +1 -1
- package/lib/chevre/repo/categoryCode.js +37 -25
- package/lib/chevre/repo/code.js +3 -2
- package/lib/chevre/repo/comment.d.ts +4 -1
- package/lib/chevre/repo/comment.js +22 -6
- package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
- package/lib/chevre/repo/confirmationNumber.js +3 -15
- package/lib/chevre/repo/creativeWork.d.ts +2 -4
- package/lib/chevre/repo/creativeWork.js +35 -12
- package/lib/chevre/repo/customer.js +2 -1
- package/lib/chevre/repo/emailMessage.d.ts +1 -27
- package/lib/chevre/repo/emailMessage.js +2 -1
- package/lib/chevre/repo/event.d.ts +27 -1
- package/lib/chevre/repo/event.js +67 -33
- package/lib/chevre/repo/member.js +4 -3
- package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
- package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
- package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
- package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
- package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
- package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
- package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
- package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
- package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
- package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
- package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
- package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
- package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
- package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
- package/lib/chevre/repo/mongoose/schemas/holdReservation.js +56 -0
- package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
- package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
- package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
- package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
- package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
- package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +49 -3
- package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
- package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
- package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
- package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
- package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
- package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
- package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
- package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
- package/lib/chevre/repo/offer.js +3 -2
- package/lib/chevre/repo/offerCatalog.js +0 -27
- package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
- package/lib/chevre/repo/offerItemCondition.js +121 -0
- package/lib/chevre/repo/order.d.ts +55 -3
- package/lib/chevre/repo/order.js +62 -10
- package/lib/chevre/repo/ownershipInfo.js +2 -7
- package/lib/chevre/repo/place.d.ts +20 -5
- package/lib/chevre/repo/place.js +63 -23
- package/lib/chevre/repo/priceSpecification.js +3 -2
- package/lib/chevre/repo/product.d.ts +1 -3
- package/lib/chevre/repo/product.js +25 -4
- package/lib/chevre/repo/project.js +2 -1
- package/lib/chevre/repo/reservation.d.ts +20 -4
- package/lib/chevre/repo/reservation.js +40 -59
- package/lib/chevre/repo/role.js +3 -2
- package/lib/chevre/repo/seller.d.ts +1 -1
- package/lib/chevre/repo/seller.js +44 -23
- package/lib/chevre/repo/serviceOutput.js +2 -1
- package/lib/chevre/repo/stockHolder.d.ts +37 -6
- package/lib/chevre/repo/stockHolder.js +312 -87
- package/lib/chevre/repo/task.d.ts +45 -2
- package/lib/chevre/repo/task.js +94 -15
- package/lib/chevre/repo/transaction.d.ts +23 -3
- package/lib/chevre/repo/transaction.js +177 -56
- package/lib/chevre/repo/trip.js +2 -1
- package/lib/chevre/repository.d.ts +5 -2
- package/lib/chevre/repository.js +8 -4
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +8 -6
- package/lib/chevre/service/aggregation/system.d.ts +110 -23
- package/lib/chevre/service/aggregation/system.js +213 -91
- package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
- package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
- package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
- package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
- package/lib/chevre/service/assetTransaction/pay.js +20 -34
- package/lib/chevre/service/assetTransaction/refund.js +2 -24
- package/lib/chevre/service/assetTransaction/registerService.js +1 -25
- package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
- package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
- package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
- package/lib/chevre/service/assetTransaction/reserve.js +85 -69
- package/lib/chevre/service/assetTransaction.d.ts +6 -0
- package/lib/chevre/service/assetTransaction.js +9 -4
- package/lib/chevre/service/event.js +16 -5
- package/lib/chevre/service/notification/factory.js +2 -2
- package/lib/chevre/service/notification.d.ts +3 -1
- package/lib/chevre/service/notification.js +41 -7
- package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
- package/lib/chevre/service/offer/event/authorize.js +8 -2
- package/lib/chevre/service/offer/event/factory.d.ts +3 -0
- package/lib/chevre/service/offer/event/factory.js +16 -5
- package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
- package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
- package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
- package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
- package/lib/chevre/service/offer/product.js +2 -2
- package/lib/chevre/service/offer.d.ts +16 -8
- package/lib/chevre/service/offer.js +69 -8
- package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
- package/lib/chevre/service/order/deleteOrder.js +8 -8
- package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
- package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
- package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
- package/lib/chevre/service/order/onOrderUpdated.js +22 -0
- package/lib/chevre/service/order/placeOrder.d.ts +1 -0
- package/lib/chevre/service/order/placeOrder.js +41 -24
- package/lib/chevre/service/order/returnOrder.d.ts +1 -0
- package/lib/chevre/service/order/returnOrder.js +7 -12
- package/lib/chevre/service/order/sendOrder.d.ts +1 -0
- package/lib/chevre/service/order/sendOrder.js +7 -10
- package/lib/chevre/service/order.d.ts +2 -1
- package/lib/chevre/service/order.js +3 -1
- package/lib/chevre/service/payment/any/onPaid.js +1 -1
- package/lib/chevre/service/payment/any/onRefund.js +1 -1
- package/lib/chevre/service/payment/any.d.ts +9 -5
- package/lib/chevre/service/payment/any.js +80 -18
- package/lib/chevre/service/payment/creditCard.d.ts +1 -1
- package/lib/chevre/service/payment/creditCard.js +23 -17
- package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
- package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
- package/lib/chevre/service/payment/movieTicket/validation.js +55 -32
- package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
- package/lib/chevre/service/payment/movieTicket.js +7 -6
- package/lib/chevre/service/product.js +1 -5
- package/lib/chevre/service/report/telemetry.d.ts +0 -11
- package/lib/chevre/service/report/telemetry.js +21 -24
- package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
- package/lib/chevre/service/reserve/cancelReservation.js +153 -142
- package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
- package/lib/chevre/service/reserve/checkInReservation.js +77 -3
- package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
- package/lib/chevre/service/reserve/confirmReservation.js +133 -58
- package/lib/chevre/service/reserve/factory.d.ts +1 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
- package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
- package/lib/chevre/service/reserve/useReservation.js +61 -71
- package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
- package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
- package/lib/chevre/service/reserve.d.ts +3 -2
- package/lib/chevre/service/reserve.js +4 -2
- package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
- package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
- package/lib/chevre/service/task/cancelReservation.js +1 -1
- package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
- package/lib/chevre/service/task/deleteTransaction.js +10 -8
- package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
- package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
- package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
- package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
- package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
- package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
- package/lib/chevre/service/task/onResourceUpdated.js +352 -0
- package/lib/chevre/service/task/placeOrder.js +1 -1
- package/lib/chevre/service/task/reserve.js +10 -7
- package/lib/chevre/service/task/returnOrder.js +1 -1
- package/lib/chevre/service/task/returnPayTransaction.js +2 -12
- package/lib/chevre/service/task/sendOrder.js +1 -1
- package/lib/chevre/service/task/useReservation.d.ts +7 -0
- package/lib/chevre/service/task/useReservation.js +36 -0
- package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
- package/lib/chevre/service/task.d.ts +9 -0
- package/lib/chevre/service/task.js +43 -4
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
- package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
- package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
- package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
- package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
- package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
- package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
- package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
- package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
- package/lib/chevre/service/transaction/placeOrder.js +1 -5
- package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
- package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
- package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
- package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
- package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
- package/lib/chevre/service/transaction/returnOrder.js +228 -36
- package/lib/chevre/service/transaction.d.ts +8 -13
- package/lib/chevre/service/transaction.js +12 -145
- package/lib/chevre/settings.d.ts +12 -1
- package/lib/chevre/settings.js +53 -6
- package/package.json +5 -5
- package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
- package/example/src/chevre/eventCatalog2eventService.ts +0 -123
- package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
- package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
- package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
- package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
- package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
|
@@ -5,6 +5,7 @@ import { RedisRepository as OfferRateLimitRepo } from '../../../repo/rateLimit/o
|
|
|
5
5
|
import { MongoRepository as ReservationRepo } from '../../../repo/reservation';
|
|
6
6
|
import { StockHolderRepository as StockHolderRepo } from '../../../repo/stockHolder';
|
|
7
7
|
import { MongoRepository as TaskRepo } from '../../../repo/task';
|
|
8
|
+
import { MongoRepository as TransactionRepo } from '../../../repo/transaction';
|
|
8
9
|
export import WebAPIIdentifier = factory.service.webAPI.Identifier;
|
|
9
10
|
interface IVoidTransactionRepos {
|
|
10
11
|
action: ActionRepo;
|
|
@@ -13,6 +14,7 @@ interface IVoidTransactionRepos {
|
|
|
13
14
|
offerRateLimit: OfferRateLimitRepo;
|
|
14
15
|
reservation: ReservationRepo;
|
|
15
16
|
task: TaskRepo;
|
|
17
|
+
transaction: TransactionRepo;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* イベントオファー承認取消(タスクから実行)
|
|
@@ -26,8 +26,13 @@ exports.WebAPIIdentifier = factory.service.webAPI.Identifier;
|
|
|
26
26
|
*/
|
|
27
27
|
function voidTransaction(params) {
|
|
28
28
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const transaction = yield repos.transaction.findById({
|
|
30
|
+
typeOf: params.purpose.typeOf,
|
|
31
|
+
id: params.purpose.id,
|
|
32
|
+
inclusion: ['_id', 'typeOf', 'status']
|
|
33
|
+
});
|
|
29
34
|
// 座席仮予約アクション検索
|
|
30
|
-
|
|
35
|
+
let authorizeActions = yield repos.action.searchByPurpose({
|
|
31
36
|
typeOf: factory.actionType.AuthorizeAction,
|
|
32
37
|
purpose: {
|
|
33
38
|
typeOf: params.purpose.typeOf,
|
|
@@ -36,6 +41,17 @@ function voidTransaction(params) {
|
|
|
36
41
|
})
|
|
37
42
|
.then((actions) => actions
|
|
38
43
|
.filter((a) => a.object.typeOf === factory.action.authorize.offer.seatReservation.ObjectType.SeatReservation));
|
|
44
|
+
switch (transaction.status) {
|
|
45
|
+
case factory.transactionStatusType.InProgress:
|
|
46
|
+
throw new factory.errors.NotImplemented(`${transaction.status} not implemented`);
|
|
47
|
+
// 確定取引に対応(2023-05-07~)
|
|
48
|
+
case factory.transactionStatusType.Confirmed:
|
|
49
|
+
// アクションステータスを検証する
|
|
50
|
+
authorizeActions = authorizeActions.filter((a) => a.actionStatus !== factory.actionStatusType.CompletedActionStatus);
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
// no op
|
|
54
|
+
}
|
|
39
55
|
yield Promise.all(authorizeActions.map((action) => __awaiter(this, void 0, void 0, function* () {
|
|
40
56
|
yield repos.action.cancel({ typeOf: action.typeOf, id: action.id });
|
|
41
57
|
switch (action.instrument.identifier) {
|
|
@@ -29,21 +29,19 @@ function authorize(params) {
|
|
|
29
29
|
throw new factory.errors.Forbidden('Transaction not yours');
|
|
30
30
|
}
|
|
31
31
|
// イベント取得属性最適化(2023-01-23~)
|
|
32
|
-
const screeningEvent = yield repos.event.findMinimizedIndividualEventById({
|
|
33
|
-
id: params.object.event.id
|
|
34
|
-
});
|
|
32
|
+
const screeningEvent = yield repos.event.findMinimizedIndividualEventById({ id: params.object.event.id });
|
|
35
33
|
const availablePaymentMethodTypes = yield repos.categoryCode.search({
|
|
36
34
|
project: { id: { $eq: transaction.project.id } },
|
|
37
35
|
inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.PaymentMethodType } }
|
|
38
|
-
});
|
|
36
|
+
}, [], []);
|
|
39
37
|
const seatingTypes = yield repos.categoryCode.search({
|
|
40
38
|
project: { id: { $eq: transaction.project.id } },
|
|
41
39
|
inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.SeatingType } }
|
|
42
|
-
});
|
|
40
|
+
}, [], []);
|
|
43
41
|
const videoFormatTypes = yield repos.categoryCode.search({
|
|
44
42
|
project: { id: { $eq: transaction.project.id } },
|
|
45
43
|
inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.VideoFormatType } }
|
|
46
|
-
});
|
|
44
|
+
}, [], []);
|
|
47
45
|
// COA仮予約後にリクエストが来る前提
|
|
48
46
|
const { acceptedOffers } = yield (0, validateAcceptedOffers_1.validateAcceptedOffers)({
|
|
49
47
|
object: params.object,
|
|
@@ -183,15 +181,15 @@ function changeOffers(params) {
|
|
|
183
181
|
const availablePaymentMethodTypes = yield repos.categoryCode.search({
|
|
184
182
|
project: { id: { $eq: transaction.project.id } },
|
|
185
183
|
inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.PaymentMethodType } }
|
|
186
|
-
});
|
|
184
|
+
}, [], []);
|
|
187
185
|
const seatingTypes = yield repos.categoryCode.search({
|
|
188
186
|
project: { id: { $eq: transaction.project.id } },
|
|
189
187
|
inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.SeatingType } }
|
|
190
|
-
});
|
|
188
|
+
}, [], []);
|
|
191
189
|
const videoFormatTypes = yield repos.categoryCode.search({
|
|
192
190
|
project: { id: { $eq: transaction.project.id } },
|
|
193
191
|
inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.VideoFormatType } }
|
|
194
|
-
});
|
|
192
|
+
}, [], []);
|
|
195
193
|
// COA仮予約後にリクエストが来る前提
|
|
196
194
|
const { acceptedOffers } = yield (0, validateAcceptedOffers_1.validateAcceptedOffers)({
|
|
197
195
|
object: params.object,
|
|
@@ -32,7 +32,7 @@ function search(params) {
|
|
|
32
32
|
page: 1,
|
|
33
33
|
project: { id: { $eq: params.project.id } },
|
|
34
34
|
id: { $eq: params.itemOffered.id }
|
|
35
|
-
});
|
|
35
|
+
}, [], []);
|
|
36
36
|
const product = searchProductsResult.shift();
|
|
37
37
|
if (product === undefined) {
|
|
38
38
|
throw new factory.errors.NotFound('Product');
|
|
@@ -206,7 +206,7 @@ function fixProductAndOffers(params) {
|
|
|
206
206
|
page: 1,
|
|
207
207
|
project: { id: { $eq: params.project.id } },
|
|
208
208
|
id: { $eq: productId }
|
|
209
|
-
});
|
|
209
|
+
}, [], []);
|
|
210
210
|
const product = searchProductsResult.shift();
|
|
211
211
|
if (product === undefined) {
|
|
212
212
|
throw new factory.errors.NotFound('Product');
|
|
@@ -47,19 +47,17 @@ export declare function searchEventSeatOffersWithPaging(params: {
|
|
|
47
47
|
stockHolder: StockHolderRepo;
|
|
48
48
|
place: PlaceRepo;
|
|
49
49
|
}) => Promise<factory.place.seat.IPlaceWithOffer[]>;
|
|
50
|
-
interface IChangedEvent {
|
|
51
|
-
id: string;
|
|
52
|
-
typeOf: factory.eventType;
|
|
53
|
-
project: {
|
|
54
|
-
id: string;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
50
|
/**
|
|
58
51
|
* イベント変更時処理
|
|
59
52
|
*/
|
|
60
53
|
export declare function onEventChanged(params: {
|
|
61
|
-
|
|
54
|
+
id: string[];
|
|
55
|
+
typeOf: factory.eventType;
|
|
56
|
+
project: {
|
|
57
|
+
id: string;
|
|
58
|
+
};
|
|
62
59
|
isNew: boolean;
|
|
60
|
+
useInform?: boolean;
|
|
63
61
|
}): (repos: {
|
|
64
62
|
event: EventRepo;
|
|
65
63
|
project: ProjectRepo;
|
|
@@ -76,3 +74,13 @@ export declare function createAggregateScreeningEventIfNotExist(params: {
|
|
|
76
74
|
}): (repos: {
|
|
77
75
|
task: TaskRepo;
|
|
78
76
|
}) => Promise<void>;
|
|
77
|
+
export declare function createInformTasks(params: {
|
|
78
|
+
project: {
|
|
79
|
+
id: string;
|
|
80
|
+
};
|
|
81
|
+
ids: string[];
|
|
82
|
+
typeOf: factory.eventType;
|
|
83
|
+
}): (repos: {
|
|
84
|
+
event: EventRepo;
|
|
85
|
+
task: TaskRepo;
|
|
86
|
+
}) => Promise<void>;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.createAggregateScreeningEventIfNotExist = exports.onEventChanged = exports.searchEventSeatOffersWithPaging = exports.addOffers2Seat = exports.product = exports.moneyTransfer = exports.eventServiceByCOA = exports.event = void 0;
|
|
12
|
+
exports.createInformTasks = exports.createAggregateScreeningEventIfNotExist = exports.onEventChanged = exports.searchEventSeatOffersWithPaging = exports.addOffers2Seat = exports.product = exports.moneyTransfer = exports.eventServiceByCOA = exports.event = void 0;
|
|
13
13
|
const moment = require("moment");
|
|
14
14
|
const factory = require("../factory");
|
|
15
15
|
const EventOfferService = require("./offer/event");
|
|
@@ -20,6 +20,8 @@ const MoneyTransferOfferService = require("./offer/moneyTransfer");
|
|
|
20
20
|
exports.moneyTransfer = MoneyTransferOfferService;
|
|
21
21
|
const ProductOfferService = require("./offer/product");
|
|
22
22
|
exports.product = ProductOfferService;
|
|
23
|
+
const settings_1 = require("../settings");
|
|
24
|
+
const informEvents = settings_1.settings.onEventChanged.informEvent;
|
|
23
25
|
/**
|
|
24
26
|
* 座席にオファー情報を付加する
|
|
25
27
|
*/
|
|
@@ -117,24 +119,33 @@ function searchEventSeatOffersWithPaging(params) {
|
|
|
117
119
|
});
|
|
118
120
|
}
|
|
119
121
|
exports.searchEventSeatOffersWithPaging = searchEventSeatOffersWithPaging;
|
|
122
|
+
// type IChangedEvent = factory.task.onEventChanged.IChangedEvent;
|
|
120
123
|
/**
|
|
121
124
|
* イベント変更時処理
|
|
122
125
|
*/
|
|
123
126
|
function onEventChanged(params) {
|
|
124
127
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
const changedEvents = (Array.isArray(params.event)) ? params.event : [params.event];
|
|
126
|
-
if (
|
|
128
|
+
// const changedEvents = (Array.isArray(params.event)) ? params.event : [params.event];
|
|
129
|
+
if (params.id.length > 0) {
|
|
127
130
|
// ScreeningEventであれば集計タスク
|
|
128
|
-
if (
|
|
131
|
+
if (params.typeOf === factory.eventType.ScreeningEvent) {
|
|
129
132
|
yield createAggregateScreeningEventIfNotExist({
|
|
130
|
-
project: { id:
|
|
131
|
-
reservationFor:
|
|
132
|
-
return { id
|
|
133
|
+
project: { id: params.project.id },
|
|
134
|
+
reservationFor: params.id.map((id) => {
|
|
135
|
+
return { id };
|
|
133
136
|
}),
|
|
134
137
|
// 新規作成の場合は強制的に集計
|
|
135
138
|
force: params.isNew
|
|
136
139
|
})(repos);
|
|
137
140
|
}
|
|
141
|
+
// 通知タスク作成(2023-06-08~)
|
|
142
|
+
if (params.useInform === true) {
|
|
143
|
+
yield createInformTasks({
|
|
144
|
+
project: { id: params.project.id },
|
|
145
|
+
ids: params.id,
|
|
146
|
+
typeOf: params.typeOf
|
|
147
|
+
})(repos);
|
|
148
|
+
}
|
|
138
149
|
}
|
|
139
150
|
});
|
|
140
151
|
}
|
|
@@ -186,8 +197,58 @@ function createAggregateScreeningEventIfNotExist(params) {
|
|
|
186
197
|
}
|
|
187
198
|
}
|
|
188
199
|
if (aggregateTasks.length > 0) {
|
|
189
|
-
yield repos.task.saveMany(aggregateTasks);
|
|
200
|
+
yield repos.task.saveMany(aggregateTasks, { emitImmediately: true });
|
|
190
201
|
}
|
|
191
202
|
});
|
|
192
203
|
}
|
|
193
204
|
exports.createAggregateScreeningEventIfNotExist = createAggregateScreeningEventIfNotExist;
|
|
205
|
+
function createInformTasks(params) {
|
|
206
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
207
|
+
const events4inform = yield repos.event.search({
|
|
208
|
+
id: { $in: params.ids },
|
|
209
|
+
typeOf: params.typeOf
|
|
210
|
+
}, {
|
|
211
|
+
aggregateEntranceGate: 0, aggregateOffer: 0, aggregateReservation: 0,
|
|
212
|
+
remainingAttendeeCapacity: 0, checkInCount: 0, attendeeCount: 0
|
|
213
|
+
});
|
|
214
|
+
if (events4inform.length > 0) {
|
|
215
|
+
const taskRunsAt = new Date();
|
|
216
|
+
const informTasks = [];
|
|
217
|
+
informEvents === null || informEvents === void 0 ? void 0 : informEvents.forEach((informEvent) => {
|
|
218
|
+
var _a;
|
|
219
|
+
const informUrl = String((_a = informEvent.recipient) === null || _a === void 0 ? void 0 : _a.url);
|
|
220
|
+
events4inform.forEach((event4inform) => {
|
|
221
|
+
var _a;
|
|
222
|
+
// _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
|
|
223
|
+
delete event4inform._id;
|
|
224
|
+
const informActionAttributes = {
|
|
225
|
+
agent: event4inform.project,
|
|
226
|
+
object: event4inform,
|
|
227
|
+
project: event4inform.project,
|
|
228
|
+
recipient: {
|
|
229
|
+
id: '',
|
|
230
|
+
name: String((_a = informEvent.recipient) === null || _a === void 0 ? void 0 : _a.name),
|
|
231
|
+
typeOf: factory.creativeWorkType.WebApplication,
|
|
232
|
+
url: informUrl
|
|
233
|
+
},
|
|
234
|
+
typeOf: factory.actionType.InformAction
|
|
235
|
+
};
|
|
236
|
+
informTasks.push({
|
|
237
|
+
project: event4inform.project,
|
|
238
|
+
name: factory.taskName.TriggerWebhook,
|
|
239
|
+
status: factory.taskStatus.Ready,
|
|
240
|
+
runsAt: taskRunsAt,
|
|
241
|
+
remainingNumberOfTries: 10,
|
|
242
|
+
numberOfTried: 0,
|
|
243
|
+
executionResults: [],
|
|
244
|
+
data: informActionAttributes
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
if (informTasks.length > 0) {
|
|
249
|
+
yield repos.task.saveMany(informTasks, { emitImmediately: true });
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
exports.createInformTasks = createInformTasks;
|
|
@@ -7,7 +7,9 @@ import * as factory from '../../factory';
|
|
|
7
7
|
* 注文に関わるリソースを削除する
|
|
8
8
|
* 冪等性を確保すること
|
|
9
9
|
*/
|
|
10
|
-
declare function deleteOrder(params:
|
|
10
|
+
declare function deleteOrder(params: {
|
|
11
|
+
object: Pick<factory.order.IOrder, 'project' | 'typeOf' | 'confirmationNumber' | 'orderDate' | 'orderNumber'>;
|
|
12
|
+
}): (repos: {
|
|
11
13
|
accountingReport: AccountingReportRepo;
|
|
12
14
|
order: OrderRepo;
|
|
13
15
|
ownershipInfo: OwnershipInfoRepo;
|
|
@@ -18,7 +18,14 @@ const factory = require("../../factory");
|
|
|
18
18
|
*/
|
|
19
19
|
function deleteOrder(params) {
|
|
20
20
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
const
|
|
21
|
+
const orders = yield repos.order.search({
|
|
22
|
+
orderNumbers: [params.object.orderNumber]
|
|
23
|
+
});
|
|
24
|
+
const order = orders.shift();
|
|
25
|
+
if (order === undefined) {
|
|
26
|
+
// すでに削除済
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
22
29
|
// 注文アイテムの予約を削除
|
|
23
30
|
yield deleteReservationsByOrder(order)(repos);
|
|
24
31
|
// 所有権削除
|
|
@@ -63,13 +70,6 @@ function deleteOwnershipInfosByOrder(order) {
|
|
|
63
70
|
// 所有期限切れのもの(ownedThroughの存在しないものは削除してはいけない)
|
|
64
71
|
ownedThrough: { $lt: now }
|
|
65
72
|
});
|
|
66
|
-
// await repos.ownershipInfo.ownershipInfoModel.deleteMany({
|
|
67
|
-
// 'project.id': { $eq: order.project.id },
|
|
68
|
-
// identifier: { $in: ownershipIdentifiers },
|
|
69
|
-
// // 所有期限切れのもの(ownedThroughの存在しないものは削除してはいけない)
|
|
70
|
-
// ownedThrough: { $exists: true, $lt: now }
|
|
71
|
-
// })
|
|
72
|
-
// .exec();
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
}
|
|
@@ -6,8 +6,11 @@ export declare function getOrderWithToken(params: {
|
|
|
6
6
|
order: factory.order.IOrder;
|
|
7
7
|
expiresIn: number;
|
|
8
8
|
}): Promise<factory.order.IOrder | IOrderWithToken>;
|
|
9
|
-
export
|
|
10
|
-
|
|
9
|
+
export type IUpdatedOrder4inform = Pick<factory.order.IOrder, 'typeOf' | 'orderNumber' | 'name' | 'additionalProperty' | 'project'> & {
|
|
10
|
+
orderStatus?: undefined;
|
|
11
|
+
updatedAt: Date;
|
|
12
|
+
};
|
|
13
|
+
export declare function createInformTasks(order: factory.order.IOrder | IOrderWithToken | IUpdatedOrder4inform): factory.task.IAttributes<factory.taskName.TriggerWebhook>[];
|
|
11
14
|
export declare function createConfirmReservationActionObject4ChevreByOrder(params: {
|
|
12
15
|
order: factory.order.IOrder;
|
|
13
16
|
}): factory.action.interact.confirm.reservation.IObject<factory.service.webAPI.Identifier.Chevre>[];
|
|
@@ -10,10 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
var _a;
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.
|
|
13
|
+
exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = exports.getOrderWithToken = void 0;
|
|
14
14
|
const google_libphonenumber_1 = require("google-libphonenumber");
|
|
15
15
|
const jwt = require("jsonwebtoken");
|
|
16
|
-
const moment = require("moment");
|
|
17
16
|
const util_1 = require("util");
|
|
18
17
|
const credentials_1 = require("../../../credentials");
|
|
19
18
|
const factory = require("../../../factory");
|
|
@@ -26,32 +25,10 @@ function getOrderWithToken(params) {
|
|
|
26
25
|
if (typeof credentials_1.credentials.hub.clientId !== 'string') {
|
|
27
26
|
return params.order;
|
|
28
27
|
}
|
|
29
|
-
// 冗長な個人情報をマスク(最低限の情報に)
|
|
30
|
-
// const customer4orderToken: factory.order.ISimpleCustomer =
|
|
31
|
-
// (params.order.customer.typeOf === factory.organizationType.Organization)
|
|
32
|
-
// ? {
|
|
33
|
-
// id: params.order.customer.id,
|
|
34
|
-
// name: '****',
|
|
35
|
-
// // project: params.order.customer.project,
|
|
36
|
-
// typeOf: params.order.customer.typeOf
|
|
37
|
-
// }
|
|
38
|
-
// : {
|
|
39
|
-
// id: params.order.customer.id,
|
|
40
|
-
// typeOf: params.order.customer.typeOf
|
|
41
|
-
// };
|
|
42
|
-
// const seller4orderToken: Omit<factory.order.ISeller, 'name'> = {
|
|
43
|
-
// id: params.order.seller.id,
|
|
44
|
-
// typeOf: params.order.seller.typeOf
|
|
45
|
-
// };
|
|
46
28
|
// 最適化(2023-01-31~)
|
|
47
29
|
const order4token = {
|
|
48
30
|
typeOf: params.order.typeOf,
|
|
49
|
-
// seller: seller4orderToken,
|
|
50
|
-
// customer: customer4orderToken,
|
|
51
31
|
orderNumber: params.order.orderNumber
|
|
52
|
-
// price: params.order.price,
|
|
53
|
-
// priceCurrency: params.order.priceCurrency,
|
|
54
|
-
// orderDate: params.order.orderDate
|
|
55
32
|
};
|
|
56
33
|
const token = yield new Promise((resolve, reject) => {
|
|
57
34
|
// 所有権を暗号化する
|
|
@@ -86,10 +63,13 @@ function createInformTasks(order) {
|
|
|
86
63
|
let informTasks = [];
|
|
87
64
|
if (Array.isArray(informOrder) && informOrder.length > 0) {
|
|
88
65
|
const order4inform = creteOrder4inform(order);
|
|
89
|
-
let recipientId =
|
|
90
|
-
if (order.orderStatus ===
|
|
91
|
-
|
|
92
|
-
|
|
66
|
+
let recipientId = '';
|
|
67
|
+
if (typeof order.orderStatus === 'string') {
|
|
68
|
+
recipientId = order.customer.id;
|
|
69
|
+
if (order.orderStatus === factory.orderStatus.OrderReturned) {
|
|
70
|
+
if (typeof ((_a = order.returner) === null || _a === void 0 ? void 0 : _a.id) === 'string') {
|
|
71
|
+
recipientId = order.returner.id;
|
|
72
|
+
}
|
|
93
73
|
}
|
|
94
74
|
}
|
|
95
75
|
informTasks = informOrder.map((informOrderParams) => {
|
|
@@ -98,7 +78,6 @@ function createInformTasks(order) {
|
|
|
98
78
|
agent: order.project,
|
|
99
79
|
object: order4inform,
|
|
100
80
|
project: order.project,
|
|
101
|
-
// purpose: params.transaction,
|
|
102
81
|
recipient: {
|
|
103
82
|
url: (_a = informOrderParams.recipient) === null || _a === void 0 ? void 0 : _a.url,
|
|
104
83
|
id: recipientId,
|
|
@@ -123,62 +102,43 @@ function createInformTasks(order) {
|
|
|
123
102
|
}
|
|
124
103
|
exports.createInformTasks = createInformTasks;
|
|
125
104
|
function creteOrder4inform(order) {
|
|
126
|
-
if (order.orderStatus ===
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
105
|
+
if (typeof order.orderStatus === 'string') {
|
|
106
|
+
if (order.orderStatus === factory.orderStatus.OrderReturned) {
|
|
107
|
+
// 返品注文通知内容を最適化(2022-12-28~)
|
|
108
|
+
return Object.assign(Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (order.dateReturned !== undefined) ? { dateReturned: order.dateReturned } : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
|
|
109
|
+
}
|
|
110
|
+
else if (order.orderStatus === factory.orderStatus.OrderDelivered) {
|
|
111
|
+
// 配送済注文通知内容を最適化(2022-12-29~)
|
|
112
|
+
return Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (typeof order.id === 'string') ? { id: order.id } : undefined);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// 冗長な個人情報をmask
|
|
116
|
+
return Object.assign(Object.assign({
|
|
117
|
+
// whitelistで作成する(2022-07-19~)
|
|
118
|
+
project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
|
|
119
|
+
// mask
|
|
120
|
+
customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
|
|
121
|
+
// identifierは必要
|
|
122
|
+
// 予約後を隠蔽(2022-12-24~)
|
|
123
|
+
identifier: (Array.isArray(order.customer.identifier))
|
|
124
|
+
? order.customer.identifier.filter((p) => {
|
|
125
|
+
return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
|
|
126
|
+
})
|
|
127
|
+
: [] }),
|
|
128
|
+
// paymentMethodsに関してもmask(2022-05-30~)
|
|
129
|
+
paymentMethods: order.paymentMethods.map((p) => {
|
|
130
|
+
return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
|
|
131
|
+
? { accountId: ASTERISK_CHARACTER.repeat(p.accountId.length) }
|
|
132
|
+
: undefined);
|
|
133
|
+
}) }, (typeof order.token === 'string')
|
|
134
|
+
? { token: order.token }
|
|
135
|
+
: undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
|
|
136
|
+
}
|
|
133
137
|
}
|
|
134
138
|
else {
|
|
135
|
-
|
|
136
|
-
return Object.assign(Object.assign({
|
|
137
|
-
// whitelistで作成する(2022-07-19~)
|
|
138
|
-
project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
|
|
139
|
-
// mask
|
|
140
|
-
customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
|
|
141
|
-
// identifierは必要
|
|
142
|
-
// 予約後を隠蔽(2022-12-24~)
|
|
143
|
-
identifier: (Array.isArray(order.customer.identifier))
|
|
144
|
-
? order.customer.identifier.filter((p) => {
|
|
145
|
-
return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
|
|
146
|
-
})
|
|
147
|
-
: [] }),
|
|
148
|
-
// paymentMethodsに関してもmask(2022-05-30~)
|
|
149
|
-
paymentMethods: order.paymentMethods.map((p) => {
|
|
150
|
-
return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
|
|
151
|
-
? { accountId: ASTERISK_CHARACTER.repeat(p.accountId.length) }
|
|
152
|
-
: undefined);
|
|
153
|
-
}) }, (typeof order.token === 'string')
|
|
154
|
-
? { token: order.token }
|
|
155
|
-
: undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
|
|
139
|
+
return order;
|
|
156
140
|
}
|
|
157
141
|
}
|
|
158
|
-
/**
|
|
159
|
-
* 注文保管期間
|
|
160
|
-
*/
|
|
161
|
-
const ORDER_STORAGE_PERIOD_IN_DAYS = (typeof process.env.ORDER_STORAGE_PERIOD_IN_DAYS === 'string')
|
|
162
|
-
? Number(process.env.ORDER_STORAGE_PERIOD_IN_DAYS) :
|
|
163
|
-
// tslint:disable-next-line:no-magic-numbers
|
|
164
|
-
365;
|
|
165
|
-
function createDeleteTasks(order) {
|
|
166
|
-
return [{
|
|
167
|
-
project: order.project,
|
|
168
|
-
name: factory.taskName.DeleteOrder,
|
|
169
|
-
status: factory.taskStatus.Ready,
|
|
170
|
-
runsAt: moment(order.orderDate)
|
|
171
|
-
.add(ORDER_STORAGE_PERIOD_IN_DAYS, 'days')
|
|
172
|
-
.toDate(),
|
|
173
|
-
remainingNumberOfTries: 10,
|
|
174
|
-
numberOfTried: 0,
|
|
175
|
-
executionResults: [],
|
|
176
|
-
data: {
|
|
177
|
-
object: order
|
|
178
|
-
}
|
|
179
|
-
}];
|
|
180
|
-
}
|
|
181
|
-
exports.createDeleteTasks = createDeleteTasks;
|
|
182
142
|
function createConfirmReservationActionObject4ChevreByOrder(params) {
|
|
183
143
|
const chevreReservationNumbers = (Array.isArray(params.order.acceptedOffers))
|
|
184
144
|
? params.order.acceptedOffers.filter((o) => {
|
|
@@ -72,8 +72,6 @@ function onOrderStatusChanged(params) {
|
|
|
72
72
|
tasks = [
|
|
73
73
|
// 注文作成時のみトークン付加
|
|
74
74
|
...(0, factory_1.createInformTasks)(orderWithToken),
|
|
75
|
-
// リソース削除タスク
|
|
76
|
-
...(0, factory_1.createDeleteTasks)(params.order),
|
|
77
75
|
...yield createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
|
|
78
76
|
...yield createConfirmReserveTransactionTasks(params.order, simpleOrder)(repos),
|
|
79
77
|
...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
|
|
@@ -89,7 +87,7 @@ function onOrderStatusChanged(params) {
|
|
|
89
87
|
break;
|
|
90
88
|
default:
|
|
91
89
|
}
|
|
92
|
-
yield repos.task.saveMany(tasks);
|
|
90
|
+
yield repos.task.saveMany(tasks, { emitImmediately: true });
|
|
93
91
|
});
|
|
94
92
|
}
|
|
95
93
|
exports.onOrderStatusChanged = onOrderStatusChanged;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 注文変更時処理
|
|
3
|
+
*/
|
|
4
|
+
import { MongoRepository as TaskRepo } from '../../repo/task';
|
|
5
|
+
import * as factory from '../../factory';
|
|
6
|
+
export declare function onOrderUpdated(params: {
|
|
7
|
+
additionalProperty?: factory.propertyValue.IPropertyValue<string>[];
|
|
8
|
+
name?: string;
|
|
9
|
+
orderNumber: string;
|
|
10
|
+
project: {
|
|
11
|
+
id: string;
|
|
12
|
+
};
|
|
13
|
+
updatedAt: Date;
|
|
14
|
+
}): (repos: {
|
|
15
|
+
task: TaskRepo;
|
|
16
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.onOrderUpdated = void 0;
|
|
13
|
+
const factory = require("../../factory");
|
|
14
|
+
const factory_1 = require("./onOrderStatusChanged/factory");
|
|
15
|
+
function onOrderUpdated(params) {
|
|
16
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
let tasks = [];
|
|
18
|
+
tasks = (0, factory_1.createInformTasks)(Object.assign(Object.assign({ typeOf: factory.order.OrderType.Order, orderNumber: params.orderNumber, project: { id: params.project.id, typeOf: factory.organizationType.Project }, updatedAt: params.updatedAt }, (typeof params.name === 'string') ? { name: params.name } : undefined), (Array.isArray(params.additionalProperty)) ? { additionalProperty: params.additionalProperty } : undefined));
|
|
19
|
+
yield repos.task.saveMany(tasks, { emitImmediately: true });
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.onOrderUpdated = onOrderUpdated;
|