@chevre/domain 20.1.0-alpha.9 → 20.1.0

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 (102) hide show
  1. package/example/src/chevre/deleteReservationTicketUnderNames.ts +20 -0
  2. package/example/src/chevre/migrateAccountTitleAdditionalProperties.ts +157 -0
  3. package/example/src/chevre/migrateCreativeWorkAdditionalProperties.ts +116 -0
  4. package/example/src/chevre/migrateEventOffersSellerMakesOffer.ts +17 -5
  5. package/example/src/chevre/migrateEventProjectAttributes.ts +57 -0
  6. package/example/src/chevre/migratePlaceAdditionalProperties.ts +162 -0
  7. package/example/src/chevre/migrateSSKTEventCOAEndpoint.ts +64 -0
  8. package/example/src/chevre/searchEvents.ts +36 -16
  9. package/example/src/chevre/transaction/callOrderMembershipServiceTask.ts +0 -4
  10. package/example/src/chevre/transaction/orderMembershipService.ts +0 -4
  11. package/lib/chevre/factory/reservedAgentIdentifireNames.d.ts +1 -0
  12. package/lib/chevre/factory/reservedAgentIdentifireNames.js +12 -0
  13. package/lib/chevre/repo/accountAction.d.ts +0 -18
  14. package/lib/chevre/repo/accountAction.js +402 -355
  15. package/lib/chevre/repo/accountTitle.d.ts +1 -0
  16. package/lib/chevre/repo/accountTitle.js +6 -1
  17. package/lib/chevre/repo/additionalProperty.d.ts +35 -0
  18. package/lib/chevre/repo/additionalProperty.js +205 -0
  19. package/lib/chevre/repo/categoryCode.d.ts +1 -0
  20. package/lib/chevre/repo/categoryCode.js +15 -1
  21. package/lib/chevre/repo/creativeWork.js +10 -1
  22. package/lib/chevre/repo/customer.d.ts +1 -0
  23. package/lib/chevre/repo/customer.js +5 -0
  24. package/lib/chevre/repo/event.d.ts +12 -4
  25. package/lib/chevre/repo/event.js +84 -48
  26. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -0
  27. package/lib/chevre/repo/merchantReturnPolicy.js +5 -0
  28. package/lib/chevre/repo/mongoose/model/additionalProperty.d.ts +7 -0
  29. package/lib/chevre/repo/mongoose/model/additionalProperty.js +81 -0
  30. package/lib/chevre/repo/mongoose/model/categoryCode.js +18 -2
  31. package/lib/chevre/repo/mongoose/model/creativeWork.js +6 -0
  32. package/lib/chevre/repo/mongoose/model/event.js +6 -0
  33. package/lib/chevre/repo/mongoose/model/offer.js +7 -1
  34. package/lib/chevre/repo/mongoose/model/offerCatalog.js +21 -2
  35. package/lib/chevre/repo/mongoose/model/ownershipInfo.js +3 -15
  36. package/lib/chevre/repo/mongoose/model/place.js +24 -0
  37. package/lib/chevre/repo/offer.js +10 -1
  38. package/lib/chevre/repo/offerCatalog.js +10 -10
  39. package/lib/chevre/repo/person.js +4 -1
  40. package/lib/chevre/repo/place.d.ts +1 -0
  41. package/lib/chevre/repo/place.js +54 -7
  42. package/lib/chevre/repo/reservation.d.ts +17 -2
  43. package/lib/chevre/repo/reservation.js +41 -1
  44. package/lib/chevre/repo/transaction.js +20 -5
  45. package/lib/chevre/repository.d.ts +6 -3
  46. package/lib/chevre/repository.js +10 -5
  47. package/lib/chevre/service/account.d.ts +0 -4
  48. package/lib/chevre/service/account.js +24 -22
  49. package/lib/chevre/service/accountTransaction/deposit.d.ts +0 -2
  50. package/lib/chevre/service/accountTransaction/deposit.js +3 -3
  51. package/lib/chevre/service/accountTransaction/transfer.d.ts +0 -2
  52. package/lib/chevre/service/accountTransaction/transfer.js +3 -3
  53. package/lib/chevre/service/accountTransaction/withdraw.d.ts +0 -2
  54. package/lib/chevre/service/accountTransaction/withdraw.js +3 -3
  55. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +86 -42
  56. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +7 -18
  57. package/lib/chevre/service/assetTransaction/reserve/factory.js +81 -113
  58. package/lib/chevre/service/assetTransaction/reserve.js +41 -95
  59. package/lib/chevre/service/event.js +20 -6
  60. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  61. package/lib/chevre/service/offer/event/authorize.js +32 -21
  62. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  63. package/lib/chevre/service/offer/event/factory.js +17 -12
  64. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +19 -9
  65. package/lib/chevre/service/offer/factory.js +7 -20
  66. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +32 -22
  67. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -5
  68. package/lib/chevre/service/reserve/cancelReservation.js +260 -107
  69. package/lib/chevre/service/reserve/confirmReservation.js +65 -33
  70. package/lib/chevre/service/reserve/factory.d.ts +14 -2
  71. package/lib/chevre/service/reserve/factory.js +13 -6
  72. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.d.ts +1 -1
  73. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +85 -30
  74. package/lib/chevre/service/task/confirmReserveTransaction.js +1 -1
  75. package/lib/chevre/service/transaction/orderProgramMembership.js +15 -28
  76. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +1 -0
  77. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +14 -1
  78. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +9 -4
  79. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +10 -6
  80. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +3 -1
  81. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +3 -2
  82. package/lib/chevre/service/transaction/placeOrderInProgress.js +16 -2
  83. package/lib/chevre/service/transaction/returnOrder.js +10 -1
  84. package/lib/chevre/service.d.ts +2 -0
  85. package/lib/chevre/service.js +2 -0
  86. package/package.json +4 -4
  87. package/example/src/chevre/accountBlanceTest.ts +0 -24
  88. package/example/src/chevre/checkOffersAppliesToMovieTicket.ts +0 -56
  89. package/example/src/chevre/createSeats.ts +0 -59
  90. package/example/src/chevre/deleteEvents.ts +0 -50
  91. package/example/src/chevre/manageOwnedByOfOwnershipInfo.ts +0 -35
  92. package/example/src/chevre/migrateMovieTicketChargePriceSpecs.ts +0 -92
  93. package/example/src/chevre/migrateSellerMakesOffers.ts +0 -84
  94. package/example/src/chevre/migrateTTTSOldEventId.ts +0 -68
  95. package/example/src/chevre/publishConfirmationNumber.ts +0 -30
  96. package/example/src/chevre/publishServiceOutputIdentifier.ts +0 -28
  97. package/example/src/chevre/publishTransactionNumber.ts +0 -28
  98. package/example/src/chevre/renameTransaction.ts +0 -22
  99. package/lib/chevre/service/task/accountMoneyTransfer.d.ts +0 -3
  100. package/lib/chevre/service/task/accountMoneyTransfer.js +0 -31
  101. package/lib/chevre/service/task/cancelAccountMoneyTransfer.d.ts +0 -3
  102. package/lib/chevre/service/task/cancelAccountMoneyTransfer.js +0 -33
