@chevre/domain 28.0.0-alpha.4 → 28.0.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/lib/chevre/emailMessageBuilder.d.ts +9 -5
- package/lib/chevre/emailMessageBuilder.js +12 -11
- package/lib/chevre/factory/event.d.ts +1 -1
- package/lib/chevre/factory/event.js +1 -5
- package/lib/chevre/repo/acceptedOffer.d.ts +6 -5
- package/lib/chevre/repo/acceptedOffer.js +14 -9
- package/lib/chevre/repo/acceptedOfferInReserve.d.ts +6 -8
- package/lib/chevre/repo/acceptedOfferInReserve.js +13 -7
- package/lib/chevre/repo/adminAcceptedOffer.d.ts +25 -12
- package/lib/chevre/repo/adminAcceptedOffer.js +20 -10
- package/lib/chevre/repo/adminAccountTitle.d.ts +49 -0
- package/lib/chevre/repo/adminAccountTitle.js +212 -0
- package/lib/chevre/repo/adminAccountTitleCategory.d.ts +37 -0
- package/lib/chevre/repo/adminAccountTitleCategory.js +127 -0
- package/lib/chevre/repo/adminAccountTitleSet.d.ts +42 -0
- package/lib/chevre/repo/adminAccountTitleSet.js +149 -0
- package/lib/chevre/repo/adminEvent.d.ts +1 -7
- package/lib/chevre/repo/adminEvent.js +3 -9
- package/lib/chevre/repo/adminEventSeries.d.ts +67 -0
- package/lib/chevre/repo/adminEventSeries.js +178 -0
- package/lib/chevre/repo/{paymentServiceChannel.d.ts → adminPaymentServiceChannel.d.ts} +13 -11
- package/lib/chevre/repo/{paymentServiceChannel.js → adminPaymentServiceChannel.js} +20 -19
- package/lib/chevre/repo/adminTask.d.ts +2 -2
- package/lib/chevre/repo/adminTransaction.d.ts +20 -30
- package/lib/chevre/repo/aggregateEvent.js +0 -1
- package/lib/chevre/repo/categoryCode.js +0 -21
- package/lib/chevre/repo/event.d.ts +2 -2
- package/lib/chevre/repo/event.js +71 -110
- package/lib/chevre/repo/eventSeries.d.ts +5 -84
- package/lib/chevre/repo/eventSeries.js +21 -212
- package/lib/chevre/repo/factory/acceptedOffer/reserveTransaction2itemOffered.d.ts +1 -1
- package/lib/chevre/repo/issuer.d.ts +2 -6
- package/lib/chevre/repo/memberProgram.d.ts +1 -38
- package/lib/chevre/repo/memberProgram.js +1 -62
- package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/accountTitle.js +21 -25
- package/lib/chevre/repo/mongoose/schemas/civicStructure.d.ts +1 -0
- package/lib/chevre/repo/mongoose/schemas/event.js +0 -13
- package/lib/chevre/repo/mongoose/schemas/eventSeries.js +1 -18
- package/lib/chevre/repo/mongoose/schemas/issuer.d.ts +1 -3
- package/lib/chevre/repo/mongoose/schemas/issuer.js +0 -10
- package/lib/chevre/repo/mongoose/schemas/message.d.ts +5 -1
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +0 -1
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +3 -12
- package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +1 -2
- package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +6 -15
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +22 -1
- package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/place.js +0 -9
- package/lib/chevre/repo/mongoose/schemas/project.d.ts +1 -2
- package/lib/chevre/repo/mongoose/schemas/project.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/seller.d.ts +3 -1
- package/lib/chevre/repo/mongoose/schemas/seller.js +0 -2
- package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/transaction.js +51 -52
- package/lib/chevre/repo/offerCatalog.d.ts +0 -2
- package/lib/chevre/repo/offerCatalogItem.d.ts +13 -20
- package/lib/chevre/repo/offerCatalogItem.js +8 -86
- package/lib/chevre/repo/order.d.ts +2 -2
- package/lib/chevre/repo/order.js +0 -31
- package/lib/chevre/repo/orderInTransaction.d.ts +5 -25
- package/lib/chevre/repo/place/movieTheater.d.ts +3 -1
- package/lib/chevre/repo/place/movieTheater.js +3 -1
- package/lib/chevre/repo/place/{hasPOS.d.ts → pos.d.ts} +13 -20
- package/lib/chevre/repo/place/{hasPOS.js → pos.js} +66 -29
- package/lib/chevre/repo/place/screeningRoom.d.ts +24 -3
- package/lib/chevre/repo/place/screeningRoom.js +28 -17
- package/lib/chevre/repo/priceSpecification.d.ts +8 -8
- package/lib/chevre/repo/project.d.ts +13 -19
- package/lib/chevre/repo/project.js +27 -43
- package/lib/chevre/repo/projectMakesOffer.js +2 -2
- package/lib/chevre/repo/role.d.ts +1 -1
- package/lib/chevre/repo/role.js +1 -30
- package/lib/chevre/repo/seller.d.ts +11 -4
- package/lib/chevre/repo/seller.js +31 -58
- package/lib/chevre/repo/sellerPaymentAccepted.d.ts +14 -21
- package/lib/chevre/repo/sellerPaymentAccepted.js +65 -38
- package/lib/chevre/repo/task.d.ts +3 -3
- package/lib/chevre/repo/transaction/placeOrder.d.ts +2 -3
- package/lib/chevre/repo/transaction/placeOrder.js +15 -36
- package/lib/chevre/repository.d.ts +30 -15
- package/lib/chevre/repository.js +63 -30
- package/lib/chevre/service/aggregation/event/aggregateOffers.js +1 -2
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +2 -2
- package/lib/chevre/service/aggregation.d.ts +0 -2
- package/lib/chevre/service/aggregation.js +1 -3
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +1 -2
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +2 -2
- package/lib/chevre/service/assetTransaction/reserve/start.js +2 -1
- package/lib/chevre/service/delivery/reservation/factory.d.ts +1 -1
- package/lib/chevre/service/event/saveScreeningEventSeries.d.ts +2 -2
- package/lib/chevre/service/event/saveScreeningEventSeries.js +2 -3
- package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -0
- package/lib/chevre/service/event/saveScreeningEvents.js +4 -4
- package/lib/chevre/service/event.d.ts +2 -0
- package/lib/chevre/service/event.js +0 -1
- package/lib/chevre/service/notification/sendEmailMessage.d.ts +2 -0
- package/lib/chevre/service/notification/sendEmailMessage.js +23 -6
- package/lib/chevre/service/offer/any.d.ts +1 -1
- package/lib/chevre/service/offer/event/authorize/factory.d.ts +3 -3
- package/lib/chevre/service/offer/event/authorize/factory.js +1 -8
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +1 -1
- package/lib/chevre/service/offer/event/issueEventOfferTicket.js +0 -11
- package/lib/chevre/service/offer/event/searchEventTicketOffers.js +4 -10
- package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +2 -8
- package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +2 -2
- package/lib/chevre/service/offer/event/searchOffersByIds.js +3 -9
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +0 -1
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +1 -1
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +0 -7
- package/lib/chevre/service/offer/onEventChanged.js +9 -21
- package/lib/chevre/service/offer.js +1 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +4 -6
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +23 -4
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +1 -1
- package/lib/chevre/service/order/placeOrder/factory/orderedItem.d.ts +1 -1
- package/lib/chevre/service/order/placeOrder/factory.d.ts +1 -1
- package/lib/chevre/service/order/sendOrder.js +2 -14
- package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +1 -1
- package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.d.ts +3 -3
- package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +1 -1
- package/lib/chevre/service/payment/movieTicket/payMovieTicket/payActionParams2seatInfoSyncIn.js +1 -1
- package/lib/chevre/service/payment/movieTicket/validation.js +1 -1
- package/lib/chevre/service/project.d.ts +3 -3
- package/lib/chevre/service/project.js +1 -1
- package/lib/chevre/service/task/importEventsFromCOA.js +2 -0
- package/lib/chevre/service/task/onResourceDeleted.js +8 -8
- package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.d.ts +7 -3
- package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +51 -50
- package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +1 -1
- package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +1 -1
- package/lib/chevre/service/task/onResourceUpdated.js +10 -47
- package/lib/chevre/service/task/sendEmailMessage.js +3 -1
- package/lib/chevre/service/task/syncResourcesFromCOA.js +5 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +6 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +2 -15
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +6 -4
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +3 -7
- package/lib/chevre/service/transaction/placeOrder/confirm/prepareUnitPriceOfferConditions.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +2 -2
- package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +0 -2
- package/lib/chevre/service/transaction/placeOrder/confirm.js +6 -11
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +8 -9
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.d.ts +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +2 -7
- package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +4 -3
- package/lib/chevre/service/transaction/returnOrder/preStart/factory.d.ts +1 -1
- package/lib/chevre/service/transaction/returnOrder/preStart.js +1 -2
- package/lib/chevre/service/transaction/returnOrder.d.ts +0 -2
- package/lib/chevre/service/transaction/returnOrder.js +6 -6
- package/package.json +2 -2
- package/lib/chevre/repo/accountTitle.d.ts +0 -28
- package/lib/chevre/repo/accountTitle.js +0 -30
- package/lib/chevre/service/aggregation/project.d.ts +0 -17
- package/lib/chevre/service/aggregation/project.js +0 -98
- package/lib/chevre/service/delivery/factory.d.ts +0 -16
- package/lib/chevre/service/delivery/factory.js +0 -124
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { factory } from './factory';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type ISender = Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
3
|
+
email?: never;
|
|
4
|
+
};
|
|
5
|
+
type ISendableEmailMessage = Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
6
|
+
sender: ISender;
|
|
7
|
+
} & {
|
|
4
8
|
identifier: string;
|
|
5
9
|
name: string;
|
|
6
10
|
};
|
|
@@ -19,7 +23,7 @@ declare function createSendOrderMessage(params: {
|
|
|
19
23
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
20
24
|
emailMessage?: never;
|
|
21
25
|
index: number;
|
|
22
|
-
}
|
|
26
|
+
}): Promise<ISendableEmailMessage>;
|
|
23
27
|
/**
|
|
24
28
|
* 注文返品メッセージを作成する
|
|
25
29
|
*/
|
|
@@ -28,7 +32,7 @@ declare function createReturnOrderMessage(params: {
|
|
|
28
32
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
29
33
|
emailMessage?: never;
|
|
30
34
|
index: number;
|
|
31
|
-
}
|
|
35
|
+
}): Promise<ISendableEmailMessage>;
|
|
32
36
|
/**
|
|
33
37
|
* 返金メッセージを作成する
|
|
34
38
|
*/
|
|
@@ -36,5 +40,5 @@ declare function createRefundMessage(params: {
|
|
|
36
40
|
order: IOrderAsCreateEmailParams;
|
|
37
41
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
38
42
|
paymentMethodId: string;
|
|
39
|
-
}
|
|
43
|
+
}): Promise<ISendableEmailMessage>;
|
|
40
44
|
export { createSendOrderMessage, createReturnOrderMessage, createRefundMessage, IOrderAsCreateEmailParams };
|
|
@@ -61,17 +61,18 @@ async function createEmailMessageAbout(params) {
|
|
|
61
61
|
}
|
|
62
62
|
return about;
|
|
63
63
|
}
|
|
64
|
-
function createEmailMessageSender(params
|
|
65
|
-
if (typeof setting.defaultSenderEmail !== 'string') {
|
|
66
|
-
|
|
67
|
-
}
|
|
64
|
+
function createEmailMessageSender(params) {
|
|
65
|
+
// if (typeof setting.defaultSenderEmail !== 'string') {
|
|
66
|
+
// throw new factory.errors.NotFound('setting.defaultSenderEmail');
|
|
67
|
+
// }
|
|
68
68
|
const defaultSellerName = (typeof params.order.seller.name === 'string') ? params.order.seller.name : params.order.seller.typeOf;
|
|
69
69
|
return {
|
|
70
70
|
typeOf: params.order.seller.typeOf,
|
|
71
71
|
name: (typeof params.email?.sender?.name === 'string')
|
|
72
72
|
? params.email.sender.name
|
|
73
73
|
: defaultSellerName,
|
|
74
|
-
|
|
74
|
+
// 送信元アドレスはmessagesに保管しない(2026-10-20~)
|
|
75
|
+
// email: setting.defaultSenderEmail // 送信元未指定であればタスクで自動設定されるがとりあえず指定(2026-10-20~)
|
|
75
76
|
};
|
|
76
77
|
}
|
|
77
78
|
/**
|
|
@@ -99,7 +100,7 @@ function minimizeOrderAsCreateEmailParams(order) {
|
|
|
99
100
|
/**
|
|
100
101
|
* 注文配送メッセージを作成する
|
|
101
102
|
*/
|
|
102
|
-
async function createSendOrderMessage(params
|
|
103
|
+
async function createSendOrderMessage(params) {
|
|
103
104
|
const minimizedOrder = minimizeOrderAsCreateEmailParams(params.order);
|
|
104
105
|
const emailMessageText = await createEmailMessageText({
|
|
105
106
|
order: minimizedOrder,
|
|
@@ -112,7 +113,7 @@ async function createSendOrderMessage(params, setting) {
|
|
|
112
113
|
});
|
|
113
114
|
const defaultToRecipientEmail = minimizedOrder.customer.email;
|
|
114
115
|
const defaultRecipientName = `${minimizedOrder.customer.familyName} ${minimizedOrder.customer.givenName}`;
|
|
115
|
-
const sender = createEmailMessageSender(params
|
|
116
|
+
const sender = createEmailMessageSender(params);
|
|
116
117
|
const toRecipientCustomization = params.email?.toRecipient;
|
|
117
118
|
const toRecipient = (Array.isArray(toRecipientCustomization))
|
|
118
119
|
? toRecipientCustomization.map((customizedRecipient) => {
|
|
@@ -148,7 +149,7 @@ async function createSendOrderMessage(params, setting) {
|
|
|
148
149
|
/**
|
|
149
150
|
* 注文返品メッセージを作成する
|
|
150
151
|
*/
|
|
151
|
-
async function createReturnOrderMessage(params
|
|
152
|
+
async function createReturnOrderMessage(params) {
|
|
152
153
|
const minimizedOrder = minimizeOrderAsCreateEmailParams(params.order);
|
|
153
154
|
const emailMessageText = await createEmailMessageText({
|
|
154
155
|
order: minimizedOrder,
|
|
@@ -161,7 +162,7 @@ async function createReturnOrderMessage(params, setting) {
|
|
|
161
162
|
});
|
|
162
163
|
const defaultToRecipientEmail = minimizedOrder.customer.email;
|
|
163
164
|
const defaultRecipientName = `${minimizedOrder.customer.familyName} ${minimizedOrder.customer.givenName}`;
|
|
164
|
-
const sender = createEmailMessageSender(params
|
|
165
|
+
const sender = createEmailMessageSender(params);
|
|
165
166
|
const toRecipientCustomization = params.email?.toRecipient;
|
|
166
167
|
const toRecipient = (Array.isArray(toRecipientCustomization))
|
|
167
168
|
? toRecipientCustomization.map((customizedRecipient) => {
|
|
@@ -197,7 +198,7 @@ async function createReturnOrderMessage(params, setting) {
|
|
|
197
198
|
/**
|
|
198
199
|
* 返金メッセージを作成する
|
|
199
200
|
*/
|
|
200
|
-
async function createRefundMessage(params
|
|
201
|
+
async function createRefundMessage(params) {
|
|
201
202
|
const minimizedOrder = minimizeOrderAsCreateEmailParams(params.order);
|
|
202
203
|
const emailMessageText = await createEmailMessageText({
|
|
203
204
|
order: minimizedOrder,
|
|
@@ -210,7 +211,7 @@ async function createRefundMessage(params, setting) {
|
|
|
210
211
|
});
|
|
211
212
|
const defaultToRecipientEmail = minimizedOrder.customer.email;
|
|
212
213
|
const defaultRecipientName = `${minimizedOrder.customer.familyName} ${minimizedOrder.customer.givenName}`;
|
|
213
|
-
const sender = createEmailMessageSender(params
|
|
214
|
+
const sender = createEmailMessageSender(params);
|
|
214
215
|
const toRecipientCustomization = params.email?.toRecipient;
|
|
215
216
|
const toRecipient = (Array.isArray(toRecipientCustomization))
|
|
216
217
|
? toRecipientCustomization.map((customizedRecipient) => {
|
|
@@ -4,5 +4,5 @@ export type IMinimizedIndividualEvent = Pick<factory.event.screeningEvent.IEvent
|
|
|
4
4
|
* 興行イベントのsuperEventを作成する
|
|
5
5
|
*/
|
|
6
6
|
export declare function minimizeSuperEvent(params: {
|
|
7
|
-
superEventFromDB: Pick<factory.eventSeries.IEvent, 'additionalProperty' | 'alternativeHeadline' | 'description' | 'dubLanguage' | 'endDate' | 'headline' | 'id' | 'kanaName' | 'location' | 'name' | '
|
|
7
|
+
superEventFromDB: Pick<factory.eventSeries.IEvent, 'additionalProperty' | 'alternativeHeadline' | 'description' | 'dubLanguage' | 'endDate' | 'headline' | 'id' | 'kanaName' | 'location' | 'name' | 'startDate' | 'subtitleLanguage' | 'typeOf' | 'workPerformed'>;
|
|
8
8
|
}): factory.event.screeningEvent.ISuperEvent;
|
|
@@ -29,15 +29,11 @@ function minimizeSuperEvent(params) {
|
|
|
29
29
|
...(params.superEventFromDB.location.name !== undefined)
|
|
30
30
|
? { name: params.superEventFromDB.location.name }
|
|
31
31
|
: undefined
|
|
32
|
-
// 廃止(2024-03-05~)
|
|
33
|
-
// ...(typeof params.superEventFromDB.location.kanaName === 'string')
|
|
34
|
-
// ? { kanaName: params.superEventFromDB.location.kanaName }
|
|
35
|
-
// : undefined
|
|
36
32
|
};
|
|
37
33
|
return {
|
|
38
34
|
typeOf: factory_1.factory.eventType.ScreeningEventSeries,
|
|
39
35
|
id: params.superEventFromDB.id,
|
|
40
|
-
soundFormat: params.superEventFromDB.soundFormat,
|
|
36
|
+
// soundFormat: params.superEventFromDB.soundFormat, // discontinue(2026-10-05~)
|
|
41
37
|
workPerformed,
|
|
42
38
|
location,
|
|
43
39
|
kanaName: params.superEventFromDB.kanaName,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Connection } from 'mongoose';
|
|
2
|
-
import {
|
|
2
|
+
import { factory } from '../factory';
|
|
3
|
+
import { AcceptedOfferInReserveRepo } from './acceptedOfferInReserve';
|
|
3
4
|
type IDistinctField = 'acceptedOffers.id' | 'acceptedOffers.itemOffered.reservationNumber' | 'acceptedOffers.itemOffered.reservationFor.id' | 'acceptedOffers.serialNumber' | 'acceptedOffers.offeredThrough.identifier' | 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode';
|
|
4
5
|
interface ISearchSlicedAcceptedOffersResult {
|
|
5
|
-
|
|
6
|
-
numAcceptedOffers: number;
|
|
6
|
+
partialAcceptedOffers: Pick<factory.acceptedOffer.IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'>[];
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* 注文オファーリポジトリ
|
|
@@ -41,11 +41,12 @@ export declare class AcceptedOfferRepo extends AcceptedOfferInReserveRepo {
|
|
|
41
41
|
reservedTicket?: never;
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
|
-
}): Promise<Pick<IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'>[]>;
|
|
44
|
+
}): Promise<Pick<factory.acceptedOffer.IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'>[]>;
|
|
45
45
|
/**
|
|
46
46
|
* 注文オファーをsliceして検索する(2024-01-10~)
|
|
47
|
+
* 注文通知に渡すオファーを参照するためにのみ使用
|
|
47
48
|
*/
|
|
48
|
-
|
|
49
|
+
findPartialAcceptedOffersByOrderNumber(filter: {
|
|
49
50
|
$slice: [number, number];
|
|
50
51
|
orderNumber: {
|
|
51
52
|
$eq: string;
|
|
@@ -69,17 +69,22 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* 注文オファーをsliceして検索する(2024-01-10~)
|
|
72
|
+
* 注文通知に渡すオファーを参照するためにのみ使用
|
|
72
73
|
*/
|
|
73
|
-
async
|
|
74
|
+
async findPartialAcceptedOffersByOrderNumber(filter) {
|
|
74
75
|
const aggregate = this.orderModel.aggregate([
|
|
75
|
-
{
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
{
|
|
77
|
+
$match: {
|
|
78
|
+
orderNumber: { $eq: filter.orderNumber.$eq },
|
|
79
|
+
'project.id': { $eq: filter.project.id.$eq },
|
|
80
|
+
typeOf: { $eq: factory_1.factory.order.OrderType.Order }
|
|
81
|
+
}
|
|
82
|
+
},
|
|
78
83
|
{
|
|
79
84
|
$project: {
|
|
80
85
|
_id: 0,
|
|
81
|
-
|
|
82
|
-
numAcceptedOffers: { $size: '$acceptedOffers' }
|
|
86
|
+
partialAcceptedOffers: { $slice: ['$acceptedOffers', ...filter.$slice] },
|
|
87
|
+
// numAcceptedOffers: { $size: '$acceptedOffers' }
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
]);
|
|
@@ -89,11 +94,11 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
89
94
|
if (result === undefined) {
|
|
90
95
|
throw new factory_1.factory.errors.NotFound(factory_1.factory.order.OrderType.Order);
|
|
91
96
|
}
|
|
92
|
-
const {
|
|
97
|
+
const { partialAcceptedOffers } = result;
|
|
93
98
|
// 予約取引を参照(2026-05-18~)
|
|
94
99
|
return {
|
|
95
|
-
|
|
96
|
-
numAcceptedOffers
|
|
100
|
+
partialAcceptedOffers: await this.addAcceptedOffersDetails(partialAcceptedOffers),
|
|
101
|
+
// numAcceptedOffers
|
|
97
102
|
};
|
|
98
103
|
}
|
|
99
104
|
async countByOrderNumber(filter) {
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import type { Connection } from 'mongoose';
|
|
2
2
|
import { factory } from '../factory';
|
|
3
3
|
import { IModel } from './mongoose/schemas/assetTransaction';
|
|
4
|
+
import type { IAcceptedOfferInDoc } from './mongoose/schemas/order';
|
|
4
5
|
import { IAcceptedOfferByReserveTransaction } from './factory/acceptedOffer/reserveTransaction2itemOffered';
|
|
5
|
-
export type IAcceptedOffer = Pick<factory.order.IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'serialNumber' | 'typeOf'> & {
|
|
6
|
-
/**
|
|
7
|
-
* COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
|
|
8
|
-
*/
|
|
9
|
-
priceSpecification?: factory.order.ITicketPriceSpecification;
|
|
10
|
-
name?: never;
|
|
11
|
-
};
|
|
12
6
|
/**
|
|
13
7
|
* 予約取引に依存した注文オファーリポジトリ
|
|
14
8
|
*/
|
|
@@ -27,5 +21,9 @@ export declare class AcceptedOfferInReserveRepo {
|
|
|
27
21
|
/**
|
|
28
22
|
* 予約取引からオファー詳細情報を付加する
|
|
29
23
|
*/
|
|
30
|
-
protected addAcceptedOffersDetails(
|
|
24
|
+
protected addAcceptedOffersDetails(
|
|
25
|
+
/**
|
|
26
|
+
* 注文ドキュメント内の生オファーを受け取る
|
|
27
|
+
*/
|
|
28
|
+
acceptedOffers: IAcceptedOfferInDoc[]): Promise<factory.acceptedOffer.IAcceptedOffer[]>;
|
|
31
29
|
}
|
|
@@ -41,7 +41,11 @@ class AcceptedOfferInReserveRepo {
|
|
|
41
41
|
/**
|
|
42
42
|
* 予約取引からオファー詳細情報を付加する
|
|
43
43
|
*/
|
|
44
|
-
async addAcceptedOffersDetails(
|
|
44
|
+
async addAcceptedOffersDetails(
|
|
45
|
+
/**
|
|
46
|
+
* 注文ドキュメント内の生オファーを受け取る
|
|
47
|
+
*/
|
|
48
|
+
acceptedOffers) {
|
|
45
49
|
const offeredThroughIdentifier = acceptedOffers.at(0)?.offeredThrough?.identifier;
|
|
46
50
|
if (offeredThroughIdentifier === factory_1.factory.service.webAPI.Identifier.COA) {
|
|
47
51
|
// COAでは予約取引を参照しない
|
|
@@ -67,18 +71,20 @@ class AcceptedOfferInReserveRepo {
|
|
|
67
71
|
// itemOfferedByReserveは必ず存在するはず
|
|
68
72
|
if (itemOfferedByReserve === undefined) {
|
|
69
73
|
console.error('repo:acceptedOffer: addAcceptedOffersDetails: itemOfferedByReserve: undefined!!!', acceptedOffer.itemOffered.id);
|
|
74
|
+
throw new factory_1.factory.errors.Internal(`itemOfferedByReserve not found. itemOffered.id:${acceptedOffer.itemOffered.id}`);
|
|
70
75
|
}
|
|
71
|
-
const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
|
|
76
|
+
// const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
|
|
72
77
|
const { priceSpecification: _originalPriceSpec, // 注文ドキュメントのpriceSpecificationはもう採用しない(2026-05-21~)
|
|
73
78
|
name: _originalName, // 注文ドキュメントのnameはもう採用しない(2026-06-09~)
|
|
74
|
-
itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
|
|
79
|
+
itemOffered: _itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
|
|
75
80
|
return {
|
|
76
81
|
...acceptedOfferWithoutPrice,
|
|
77
|
-
...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
|
|
82
|
+
// ...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
|
|
78
83
|
...((priceSpecByReserveTransaction !== undefined) && { priceSpecification: priceSpecByReserveTransaction }), // 予約取引参照の値で上書き
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
itemOffered: itemOfferedByReserve // 予約取引参照の値で上書き
|
|
85
|
+
// ...(itemOfferedByReserve !== undefined)
|
|
86
|
+
// ? { itemOffered: itemOfferedByReserve } // 予約取引参照の値で上書き
|
|
87
|
+
// : { itemOffered }
|
|
82
88
|
};
|
|
83
89
|
});
|
|
84
90
|
}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import type { Connection } from 'mongoose';
|
|
2
2
|
import { factory } from '../factory';
|
|
3
|
-
import { AcceptedOfferInReserveRepo
|
|
3
|
+
import { AcceptedOfferInReserveRepo } from './acceptedOfferInReserve';
|
|
4
4
|
type IProjection4searchWithUnwoundAcceptedOffers = {
|
|
5
5
|
[key in keyof factory.order.IOrder]?: 1;
|
|
6
6
|
} & {};
|
|
7
|
-
type IMinimizedReservationFor = Pick<IAcceptedOffer['itemOffered']['reservationFor'], 'id' | 'typeOf'>;
|
|
8
|
-
type IMinimizedItemOffered = Pick<IAcceptedOffer['itemOffered'], 'additionalProperty' | 'additionalTicketText' | '
|
|
7
|
+
type IMinimizedReservationFor = Pick<factory.acceptedOffer.IAcceptedOffer['itemOffered']['reservationFor'], 'id' | 'typeOf'>;
|
|
8
|
+
type IMinimizedItemOffered = Pick<factory.acceptedOffer.IAcceptedOffer['itemOffered'], 'additionalProperty' | 'additionalTicketText' | 'programMembershipUsed' | 'id' | 'reservationNumber' | 'reservedTicket' | 'typeOf'> & {
|
|
9
9
|
reservationFor: IMinimizedReservationFor;
|
|
10
|
+
issuedThrough?: factory.acceptedOffer.IAcceptedOffer['itemOffered']['issuedThrough'];
|
|
10
11
|
};
|
|
11
|
-
type IMinimizedAcceptedOffer = Pick<IAcceptedOffer, 'id' | 'name' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'> & {
|
|
12
|
+
type IMinimizedAcceptedOffer = Pick<factory.acceptedOffer.IAcceptedOffer, 'id' | 'name' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'> & {
|
|
12
13
|
itemOffered: IMinimizedItemOffered;
|
|
13
14
|
};
|
|
14
|
-
type
|
|
15
|
+
type IAcceptedOfferAsFindResult = Pick<factory.acceptedOffer.IAcceptedOffer, 'id' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'> & {
|
|
15
16
|
/**
|
|
16
|
-
*
|
|
17
|
-
* 2026-
|
|
17
|
+
* 常に最小化
|
|
18
|
+
* 2026-10-08~
|
|
18
19
|
*/
|
|
19
|
-
itemOffered:
|
|
20
|
+
itemOffered: IMinimizedItemOffered;
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
22
23
|
* 注文オファー管理リポジトリ
|
|
@@ -36,10 +37,16 @@ export declare class AdminAcceptedOfferRepo extends AcceptedOfferInReserveRepo {
|
|
|
36
37
|
/**
|
|
37
38
|
* reservationForをid属性のみにするオプション
|
|
38
39
|
* 2026-08-31~
|
|
40
|
+
* always true(2026-10-08~)
|
|
41
|
+
*/
|
|
42
|
+
minimizeReservationFor: true;
|
|
43
|
+
/**
|
|
44
|
+
* reservedTicket以外の属性を除外するオプション
|
|
45
|
+
* 2026-10-08~
|
|
39
46
|
*/
|
|
40
|
-
|
|
47
|
+
onlyReservedTicket: boolean;
|
|
41
48
|
}): Promise<(factory.order.IOrder & {
|
|
42
|
-
acceptedOffers: [
|
|
49
|
+
acceptedOffers: [IMinimizedAcceptedOffer];
|
|
43
50
|
_id?: never;
|
|
44
51
|
})[]>;
|
|
45
52
|
/**
|
|
@@ -57,8 +64,14 @@ export declare class AdminAcceptedOfferRepo extends AcceptedOfferInReserveRepo {
|
|
|
57
64
|
/**
|
|
58
65
|
* reservationForをid属性のみにするオプション
|
|
59
66
|
* 2026-08-31~
|
|
67
|
+
* always true(2026-10-08~)
|
|
68
|
+
*/
|
|
69
|
+
minimizeReservationFor: true;
|
|
70
|
+
/**
|
|
71
|
+
* reservedTicket以外の属性を除外するオプション
|
|
72
|
+
* 2026-10-08~
|
|
60
73
|
*/
|
|
61
|
-
|
|
62
|
-
}): Promise<
|
|
74
|
+
onlyReservedTicket: boolean;
|
|
75
|
+
}): Promise<IAcceptedOfferAsFindResult[]>;
|
|
63
76
|
}
|
|
64
77
|
export {};
|
|
@@ -7,14 +7,22 @@ const settings_1 = require("../settings");
|
|
|
7
7
|
const acceptedOfferInReserve_1 = require("./acceptedOfferInReserve");
|
|
8
8
|
const order_2 = require("./order");
|
|
9
9
|
function minimizeItemOffered(itemOffered, options) {
|
|
10
|
-
const { minimizeReservationFor } = options;
|
|
10
|
+
const { minimizeReservationFor, onlyReservedTicket } = options;
|
|
11
11
|
if (minimizeReservationFor) {
|
|
12
12
|
const { reservationFor, ...itemOfferedWithoutEvent } = itemOffered;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
if (onlyReservedTicket) {
|
|
14
|
+
const { id, reservationNumber, reservedTicket, typeOf } = itemOfferedWithoutEvent;
|
|
15
|
+
return {
|
|
16
|
+
id, reservationNumber, reservedTicket, typeOf,
|
|
17
|
+
reservationFor: { id: reservationFor.id, typeOf: reservationFor.typeOf }
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return {
|
|
22
|
+
...itemOfferedWithoutEvent,
|
|
23
|
+
reservationFor: { id: reservationFor.id, typeOf: reservationFor.typeOf }
|
|
24
|
+
};
|
|
25
|
+
}
|
|
18
26
|
}
|
|
19
27
|
else {
|
|
20
28
|
return itemOffered;
|
|
@@ -94,11 +102,12 @@ class AdminAcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInRes
|
|
|
94
102
|
// itemOfferedByReserveは必ず存在するはず
|
|
95
103
|
if (itemOfferedByReserve === undefined) {
|
|
96
104
|
console.error('repo:acceptedOffer: searchWithUnwoundAcceptedOffers: itemOfferedByReserve: undefined!!!', acceptedOffer.itemOffered.id);
|
|
105
|
+
throw new factory_1.factory.errors.Internal(`itemOfferedByReserve not found. itemOffered.id:${acceptedOffer.itemOffered.id}`);
|
|
97
106
|
}
|
|
98
107
|
const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
|
|
99
108
|
const { priceSpecification: _originalPriceSpec, // 注文ドキュメントのpriceSpecificationはもう採用しない(2026-05-21~)
|
|
100
109
|
name: _originalName, // 注文ドキュメントのnameはもう採用しない(2026-06-09~)
|
|
101
|
-
itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
|
|
110
|
+
itemOffered: _itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
|
|
102
111
|
return {
|
|
103
112
|
...order,
|
|
104
113
|
acceptedOffers: [
|
|
@@ -106,9 +115,10 @@ class AdminAcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInRes
|
|
|
106
115
|
...acceptedOfferWithoutPrice,
|
|
107
116
|
...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
|
|
108
117
|
...((priceSpecByReserveTransaction !== undefined) && { priceSpecification: priceSpecByReserveTransaction }), // 予約取引参照の値で上書き
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
118
|
+
itemOffered: minimizeItemOffered(itemOfferedByReserve, options) // 予約取引参照の値で上書き(2026-05-25~)
|
|
119
|
+
// ...(itemOfferedByReserve !== undefined)
|
|
120
|
+
// ? { itemOffered: minimizeItemOffered(itemOfferedByReserve, options) } // 予約取引参照の値で上書き(2026-05-25~)
|
|
121
|
+
// : { itemOffered: minimizeItemOffered(itemOffered, options) }
|
|
112
122
|
}
|
|
113
123
|
]
|
|
114
124
|
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Connection } from 'mongoose';
|
|
2
|
+
import { factory } from '../factory';
|
|
3
|
+
type IFindParams = Pick<factory.accountTitle.ISearchConditions, 'codeValue' | 'limit' | 'name' | 'page' | 'project' | 'additionalProperty' | 'inCodeSet'>;
|
|
4
|
+
/**
|
|
5
|
+
* 細目管理リポジトリ
|
|
6
|
+
*/
|
|
7
|
+
export declare class AdminAccountTitleRepo {
|
|
8
|
+
private readonly accountTitleModel;
|
|
9
|
+
constructor(connection: Connection);
|
|
10
|
+
addAccountTitle(params: Pick<factory.accountTitle.IAccountTitle, 'codeValue' | 'name' | 'project' | 'additionalProperty'> & {
|
|
11
|
+
inCodeSet: {
|
|
12
|
+
codeValue: string;
|
|
13
|
+
inCodeSet: {
|
|
14
|
+
codeValue: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
}): Promise<{
|
|
18
|
+
id: string;
|
|
19
|
+
}>;
|
|
20
|
+
updateAccountTitle(params: Pick<factory.accountTitle.IAccountTitle, 'codeValue' | 'name' | 'project' | 'additionalProperty'> & {
|
|
21
|
+
inCodeSet: {
|
|
22
|
+
codeValue: string;
|
|
23
|
+
inCodeSet: {
|
|
24
|
+
codeValue: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
}): Promise<{
|
|
28
|
+
id: string;
|
|
29
|
+
}>;
|
|
30
|
+
findAccountTitles(params: IFindParams): Promise<(Pick<factory.accountTitle.IAccountTitle, 'codeValue' | 'name' | 'additionalProperty'> & {
|
|
31
|
+
inCodeSet: {
|
|
32
|
+
codeValue: string;
|
|
33
|
+
name?: string;
|
|
34
|
+
inCodeSet: {
|
|
35
|
+
codeValue: string;
|
|
36
|
+
name?: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
})[]>;
|
|
40
|
+
deleteAccountTitleByCodeValue(params: {
|
|
41
|
+
projectId: string;
|
|
42
|
+
codeValue: string;
|
|
43
|
+
accountTitleCategoryCode: string;
|
|
44
|
+
accountTitleSetCode: string;
|
|
45
|
+
}): Promise<{
|
|
46
|
+
id: string;
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
49
|
+
export {};
|