@chevre/domain 23.2.0-alpha.6 → 23.2.0-alpha.61
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/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +25 -17
- package/example/src/chevre/confirmationNumber/testRandomness.ts +49 -0
- package/example/src/chevre/emailMessage/createEmailMessageText.ts +63 -0
- package/example/src/chevre/event/importEventsFromCOAByTitle.ts +2 -2
- package/example/src/chevre/event/unsetSuperEventVideoFormat.ts +30 -0
- package/example/src/chevre/eventSeries/unsetVideoFormat.ts +31 -0
- package/example/src/chevre/{upsertScreeningEventSeriesByVersion.ts → eventSeries/upsertScreeningEventSeriesByVersion.ts} +47 -43
- package/example/src/chevre/{upsertOfferCatalogItemsByIdentifier.ts → offerCatalog/upsertOfferCatalogItemsByIdentifier.ts} +6 -3
- package/example/src/chevre/{upsertOfferCatalogsByIdentifier.ts → offerCatalog/upsertOfferCatalogsByIdentifier.ts} +8 -3
- package/example/src/chevre/{upsertOffersByIdentifier.ts → offers/upsertOffersByIdentifier.ts} +5 -3
- package/example/src/chevre/orderNumber/testRandomness.ts +54 -0
- package/example/src/chevre/place/adminEntranceGates.ts +69 -0
- package/example/src/chevre/place/checkEntranceGatesCount.ts +82 -0
- package/example/src/chevre/place/findRooms.ts +24 -0
- package/example/src/chevre/place/findSections.ts +28 -0
- package/example/src/chevre/place/migrateSectionIdentifier.ts +92 -0
- package/example/src/chevre/place/seatsJson2csv.ts +63 -0
- package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +41 -0
- package/example/src/chevre/place/upsertRoomsByBranchCode.ts +40 -0
- package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +56 -0
- package/example/src/chevre/reIndex.ts +1 -1
- package/example/src/chevre/roles/addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts +33 -0
- package/example/src/chevre/roles/addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts +33 -0
- package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +49 -0
- package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +34 -0
- package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +34 -0
- package/example/src/chevre/settings/addOrderNumberSetting.ts +44 -0
- package/example/src/chevre/settings/addTransactionNumberSetting.ts +40 -0
- package/example/src/chevre/transactionNumber/publishByTimestamp.ts +23 -0
- package/example/src/chevre/transactionNumber/testRandomness.ts +42 -0
- package/example/src/chevre/unsetUnnecessaryFields.ts +8 -4
- package/lib/chevre/emailMessageBuilder.js +1 -0
- package/lib/chevre/factory/event.d.ts +1 -1
- package/lib/chevre/factory/event.js +11 -5
- package/lib/chevre/factory/transactionNumber.d.ts +19 -0
- package/lib/chevre/factory/transactionNumber.js +54 -0
- package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
- package/lib/chevre/repo/acceptedPaymentMethod.js +72 -27
- package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
- package/lib/chevre/repo/aggregateOffer.js +11 -3
- package/lib/chevre/repo/aggregateOrder.js +0 -93
- package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
- package/lib/chevre/repo/aggregateReservation.js +0 -2
- package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
- package/lib/chevre/repo/confirmationNumber.js +32 -25
- package/lib/chevre/repo/event.d.ts +3 -18
- package/lib/chevre/repo/event.js +94 -83
- package/lib/chevre/repo/eventOffer.d.ts +8 -0
- package/lib/chevre/repo/eventOffer.js +11 -0
- package/lib/chevre/repo/eventSeries.d.ts +17 -30
- package/lib/chevre/repo/eventSeries.js +204 -146
- package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +0 -1
- package/lib/chevre/repo/mongoose/schemas/eventSeries.js +20 -5
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +2 -8
- package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +28 -2
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
- package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
- package/lib/chevre/repo/mongoose/schemas/setting.js +3 -0
- package/lib/chevre/repo/offerCatalog.d.ts +14 -1
- package/lib/chevre/repo/offerCatalog.js +41 -19
- package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
- package/lib/chevre/repo/offerCatalogItem.js +32 -17
- package/lib/chevre/repo/orderNumber.d.ts +6 -0
- package/lib/chevre/repo/orderNumber.js +110 -35
- package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
- package/lib/chevre/repo/place/entranceGate.js +172 -0
- package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
- package/lib/chevre/repo/place/movieTheater.js +77 -6
- package/lib/chevre/repo/place/screeningRoom.d.ts +60 -31
- package/lib/chevre/repo/place/screeningRoom.js +227 -135
- package/lib/chevre/repo/place/seat.d.ts +47 -45
- package/lib/chevre/repo/place/seat.js +175 -45
- package/lib/chevre/repo/place/section.d.ts +60 -30
- package/lib/chevre/repo/place/section.js +337 -127
- package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
- package/lib/chevre/repo/serviceOutputIdentifier.js +42 -27
- package/lib/chevre/repo/setting.d.ts +1 -1
- package/lib/chevre/repo/setting.js +2 -2
- package/lib/chevre/repo/task.d.ts +1 -1
- package/lib/chevre/repo/transactionNumber.d.ts +5 -0
- package/lib/chevre/repo/transactionNumber.js +63 -27
- package/lib/chevre/repository.d.ts +8 -0
- package/lib/chevre/repository.js +16 -0
- package/lib/chevre/service/assetTransaction/fixInformAction.d.ts +3 -0
- package/lib/chevre/service/assetTransaction/fixInformAction.js +3 -0
- package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
- package/lib/chevre/service/assetTransaction/pay/cancel.js +25 -0
- package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
- package/lib/chevre/service/assetTransaction/pay/check.js +37 -0
- package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
- package/lib/chevre/service/assetTransaction/pay/confirm.js +72 -0
- package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
- package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +111 -0
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +164 -0
- package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
- package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +59 -0
- package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
- package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +1 -1
- package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
- package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +1 -1
- package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
- package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +1 -4
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +54 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +49 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +37 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +31 -0
- package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
- package/lib/chevre/service/assetTransaction/pay/start.js +145 -0
- package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
- package/lib/chevre/service/assetTransaction/pay.js +16 -623
- package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +10 -2
- package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
- package/lib/chevre/service/event/processUpdateMovieTheater.js +13 -11
- package/lib/chevre/service/event/saveScreeningEventSeries.js +4 -5
- package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
- package/lib/chevre/service/event/saveScreeningEvents.js +16 -12
- package/lib/chevre/service/offer/event/authorize/factory.js +9 -1
- package/lib/chevre/service/offer/event/searchEventTicketOffers.js +7 -4
- package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +9 -6
- package/lib/chevre/service/offer/event/searchOffersByIds.js +7 -4
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +7 -1
- package/lib/chevre/service/offer/onEventChanged.js +10 -6
- package/lib/chevre/service/offer/product.js +1 -1
- package/lib/chevre/service/offer.d.ts +5 -0
- package/lib/chevre/service/offer.js +34 -9
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +53 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +56 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +58 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +75 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +60 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +51 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +100 -0
- package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
- package/lib/chevre/service/task/onResourceDeleted.js +168 -0
- package/lib/chevre/service/task/onResourceUpdated.js +205 -42
- package/lib/chevre/service/task/syncResourcesFromCOA.js +4 -2
- package/lib/chevre/service/taskHandler.js +1 -0
- package/package.json +9 -9
- package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
- package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
- package/example/src/chevre/offers/createSampleOffers.ts +0 -154
- package/example/src/chevre/settings/addSettings.ts +0 -46
- package/lib/chevre/service/eventOld.d.ts +0 -60
- package/lib/chevre/service/eventOld.js +0 -864
- package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
- package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
- package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
- package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -188
- package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
- package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -116
- package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
- package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
- package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
- package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
- package/lib/chevre/service/task/createEvent.d.ts +0 -6
- package/lib/chevre/service/task/createEvent.js +0 -46
- package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
- package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +0 -447
|
@@ -1,118 +0,0 @@
|
|
|
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.createEventSeries = createEventSeries;
|
|
13
|
-
const factory = require("../../../factory");
|
|
14
|
-
function createEventSeries(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.movieTheater.projectFields({
|
|
39
|
-
project: { id: { $eq: actionAttributes.project.id } }
|
|
40
|
-
}, ['id', 'branchCode', 'kanaName', 'name', 'parentOrganization']
|
|
41
|
-
// []
|
|
42
|
-
);
|
|
43
|
-
creatingEventParams = movieTheaters.map((movieTheater) => {
|
|
44
|
-
const location = {
|
|
45
|
-
branchCode: movieTheater.branchCode,
|
|
46
|
-
id: movieTheater.id,
|
|
47
|
-
// 廃止(2024-03-05~)
|
|
48
|
-
// kanaName: movieTheater.kanaName,
|
|
49
|
-
name: movieTheater.name,
|
|
50
|
-
typeOf: factory.placeType.MovieTheater
|
|
51
|
-
};
|
|
52
|
-
const organizer = {
|
|
53
|
-
id: movieTheater.parentOrganization.id
|
|
54
|
-
};
|
|
55
|
-
return {
|
|
56
|
-
attributes: Object.assign(Object.assign({}, firstCreatingEventParams.attributes), { location,
|
|
57
|
-
// organizerがfirstCreatingEventParamsにそろってしまうbug対応(2023-08-03~)
|
|
58
|
-
organizer })
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
const bulkWriteResult = yield repos.eventSeries.createIfNotExistByWorkPerformed(creatingEventParams);
|
|
63
|
-
let upsertedIds;
|
|
64
|
-
if (bulkWriteResult !== undefined) {
|
|
65
|
-
// BulkWriteResult -> upsertedIds: { '0': '7iri6p4m54k0r3g' }
|
|
66
|
-
upsertedIds = Object.values(bulkWriteResult.upsertedIds)
|
|
67
|
-
.map(String);
|
|
68
|
-
// upsertedIds = bulkWriteResult.getUpsertedIds()
|
|
69
|
-
// .map((doc) => doc._id.toString());
|
|
70
|
-
}
|
|
71
|
-
eventIds = (Array.isArray(upsertedIds)) ? upsertedIds : [];
|
|
72
|
-
eventType = factory.eventType.ScreeningEventSeries;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
// no op
|
|
76
|
-
throw new factory.errors.NotImplemented('only createScreeningEventSeriesIfNotExistByWorkPerformed implemented');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
try {
|
|
82
|
-
yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
|
|
83
|
-
}
|
|
84
|
-
catch (__) {
|
|
85
|
-
// 失敗したら仕方ない
|
|
86
|
-
}
|
|
87
|
-
throw error;
|
|
88
|
-
}
|
|
89
|
-
yield repos.action.completeWithVoid({
|
|
90
|
-
typeOf: action.typeOf,
|
|
91
|
-
id: action.id,
|
|
92
|
-
result: (Array.isArray(eventIds))
|
|
93
|
-
? eventIds.map((eventId) => {
|
|
94
|
-
return { id: eventId, typeOf: eventType };
|
|
95
|
-
})
|
|
96
|
-
: undefined
|
|
97
|
-
});
|
|
98
|
-
if (Array.isArray(eventIds) && eventIds.length > 0 && typeof eventType === 'string') {
|
|
99
|
-
const onEventChangedTask = {
|
|
100
|
-
project: actionAttributes.project,
|
|
101
|
-
name: factory.taskName.OnEventChanged,
|
|
102
|
-
status: factory.taskStatus.Ready,
|
|
103
|
-
runsAt: new Date(),
|
|
104
|
-
remainingNumberOfTries: 3,
|
|
105
|
-
numberOfTried: 0,
|
|
106
|
-
executionResults: [],
|
|
107
|
-
data: {
|
|
108
|
-
id: eventIds,
|
|
109
|
-
project: { id: actionAttributes.project.id },
|
|
110
|
-
typeOf: eventType,
|
|
111
|
-
isNew: true,
|
|
112
|
-
useInform: true
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
yield repos.task.saveMany([onEventChangedTask], { emitImmediately: true });
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
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.call = call;
|
|
13
|
-
const action_1 = require("../../repo/action");
|
|
14
|
-
const event_1 = require("../../repo/event");
|
|
15
|
-
const eventSeries_1 = require("../../repo/eventSeries");
|
|
16
|
-
const member_1 = require("../../repo/member");
|
|
17
|
-
const movieTheater_1 = require("../../repo/place/movieTheater");
|
|
18
|
-
const screeningRoom_1 = require("../../repo/place/screeningRoom");
|
|
19
|
-
const product_1 = require("../../repo/product");
|
|
20
|
-
const project_1 = require("../../repo/project");
|
|
21
|
-
const schedule_1 = require("../../repo/schedule");
|
|
22
|
-
const setting_1 = require("../../repo/setting");
|
|
23
|
-
const task_1 = require("../../repo/task");
|
|
24
|
-
const createEvent_1 = require("./createEvent/createEvent");
|
|
25
|
-
/**
|
|
26
|
-
* タスク実行関数
|
|
27
|
-
*/
|
|
28
|
-
function call(data) {
|
|
29
|
-
return (_a) => __awaiter(this, [_a], void 0, function* ({ connection }) {
|
|
30
|
-
yield (0, createEvent_1.createEvent)(data)({
|
|
31
|
-
action: new action_1.ActionRepo(connection),
|
|
32
|
-
event: new event_1.EventRepo(connection),
|
|
33
|
-
eventSeries: new eventSeries_1.EventSeriesRepo(connection),
|
|
34
|
-
member: new member_1.MemberRepo(connection),
|
|
35
|
-
movieTheater: new movieTheater_1.MovieTheaterRepo(connection),
|
|
36
|
-
screeningRoom: new screeningRoom_1.ScreeningRoomRepo(connection),
|
|
37
|
-
product: new product_1.ProductRepo(connection),
|
|
38
|
-
project: new project_1.ProjectRepo(connection),
|
|
39
|
-
schedule: new schedule_1.ScheduleRepo(connection),
|
|
40
|
-
setting: new setting_1.SettingRepo(connection),
|
|
41
|
-
task: new task_1.TaskRepo(connection)
|
|
42
|
-
}
|
|
43
|
-
// settings
|
|
44
|
-
);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import * as factory from '../../../factory';
|
|
2
|
-
import type { AccountTitleRepo } from '../../../repo/accountTitle';
|
|
3
|
-
import type { ActionRepo } from '../../../repo/action';
|
|
4
|
-
import type { AggregateOfferRepo } from '../../../repo/aggregateOffer';
|
|
5
|
-
import type { CategoryCodeRepo } from '../../../repo/categoryCode';
|
|
6
|
-
import type { CreativeWorkRepo } from '../../../repo/creativeWork';
|
|
7
|
-
import type { EventRepo } from '../../../repo/event';
|
|
8
|
-
import type { EventSeriesRepo } from '../../../repo/eventSeries';
|
|
9
|
-
import type { MemberRepo } from '../../../repo/member';
|
|
10
|
-
import type { NoteRepo } from '../../../repo/note';
|
|
11
|
-
import type { OfferRepo } from '../../../repo/offer/unitPriceInCatalog';
|
|
12
|
-
import type { OfferCatalogRepo } from '../../../repo/offerCatalog';
|
|
13
|
-
import type { OfferCatalogItemRepo } from '../../../repo/offerCatalogItem';
|
|
14
|
-
import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
|
|
15
|
-
import type { HasPOSRepo } from '../../../repo/place/hasPOS';
|
|
16
|
-
import type { MovieTheaterRepo } from '../../../repo/place/movieTheater';
|
|
17
|
-
import type { ScreeningRoomRepo } from '../../../repo/place/screeningRoom';
|
|
18
|
-
import type { ProductRepo } from '../../../repo/product';
|
|
19
|
-
import type { ProductModelRepo } from '../../../repo/productModel';
|
|
20
|
-
import type { ProductOfferRepo } from '../../../repo/productOffer';
|
|
21
|
-
import type { SettingRepo } from '../../../repo/setting';
|
|
22
|
-
import type { TaskRepo } from '../../../repo/task';
|
|
23
|
-
export declare function onResourceDeleted(params: factory.task.onResourceUpdated.IData): (repos: {
|
|
24
|
-
accountTitle: AccountTitleRepo;
|
|
25
|
-
action: ActionRepo;
|
|
26
|
-
aggregateOffer: AggregateOfferRepo;
|
|
27
|
-
categoryCode: CategoryCodeRepo;
|
|
28
|
-
creativeWork: CreativeWorkRepo;
|
|
29
|
-
event: EventRepo;
|
|
30
|
-
eventSeries: EventSeriesRepo;
|
|
31
|
-
hasPOS: HasPOSRepo;
|
|
32
|
-
member: MemberRepo;
|
|
33
|
-
movieTheater: MovieTheaterRepo;
|
|
34
|
-
note: NoteRepo;
|
|
35
|
-
paymentServiceProvider: PaymentServiceProviderRepo;
|
|
36
|
-
offer: OfferRepo;
|
|
37
|
-
offerCatalog: OfferCatalogRepo;
|
|
38
|
-
offerCatalogItem: OfferCatalogItemRepo;
|
|
39
|
-
screeningRoom: ScreeningRoomRepo;
|
|
40
|
-
product: ProductRepo;
|
|
41
|
-
productModel: ProductModelRepo;
|
|
42
|
-
productOffer: ProductOfferRepo;
|
|
43
|
-
setting: SettingRepo;
|
|
44
|
-
task: TaskRepo;
|
|
45
|
-
}) => Promise<void>;
|
|
@@ -1,447 +0,0 @@
|
|
|
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.onResourceDeleted = onResourceDeleted;
|
|
13
|
-
const factory = require("../../../factory");
|
|
14
|
-
const onHasPOSUpdated_1 = require("./onHasPOSUpdated");
|
|
15
|
-
const syncCategoryCode_1 = require("./syncCategoryCode");
|
|
16
|
-
const syncOfferCatalog_1 = require("./syncOfferCatalog");
|
|
17
|
-
function onResourceDeleted(params) {
|
|
18
|
-
// tslint:disable-next-line:max-func-body-length
|
|
19
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
const setting = yield repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['useInformResourceTypes']);
|
|
21
|
-
const useInformResourceTypes = setting === null || setting === void 0 ? void 0 : setting.useInformResourceTypes;
|
|
22
|
-
const useInform = params.useInform === true
|
|
23
|
-
&& Array.isArray(useInformResourceTypes) && useInformResourceTypes.includes(params.typeOf);
|
|
24
|
-
const isDeleted = params.isDeleted === true;
|
|
25
|
-
if (isDeleted) {
|
|
26
|
-
if (useInform) {
|
|
27
|
-
switch (params.typeOf) {
|
|
28
|
-
case 'POS':
|
|
29
|
-
yield (0, onHasPOSUpdated_1.createInformHasPOSTasks)({
|
|
30
|
-
project: { id: params.project.id },
|
|
31
|
-
ids: [params.operator.id],
|
|
32
|
-
typeOf: factory.placeType.MovieTheater
|
|
33
|
-
})(repos);
|
|
34
|
-
break;
|
|
35
|
-
default:
|
|
36
|
-
// no op
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
switch (params.typeOf) {
|
|
40
|
-
case 'POS':
|
|
41
|
-
break;
|
|
42
|
-
case factory.eventType.ScreeningEventSeries:
|
|
43
|
-
yield deleteResourcesByScreeningEventSeries({
|
|
44
|
-
project: { id: params.project.id },
|
|
45
|
-
ids: params.id
|
|
46
|
-
})(repos);
|
|
47
|
-
break;
|
|
48
|
-
case factory.placeType.ScreeningRoom:
|
|
49
|
-
yield deleteResourcesByScreeningRoom({
|
|
50
|
-
project: { id: params.project.id },
|
|
51
|
-
branchCode: params.branchCode,
|
|
52
|
-
containedInPlace: { id: params.containedInPlace.id }
|
|
53
|
-
})(repos);
|
|
54
|
-
break;
|
|
55
|
-
case factory.placeType.MovieTheater:
|
|
56
|
-
yield deleteResourcesByMovieTheater({
|
|
57
|
-
project: { id: params.project.id },
|
|
58
|
-
ids: params.id
|
|
59
|
-
})(repos);
|
|
60
|
-
break;
|
|
61
|
-
case factory.organizationType.Corporation:
|
|
62
|
-
yield deleteResourcesBySeller({
|
|
63
|
-
project: { id: params.project.id },
|
|
64
|
-
ids: params.id
|
|
65
|
-
})(repos);
|
|
66
|
-
break;
|
|
67
|
-
case factory.offerType.AggregateOffer:
|
|
68
|
-
yield deleteResourcesByAggregateOffer({
|
|
69
|
-
project: { id: params.project.id },
|
|
70
|
-
ids: params.id
|
|
71
|
-
})(repos);
|
|
72
|
-
break;
|
|
73
|
-
case 'OfferCatalog':
|
|
74
|
-
yield deleteResourcesByOfferCatalog({
|
|
75
|
-
project: { id: params.project.id },
|
|
76
|
-
ids: params.id
|
|
77
|
-
})(repos);
|
|
78
|
-
yield (0, syncOfferCatalog_1.syncOfferCatalog)({
|
|
79
|
-
project: { id: params.project.id },
|
|
80
|
-
ids: params.id,
|
|
81
|
-
typeOf: params.typeOf,
|
|
82
|
-
isDeleted: true,
|
|
83
|
-
isOfferCatalogItem: params.isOfferCatalogItem === true
|
|
84
|
-
})(repos);
|
|
85
|
-
break;
|
|
86
|
-
case factory.product.ProductType.EventService:
|
|
87
|
-
case factory.product.ProductType.Product:
|
|
88
|
-
case factory.product.ProductType.Transportation:
|
|
89
|
-
case factory.product.ProductType.MembershipService:
|
|
90
|
-
case factory.product.ProductType.PaymentCard:
|
|
91
|
-
yield deleteResourcesByProduct({
|
|
92
|
-
project: { id: params.project.id },
|
|
93
|
-
ids: params.id,
|
|
94
|
-
typeOf: params.typeOf
|
|
95
|
-
})(repos);
|
|
96
|
-
break;
|
|
97
|
-
// 区分削除に対応(2024-04-18~)
|
|
98
|
-
case 'CategoryCode':
|
|
99
|
-
yield (0, syncCategoryCode_1.syncCategoryCode)({
|
|
100
|
-
project: { id: params.project.id },
|
|
101
|
-
ids: params.id,
|
|
102
|
-
isDeleted: true
|
|
103
|
-
})(repos);
|
|
104
|
-
break;
|
|
105
|
-
default:
|
|
106
|
-
// no op
|
|
107
|
-
throw new factory.errors.NotImplemented(`${params.typeOf} onDeleted not implemented`);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
function deleteResourcesByScreeningEventSeries(params) {
|
|
113
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
if (params.ids.length !== 1) {
|
|
115
|
-
throw new factory.errors.Argument('id', 'id.length must be 1');
|
|
116
|
-
}
|
|
117
|
-
for (const eventId of params.ids) {
|
|
118
|
-
const deleteActionAttributes = {
|
|
119
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
120
|
-
object: { id: eventId, typeOf: factory.eventType.ScreeningEventSeries },
|
|
121
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
122
|
-
typeOf: factory.actionType.DeleteAction
|
|
123
|
-
};
|
|
124
|
-
let deleteResult;
|
|
125
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
126
|
-
try {
|
|
127
|
-
// イベント削除
|
|
128
|
-
const deleteScreeningEventResult = yield repos.event.deleteManyBySuperEventId({
|
|
129
|
-
project: { id: params.project.id },
|
|
130
|
-
superEvent: { id: eventId }
|
|
131
|
-
});
|
|
132
|
-
deleteResult = { deleteScreeningEventResult };
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
try {
|
|
136
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
137
|
-
}
|
|
138
|
-
catch (_) {
|
|
139
|
-
// no op
|
|
140
|
-
}
|
|
141
|
-
throw error;
|
|
142
|
-
}
|
|
143
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
function deleteResourcesByScreeningRoom(params) {
|
|
148
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
const deleteActionAttributes = {
|
|
150
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
151
|
-
object: { branchCode: params.branchCode, containedInPlace: params.containedInPlace, typeOf: factory.placeType.ScreeningRoom },
|
|
152
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
153
|
-
typeOf: factory.actionType.DeleteAction
|
|
154
|
-
};
|
|
155
|
-
let deleteResult;
|
|
156
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
157
|
-
try {
|
|
158
|
-
// イベント削除
|
|
159
|
-
const deleteScreeningEventResult = yield repos.event.deleteManyEventsByScreeningRoom({
|
|
160
|
-
project: { id: params.project.id },
|
|
161
|
-
location: {
|
|
162
|
-
branchCode: params.branchCode,
|
|
163
|
-
containedInPlace: { id: params.containedInPlace.id }
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
deleteResult = { deleteScreeningEventResult };
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
try {
|
|
170
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
171
|
-
}
|
|
172
|
-
catch (_) {
|
|
173
|
-
// no op
|
|
174
|
-
}
|
|
175
|
-
throw error;
|
|
176
|
-
}
|
|
177
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
function deleteResourcesByMovieTheater(params) {
|
|
181
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
182
|
-
if (params.ids.length !== 1) {
|
|
183
|
-
throw new factory.errors.Argument('id', 'id.length must be 1');
|
|
184
|
-
}
|
|
185
|
-
for (const placeId of params.ids) {
|
|
186
|
-
const deleteActionAttributes = {
|
|
187
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
188
|
-
object: { id: placeId, typeOf: factory.placeType.MovieTheater },
|
|
189
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
190
|
-
typeOf: factory.actionType.DeleteAction
|
|
191
|
-
};
|
|
192
|
-
let deleteResult;
|
|
193
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
194
|
-
try {
|
|
195
|
-
// イベント削除
|
|
196
|
-
const deleteScreeningEventResult = yield repos.event.deleteManyBySuperEventLocationId({
|
|
197
|
-
project: { id: params.project.id },
|
|
198
|
-
superEvent: { location: { id: placeId } }
|
|
199
|
-
});
|
|
200
|
-
// 施設コンテンツ削除
|
|
201
|
-
const deleteScreeningEventSeriesResult = yield repos.eventSeries.deleteManyByLocationId({
|
|
202
|
-
project: { id: params.project.id },
|
|
203
|
-
location: { id: placeId }
|
|
204
|
-
});
|
|
205
|
-
// ルーム削除
|
|
206
|
-
const deletePlaceResult = yield repos.screeningRoom.deleteScreeningRoomsByMovieTheaterId({
|
|
207
|
-
project: { id: params.project.id },
|
|
208
|
-
containedInPlace: { id: placeId }
|
|
209
|
-
});
|
|
210
|
-
deleteResult = { deleteScreeningEventResult, deleteScreeningEventSeriesResult, deletePlaceResult };
|
|
211
|
-
}
|
|
212
|
-
catch (error) {
|
|
213
|
-
try {
|
|
214
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
215
|
-
}
|
|
216
|
-
catch (_) {
|
|
217
|
-
// no op
|
|
218
|
-
}
|
|
219
|
-
throw error;
|
|
220
|
-
}
|
|
221
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
function deleteResourcesBySeller(params) {
|
|
226
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
227
|
-
if (params.ids.length !== 1) {
|
|
228
|
-
throw new factory.errors.Argument('id', 'id.length must be 1');
|
|
229
|
-
}
|
|
230
|
-
for (const sellerId of params.ids) {
|
|
231
|
-
const deleteActionAttributes = {
|
|
232
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
233
|
-
object: { id: sellerId, typeOf: factory.organizationType.Corporation },
|
|
234
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
235
|
-
typeOf: factory.actionType.DeleteAction
|
|
236
|
-
};
|
|
237
|
-
let deleteResult;
|
|
238
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
239
|
-
try {
|
|
240
|
-
// メンバー削除
|
|
241
|
-
const deleteMemberResult = yield repos.member.deleteManyByMemberOfId({
|
|
242
|
-
project: { id: params.project.id },
|
|
243
|
-
member: {
|
|
244
|
-
memberOf: {
|
|
245
|
-
id: { $eq: sellerId },
|
|
246
|
-
typeOf: { $eq: factory.organizationType.Corporation }
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
// 提供決済サービス削除
|
|
251
|
-
const deletePaymentServiceProviderResult = yield repos.paymentServiceProvider.deleteManyByProviderId({
|
|
252
|
-
project: { id: params.project.id },
|
|
253
|
-
id: sellerId
|
|
254
|
-
});
|
|
255
|
-
// イベント削除
|
|
256
|
-
const deleteEventResult = yield repos.event.deleteManyEventByOrganizerId({
|
|
257
|
-
project: { id: params.project.id },
|
|
258
|
-
organizer: { id: sellerId }
|
|
259
|
-
});
|
|
260
|
-
// 施設コンテンツ削除
|
|
261
|
-
const deleteEventSeriesResult = yield repos.eventSeries.deleteManyByOrganizerId({
|
|
262
|
-
project: { id: params.project.id },
|
|
263
|
-
organizer: { id: sellerId }
|
|
264
|
-
});
|
|
265
|
-
// ルーム削除
|
|
266
|
-
const deleteScreeningRoomResult = yield repos.screeningRoom.deleteScreeningRoomsByParentOrganizationId({
|
|
267
|
-
project: { id: params.project.id },
|
|
268
|
-
parentOrganization: { id: sellerId }
|
|
269
|
-
});
|
|
270
|
-
// 施設削除
|
|
271
|
-
const deleteMovieTheaterResult = yield repos.movieTheater.deleteMovieTheatersByParentOrganizationId({
|
|
272
|
-
project: { id: params.project.id },
|
|
273
|
-
parentOrganization: { id: sellerId }
|
|
274
|
-
});
|
|
275
|
-
// プロダクトオファー削除(2025-10-02~)
|
|
276
|
-
const deleteProductOfferResult = yield repos.productOffer.deleteProductOffersBySeller({
|
|
277
|
-
project: { id: params.project.id },
|
|
278
|
-
offeredBy: { id: sellerId }
|
|
279
|
-
});
|
|
280
|
-
deleteResult = {
|
|
281
|
-
deleteMemberResult, deletePaymentServiceProviderResult,
|
|
282
|
-
deleteProductOfferResult,
|
|
283
|
-
deleteEventResult, deleteEventSeriesResult, deleteScreeningRoomResult, deleteMovieTheaterResult
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
catch (error) {
|
|
287
|
-
try {
|
|
288
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
289
|
-
}
|
|
290
|
-
catch (_) {
|
|
291
|
-
// no op
|
|
292
|
-
}
|
|
293
|
-
throw error;
|
|
294
|
-
}
|
|
295
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
function deleteResourcesByAggregateOffer(params) {
|
|
300
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
301
|
-
if (params.ids.length !== 1) {
|
|
302
|
-
throw new factory.errors.Argument('id', 'id.length must be 1');
|
|
303
|
-
}
|
|
304
|
-
for (const offerId of params.ids) {
|
|
305
|
-
const deleteActionAttributes = {
|
|
306
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
307
|
-
object: { id: offerId, typeOf: factory.offerType.AggregateOffer },
|
|
308
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
309
|
-
typeOf: factory.actionType.DeleteAction
|
|
310
|
-
};
|
|
311
|
-
let deleteResult;
|
|
312
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
313
|
-
try {
|
|
314
|
-
// カタログからpullItemListElement
|
|
315
|
-
const updateCatalogResult = yield repos.offerCatalog.pullItemListElement({
|
|
316
|
-
project: { id: params.project.id },
|
|
317
|
-
$pull: { itemListElement: { $elemMatch: { id: { $in: [offerId] } } } }
|
|
318
|
-
});
|
|
319
|
-
// サブカタログ対応
|
|
320
|
-
const updateCatalogItemResult = yield repos.offerCatalogItem.pullItemListElement({
|
|
321
|
-
project: { id: params.project.id },
|
|
322
|
-
$pull: { itemListElement: { $elemMatch: { id: { $in: [offerId] } } } }
|
|
323
|
-
});
|
|
324
|
-
deleteResult = { updateCatalogResult, updateCatalogItemResult };
|
|
325
|
-
}
|
|
326
|
-
catch (error) {
|
|
327
|
-
try {
|
|
328
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
329
|
-
}
|
|
330
|
-
catch (_) {
|
|
331
|
-
// no op
|
|
332
|
-
}
|
|
333
|
-
throw error;
|
|
334
|
-
}
|
|
335
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
function deleteResourcesByOfferCatalog(params) {
|
|
340
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
341
|
-
if (params.ids.length !== 1) {
|
|
342
|
-
throw new factory.errors.Argument('id', 'id.length must be 1');
|
|
343
|
-
}
|
|
344
|
-
for (const catalogId of params.ids) {
|
|
345
|
-
const deleteActionAttributes = {
|
|
346
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
347
|
-
object: { id: catalogId, typeOf: 'OfferCatalog' },
|
|
348
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
349
|
-
typeOf: factory.actionType.DeleteAction
|
|
350
|
-
};
|
|
351
|
-
let deleteResult;
|
|
352
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
353
|
-
try {
|
|
354
|
-
// カタログからプロダクト検索
|
|
355
|
-
const productsWithCatalog = yield repos.product.projectFields({
|
|
356
|
-
project: { id: { $eq: params.project.id } },
|
|
357
|
-
hasOfferCatalog: { id: { $eq: catalogId } }
|
|
358
|
-
}, ['id']
|
|
359
|
-
// []
|
|
360
|
-
);
|
|
361
|
-
let deleteEventResult;
|
|
362
|
-
let updateOfferResult;
|
|
363
|
-
if (productsWithCatalog.length > 0) {
|
|
364
|
-
const deletingProductIds = productsWithCatalog.map((product) => product.id);
|
|
365
|
-
// 興行を設定されたイベント削除
|
|
366
|
-
deleteEventResult = yield repos.event.deleteManyEventsByItemOfferedId({
|
|
367
|
-
project: { id: params.project.id },
|
|
368
|
-
offers: { itemOffered: { id: { $in: deletingProductIds } } }
|
|
369
|
-
});
|
|
370
|
-
// アドオンから除外
|
|
371
|
-
updateOfferResult = yield repos.aggregateOffer.pullAddOns({
|
|
372
|
-
project: { id: params.project.id },
|
|
373
|
-
addOn: { itemOffered: { id: { $in: deletingProductIds } } }
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
// プロダクト削除
|
|
377
|
-
const deleteProductResult = yield repos.product.deleteByHasOfferCatalog({
|
|
378
|
-
project: { id: params.project.id },
|
|
379
|
-
hasOfferCatalog: { id: catalogId }
|
|
380
|
-
});
|
|
381
|
-
// カタログからpullItemListElement(サブカタログ対応)
|
|
382
|
-
const updateCatalogResult = yield repos.offerCatalog.pullItemListElement({
|
|
383
|
-
project: { id: params.project.id },
|
|
384
|
-
$pull: { itemListElement: { $elemMatch: { id: { $in: [catalogId] } } } }
|
|
385
|
-
});
|
|
386
|
-
deleteResult = { deleteEventResult, deleteProductResult, updateOfferResult, updateCatalogResult };
|
|
387
|
-
}
|
|
388
|
-
catch (error) {
|
|
389
|
-
try {
|
|
390
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
391
|
-
}
|
|
392
|
-
catch (_) {
|
|
393
|
-
// no op
|
|
394
|
-
}
|
|
395
|
-
throw error;
|
|
396
|
-
}
|
|
397
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
398
|
-
}
|
|
399
|
-
});
|
|
400
|
-
}
|
|
401
|
-
function deleteResourcesByProduct(params) {
|
|
402
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
403
|
-
if (params.ids.length !== 1) {
|
|
404
|
-
throw new factory.errors.Argument('id', 'id.length must be 1');
|
|
405
|
-
}
|
|
406
|
-
for (const productId of params.ids) {
|
|
407
|
-
const deleteActionAttributes = {
|
|
408
|
-
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
409
|
-
object: { id: productId, typeOf: params.typeOf },
|
|
410
|
-
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
411
|
-
typeOf: factory.actionType.DeleteAction
|
|
412
|
-
};
|
|
413
|
-
let deleteResult;
|
|
414
|
-
const action = yield repos.action.start(deleteActionAttributes);
|
|
415
|
-
try {
|
|
416
|
-
let deleteEventResult;
|
|
417
|
-
let updateOfferResult;
|
|
418
|
-
let deleteNoteResult;
|
|
419
|
-
// 興行を設定されたイベント削除
|
|
420
|
-
deleteEventResult = yield repos.event.deleteManyEventsByItemOfferedId({
|
|
421
|
-
project: { id: params.project.id },
|
|
422
|
-
offers: { itemOffered: { id: { $in: [productId] } } }
|
|
423
|
-
});
|
|
424
|
-
// アドオンから除外
|
|
425
|
-
updateOfferResult = yield repos.aggregateOffer.pullAddOns({
|
|
426
|
-
project: { id: params.project.id },
|
|
427
|
-
addOn: { itemOffered: { id: { $in: [productId] } } }
|
|
428
|
-
});
|
|
429
|
-
// メモを削除(2025-09-18~)
|
|
430
|
-
deleteNoteResult = yield repos.note.deleteNotesByAbout({
|
|
431
|
-
about: { id: productId, typeOf: params.typeOf }
|
|
432
|
-
});
|
|
433
|
-
deleteResult = { deleteEventResult, updateOfferResult, deleteNoteResult };
|
|
434
|
-
}
|
|
435
|
-
catch (error) {
|
|
436
|
-
try {
|
|
437
|
-
yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error });
|
|
438
|
-
}
|
|
439
|
-
catch (_) {
|
|
440
|
-
// no op
|
|
441
|
-
}
|
|
442
|
-
throw error;
|
|
443
|
-
}
|
|
444
|
-
yield repos.action.completeWithVoid({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
|
|
445
|
-
}
|
|
446
|
-
});
|
|
447
|
-
}
|