@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.
Files changed (173) 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/testRandomness.ts +54 -0
  12. package/example/src/chevre/place/adminEntranceGates.ts +69 -0
  13. package/example/src/chevre/place/checkEntranceGatesCount.ts +82 -0
  14. package/example/src/chevre/place/findRooms.ts +24 -0
  15. package/example/src/chevre/place/findSections.ts +28 -0
  16. package/example/src/chevre/place/migrateSectionIdentifier.ts +92 -0
  17. package/example/src/chevre/place/seatsJson2csv.ts +63 -0
  18. package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +41 -0
  19. package/example/src/chevre/place/upsertRoomsByBranchCode.ts +40 -0
  20. package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +56 -0
  21. package/example/src/chevre/reIndex.ts +1 -1
  22. package/example/src/chevre/roles/addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts +33 -0
  23. package/example/src/chevre/roles/addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts +33 -0
  24. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +49 -0
  25. package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +34 -0
  26. package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +34 -0
  27. package/example/src/chevre/settings/addOrderNumberSetting.ts +44 -0
  28. package/example/src/chevre/settings/addTransactionNumberSetting.ts +40 -0
  29. package/example/src/chevre/transactionNumber/publishByTimestamp.ts +23 -0
  30. package/example/src/chevre/transactionNumber/testRandomness.ts +42 -0
  31. package/example/src/chevre/unsetUnnecessaryFields.ts +8 -4
  32. package/lib/chevre/emailMessageBuilder.js +1 -0
  33. package/lib/chevre/factory/event.d.ts +1 -1
  34. package/lib/chevre/factory/event.js +11 -5
  35. package/lib/chevre/factory/transactionNumber.d.ts +19 -0
  36. package/lib/chevre/factory/transactionNumber.js +54 -0
  37. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
  38. package/lib/chevre/repo/acceptedPaymentMethod.js +72 -27
  39. package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
  40. package/lib/chevre/repo/aggregateOffer.js +11 -3
  41. package/lib/chevre/repo/aggregateOrder.js +0 -93
  42. package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
  43. package/lib/chevre/repo/aggregateReservation.js +0 -2
  44. package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
  45. package/lib/chevre/repo/confirmationNumber.js +32 -25
  46. package/lib/chevre/repo/event.d.ts +3 -18
  47. package/lib/chevre/repo/event.js +94 -83
  48. package/lib/chevre/repo/eventOffer.d.ts +8 -0
  49. package/lib/chevre/repo/eventOffer.js +11 -0
  50. package/lib/chevre/repo/eventSeries.d.ts +17 -30
  51. package/lib/chevre/repo/eventSeries.js +204 -146
  52. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +0 -1
  53. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +20 -5
  54. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +2 -8
  55. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +28 -2
  56. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
  57. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
  58. package/lib/chevre/repo/mongoose/schemas/setting.js +3 -0
  59. package/lib/chevre/repo/offerCatalog.d.ts +14 -1
  60. package/lib/chevre/repo/offerCatalog.js +41 -19
  61. package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
  62. package/lib/chevre/repo/offerCatalogItem.js +32 -17
  63. package/lib/chevre/repo/orderNumber.d.ts +6 -0
  64. package/lib/chevre/repo/orderNumber.js +110 -35
  65. package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
  66. package/lib/chevre/repo/place/entranceGate.js +172 -0
  67. package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
  68. package/lib/chevre/repo/place/movieTheater.js +77 -6
  69. package/lib/chevre/repo/place/screeningRoom.d.ts +60 -31
  70. package/lib/chevre/repo/place/screeningRoom.js +227 -135
  71. package/lib/chevre/repo/place/seat.d.ts +47 -45
  72. package/lib/chevre/repo/place/seat.js +175 -45
  73. package/lib/chevre/repo/place/section.d.ts +60 -30
  74. package/lib/chevre/repo/place/section.js +337 -127
  75. package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
  76. package/lib/chevre/repo/serviceOutputIdentifier.js +42 -27
  77. package/lib/chevre/repo/setting.d.ts +1 -1
  78. package/lib/chevre/repo/setting.js +2 -2
  79. package/lib/chevre/repo/task.d.ts +1 -1
  80. package/lib/chevre/repo/transactionNumber.d.ts +5 -0
  81. package/lib/chevre/repo/transactionNumber.js +63 -27
  82. package/lib/chevre/repository.d.ts +8 -0
  83. package/lib/chevre/repository.js +16 -0
  84. package/lib/chevre/service/assetTransaction/fixInformAction.d.ts +3 -0
  85. package/lib/chevre/service/assetTransaction/fixInformAction.js +3 -0
  86. package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
  87. package/lib/chevre/service/assetTransaction/pay/cancel.js +25 -0
  88. package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
  89. package/lib/chevre/service/assetTransaction/pay/check.js +37 -0
  90. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
  91. package/lib/chevre/service/assetTransaction/pay/confirm.js +72 -0
  92. package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
  93. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +111 -0
  94. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
  95. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +164 -0
  96. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
  97. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +59 -0
  98. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
  99. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +1 -1
  100. package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
  101. package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +1 -1
  102. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
  103. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +1 -4
  104. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
  105. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +54 -0
  106. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
  107. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +49 -0
  108. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
  109. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +37 -0
  110. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
  111. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +31 -0
  112. package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
  113. package/lib/chevre/service/assetTransaction/pay/start.js +145 -0
  114. package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
  115. package/lib/chevre/service/assetTransaction/pay.js +16 -623
  116. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +10 -2
  117. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
  118. package/lib/chevre/service/event/processUpdateMovieTheater.js +13 -11
  119. package/lib/chevre/service/event/saveScreeningEventSeries.js +4 -5
  120. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
  121. package/lib/chevre/service/event/saveScreeningEvents.js +16 -12
  122. package/lib/chevre/service/offer/event/authorize/factory.js +9 -1
  123. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +7 -4
  124. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +9 -6
  125. package/lib/chevre/service/offer/event/searchOffersByIds.js +7 -4
  126. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +7 -1
  127. package/lib/chevre/service/offer/onEventChanged.js +10 -6
  128. package/lib/chevre/service/offer/product.js +1 -1
  129. package/lib/chevre/service/offer.d.ts +5 -0
  130. package/lib/chevre/service/offer.js +34 -9
  131. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  132. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  133. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  134. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
  135. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +53 -0
  136. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
  137. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +56 -0
  138. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
  139. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +58 -0
  140. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
  141. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +75 -0
  142. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
  143. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +60 -0
  144. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
  145. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +51 -0
  146. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
  147. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +100 -0
  148. package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
  149. package/lib/chevre/service/task/onResourceDeleted.js +168 -0
  150. package/lib/chevre/service/task/onResourceUpdated.js +205 -42
  151. package/lib/chevre/service/task/syncResourcesFromCOA.js +4 -2
  152. package/lib/chevre/service/taskHandler.js +1 -0
  153. package/package.json +9 -9
  154. package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
  155. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
  156. package/example/src/chevre/offers/createSampleOffers.ts +0 -154
  157. package/example/src/chevre/settings/addSettings.ts +0 -46
  158. package/lib/chevre/service/eventOld.d.ts +0 -60
  159. package/lib/chevre/service/eventOld.js +0 -864
  160. package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
  161. package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
  162. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
  163. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -188
  164. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
  165. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -116
  166. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
  167. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
  168. package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
  169. package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
  170. package/lib/chevre/service/task/createEvent.d.ts +0 -6
  171. package/lib/chevre/service/task/createEvent.js +0 -46
  172. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
  173. 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,6 +0,0 @@
1
- import * as factory from '../../factory';
2
- import type { IOperationExecute } from '../taskHandler';
3
- /**
4
- * タスク実行関数
5
- */
6
- export declare function call(data: factory.task.createEvent.IData): IOperationExecute<void>;
@@ -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
- }