@@ -23,7 +23,7 @@ function authorize(params) {
23
23
  // tslint:disable-next-line:max-func-body-length
24
24
  return (repos) => __awaiter(this, void 0, void 0, function* () {
25
25
  const now = new Date();
26
- const { transaction, event, bookingServiceIdentifire } = yield validateCreateRequest(Object.assign(Object.assign({}, params), { now }))({ event: repos.event, transaction: repos.transaction });
26
+ const { transaction, event, bookingServiceIdentifire } = yield validateCreateRequest(Object.assign(Object.assign({}, params), { now, store: params.store }))({ event: repos.event, transaction: repos.transaction });
27
27
  const acceptedOffers = yield validateAcceptedOffers({
28
28
  object: params.object,
29
29
  event,
@@ -31,8 +31,8 @@ function authorize(params) {
31
31
  transaction,
32
32
  store: params.store
33
33
  })(repos);
34
- let requestBody;
35
- let responseBody;
34
+ // let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
35
+ // let responseBody: factory.assetTransaction.reserve.ITransaction;
36
36
  let acceptedOffers4result = [];
37
37
  let transactionNumber;
38
38
  switch (bookingServiceIdentifire) {
@@ -65,8 +65,8 @@ function authorize(params) {
65
65
  transactionNumber,
66
66
  transaction
67
67
  })(repos);
68
- requestBody = processStartReserveResult.requestBody;
69
- responseBody = processStartReserveResult.responseBody;
68
+ // requestBody = processStartReserveResult.requestBody;
69
+ // responseBody = processStartReserveResult.responseBody;
70
70
  acceptedOffers4result = processStartReserveResult.acceptedOffers4result;
71
71
  break;
72
72
  default:
@@ -95,7 +95,17 @@ function authorize(params) {
95
95
  // 金額計算
96
96
  const amount = (0, factory_1.acceptedOffers2amount)({ acceptedOffers: acceptedOffers4result });
97
97
  // アクションを完了
98
- const result = Object.assign({ price: amount, priceCurrency: acceptedOffers[0].priceCurrency, amount: [], requestBody: requestBody, responseBody: responseBody }, (acceptedOffers4result !== undefined) ? { acceptedOffers: acceptedOffers4result } : undefined);
98
+ const result = {
99
+ price: amount,
100
+ priceCurrency: acceptedOffers[0].priceCurrency,
101
+ amount: [],
102
+ // 不要なので廃止(2022-12-14~)
103
+ // requestBody: requestBody,
104
+ // responseBody: responseBody,
105
+ requestBody: {},
106
+ responseBody: {},
107
+ acceptedOffers: acceptedOffers4result
108
+ };
99
109
  return yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
100
110
  });
101
111
  }
@@ -122,7 +132,7 @@ function validateCreateRequest(params) {
122
132
  const bookingServiceIdentifire = offeredThrough.identifier;
123
133
  if (bookingServiceIdentifire === factory.service.webAPI.Identifier.Chevre) {
124
134
  if (params.validateEventOfferPeriod === true) {
125
- validateEventOfferPeriod({ event, now });
135
+ validateEventOfferPeriod({ event, now, availableAt: { id: params.store.id } });
126
136
  }
127
137
  if (params.validateEvent === true) {
128
138
  validateEvent({ event, object: params.object });
@@ -137,7 +147,7 @@ function processStartReserve4chevre(params) {
137
147
  const event = params.event;
138
148
  const transactionNumber = params.transactionNumber;
139
149
  const transaction = params.transaction;
140
- let requestBody;
150
+ // let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
141
151
  let responseBody;
142
152
  let acceptedOffers4result = [];
143
153
  if (typeof transactionNumber !== 'string') {
@@ -151,10 +161,9 @@ function processStartReserve4chevre(params) {
151
161
  transaction,
152
162
  transactionNumber
153
163
  });
154
- requestBody = startParams;
164
+ // requestBody = startParams;
155
165
  const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
156
- // 予約取引サービス開始
157
- // responseBody = await repos.reserveTransaction.start(startParams);
166
+ // 予約取引開始
158
167
  responseBody = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, validateAppliesToMovieTicket: true }))(repos);
159
168
  // 予約取引からオファー情報を生成する
160
169
  acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
@@ -163,19 +172,12 @@ function processStartReserve4chevre(params) {
163
172
  project: transaction.project,
164
173
  seller: transaction.seller
165
174
  });
166
- return { requestBody, responseBody, acceptedOffers4result };
175
+ return { acceptedOffers4result };
167
176
  });
