@chevre/domain 21.4.0-alpha.3 → 21.4.0-alpha.31
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/cleanActions.ts +23 -0
- package/example/src/chevre/cleanEventsByMovieTheater.ts +32 -0
- package/example/src/chevre/createDeleteTransactionTasksOfDeletedPeople.ts +126 -0
- package/example/src/chevre/createManyEventsIfNotExist.ts +6 -0
- package/example/src/chevre/iam/searchMemberOfIdsByMemberId.ts +31 -0
- package/example/src/chevre/iam/searchProjectIdsByMemberId.ts +32 -0
- package/example/src/chevre/migrateEventOrganizer.ts +125 -0
- package/example/src/chevre/migrateIAMMemberMemberOf.ts +59 -0
- package/example/src/chevre/migrateReservationProvider.ts +119 -0
- package/example/src/chevre/migrateScreeningRoomOrganizer.ts +91 -0
- package/example/src/chevre/processReserve.ts +0 -1
- package/example/src/chevre/searchEvents.ts +1 -9
- package/example/src/chevre/searchPermissions.ts +7 -15
- package/lib/chevre/factory/event.d.ts +1 -1
- package/lib/chevre/repo/action.d.ts +6 -0
- package/lib/chevre/repo/action.js +13 -0
- package/lib/chevre/repo/assetTransaction.d.ts +4 -1
- package/lib/chevre/repo/assetTransaction.js +6 -12
- package/lib/chevre/repo/event.d.ts +25 -4
- package/lib/chevre/repo/event.js +122 -60
- package/lib/chevre/repo/member.d.ts +76 -1
- package/lib/chevre/repo/member.js +82 -20
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +7 -4
- package/lib/chevre/repo/mongoose/schemas/event.js +15 -2
- package/lib/chevre/repo/mongoose/schemas/member.d.ts +7 -7
- package/lib/chevre/repo/mongoose/schemas/member.js +12 -6
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -6
- package/lib/chevre/repo/mongoose/schemas/place.js +9 -2
- package/lib/chevre/repo/mongoose/schemas/product.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +6 -3
- package/lib/chevre/repo/mongoose/schemas/reservation.js +10 -4
- package/lib/chevre/repo/order.d.ts +21 -0
- package/lib/chevre/repo/order.js +54 -62
- package/lib/chevre/repo/place.d.ts +57 -16
- package/lib/chevre/repo/place.js +112 -167
- package/lib/chevre/repo/product.d.ts +2 -4
- package/lib/chevre/repo/product.js +52 -7
- package/lib/chevre/repo/reservation.d.ts +33 -21
- package/lib/chevre/repo/reservation.js +97 -79
- package/lib/chevre/repo/seller.d.ts +18 -5
- package/lib/chevre/repo/seller.js +53 -46
- package/lib/chevre/repo/stockHolder.d.ts +2 -77
- package/lib/chevre/repo/stockHolder.js +200 -476
- package/lib/chevre/repo/task.d.ts +1 -1
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.d.ts +2 -2
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +3 -2
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +1 -1
- package/lib/chevre/service/assetTransaction/pay/account/validation.js +9 -1
- package/lib/chevre/service/assetTransaction/pay.js +9 -1
- package/lib/chevre/service/assetTransaction/registerService.js +2 -2
- package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +10 -4
- package/lib/chevre/service/assetTransaction/reserve/factory.js +21 -40
- package/lib/chevre/service/assetTransaction/reserve.d.ts +0 -1
- package/lib/chevre/service/assetTransaction/reserve.js +7 -22
- package/lib/chevre/service/event/createEvent.d.ts +11 -0
- package/lib/chevre/service/event/createEvent.js +112 -0
- package/lib/chevre/service/event.d.ts +2 -0
- package/lib/chevre/service/event.js +26 -26
- package/lib/chevre/service/iam.d.ts +5 -0
- package/lib/chevre/service/iam.js +7 -19
- package/lib/chevre/service/moneyTransfer.js +1 -1
- package/lib/chevre/service/offer/event/authorize.d.ts +0 -1
- package/lib/chevre/service/offer/event/authorize.js +6 -2
- package/lib/chevre/service/offer/event/searchEventTicketOffers.js +16 -2
- package/lib/chevre/service/offer/eventServiceByCOA/factory.d.ts +1 -1
- package/lib/chevre/service/offer/product/searchProductOffers.js +1 -1
- package/lib/chevre/service/order/returnOrder.js +8 -1
- package/lib/chevre/service/order/sendOrder.js +8 -1
- package/lib/chevre/service/payment/creditCard.js +9 -1
- package/lib/chevre/service/payment/movieTicket/factory.d.ts +2 -1
- package/lib/chevre/service/payment/movieTicket/validation.js +9 -1
- package/lib/chevre/service/payment/movieTicket.js +19 -2
- package/lib/chevre/service/payment/paymentCard.js +1 -3
- package/lib/chevre/service/reserve/cancelReservation.js +15 -28
- package/lib/chevre/service/reserve/confirmReservation.js +14 -30
- package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +3 -0
- package/lib/chevre/service/reserve/verifyToken4reservation.js +3 -1
- package/lib/chevre/service/task/{syncScreeningRooms.d.ts → createEvent.d.ts} +1 -1
- package/lib/chevre/service/task/{syncScreeningRooms.js → createEvent.js} +11 -3
- package/lib/chevre/service/task/onAuthorizationCreated.js +1 -0
- package/lib/chevre/service/task/returnPayTransaction.js +1 -0
- package/lib/chevre/service/transaction/moneyTransfer.js +9 -1
- package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress.js +9 -6
- package/lib/chevre/service/transaction/returnOrder.js +9 -3
- package/lib/chevre/settings.d.ts +0 -2
- package/lib/chevre/settings.js +7 -7
- package/package.json +3 -3
- package/example/src/chevre/findByOrderNumberAndReservationId.ts +0 -20
- package/example/src/chevre/findScreeningRoomsByBranchCode.ts +0 -27
- package/example/src/chevre/migrateEventOffersItemOfferedAvailableChannel.ts +0 -90
- package/example/src/chevre/migrateEventOffersItemOfferedTypeOf.ts +0 -75
- package/example/src/chevre/migrateSSKTEventCOAEndpoint.ts +0 -64
- package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +0 -79
- package/example/src/chevre/searchHoldReservations.ts +0 -38
- package/example/src/chevre/searchScreeningRooms.ts +0 -33
- package/example/src/chevre/syncScreeningRooms.ts +0 -21
- package/example/src/chevre/syncScreeningRoomsAll.ts +0 -41
- package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +0 -75
- package/lib/chevre/repo/mongoose/schemas/holdReservation.js +0 -93
|
@@ -63,7 +63,7 @@ export declare class MongoRepository {
|
|
|
63
63
|
*/
|
|
64
64
|
$nin?: factory.taskName[];
|
|
65
65
|
};
|
|
66
|
-
}): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/task/onEventChanged").ITask | import("@chevre/factory/lib/task/onResourceUpdated").ITask | import("@chevre/factory/lib/task/orderProgramMembership").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/syncScreeningRooms").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/useReservation").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "id" | "name" | "status">[]>;
|
|
66
|
+
}): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/createEvent").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/task/onEventChanged").ITask | import("@chevre/factory/lib/task/onResourceUpdated").ITask | import("@chevre/factory/lib/task/orderProgramMembership").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/syncScreeningRooms").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/useReservation").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "id" | "name" | "status">[]>;
|
|
67
67
|
retry(params: {
|
|
68
68
|
intervalInMinutes: number;
|
|
69
69
|
}): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MongoRepository as EventRepo } from '../../../repo/event';
|
|
1
|
+
import { IMinimizedIndividualEvent, MongoRepository as EventRepo } from '../../../repo/event';
|
|
2
2
|
import { MongoRepository as OfferRepo } from '../../../repo/offer';
|
|
3
3
|
import { MongoRepository as OfferCatalogRepo } from '../../../repo/offerCatalog';
|
|
4
4
|
import { MongoRepository as PlaceRepo } from '../../../repo/place';
|
|
@@ -28,5 +28,5 @@ export declare function aggregateScreeningEvent(params: {
|
|
|
28
28
|
id: string;
|
|
29
29
|
}): IAggregateScreeningEventOperation<void>;
|
|
30
30
|
export declare function aggregateByEvent(params: {
|
|
31
|
-
event: factory.
|
|
31
|
+
event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent> | IMinimizedIndividualEvent<factory.eventType.Event>;
|
|
32
32
|
}): IAggregateScreeningEventOperation<void>;
|
|
@@ -80,6 +80,7 @@ function aggregateByEvent(params) {
|
|
|
80
80
|
movieTheaterId = String((_a = params.event.offers) === null || _a === void 0 ? void 0 : _a.itemOffered.availableChannel.serviceLocation.containedInPlace.id);
|
|
81
81
|
}
|
|
82
82
|
const screeningRoom = yield repos.place.findScreeningRoomsByBranchCode({
|
|
83
|
+
project: { id: event.project.id },
|
|
83
84
|
branchCode: { $eq: event.location.branchCode },
|
|
84
85
|
containedInPlace: { id: { $eq: movieTheaterId } }
|
|
85
86
|
});
|
|
@@ -174,7 +175,7 @@ function findOffers(params) {
|
|
|
174
175
|
// 興行設定があれば興行のカタログを参照する(2022-08-31~)
|
|
175
176
|
const eventOffers = params.event.offers;
|
|
176
177
|
if (typeof ((_a = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.itemOffered) === null || _a === void 0 ? void 0 : _a.id) === 'string') {
|
|
177
|
-
const eventService = yield repos.product.findById({ id: eventOffers.itemOffered.id });
|
|
178
|
+
const eventService = yield repos.product.findById({ id: eventOffers.itemOffered.id }, ['hasOfferCatalog'], []);
|
|
178
179
|
if (typeof ((_b = eventService.hasOfferCatalog) === null || _b === void 0 ? void 0 : _b.id) === 'string') {
|
|
179
180
|
const findOffersByOfferCatalogIdResult = yield repos.offer.findOffersByOfferCatalogId({
|
|
180
181
|
offerCatalog: { id: eventService.hasOfferCatalog.id },
|
|
@@ -208,7 +209,7 @@ function calculateOfferCount(params) {
|
|
|
208
209
|
try {
|
|
209
210
|
const eventOffers = params.event.offers;
|
|
210
211
|
if (typeof ((_a = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.itemOffered) === null || _a === void 0 ? void 0 : _a.id) === 'string') {
|
|
211
|
-
const eventService = yield repos.product.findById({ id: eventOffers.itemOffered.id });
|
|
212
|
+
const eventService = yield repos.product.findById({ id: eventOffers.itemOffered.id }, ['hasOfferCatalog'], []);
|
|
212
213
|
if (typeof ((_b = eventService.hasOfferCatalog) === null || _b === void 0 ? void 0 : _b.id) === 'string') {
|
|
213
214
|
const catalogs = yield repos.offerCatalog.search({
|
|
214
215
|
limit: 1,
|
|
@@ -100,7 +100,7 @@ function findOffers(params) {
|
|
|
100
100
|
// 興行設定があれば興行のカタログを参照する(2022-08-31~)
|
|
101
101
|
const eventOffers = params.event.offers;
|
|
102
102
|
if (typeof ((_a = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.itemOffered) === null || _a === void 0 ? void 0 : _a.id) === 'string') {
|
|
103
|
-
const eventService = yield repos.product.findById({ id: eventOffers.itemOffered.id });
|
|
103
|
+
const eventService = yield repos.product.findById({ id: eventOffers.itemOffered.id }, ['hasOfferCatalog'], []);
|
|
104
104
|
if (typeof ((_b = eventService.hasOfferCatalog) === null || _b === void 0 ? void 0 : _b.id) === 'string') {
|
|
105
105
|
const findOffersByOfferCatalogIdResult = yield repos.offer.findOffersByOfferCatalogId({
|
|
106
106
|
offerCatalog: { id: eventService.hasOfferCatalog.id },
|
|
@@ -28,7 +28,15 @@ function validateAccount(params) {
|
|
|
28
28
|
if (typeof sellerId !== 'string') {
|
|
29
29
|
throw new factory.errors.ArgumentNull('recipient.id');
|
|
30
30
|
}
|
|
31
|
-
const
|
|
31
|
+
const sellers = yield repos.seller.search({
|
|
32
|
+
limit: 1,
|
|
33
|
+
page: 1,
|
|
34
|
+
id: { $eq: sellerId }
|
|
35
|
+
}, ['paymentAccepted'], []);
|
|
36
|
+
const seller = sellers.shift();
|
|
37
|
+
if (seller === undefined) {
|
|
38
|
+
throw new factory.errors.NotFound(factory.organizationType.Corporation);
|
|
39
|
+
}
|
|
32
40
|
const paymentAccepted = (_d = seller.paymentAccepted) === null || _d === void 0 ? void 0 : _d.some((a) => a.paymentMethodType === paymentMethodType);
|
|
33
41
|
if (paymentAccepted !== true) {
|
|
34
42
|
throw new factory.errors.Argument('recipient', `payment not accepted`);
|
|
@@ -210,7 +210,15 @@ function validateSeller(params) {
|
|
|
210
210
|
if (typeof sellerId !== 'string') {
|
|
211
211
|
throw new factory.errors.ArgumentNull('recipient.id');
|
|
212
212
|
}
|
|
213
|
-
const
|
|
213
|
+
const sellers = yield repos.seller.search({
|
|
214
|
+
limit: 1,
|
|
215
|
+
page: 1,
|
|
216
|
+
id: { $eq: sellerId }
|
|
217
|
+
}, ['paymentAccepted'], []);
|
|
218
|
+
const seller = sellers.shift();
|
|
219
|
+
if (seller === undefined) {
|
|
220
|
+
throw new factory.errors.NotFound(factory.organizationType.Corporation);
|
|
221
|
+
}
|
|
214
222
|
const paymentMethodType = (_b = params.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.typeOf;
|
|
215
223
|
if (typeof paymentMethodType !== 'string') {
|
|
216
224
|
throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
|
|
@@ -40,7 +40,7 @@ function start(params) {
|
|
|
40
40
|
throw new factory.errors.ArgumentNull('object.itemOffered.id');
|
|
41
41
|
}
|
|
42
42
|
// プロダクト確認
|
|
43
|
-
const product = yield repos.product.findById({ id: productId });
|
|
43
|
+
const product = yield repos.product.findById({ id: productId }, [], []);
|
|
44
44
|
const transactionNumber = params.transactionNumber;
|
|
45
45
|
if (typeof transactionNumber !== 'string' || transactionNumber.length === 0) {
|
|
46
46
|
throw new factory.errors.ArgumentNull('transactionNumber');
|
|
@@ -124,7 +124,7 @@ function createTransactionObject(params) {
|
|
|
124
124
|
function createPermitService(params) {
|
|
125
125
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
126
126
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
127
|
-
const product = yield repos.product.findById({ id: params.issuedThrough.id });
|
|
127
|
+
const product = yield repos.product.findById({ id: params.issuedThrough.id }, [], []);
|
|
128
128
|
const permitServiceEndpoint = (_a = product.availableChannel) === null || _a === void 0 ? void 0 : _a.serviceUrl;
|
|
129
129
|
const permitServiceAuthorizeServerDomain = (_c = (_b = product.availableChannel) === null || _b === void 0 ? void 0 : _b.credentials) === null || _c === void 0 ? void 0 : _c.authorizeServerDomain;
|
|
130
130
|
const permitServiceClientId = (_e = (_d = product.availableChannel) === null || _d === void 0 ? void 0 : _d.credentials) === null || _e === void 0 ? void 0 : _e.clientId;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import * as factory from '../../../factory';
|
|
2
|
+
import { IMinimizedIndividualEvent } from '../../../factory/event';
|
|
2
3
|
import { IAcceptedAddOn } from './factory/price';
|
|
3
4
|
type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
|
|
4
5
|
export { IAcceptedAddOn };
|
|
5
6
|
export declare function createStartParams(params: factory.assetTransaction.reserve.IStartParamsWithoutDetail & {
|
|
7
|
+
provider: {
|
|
8
|
+
/**
|
|
9
|
+
* 販売者ID
|
|
10
|
+
*/
|
|
11
|
+
id: string;
|
|
12
|
+
};
|
|
6
13
|
reservationNumber: string;
|
|
7
|
-
disablePendingReservations: boolean;
|
|
8
14
|
useHoldStockByTransactionNumber: boolean;
|
|
9
15
|
}): factory.assetTransaction.IStartParams<factory.assetTransactionType.Reserve>;
|
|
10
16
|
/**
|
|
@@ -46,9 +52,9 @@ export declare function createAdditionalTicketText(params: {
|
|
|
46
52
|
reservedTicket: factory.reservation.ITicket;
|
|
47
53
|
}): string | undefined;
|
|
48
54
|
export type IUnitPriceSpecification = factory.priceSpecification.IPriceSpecification<factory.priceSpecificationType.UnitPriceSpecification>;
|
|
49
|
-
export declare function createReservationFor(params: factory.
|
|
55
|
+
export declare function createReservationFor(params: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent> | IMinimizedIndividualEvent<factory.eventType.Event>): factory.assetTransaction.reserve.IReservationFor;
|
|
50
56
|
export declare function createIssuedThrough(params: {
|
|
51
|
-
reservationFor: factory.
|
|
57
|
+
reservationFor: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent> | IMinimizedIndividualEvent<factory.eventType.Event>;
|
|
52
58
|
}): {
|
|
53
59
|
issuedThrough: factory.assetTransaction.reserve.IIssuedThrough;
|
|
54
60
|
};
|
|
@@ -61,7 +67,7 @@ export declare function createReservation(params: {
|
|
|
61
67
|
reserveDate: Date;
|
|
62
68
|
agent: factory.assetTransaction.reserve.IAgent;
|
|
63
69
|
reservationNumber: string;
|
|
64
|
-
reservationFor: factory.
|
|
70
|
+
reservationFor: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent> | IMinimizedIndividualEvent<factory.eventType.Event>;
|
|
65
71
|
reservedTicket: factory.reservation.ITicket;
|
|
66
72
|
additionalProperty?: factory.propertyValue.IPropertyValue<string>[];
|
|
67
73
|
additionalTicketText?: string;
|
|
@@ -11,9 +11,13 @@ const price_1 = require("./factory/price");
|
|
|
11
11
|
function createStartParams(params) {
|
|
12
12
|
var _a;
|
|
13
13
|
const reservationNumber = params.reservationNumber;
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const provider = {
|
|
15
|
+
id: params.provider.id,
|
|
16
|
+
typeOf: factory.organizationType.Corporation
|
|
17
|
+
};
|
|
18
|
+
const reservationPackage = Object.assign({ provider, reservationNumber: reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending,
|
|
19
|
+
// trueで固定(2023-07-19~)
|
|
20
|
+
disablePendingReservations: true, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, typeOf: factory.reservationType.ReservationPackage }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined);
|
|
17
21
|
return {
|
|
18
22
|
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
19
23
|
typeOf: factory.assetTransactionType.Reserve,
|
|
@@ -327,7 +331,9 @@ function createAdditionalTicketText(params) {
|
|
|
327
331
|
return (_b = (_a = params.acceptedOffer.itemOffered) === null || _a === void 0 ? void 0 : _a.serviceOutput) === null || _b === void 0 ? void 0 : _b.additionalTicketText;
|
|
328
332
|
}
|
|
329
333
|
exports.createAdditionalTicketText = createAdditionalTicketText;
|
|
330
|
-
function createReservationFor(
|
|
334
|
+
function createReservationFor(
|
|
335
|
+
// params: factory.event.screeningEvent.IEvent | factory.event.event.IEvent
|
|
336
|
+
params) {
|
|
331
337
|
var _a, _b;
|
|
332
338
|
if (params.typeOf === factory.eventType.ScreeningEvent) {
|
|
333
339
|
return Object.assign({ endDate: params.endDate, id: params.id, location: params.location, name: params.name, startDate: params.startDate, superEvent: optimizeReservationSuperEvent(params), typeOf: params.typeOf }, (params.doorTime instanceof Date)
|
|
@@ -343,7 +349,9 @@ function createReservationFor(params) {
|
|
|
343
349
|
}
|
|
344
350
|
}
|
|
345
351
|
exports.createReservationFor = createReservationFor;
|
|
346
|
-
function optimizeReservationSuperEvent(
|
|
352
|
+
function optimizeReservationSuperEvent(
|
|
353
|
+
// params: factory.event.screeningEvent.IEvent
|
|
354
|
+
params) {
|
|
347
355
|
const superEvent = params.superEvent;
|
|
348
356
|
return Object.assign(Object.assign({ additionalProperty: (Array.isArray(superEvent.additionalProperty))
|
|
349
357
|
? superEvent.additionalProperty
|
|
@@ -409,36 +417,14 @@ function createReservation(params) {
|
|
|
409
417
|
}
|
|
410
418
|
// priceを最適化
|
|
411
419
|
const price4reservation = (0, price_1.createPrice)(params);
|
|
412
|
-
// const eventOffers = <factory.event.screeningEvent.IOffer | undefined>params.reservationFor.offers;
|
|
413
|
-
// // offersは必ず存在するはず
|
|
414
|
-
// if (eventOffers === undefined) {
|
|
415
|
-
// throw new factory.errors.NotFound('reservationFor.offers');
|
|
416
|
-
// }
|
|
417
|
-
// const serviceTypeOfIssuedThrough: factory.reservation.eventReservation.IServiceTypeOfIssuedThrough | undefined
|
|
418
|
-
// = (typeof eventOffers.itemOffered.serviceType?.codeValue === 'string')
|
|
419
|
-
// ? {
|
|
420
|
-
// codeValue: eventOffers.itemOffered.serviceType.codeValue,
|
|
421
|
-
// inCodeSet: {
|
|
422
|
-
// typeOf: 'CategoryCodeSet',
|
|
423
|
-
// identifier: factory.categoryCode.CategorySetIdentifier.ServiceType
|
|
424
|
-
// },
|
|
425
|
-
// typeOf: 'CategoryCode'
|
|
426
|
-
// }
|
|
427
|
-
// : undefined;
|
|
428
|
-
// const availableChannel: factory.reservation.IServiceChannel = eventOffers.itemOffered.availableChannel;
|
|
429
420
|
if (params.reservationFor.typeOf === factory.eventType.ScreeningEvent) {
|
|
430
|
-
// const issuedThrough: factory.reservation.eventReservation.IIssuedThrough = {
|
|
431
|
-
// typeOf: factory.product.ProductType.EventService,
|
|
432
|
-
// // 興行IDを追加(2022-09-08~)
|
|
433
|
-
// id: eventOffers.itemOffered.id,
|
|
434
|
-
// availableChannel,
|
|
435
|
-
// // issuedThrough.serviceTypeを連携
|
|
436
|
-
// ...(typeof serviceTypeOfIssuedThrough?.typeOf === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined
|
|
437
|
-
// };
|
|
438
421
|
return Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.EventReservation, id: params.id,
|
|
439
422
|
// reservationPackage保管に移行(2023-06-06~)
|
|
440
423
|
// issuedThrough,
|
|
441
|
-
additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber,
|
|
424
|
+
additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber,
|
|
425
|
+
// statusは不要なので削除(2023-07-19~)
|
|
426
|
+
// reservationStatus: factory.reservationStatusType.ReservationPending,
|
|
427
|
+
reservedTicket: params.reservedTicket,
|
|
442
428
|
// 最適化(2022-12-19~)
|
|
443
429
|
underName: {
|
|
444
430
|
typeOf: params.agent.typeOf,
|
|
@@ -459,18 +445,13 @@ function createReservation(params) {
|
|
|
459
445
|
: undefined);
|
|
460
446
|
}
|
|
461
447
|
else {
|
|
462
|
-
// const issuedThrough: factory.reservation.busReservation.IIssuedThrough = {
|
|
463
|
-
// typeOf: factory.product.ProductType.Transportation,
|
|
464
|
-
// // 興行IDを追加(2022-09-08~)
|
|
465
|
-
// id: eventOffers.itemOffered.id,
|
|
466
|
-
// availableChannel,
|
|
467
|
-
// // issuedThrough.serviceTypeを連携
|
|
468
|
-
// ...(typeof serviceTypeOfIssuedThrough?.typeOf === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined
|
|
469
|
-
// };
|
|
470
448
|
return Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.BusReservation, id: params.id,
|
|
471
449
|
// reservationPackage保管に移行(2023-06-06~)
|
|
472
450
|
// issuedThrough,
|
|
473
|
-
additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber,
|
|
451
|
+
additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber,
|
|
452
|
+
// statusは不要なので削除(2023-07-19~)
|
|
453
|
+
// reservationStatus: factory.reservationStatusType.ReservationPending,
|
|
454
|
+
reservedTicket: params.reservedTicket, underName: {
|
|
474
455
|
typeOf: params.agent.typeOf,
|
|
475
456
|
name: params.agent.name
|
|
476
457
|
}, checkedIn: false, attended: false }, (typeof params.additionalTicketText === 'string') ? { additionalTicketText: params.additionalTicketText } : undefined), (Array.isArray(params.subReservation))
|
|
@@ -96,7 +96,6 @@ type IStartParams = factory.assetTransaction.reserve.IStartParamsWithoutDetail &
|
|
|
96
96
|
* 取引開始
|
|
97
97
|
*/
|
|
98
98
|
export declare function start(params: IStartParams & {
|
|
99
|
-
disablePendingReservations: boolean;
|
|
100
99
|
useHoldStockByTransactionNumber: boolean;
|
|
101
100
|
stockHoldUntilDaysAfterEventEnd: number;
|
|
102
101
|
}): IStartOperation<{
|
|
@@ -55,7 +55,7 @@ function start(params) {
|
|
|
55
55
|
now,
|
|
56
56
|
store: { id: (_c = params.availableAtOrFrom) === null || _c === void 0 ? void 0 : _c.id }
|
|
57
57
|
});
|
|
58
|
-
const startParams = (0, factory_1.createStartParams)(Object.assign(Object.assign({}, params), { reservationNumber: reservationNumber }));
|
|
58
|
+
const startParams = (0, factory_1.createStartParams)(Object.assign(Object.assign({}, params), { provider: { id: event.organizer.id }, reservationNumber: reservationNumber }));
|
|
59
59
|
// 取引作成
|
|
60
60
|
let transaction;
|
|
61
61
|
try {
|
|
@@ -139,20 +139,6 @@ function addReservations(params) {
|
|
|
139
139
|
// 予約イベント最適化
|
|
140
140
|
const reservationFor = (0, factory_1.createReservationFor)(event);
|
|
141
141
|
const { issuedThrough } = (0, factory_1.createIssuedThrough)({ reservationFor: event });
|
|
142
|
-
// const minimizedObjectSubReservations: factory.assetTransaction.reserve.IMinimizedObjectSubReservation[] =
|
|
143
|
-
// objectSubReservations.map((r) => {
|
|
144
|
-
// return {
|
|
145
|
-
// id: r.id,
|
|
146
|
-
// typeOf: r.typeOf,
|
|
147
|
-
// reservedTicket: {
|
|
148
|
-
// ticketType: r.reservedTicket.ticketType,
|
|
149
|
-
// ...(typeof r.reservedTicket.ticketedSeat?.typeOf === 'string')
|
|
150
|
-
// ? { ticketedSeat: r.reservedTicket.ticketedSeat }
|
|
151
|
-
// : undefined
|
|
152
|
-
// },
|
|
153
|
-
// ...(Array.isArray(r.subReservation)) ? { subReservation: r.subReservation } : undefined
|
|
154
|
-
// };
|
|
155
|
-
// });
|
|
156
142
|
// 取引に予約追加
|
|
157
143
|
let lockedOfferRateLimitKeys = [];
|
|
158
144
|
try {
|
|
@@ -165,9 +151,7 @@ function addReservations(params) {
|
|
|
165
151
|
// issuedThroughを追加(2023-06-05~)
|
|
166
152
|
issuedThrough,
|
|
167
153
|
reservationFor,
|
|
168
|
-
// subReservationにreservationForを保管しない(2021-10-19~)
|
|
169
154
|
subReservation: objectSubReservations
|
|
170
|
-
// subReservation: minimizedObjectSubReservations
|
|
171
155
|
}
|
|
172
156
|
});
|
|
173
157
|
}
|
|
@@ -191,10 +175,11 @@ function addReservations(params) {
|
|
|
191
175
|
},
|
|
192
176
|
stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd
|
|
193
177
|
})(repos);
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
178
|
+
// 完全廃止(2023-07-19~)
|
|
179
|
+
// if (transaction.object.disablePendingReservations !== true) {
|
|
180
|
+
// // 予約作成(insertManyで実装)
|
|
181
|
+
// await repos.reservation.createMany({ reservationFor, reservations: objectSubReservations });
|
|
182
|
+
// }
|
|
198
183
|
// ストックホルダー処理(stockHolderで残席数を集計しているので必要)
|
|
199
184
|
yield onReservationsCreated({ event })(repos);
|
|
200
185
|
return { transaction, objectSubReservations, issuedThrough };
|
|
@@ -546,7 +531,7 @@ function validateProgramMembershipUsed(params) {
|
|
|
546
531
|
function createPermitService(params) {
|
|
547
532
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
548
533
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
549
|
-
const product = yield repos.product.findById({ id: params.issuedThrough.id });
|
|
534
|
+
const product = yield repos.product.findById({ id: params.issuedThrough.id }, ['availableChannel'], []);
|
|
550
535
|
const permitServiceEndpoint = (_a = product.availableChannel) === null || _a === void 0 ? void 0 : _a.serviceUrl;
|
|
551
536
|
const permitServiceAuthorizeServerDomain = (_c = (_b = product.availableChannel) === null || _b === void 0 ? void 0 : _b.credentials) === null || _c === void 0 ? void 0 : _c.authorizeServerDomain;
|
|
552
537
|
const permitServiceClientId = (_e = (_d = product.availableChannel) === null || _d === void 0 ? void 0 : _d.credentials) === null || _e === void 0 ? void 0 : _e.clientId;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as factory from '../../factory';
|
|
2
|
+
import { MongoRepository as ActionRepo } from '../../repo/action';
|
|
3
|
+
import { MongoRepository as EventRepo } from '../../repo/event';
|
|
4
|
+
import { MongoRepository as PlaceRepo } from '../../repo/place';
|
|
5
|
+
import { MongoRepository as TaskRepo } from '../../repo/task';
|
|
6
|
+
export declare function createEvent(params: factory.task.createEvent.IData): (repos: {
|
|
7
|
+
action: ActionRepo;
|
|
8
|
+
event: EventRepo;
|
|
9
|
+
place: PlaceRepo;
|
|
10
|
+
task: TaskRepo;
|
|
11
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,112 @@
|
|
|
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.createEvent = void 0;
|
|
13
|
+
const factory = require("../../factory");
|
|
14
|
+
function createEvent(params) {
|
|
15
|
+
// tslint:disable-next-line:max-func-body-length
|
|
16
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const actionAttributes = params;
|
|
19
|
+
const action = yield repos.action.start(actionAttributes);
|
|
20
|
+
let eventIds = [];
|
|
21
|
+
let eventType;
|
|
22
|
+
try {
|
|
23
|
+
if (actionAttributes.object.length > 0) {
|
|
24
|
+
if (((_a = actionAttributes.instrument) === null || _a === void 0 ? void 0 : _a.createScreeningEventSeriesIfNotExistByWorkPerformed) === true) {
|
|
25
|
+
const createScreeningEventSeriesOnAllLocation = ((_b = actionAttributes.instrument) === null || _b === void 0 ? void 0 : _b.createScreeningEventSeriesOnAllLocation) === true;
|
|
26
|
+
let creatingEventParams = actionAttributes.object.map((p) => {
|
|
27
|
+
if (p.typeOf !== factory.eventType.ScreeningEventSeries) {
|
|
28
|
+
throw new factory.errors.Argument('typeOf', `must be ${factory.eventType.ScreeningEventSeries}`);
|
|
29
|
+
}
|
|
30
|
+
return { attributes: p };
|
|
31
|
+
});
|
|
32
|
+
// 全施設対応(2023-07-21~)
|
|
33
|
+
if (createScreeningEventSeriesOnAllLocation) {
|
|
34
|
+
if (creatingEventParams.length !== 1) {
|
|
35
|
+
throw new factory.errors.NotImplemented('creatingEventAttributes.length must be 1');
|
|
36
|
+
}
|
|
37
|
+
const firstCreatingEventParams = creatingEventParams[0];
|
|
38
|
+
const movieTheaters = yield repos.place.searchMovieTheaters({
|
|
39
|
+
project: { id: { $eq: actionAttributes.project.id } }
|
|
40
|
+
}, ['_id', 'branchCode', 'kanaName', 'name'], []);
|
|
41
|
+
creatingEventParams = movieTheaters.map((movieTheater) => {
|
|
42
|
+
const location = {
|
|
43
|
+
branchCode: movieTheater.branchCode,
|
|
44
|
+
id: movieTheater.id,
|
|
45
|
+
kanaName: movieTheater.kanaName,
|
|
46
|
+
name: movieTheater.name,
|
|
47
|
+
typeOf: factory.placeType.MovieTheater
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
attributes: Object.assign(Object.assign({}, firstCreatingEventParams.attributes), { location })
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const bulkWriteResult = yield repos.event.createScreeningEventSeriesIfNotExistByWorkPerformed(creatingEventParams);
|
|
55
|
+
let upsertedIds;
|
|
56
|
+
if (bulkWriteResult !== undefined) {
|
|
57
|
+
upsertedIds = bulkWriteResult.getUpsertedIds()
|
|
58
|
+
.map((doc) => doc._id.toString());
|
|
59
|
+
}
|
|
60
|
+
eventIds = (Array.isArray(upsertedIds)) ? upsertedIds : [];
|
|
61
|
+
eventType = factory.eventType.ScreeningEventSeries;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// no op
|
|
65
|
+
throw new factory.errors.NotImplemented('only createScreeningEventSeriesIfNotExistByWorkPerformed implemented');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
// actionにエラー結果を追加
|
|
71
|
+
try {
|
|
72
|
+
const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
|
|
73
|
+
yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error: actionError });
|
|
74
|
+
}
|
|
75
|
+
catch (__) {
|
|
76
|
+
// 失敗したら仕方ない
|
|
77
|
+
}
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
// アクション完了
|
|
81
|
+
yield repos.action.complete({
|
|
82
|
+
typeOf: action.typeOf,
|
|
83
|
+
id: action.id,
|
|
84
|
+
result: (Array.isArray(eventIds))
|
|
85
|
+
? eventIds.map((eventId) => {
|
|
86
|
+
return { id: eventId };
|
|
87
|
+
})
|
|
88
|
+
: undefined
|
|
89
|
+
});
|
|
90
|
+
if (Array.isArray(eventIds) && eventIds.length > 0 && typeof eventType === 'string') {
|
|
91
|
+
// 非同期に変更(2023-06-08~)
|
|
92
|
+
const onEventChangedTask = {
|
|
93
|
+
project: actionAttributes.project,
|
|
94
|
+
name: factory.taskName.OnEventChanged,
|
|
95
|
+
status: factory.taskStatus.Ready,
|
|
96
|
+
runsAt: new Date(),
|
|
97
|
+
remainingNumberOfTries: 3,
|
|
98
|
+
numberOfTried: 0,
|
|
99
|
+
executionResults: [],
|
|
100
|
+
data: {
|
|
101
|
+
id: eventIds,
|
|
102
|
+
project: { id: actionAttributes.project.id },
|
|
103
|
+
typeOf: eventType,
|
|
104
|
+
isNew: true,
|
|
105
|
+
useInform: true
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
yield repos.task.saveMany([onEventChangedTask], { emitImmediately: true });
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
exports.createEvent = createEvent;
|
|
@@ -6,6 +6,7 @@ import { MongoRepository as ProjectRepo } from '../repo/project';
|
|
|
6
6
|
import { MongoRepository as SellerRepo } from '../repo/seller';
|
|
7
7
|
import { MongoRepository as TaskRepo } from '../repo/task';
|
|
8
8
|
import * as factory from '../factory';
|
|
9
|
+
import { createEvent } from './event/createEvent';
|
|
9
10
|
/**
|
|
10
11
|
* Googleで作品画像を検索する
|
|
11
12
|
*/
|
|
@@ -71,3 +72,4 @@ export declare function updateEvent4ttts(params: {
|
|
|
71
72
|
project: ProjectRepo;
|
|
72
73
|
task: TaskRepo;
|
|
73
74
|
}) => Promise<void>;
|
|
75
|
+
export { createEvent };
|
|
@@ -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.updateEvent4ttts = exports.createScreeningEventIdFromCOA = exports.importFromCOA = void 0;
|
|
12
|
+
exports.createEvent = exports.updateEvent4ttts = exports.createScreeningEventIdFromCOA = exports.importFromCOA = void 0;
|
|
13
13
|
/**
|
|
14
14
|
* マスターデータ同期サービス
|
|
15
15
|
*/
|
|
@@ -21,6 +21,8 @@ const difference = require("lodash.difference");
|
|
|
21
21
|
const moment = require("moment-timezone");
|
|
22
22
|
const credentials_1 = require("../credentials");
|
|
23
23
|
const factory = require("../factory");
|
|
24
|
+
const createEvent_1 = require("./event/createEvent");
|
|
25
|
+
Object.defineProperty(exports, "createEvent", { enumerable: true, get: function () { return createEvent_1.createEvent; } });
|
|
24
26
|
const offer_1 = require("./offer");
|
|
25
27
|
const debug = createDebug('chevre-domain:service:event');
|
|
26
28
|
const coaAuthClient = new COA.auth.RefreshToken({
|
|
@@ -92,6 +94,7 @@ function importFromCOA(params) {
|
|
|
92
94
|
const sellersWithSameBranchCode = yield repos.seller.search({
|
|
93
95
|
limit: 1,
|
|
94
96
|
page: 1,
|
|
97
|
+
project: { id: { $eq: project.id } },
|
|
95
98
|
branchCode: { $eq: params.locationBranchCode }
|
|
96
99
|
}, ['_id'], []);
|
|
97
100
|
const seller = sellersWithSameBranchCode.shift();
|
|
@@ -119,6 +122,7 @@ function importFromCOA(params) {
|
|
|
119
122
|
throw new factory.errors.NotFound(factory.placeType.MovieTheater);
|
|
120
123
|
}
|
|
121
124
|
const screeningRooms = yield repos.place.searchScreeningRooms({
|
|
125
|
+
project: { id: { $eq: project.id } },
|
|
122
126
|
containedInPlace: { branchCode: { $eq: movieTheater.branchCode } }
|
|
123
127
|
});
|
|
124
128
|
const targetImportFrom = moment(`${moment(params.importFrom)
|
|
@@ -133,7 +137,8 @@ function importFromCOA(params) {
|
|
|
133
137
|
locationBranchCode: params.locationBranchCode,
|
|
134
138
|
movieTheater,
|
|
135
139
|
project: project,
|
|
136
|
-
saveScreeningEventSeries: params.saveScreeningEventSeries
|
|
140
|
+
saveScreeningEventSeries: params.saveScreeningEventSeries,
|
|
141
|
+
seller: { id: seller.id }
|
|
137
142
|
})(repos);
|
|
138
143
|
savedScreeningEventSeriesCount = savedEventsCount;
|
|
139
144
|
try {
|
|
@@ -145,7 +150,8 @@ function importFromCOA(params) {
|
|
|
145
150
|
screeningEventSerieses: screeningEventSerieses,
|
|
146
151
|
project: project,
|
|
147
152
|
targetImportFrom: targetImportFrom.toDate(),
|
|
148
|
-
targetImportThrough: targetImportThrough.toDate()
|
|
153
|
+
targetImportThrough: targetImportThrough.toDate(),
|
|
154
|
+
seller: { id: seller.id }
|
|
149
155
|
})(repos);
|
|
150
156
|
savedScreeningEventsCount = screeningEvents.length;
|
|
151
157
|
// COAから削除されたイベントをキャンセル済ステータスへ変更
|
|
@@ -234,7 +240,8 @@ function saveScreeningEventSeries(params) {
|
|
|
234
240
|
eizouKubuns: eizouKubuns,
|
|
235
241
|
joueihousikiKubuns: joueihousikiKubuns,
|
|
236
242
|
jimakufukikaeKubuns: jimakufukikaeKubuns,
|
|
237
|
-
availablePaymentMethodTypes
|
|
243
|
+
availablePaymentMethodTypes,
|
|
244
|
+
seller: params.seller
|
|
238
245
|
});
|
|
239
246
|
});
|
|
240
247
|
let savedEventsCount = 0;
|
|
@@ -362,7 +369,8 @@ function createScreeningEvents(params) {
|
|
|
362
369
|
screenRoom: screenRoom,
|
|
363
370
|
superEvent: screeningEventSeries,
|
|
364
371
|
serviceKubuns: serviceKubuns,
|
|
365
|
-
acousticKubuns: acousticKubuns
|
|
372
|
+
acousticKubuns: acousticKubuns,
|
|
373
|
+
seller: params.seller
|
|
366
374
|
});
|
|
367
375
|
screeningEvents.push(screeningEvent);
|
|
368
376
|
});
|
|
@@ -373,16 +381,6 @@ function cancelDeletedEvents(params) {
|
|
|
373
381
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
374
382
|
// distinctでidのみ取得(2023-01-25~)
|
|
375
383
|
// COAから削除されたイベントをキャンセル済ステータスへ変更
|
|
376
|
-
// const ids = await repos.event.search<factory.eventType.ScreeningEvent>({
|
|
377
|
-
// project: { id: { $eq: params.project.id } },
|
|
378
|
-
// typeOf: factory.eventType.ScreeningEvent,
|
|
379
|
-
// superEvent: {
|
|
380
|
-
// locationBranchCodes: [params.locationBranchCode]
|
|
381
|
-
// },
|
|
382
|
-
// startFrom: params.targetImportFrom,
|
|
383
|
-
// startThrough: params.targetImportThrough
|
|
384
|
-
// })
|
|
385
|
-
// .then((events) => events.map((e) => e.id));
|
|
386
384
|
const ids = yield repos.event.searchIds({
|
|
387
385
|
project: { id: { $eq: params.project.id } },
|
|
388
386
|
typeOf: factory.eventType.ScreeningEvent,
|
|
@@ -397,7 +395,10 @@ function cancelDeletedEvents(params) {
|
|
|
397
395
|
debug(`cancelling ${cancelledIds.length} events...`);
|
|
398
396
|
for (const cancelledId of cancelledIds) {
|
|
399
397
|
try {
|
|
400
|
-
yield repos.event.cancel({
|
|
398
|
+
yield repos.event.cancel({
|
|
399
|
+
id: cancelledId,
|
|
400
|
+
project: { id: params.project.id }
|
|
401
|
+
});
|
|
401
402
|
}
|
|
402
403
|
catch (error) {
|
|
403
404
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
@@ -493,7 +494,8 @@ function createScreeningEventFromCOA(params) {
|
|
|
493
494
|
attendeeCount: 0,
|
|
494
495
|
maximumAttendeeCapacity: params.screenRoom.maximumAttendeeCapacity,
|
|
495
496
|
remainingAttendeeCapacity: params.screenRoom.maximumAttendeeCapacity,
|
|
496
|
-
additionalProperty
|
|
497
|
+
additionalProperty,
|
|
498
|
+
organizer: { id: params.seller.id }
|
|
497
499
|
};
|
|
498
500
|
}
|
|
499
501
|
function createScreeningEventAdditionalPropertyFromCOA(params) {
|
|
@@ -579,12 +581,8 @@ function createScreeningEventSeriesFromCOA(params) {
|
|
|
579
581
|
kanaName: params.movieTheater.kanaName,
|
|
580
582
|
typeOf: params.movieTheater.typeOf
|
|
581
583
|
},
|
|
582
|
-
//
|
|
583
|
-
|
|
584
|
-
// typeOf: factory.organizationType.Corporation,
|
|
585
|
-
// identifier: params.movieTheater.id,
|
|
586
|
-
// name: params.movieTheater.name
|
|
587
|
-
// },
|
|
584
|
+
// 必須化(2023-07-12~)
|
|
585
|
+
organizer: { id: params.seller.id },
|
|
588
586
|
videoFormat: params.eizouKubuns.filter((kubun) => kubun.kubunCode === params.filmFromCOA.kbnEizou)[0],
|
|
589
587
|
soundFormat: [],
|
|
590
588
|
workPerformed: {
|
|
@@ -674,7 +672,7 @@ function createMovieTheaterFromCOA(project, seller, theaterFromCOA, screensFromC
|
|
|
674
672
|
},
|
|
675
673
|
kanaName: theaterFromCOA.theaterNameKana,
|
|
676
674
|
containsPlace: screensFromCOA.map((screenFromCOA) => {
|
|
677
|
-
return createScreeningRoomFromCOA(project, screenFromCOA);
|
|
675
|
+
return createScreeningRoomFromCOA(project, seller, screenFromCOA);
|
|
678
676
|
}),
|
|
679
677
|
typeOf: factory.placeType.MovieTheater,
|
|
680
678
|
telephone: theaterFromCOA.theaterTelNum,
|
|
@@ -716,7 +714,7 @@ function createMovieTheaterFromCOA(project, seller, theaterFromCOA, screensFromC
|
|
|
716
714
|
*/
|
|
717
715
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
718
716
|
/* istanbul ignore next */
|
|
719
|
-
function createScreeningRoomFromCOA(project, screenFromCOA) {
|
|
717
|
+
function createScreeningRoomFromCOA(project, seller, screenFromCOA) {
|
|
720
718
|
const sections = [];
|
|
721
719
|
const sectionCodes = [];
|
|
722
720
|
screenFromCOA.listSeat.forEach((seat) => {
|
|
@@ -755,7 +753,9 @@ function createScreeningRoomFromCOA(project, screenFromCOA) {
|
|
|
755
753
|
en: screenFromCOA.screenNameEng
|
|
756
754
|
},
|
|
757
755
|
typeOf: factory.placeType.ScreeningRoom,
|
|
758
|
-
maximumAttendeeCapacity: sections[0].containsPlace.length
|
|
756
|
+
maximumAttendeeCapacity: sections[0].containsPlace.length,
|
|
757
|
+
// 必須化(2023-07-14~)
|
|
758
|
+
parentOrganization: { id: seller.id, typeOf: factory.organizationType.Corporation }
|
|
759
759
|
};
|
|
760
760
|
}
|
|
761
761
|
function updateEvent4ttts(params) {
|