@chevre/domain 23.2.0-alpha.6 → 23.2.0-alpha.60

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.
Files changed (133) hide show
  1. package/example/src/chevre/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +25 -17
  2. package/example/src/chevre/confirmationNumber/testRandomness.ts +49 -0
  3. package/example/src/chevre/emailMessage/createEmailMessageText.ts +63 -0
  4. package/example/src/chevre/event/importEventsFromCOAByTitle.ts +2 -2
  5. package/example/src/chevre/event/unsetSuperEventVideoFormat.ts +30 -0
  6. package/example/src/chevre/eventSeries/unsetVideoFormat.ts +31 -0
  7. package/example/src/chevre/{upsertScreeningEventSeriesByVersion.ts → eventSeries/upsertScreeningEventSeriesByVersion.ts} +47 -43
  8. package/example/src/chevre/{upsertOfferCatalogItemsByIdentifier.ts → offerCatalog/upsertOfferCatalogItemsByIdentifier.ts} +6 -3
  9. package/example/src/chevre/{upsertOfferCatalogsByIdentifier.ts → offerCatalog/upsertOfferCatalogsByIdentifier.ts} +8 -3
  10. package/example/src/chevre/{upsertOffersByIdentifier.ts → offers/upsertOffersByIdentifier.ts} +5 -3
  11. package/example/src/chevre/orderNumber/decryptOrderNumber.ts +14 -0
  12. package/example/src/chevre/orderNumber/testRandomness.ts +54 -0
  13. package/example/src/chevre/place/adminEntranceGates.ts +69 -0
  14. package/example/src/chevre/place/checkEntranceGatesCount.ts +82 -0
  15. package/example/src/chevre/place/findRooms.ts +24 -0
  16. package/example/src/chevre/place/findSections.ts +28 -0
  17. package/example/src/chevre/place/migrateSectionIdentifier.ts +92 -0
  18. package/example/src/chevre/place/seatsJson2csv.ts +63 -0
  19. package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +41 -0
  20. package/example/src/chevre/place/upsertRoomsByBranchCode.ts +40 -0
  21. package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +56 -0
  22. package/example/src/chevre/reIndex.ts +1 -1
  23. package/example/src/chevre/roles/addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts +33 -0
  24. package/example/src/chevre/roles/addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts +33 -0
  25. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +49 -0
  26. package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +34 -0
  27. package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +34 -0
  28. package/example/src/chevre/settings/addOrderNumberSetting.ts +44 -0
  29. package/example/src/chevre/settings/addTransactionNumberSetting.ts +40 -0
  30. package/example/src/chevre/transactionNumber/publishByTimestamp.ts +23 -0
  31. package/example/src/chevre/transactionNumber/testRandomness.ts +42 -0
  32. package/example/src/chevre/unsetUnnecessaryFields.ts +8 -4
  33. package/lib/chevre/emailMessageBuilder.js +1 -0
  34. package/lib/chevre/factory/event.d.ts +1 -1
  35. package/lib/chevre/factory/event.js +11 -5
  36. package/lib/chevre/factory/transactionNumber.d.ts +19 -0
  37. package/lib/chevre/factory/transactionNumber.js +54 -0
  38. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
  39. package/lib/chevre/repo/acceptedPaymentMethod.js +72 -27
  40. package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
  41. package/lib/chevre/repo/aggregateOffer.js +11 -3
  42. package/lib/chevre/repo/aggregateOrder.js +0 -93
  43. package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
  44. package/lib/chevre/repo/aggregateReservation.js +0 -2
  45. package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
  46. package/lib/chevre/repo/confirmationNumber.js +32 -25
  47. package/lib/chevre/repo/event.d.ts +3 -3
  48. package/lib/chevre/repo/event.js +20 -8
  49. package/lib/chevre/repo/eventOffer.d.ts +8 -0
  50. package/lib/chevre/repo/eventOffer.js +11 -0
  51. package/lib/chevre/repo/eventSeries.d.ts +18 -25
  52. package/lib/chevre/repo/eventSeries.js +155 -101
  53. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +0 -1
  54. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +13 -25
  55. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +2 -8
  56. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +28 -2
  57. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
  58. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
  59. package/lib/chevre/repo/mongoose/schemas/setting.js +3 -0
  60. package/lib/chevre/repo/offerCatalog.d.ts +14 -1
  61. package/lib/chevre/repo/offerCatalog.js +41 -19
  62. package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
  63. package/lib/chevre/repo/offerCatalogItem.js +32 -17
  64. package/lib/chevre/repo/orderNumber.d.ts +7 -0
  65. package/lib/chevre/repo/orderNumber.js +110 -34
  66. package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
  67. package/lib/chevre/repo/place/entranceGate.js +172 -0
  68. package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
  69. package/lib/chevre/repo/place/movieTheater.js +77 -6
  70. package/lib/chevre/repo/place/screeningRoom.d.ts +60 -31
  71. package/lib/chevre/repo/place/screeningRoom.js +227 -135
  72. package/lib/chevre/repo/place/seat.d.ts +47 -45
  73. package/lib/chevre/repo/place/seat.js +175 -45
  74. package/lib/chevre/repo/place/section.d.ts +60 -30
  75. package/lib/chevre/repo/place/section.js +337 -127
  76. package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
  77. package/lib/chevre/repo/serviceOutputIdentifier.js +42 -27
  78. package/lib/chevre/repo/setting.d.ts +1 -1
  79. package/lib/chevre/repo/setting.js +2 -2
  80. package/lib/chevre/repo/task.d.ts +1 -1
  81. package/lib/chevre/repo/transactionNumber.d.ts +5 -0
  82. package/lib/chevre/repo/transactionNumber.js +63 -27
  83. package/lib/chevre/repository.d.ts +8 -0
  84. package/lib/chevre/repository.js +16 -0
  85. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +10 -2
  86. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
  87. package/lib/chevre/service/event/processUpdateMovieTheater.js +13 -11
  88. package/lib/chevre/service/event/saveScreeningEventSeries.js +4 -5
  89. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
  90. package/lib/chevre/service/event/saveScreeningEvents.js +16 -12
  91. package/lib/chevre/service/offer/event/authorize/factory.js +9 -1
  92. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +7 -4
  93. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +9 -6
  94. package/lib/chevre/service/offer/event/searchOffersByIds.js +7 -4
  95. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +7 -1
  96. package/lib/chevre/service/offer/onEventChanged.js +10 -6
  97. package/lib/chevre/service/offer/product.js +1 -1
  98. package/lib/chevre/service/offer.d.ts +5 -0
  99. package/lib/chevre/service/offer.js +34 -9
  100. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  101. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  102. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  103. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +2 -2
  104. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +5 -3
  105. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +4 -2
  106. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
  107. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +53 -0
  108. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
  109. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +56 -0
  110. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
  111. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +58 -0
  112. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
  113. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +75 -0
  114. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
  115. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +60 -0
  116. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
  117. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +51 -0
  118. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
  119. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +100 -0
  120. package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
  121. package/lib/chevre/service/task/onResourceDeleted.js +168 -0
  122. package/lib/chevre/service/task/onResourceUpdated.js +205 -42
  123. package/lib/chevre/service/task/syncResourcesFromCOA.js +4 -2
  124. package/lib/chevre/service/taskHandler.js +1 -0
  125. package/package.json +10 -8
  126. package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
  127. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
  128. package/example/src/chevre/offers/createSampleOffers.ts +0 -154
  129. package/example/src/chevre/settings/addSettings.ts +0 -46
  130. package/lib/chevre/service/eventOld.d.ts +0 -60
  131. package/lib/chevre/service/eventOld.js +0 -864
  132. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
  133. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +0 -447
@@ -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
- }