168
177
  }
169
178
  function validateObjectWithoutDetail(params) {
170
179
  return (repos) => __awaiter(this, void 0, void 0, function* () {
171
180
  var _a, _b, _c, _d;
172
- // const objectWithoutDetail: factory.assetTransaction.reserve.IObjectWithoutDetail = {
173
- // ...params.object,
174
- // // 互換性維持対応として、event.idをreservationFor.idに置換
175
- // ...(typeof params.object?.event?.id === 'string')
176
- // ? { reservationFor: { id: <string>params.object.event.id } }
177
- // : undefined
178
- // };
179
181
  const objectWithoutDetail = params.object;
180
182
  if (Array.isArray(objectWithoutDetail.acceptedOffer)) {
181
183
  for (let acceptedOffer of objectWithoutDetail.acceptedOffer) {
@@ -209,8 +211,17 @@ function validateObjectWithoutDetail(params) {
209
211
  function validateEventOfferPeriod(params) {
210
212
  const acceptedDate = moment(params.now);
211
213
  const eventOffers = params.event.offers;
212
- const validFrom = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.validFrom;
213
- const validThrough = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.validThrough;
214
+ // アプリケーションごとの設定を参照する(2022-11-19~)
215
+ const makesOfferOnApplication = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.seller.makesOffer.find((offer) => {
216
+ return Array.isArray(offer.availableAtOrFrom) && offer.availableAtOrFrom[0].id === params.availableAt.id;
217
+ });
218
+ if (makesOfferOnApplication === undefined) {
219
+ throw new factory.errors.Argument('reservationFor.id', `seller makes no available offer at ${params.availableAt.id}`);
220
+ }
221
+ const validFrom = makesOfferOnApplication.validFrom;
222
+ const validThrough = makesOfferOnApplication.validThrough;
223
+ // const validFrom = eventOffers?.validFrom;
224
+ // const validThrough = eventOffers?.validThrough;
214
225
  if (validFrom !== undefined && validFrom !== null) {
215
226
  if (acceptedDate.isBefore(moment(validFrom))) {
216
227
  throw new factory.errors.Argument('reservationFor.id', `Offer of ${params.event.id} is valid from ${validFrom}`);
@@ -24,7 +24,7 @@ export declare function acceptedOffers2amount(params: {
24
24
  }): number;
25
25
  declare type IResultAcceptedOffer = factory.action.authorize.offer.seatReservation.IResultAcceptedOffer;
26
26
  export declare function responseBody2acceptedOffers4result(params: {
27
- responseBody: factory.action.authorize.offer.seatReservation.IResponseBody<factory.service.webAPI.Identifier.Chevre>;
27
+ responseBody: factory.assetTransaction.reserve.ITransaction;
28
28
  event: factory.event.IEvent<factory.eventType.ScreeningEvent>;
29
29
  project: {
30
30
  id: string;
@@ -159,7 +159,6 @@ function responseBody2acceptedOffers4result(params) {
159
159
  var _a;
160
160
  const reservation = createReservation({ project: params.project, itemOffered, event: params.event });
161
161
  // appliesToMovieTicketがArrayでないケースは廃止(2022-09-12~)
162
- // const priceSpecification = <IReservationPriceSpecification>itemOffered.price;
163
162
  const priceSpecification = itemOffered.price;
164
163
  const priceComponent = priceSpecification.priceComponent.map((c) => {
165
164
  var _a;
@@ -181,7 +180,6 @@ function responseBody2acceptedOffers4result(params) {
181
180
  : undefined);
182
181
  });
183
182
  return {
184
- // project: { typeOf: params.project.typeOf, id: params.project.id },
185
183
  typeOf: factory.offerType.Offer,
186
184
  id: itemOffered.reservedTicket.ticketType.id,
187
185
  name: itemOffered.reservedTicket.ticketType.name,
@@ -190,8 +188,6 @@ function responseBody2acceptedOffers4result(params) {
190
188
  priceSpecification: {
191
189
  priceComponent: priceComponent,
192
190
  priceCurrency: priceSpecification.priceCurrency,
193
- // 不要な属性を除外(2022-11-02~)
194
- // project: priceSpecification.project,
195
191
  typeOf: priceSpecification.typeOf,
196
192
  valueAddedTaxIncluded: priceSpecification.valueAddedTaxIncluded
197
193
  },
@@ -199,7 +195,6 @@ function responseBody2acceptedOffers4result(params) {
199
195
  ? itemOffered.priceCurrency
200
196
  : factory.priceCurrency.JPY,
201
197
  seller: {
202
- // project: { typeOf: params.project.typeOf, id: params.project.id },
203
198
  typeOf: params.seller.typeOf,
204
199
  name: (typeof params.seller.name === 'string')
205
200
  ? params.seller.name
@@ -218,15 +213,20 @@ function createReservation(params) {
218
213
  var _a;
219
214
  const itemOffered = params.itemOffered;
220
215
  const event = params.event;
221
- const workPerformed = Object.assign({ project: event.superEvent.workPerformed.project, typeOf: event.superEvent.workPerformed.typeOf, id: event.superEvent.workPerformed.id, identifier: event.superEvent.workPerformed.identifier, name: event.superEvent.workPerformed.name }, (typeof event.superEvent.workPerformed.duration === 'string')
216
+ const workPerformed = Object.assign({
217
+ // 不要なので廃止(2022-12-19~)
218
+ // project: event.superEvent.workPerformed.project,
219
+ typeOf: event.superEvent.workPerformed.typeOf, id: event.superEvent.workPerformed.id, identifier: event.superEvent.workPerformed.identifier, name: event.superEvent.workPerformed.name }, (typeof event.superEvent.workPerformed.duration === 'string')
222
220
  ? { duration: event.superEvent.workPerformed.duration }
223
221
  : undefined);
224
222
  const reservationFor = {
225
- project: event.project,
223
+ // 不要なので廃止(2022-12-19~)
224
+ // project: event.project,
226
225
  typeOf: event.typeOf,
227
226
  // 予約のreservationForは最適化されているので、additionalPropertyは存在しない
228
227
  // additionalProperty: itemOffered.reservationFor.additionalProperty,
229
- eventStatus: event.eventStatus,
228
+ // 不要なので廃止(2022-12-19~)
229
+ // eventStatus: event.eventStatus,
230
230
  id: event.id,
231
231
  location: event.location,
232
232
  name: event.name,
@@ -237,19 +237,24 @@ function createReservation(params) {
237
237
  startDate: moment(event.startDate)
238
238
  .toDate(),
239
239
  // 最適化(2022-05-31~)
240
- superEvent: Object.assign(Object.assign({ project: event.superEvent.project, typeOf: event.superEvent.typeOf, id: event.superEvent.id, kanaName: event.superEvent.kanaName, location: event.superEvent.location, name: event.superEvent.name, soundFormat: event.superEvent.soundFormat, videoFormat: event.superEvent.videoFormat, workPerformed }, (typeof event.superEvent.duration === 'string') ? { duration: event.superEvent.duration } : undefined), (event.superEvent.headline !== undefined) ? { headline: event.superEvent.headline } : undefined)
240
+ superEvent: Object.assign(Object.assign({
241
+ // 不要なので廃止(2022-12-19~)
242
+ // project: event.superEvent.project,
243
+ typeOf: event.superEvent.typeOf, id: event.superEvent.id, kanaName: event.superEvent.kanaName, location: event.superEvent.location, name: event.superEvent.name, soundFormat: event.superEvent.soundFormat, videoFormat: event.superEvent.videoFormat, workPerformed }, (typeof event.superEvent.duration === 'string') ? { duration: event.superEvent.duration } : undefined), (event.superEvent.headline !== undefined) ? { headline: event.superEvent.headline } : undefined)
241
244
  // 廃止(superEvent.workPerformedへ完全移行)
242
245
  // workPerformed: {},
243
246
  };
244
247
  const reservedTicket = Object.assign({ typeOf: itemOffered.reservedTicket.typeOf, ticketType: {
245
- project: { typeOf: params.project.typeOf, id: params.project.id },
248
+ // 不要なので廃止(2022-12-17~)
249
+ // project: { typeOf: params.project.typeOf, id: params.project.id },
246
250
  typeOf: itemOffered.reservedTicket.ticketType.typeOf,
247
251
  id: itemOffered.reservedTicket.ticketType.id,
248
252
  identifier: itemOffered.reservedTicket.ticketType.identifier,
249
253
  name: itemOffered.reservedTicket.ticketType.name,
250
254
  description: itemOffered.reservedTicket.ticketType.description,
251
- additionalProperty: itemOffered.reservedTicket.ticketType.additionalProperty,
252
- priceCurrency: itemOffered.reservedTicket.ticketType.priceCurrency
255
+ additionalProperty: itemOffered.reservedTicket.ticketType.additionalProperty
256
+ // 不要なので廃止(2022-12-17~)
257
+ // priceCurrency: itemOffered.reservedTicket.ticketType.priceCurrency
253
258
  } }, (itemOffered.reservedTicket.ticketedSeat !== undefined)
254
259
  ? { ticketedSeat: itemOffered.reservedTicket.ticketedSeat }
255
260
  : undefined);
@@ -82,7 +82,6 @@ function responseBody2acceptedOffers4result(params) {
82
82
  coaInfo = event.coaInfo;
83
83
  }
84
84
  else {
85
- // const coaEndpointProperty = event.additionalProperty.find((p) => p.name === 'COA_ENDPOINT');
86
85
  const coaInfoProperty = (_a = event.additionalProperty) === null || _a === void 0 ? void 0 : _a.find((p) => p.name === 'coaInfo');
87
86
  coaInfo = (coaInfoProperty !== undefined) ? JSON.parse(coaInfoProperty.value) : undefined;
88
87
  }
@@ -101,7 +100,8 @@ function responseBody2acceptedOffers4result(params) {
101
100
  const reservationNumber = String(updTmpReserveSeatResult.tmpReserveNum);
102
101
  const reservationId = `${reservationNumber}-${index.toString()}`;
103
102
  const workPerformed = {
104
- project: event.superEvent.workPerformed.project,
103
+ // 不要なので廃止(2022-12-19~)
104
+ // project: event.superEvent.workPerformed.project,
105
105
  id: event.superEvent.workPerformed.id,
106
106
  identifier: event.superEvent.workPerformed.identifier,
107
107
  name: event.superEvent.workPerformed.name,
@@ -114,16 +114,24 @@ function responseBody2acceptedOffers4result(params) {
114
114
  .toDate()
115
115
  }
116
116
  : undefined), { endDate: moment(event.endDate)
117
- .toDate(), eventStatus: event.eventStatus, identifier: event.identifier, location: {
118
- project: event.location.project,
117
+ .toDate(),
118
+ // 不要なので廃止(2022-12-19~)
119
+ // eventStatus: event.eventStatus,
120
+ identifier: event.identifier, location: {
121
+ // 不要なので廃止(2022-12-19~)
122
+ // project: event.location.project,
119
123
  typeOf: event.location.typeOf,
120
124
  branchCode: event.location.branchCode,
121
125
  name: event.location.name
122
- }, name: event.name, project: event.project, startDate: moment(event.startDate)
126
+ }, name: event.name,
127
+ // 不要なので廃止(2022-12-19~)
128
+ // project: event.project,
129
+ startDate: moment(event.startDate)
123
130
  .toDate(),
124
131
  // 最適化(2022-05-31~)
125
132
  superEvent: {
126
- project: event.superEvent.project,
133
+ // 不要なので廃止(2022-12-19~)
134
+ // project: event.superEvent.project,
127
135
  typeOf: event.superEvent.typeOf,
128
136
  id: event.superEvent.id,
129
137
  identifier: event.superEvent.identifier,
@@ -152,12 +160,14 @@ function responseBody2acceptedOffers4result(params) {
152
160
  ticketNumber: ticketToken,
153
161
  ticketToken: ticketToken,
154
162
  ticketType: {
155
- project: { typeOf: event.project.typeOf, id: event.project.id },
163
+ // 不要なので廃止(2022-12-17~)
164
+ // project: { typeOf: event.project.typeOf, id: event.project.id },
156
165
  typeOf: factory.offerType.Offer,
157
166
  id: requestedOffer.id,
158
167
  identifier: String(requestedOffer.identifier),
159
- name: requestedOffer.name,
160
- priceCurrency: factory.priceCurrency.JPY
168
+ name: requestedOffer.name
169
+ // 不要なので廃止(2022-12-17~)
170
+ // priceCurrency: factory.priceCurrency.JPY
161
171
  }
162
172
  };
163
173
  const additionalProperty = (_c = (_b = requestedOffer.itemOffered) === null || _b === void 0 ? void 0 : _b.serviceOutput) === null || _c === void 0 ? void 0 : _c.additionalProperty;
@@ -13,7 +13,6 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.createCompoundPriceSpec4event = void 0;
15
15
  const factory = require("../../factory");
16
- const USE_MULTIPLE_MOVIE_TICKET_CHARGE = process.env.USE_MULTIPLE_MOVIE_TICKET_CHARGE === '1';
17
16
  function categoryCodeChargePriceSpec2component(params) {
18
17
  var _a;
19
18
  return Object.assign({ id: params.id, typeOf: params.typeOf, name: params.name, price: params.price, priceCurrency: params.priceCurrency, valueAddedTaxIncluded: params.valueAddedTaxIncluded, appliesToCategoryCode: params.appliesToCategoryCode }, (typeof ((_a = params.accounting) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { accounting: params.accounting } : undefined);
@@ -35,25 +34,13 @@ function createCompoundPriceSpec4event(params) {
35
34
  if (Array.isArray(unitPriceSpec.appliesToMovieTicket)) {
36
35
  unitPriceSpec.appliesToMovieTicket.forEach((appliesToMovieTicket) => {
37
36
  // すべての上映方式に該当する加算料金を追加(2022-10-29~)
38
- if (USE_MULTIPLE_MOVIE_TICKET_CHARGE) {
39
- const mvtkSpecs4appliesToMovieTicket = params.movieTicketTypeChargeSpecs.filter((s) => {
40
- var _a;
41
- return ((_a = s.appliesToMovieTicket.serviceOutput) === null || _a === void 0 ? void 0 : _a.typeOf) === appliesToMovieTicket.serviceOutput.typeOf
42
- && s.appliesToMovieTicket.serviceType === appliesToMovieTicket.serviceType
43
- && params.videoFormatTypes.includes(s.appliesToVideoFormat);
44
- });
45
- mvtkPriceComponents.push(...mvtkSpecs4appliesToMovieTicket.map(mvtkChargePriceSpec2component));
46
- }
47
- else {
48
- const mvtkSpec4appliesToMovieTicket = params.movieTicketTypeChargeSpecs.find((s) => {
49
- var _a;
50
- return ((_a = s.appliesToMovieTicket.serviceOutput) === null || _a === void 0 ? void 0 : _a.typeOf) === appliesToMovieTicket.serviceOutput.typeOf
51
- && s.appliesToMovieTicket.serviceType === appliesToMovieTicket.serviceType;
52
- });
53
- if (mvtkSpec4appliesToMovieTicket !== undefined) {
54
- mvtkPriceComponents.push(mvtkChargePriceSpec2component(mvtkSpec4appliesToMovieTicket));
55
- }
56
- }
37
+ const mvtkSpecs4appliesToMovieTicket = params.movieTicketTypeChargeSpecs.filter((s) => {
38
+ var _a;
39
+ return ((_a = s.appliesToMovieTicket.serviceOutput) === null || _a === void 0 ? void 0 : _a.typeOf) === appliesToMovieTicket.serviceOutput.typeOf
40
+ && s.appliesToMovieTicket.serviceType === appliesToMovieTicket.serviceType
41
+ && params.videoFormatTypes.includes(s.appliesToVideoFormat);
42
+ });
43
+ mvtkPriceComponents.push(...mvtkSpecs4appliesToMovieTicket.map(mvtkChargePriceSpec2component));
57
44
  });
58
45
  }
59
46
  else {
@@ -21,6 +21,7 @@ const util_1 = require("util");
21
21
  const credentials_1 = require("../../../credentials");
22
22
  const factory = require("../../../factory");
23
23
  const order_1 = require("../../../factory/order");
24
+ const reservedAgentIdentifireNames_1 = require("../../../factory/reservedAgentIdentifireNames");
24
25
  const settings_1 = require("../../../settings");
25
26
  const informOrder = (_a = settings_1.settings.onOrderStatusChanged) === null || _a === void 0 ? void 0 : _a.informOrder;
26
27
  function getOrderWithToken(params) {
@@ -123,28 +124,37 @@ function createInformTasks(order) {
123
124
  }
124
125
  exports.createInformTasks = createInformTasks;
125
126
  function creteOrder4inform(order) {
126
- // 冗長な個人情報をmask
127
- return Object.assign(Object.assign(Object.assign({
128
- // whitelistで作成する(2022-07-19~)
129
- project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency,
130
- // discounts: order.discounts,
131
- confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
132
- // mask
133
- customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
134
- // identifierは必要
135
- identifier: (Array.isArray(order.customer.identifier)) ? order.customer.identifier : [] }),
136
- // paymentMethodsに関してもmask(2022-05-30~)
137
- paymentMethods: order.paymentMethods.map((p) => {
138
- return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
139
- ? { accountId: ASTERISK_CHARACTER.repeat(p.accountId.length) }
140
- : undefined);
141
- }) }, (typeof order.token === 'string')
142
- ? { token: order.token }
143
- : undefined), (order.dateReturned !== undefined) ? { dateReturned: order.dateReturned } : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
144
- // nameは除外
145
- // if (typeof order4inform.name === 'string') {
146
- // delete order4inform.name;
147
- // }
127
+ if (order.orderStatus === factory.orderStatus.OrderReturned) {
128
+ // 返品注文通知内容を最適化(2022-12-28~)
129
+ return Object.assign(Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (order.dateReturned !== undefined) ? { dateReturned: order.dateReturned } : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
130
+ }
131
+ else if (order.orderStatus === factory.orderStatus.OrderDelivered) {
132
+ // 配送済注文通知内容を最適化(2022-12-29~)
133
+ return Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (typeof order.id === 'string') ? { id: order.id } : undefined);
134
+ }
135
+ else {
136
+ // 冗長な個人情報をmask
137
+ return Object.assign(Object.assign({
138
+ // whitelistで作成する(2022-07-19~)
139
+ project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
140
+ // mask
141
+ customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
142
+ // identifierは必要
143
+ // 予約後を隠蔽(2022-12-24~)
144
+ identifier: (Array.isArray(order.customer.identifier))
145
+ ? order.customer.identifier.filter((p) => {
146
+ return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
147
+ })
148
+ : [] }),
149
+ // paymentMethodsに関してもmask(2022-05-30~)
150
+ paymentMethods: order.paymentMethods.map((p) => {
151
+ return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
152
+ ? { accountId: ASTERISK_CHARACTER.repeat(p.accountId.length) }
153
+ : undefined);
154
+ }) }, (typeof order.token === 'string')
155
+ ? { token: order.token }
156
+ : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
157
+ }
148
158
  }
149
159
  /**
150
160
  * 注文保管期間
@@ -9,7 +9,7 @@ declare type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSub
9
9
  /**
10
10
  * 進行中の予約をキャンセルする
11
11
  */
12
- export declare function cancelPendingReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
12
+ declare function cancelPendingReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
13
13
  action: ActionRepo;
14
14
  assetTransaction: AssetTransactionRepo;
15
15
  eventAvailability: ScreeningEventAvailabilityRepo;
@@ -20,7 +20,7 @@ export declare function cancelPendingReservation(actionAttributesList: factory.a
20
20
  /**
21
21
  * 予約をキャンセルする
22
22
  */
23
- export declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
23
+ declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
24
24
  action: ActionRepo;
25
25
  eventAvailability: ScreeningEventAvailabilityRepo;
26
26
  offerRateLimit: OfferRateLimitRepo;
@@ -28,10 +28,10 @@ export declare function cancelReservation(actionAttributesList: factory.action.c
28
28
  task: TaskRepo;
29
29
  assetTransaction: AssetTransactionRepo;
30
30
  }) => Promise<void>;
31
- export declare function processUnlockOfferRateLimit(params: {
32
- reservation: IObjectSubReservation;
31
+ declare function processUnlockOfferRateLimit(params: {
32
+ reservation: Pick<IObjectSubReservation, 'reservationNumber' | 'reservedTicket'>;
33
33
  reservationFor: factory.assetTransaction.reserve.IReservationFor;
34
34
  }): (repos: {
35
35
  offerRateLimit: OfferRateLimitRepo;
36
36
  }) => Promise<void>;
37
- export {};
37
+ export { cancelPendingReservation, cancelReservation, processUnlockOfferRateLimit };