@chevre/domain 24.1.0-alpha.51 → 24.1.0-alpha.53

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.
@@ -412,24 +412,26 @@ const indexes = [
412
412
  }
413
413
  }
414
414
  ],
415
- [
416
- { 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': 1, orderDate: -1 },
417
- {
418
- name: 'searchByReservedTicketTicketedSeatSeatNumber',
419
- partialFilterExpression: {
420
- 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': { $exists: true }
421
- }
422
- }
423
- ],
424
- [
425
- { 'acceptedOffers.itemOffered.reservedTicket.identifier': 1, orderDate: -1 },
426
- {
427
- name: 'searchByReservedTicketIdentifier',
428
- partialFilterExpression: {
429
- 'acceptedOffers.itemOffered.reservedTicket.identifier': { $exists: true }
430
- }
431
- }
432
- ],
415
+ // discontinue(2026-06-08~)
416
+ // [
417
+ // { 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': 1, orderDate: -1 },
418
+ // {
419
+ // name: 'searchByReservedTicketTicketedSeatSeatNumber',
420
+ // partialFilterExpression: {
421
+ // 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': { $exists: true }
422
+ // }
423
+ // }
424
+ // ],
425
+ // discontinue(2026-06-08~)
426
+ // [
427
+ // { 'acceptedOffers.itemOffered.reservedTicket.identifier': 1, orderDate: -1 },
428
+ // {
429
+ // name: 'searchByReservedTicketIdentifier',
430
+ // partialFilterExpression: {
431
+ // 'acceptedOffers.itemOffered.reservedTicket.identifier': { $exists: true }
432
+ // }
433
+ // }
434
+ // ],
433
435
  [
434
436
  { 'acceptedOffers.serialNumber': 1, orderDate: -1 },
435
437
  {
@@ -80,7 +80,7 @@ function createSubReservations(params) {
80
80
  ticketOffer: ticketOffer
81
81
  });
82
82
  const additionalTicketText = (0, createReservation_1.createAdditionalTicketText)({ acceptedOffer, reservedTicket });
83
- const additionalProperty = (0, createReservation_1.createAdditionalProperty)({ acceptedOffer });
83
+ // const additionalProperty = createAdditionalProperty({ acceptedOffer });
84
84
  // 座席指定であれば、座席タイプチャージを検索する
85
85
  const seatPriceComponent = [];
86
86
  // 区分加算料金を適用しないオプションを追加(2023-01-26~)
@@ -179,7 +179,7 @@ function createSubReservations(params) {
179
179
  id: reservationId,
180
180
  reservationFor: params.event,
181
181
  reservedTicket: reservedTicket,
182
- additionalProperty: additionalProperty,
182
+ // additionalProperty: additionalProperty,
183
183
  additionalTicketText: additionalTicketText,
184
184
  ticketOffer: ticketOffer,
185
185
  seatPriceComponent: seatPriceComponent,
@@ -20,12 +20,6 @@ declare function validateAppliesToMovieTicket(params: {
20
20
  availableOffer: factory.unitPriceOffer.IUnitPriceOffer;
21
21
  appliesToMovieTicket?: factory.assetTransaction.reserve.IAcceptedAppliesToMovieTicket;
22
22
  }): void;
23
- /**
24
- * 追加特性を生成する
25
- */
26
- declare function createAdditionalProperty(params: {
27
- acceptedOffer: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail;
28
- }): factory.propertyValue.IPropertyValue<string>[];
29
23
  /**
30
24
  * 追加チケットテキストを生成する
31
25
  */
@@ -41,7 +35,6 @@ declare function createReservation(params: {
41
35
  id: string;
42
36
  reservationFor: IMinimizedIndividualEvent;
43
37
  reservedTicket: factory.assetTransaction.reserve.ISubReservationReservedTicket;
44
- additionalProperty?: factory.propertyValue.IPropertyValue<string>[];
45
38
  additionalTicketText?: string;
46
39
  ticketOffer: factory.product.ITicketOffer;
47
40
  seatPriceComponent: factory.place.seat.IPriceComponent[];
@@ -52,4 +45,4 @@ declare function createReservation(params: {
52
45
  appliesToMovieTicket?: factory.assetTransaction.reserve.IAcceptedAppliesToMovieTicket;
53
46
  validateAppliesToMovieTicket: boolean;
54
47
  }): IObjectSubReservation;
55
- export { createAdditionalProperty, createAdditionalTicketText, createReservation, createReservedTicket, IAcceptedAddOn, validateAppliesToMovieTicket };
48
+ export { createAdditionalTicketText, createReservation, createReservedTicket, IAcceptedAddOn, validateAppliesToMovieTicket };
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createAdditionalProperty = createAdditionalProperty;
7
6
  exports.createAdditionalTicketText = createAdditionalTicketText;
8
7
  exports.createReservation = createReservation;
9
8
  exports.createReservedTicket = createReservedTicket;
@@ -16,14 +15,15 @@ const price_1 = require("./price");
16
15
  const debug = (0, debug_1.default)('chevre-domain:service:assetTransaction');
17
16
  function createTicketIdentifier(params) {
18
17
  // チケット識別子の規定値を作成
19
- let ticketIdentifier = (typeof params.ticketedSeat?.seatNumber === 'string')
18
+ const ticketIdentifier = (typeof params.ticketedSeat?.seatNumber === 'string')
20
19
  ? (0, util_1.format)('%s:%s:%s', params.reservationFor.id, params.ticketedSeat.seatSection, params.ticketedSeat.seatNumber)
21
20
  : (0, util_1.format)('%s:%s', params.reservationFor.id, params.id);
22
- // 指定があれば採用
23
- const ticketIdentifierByRequest = params.acceptedOffer.itemOffered?.serviceOutput?.reservedTicket?.identifier;
24
- if (typeof ticketIdentifierByRequest === 'string' && ticketIdentifierByRequest.length > 0) {
25
- ticketIdentifier = ticketIdentifierByRequest;
26
- }
21
+ // チケット識別子のカスタム指定を廃止(2026-06-08~)
22
+ // // 指定があれば採用
23
+ // const ticketIdentifierByRequest = params.acceptedOffer.itemOffered?.serviceOutput?.reservedTicket?.identifier;
24
+ // if (typeof ticketIdentifierByRequest === 'string' && ticketIdentifierByRequest.length > 0) {
25
+ // ticketIdentifier = ticketIdentifierByRequest;
26
+ // }
27
27
  return ticketIdentifier;
28
28
  }
29
29
  function createReservedTicket(params) {
@@ -295,16 +295,18 @@ function validateAppliesToMovieTicket(params) {
295
295
  // Arrayでないケースは廃止(2022-09-10~)
296
296
  }
297
297
  }
298
- /**
299
- * 追加特性を生成する
300
- */
301
- function createAdditionalProperty(params) {
302
- let additionalProperty = params.acceptedOffer.itemOffered?.serviceOutput?.additionalProperty;
303
- if (!Array.isArray(additionalProperty)) {
304
- additionalProperty = [];
305
- }
306
- return additionalProperty;
307
- }
298
+ // /**
299
+ // * 追加特性を生成する
300
+ // */
301
+ // function createAdditionalProperty(params: {
302
+ // acceptedOffer: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail;
303
+ // }): factory.propertyValue.IPropertyValue<string>[] {
304
+ // let additionalProperty = params.acceptedOffer.itemOffered?.serviceOutput?.additionalProperty;
305
+ // if (!Array.isArray(additionalProperty)) {
306
+ // additionalProperty = [];
307
+ // }
308
+ // return additionalProperty;
309
+ // }
308
310
  /**
309
311
  * 追加チケットテキストを生成する
310
312
  */
@@ -330,9 +332,7 @@ function createReservation(params) {
330
332
  return {
331
333
  typeOf: factory_1.factory.reservationType.EventReservation,
332
334
  id: params.id,
333
- // reservationPackage保管に移行(2023-06-06~)
334
- // issuedThrough,
335
- additionalProperty: params.additionalProperty,
335
+ // additionalProperty: params.additionalProperty, // discontinue(2026-06-07~)
336
336
  numSeats: 1,
337
337
  price: price4reservation,
338
338
  priceCurrency: factory_1.factory.priceCurrency.JPY,
@@ -316,9 +316,10 @@ function createReservation(params) {
316
316
  const reservedTicket = {
317
317
  typeOf: itemOffered.reservedTicket.typeOf,
318
318
  ticketType,
319
- ...(typeof itemOffered.reservedTicket.identifier === 'string')
320
- ? { identifier: itemOffered.reservedTicket.identifier }
321
- : undefined, // チケット識別子追加(2024-04-15~)
319
+ identifier: itemOffered.reservedTicket.identifier, // チケット識別子必須化(2026-06-08~)
320
+ // ...(typeof itemOffered.reservedTicket.identifier === 'string')
321
+ // ? { identifier: itemOffered.reservedTicket.identifier }
322
+ // : undefined, // チケット識別子追加(2024-04-15~)
322
323
  ...(itemOffered.reservedTicket.ticketedSeat !== undefined)
323
324
  ? { ticketedSeat: itemOffered.reservedTicket.ticketedSeat }
324
325
  : undefined
@@ -237,51 +237,6 @@ function validateAcceptedOffers(params) {
237
237
  })();
238
238
  }))
239
239
  : [];
240
- // reserveTransaction.startへ処理を移行(2024-07-03~)
241
- // オファーIDごとにオファー適用条件を確認
242
- // offerIds.forEach((offerId) => {
243
- // const acceptedOffersByOfferId = acceptedOffers.filter((o) => o.id === offerId);
244
- // const numAcceptedOffersByOfferId = acceptedOffersByOfferId.length;
245
- // let referenceQuantityValue = 1;
246
- // // 単価仕様を取り出す
247
- // const unitPriceSpec = acceptedOffersByOfferId[0].priceSpecification.priceComponent.find(
248
- // (spec) => spec.typeOf === factory.priceSpecificationType.UnitPriceSpecification && (!Array.isArray(spec.appliesToAddOn))
249
- // );
250
- // // 単価仕様は必ず存在するはず
251
- // if (unitPriceSpec?.typeOf !== factory.priceSpecificationType.UnitPriceSpecification) {
252
- // throw new factory.errors.Internal(`unitPriceSpec of the offer '${offerId}' not found`);
253
- // }
254
- // const unitPriceSpecReferenceQuantityValue = unitPriceSpec.referenceQuantity?.value;
255
- // if (typeof unitPriceSpecReferenceQuantityValue === 'number') {
256
- // referenceQuantityValue = unitPriceSpecReferenceQuantityValue;
257
- // }
258
- // // アイテム数が適用単位要件を満たしていなければエラー
259
- // if (numAcceptedOffersByOfferId % referenceQuantityValue !== 0) {
260
- // throw new factory.errors.Argument(
261
- // 'acceptedOffers',
262
- // `Offer ${offerId} requires reference quantity value ${referenceQuantityValue}`
263
- // );
264
- // }
265
- // // 適用数量要件を満たしていなければエラー
266
- // const maxValue = unitPriceSpec.eligibleQuantity?.maxValue;
267
- // if (typeof maxValue === 'number') {
268
- // if (numAcceptedOffersByOfferId > maxValue) {
269
- // throw new factory.errors.Argument(
270
- // 'acceptedOffers',
271
- // `Number of offer:${offerId} must be less than or equal to ${maxValue}`
272
- // );
273
- // }
274
- // }
275
- // const minValue = unitPriceSpec.eligibleQuantity?.minValue;
276
- // if (typeof minValue === 'number') {
277
- // if (numAcceptedOffersByOfferId < minValue) {
278
- // throw new factory.errors.Argument(
279
- // 'acceptedOffers',
280
- // `Number of offer:${offerId} must be more than or equal to ${minValue}`
281
- // );
282
- // }
283
- // }
284
- // });
285
240
  return { acceptedOffers, ticketOffers, unitPriceOffers };
286
241
  };
287
242
  }
@@ -293,27 +248,7 @@ function acceptedOfferWithoutDetail2acceptedOffer(params) {
293
248
  if (offer === undefined) {
294
249
  throw new factory_1.factory.errors.NotFound('Ticket Offer', `Ticket Offer ${offerWithoutDetail.id} not found`);
295
250
  }
296
- // // ポイント特典入金先の指定があれば入金識別子を発行
297
- // const pointAward = createPointAwardByOfferWithoutDetail({
298
- // offerWithoutDetail,
299
- // transaction: params.transaction
300
- // });
301
251
  const acceptedAppliesToMovieTicket = offerWithoutDetail.priceSpecification?.appliesToMovieTicket;
302
- // 承認アクションオブジェクトのacceptedOfferにappliesToMovieTicketを連携する(2022-08-02~)
303
- // const priceSpecification: IAcceptedOfferPriceSpecification = {
304
- // // 必要な属性のみに最適化(2024-04-09~)
305
- // // ...offer.priceSpecification,
306
- // typeOf: offer.priceSpecification.typeOf,
307
- // priceCurrency: offer.priceSpecification.priceCurrency,
308
- // // valueAddedTaxIncluded: offer.priceSpecification.valueAddedTaxIncluded,
309
- // priceComponent: offer.priceSpecification.priceComponent.map(({
310
- // name, accounting, id, priceCurrency, valueAddedTaxIncluded, ...necessaryComponentFields
311
- // }) => necessaryComponentFields),
312
- // // appliesToMovieTicket.identifierを連携する
313
- // ...(Array.isArray(acceptedAppliesToMovieTicket) || typeof acceptedAppliesToMovieTicket?.identifier === 'string')
314
- // ? { appliesToMovieTicket: acceptedAppliesToMovieTicket }
315
- // : undefined
316
- // };
317
252
  const priceSpecification = {
318
253
  // appliesToMovieTicket.identifierを連携する
319
254
  ...(Array.isArray(acceptedAppliesToMovieTicket) || typeof acceptedAppliesToMovieTicket?.identifier === 'string')
@@ -339,7 +274,7 @@ function acceptedOfferWithoutDetail2acceptedOffer(params) {
339
274
  // itemOfferedServiceOutputを最適化(2024-04-08~)
340
275
  let itemOfferedServiceOutput;
341
276
  if (typeof serviceOutputByOfferWithoutDetail?.typeOf === 'string') {
342
- const { typeOf, additionalProperty, additionalTicketText, programMembershipUsed, reservedTicket, subReservation } = serviceOutputByOfferWithoutDetail;
277
+ const { typeOf, additionalTicketText, programMembershipUsed, reservedTicket, subReservation } = serviceOutputByOfferWithoutDetail;
343
278
  let ticketedSeat;
344
279
  if (typeof reservedTicket?.ticketedSeat?.typeOf === 'string') {
345
280
  ticketedSeat = {
@@ -353,36 +288,19 @@ function acceptedOfferWithoutDetail2acceptedOffer(params) {
353
288
  };
354
289
  }
355
290
  switch (typeOf) {
356
- // case factory.reservationType.BusReservation:
357
- // const serviceOutputAsBusReservation: factory.assetTransaction.reserve.IBusReservatonAsItemOfferedServiceOutput = {
358
- // typeOf,
359
- // ...(Array.isArray(additionalProperty)) ? { additionalProperty } : undefined,
360
- // ...(typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined,
361
- // ...(programMembershipUsed !== undefined) ? { programMembershipUsed } : undefined,
362
- // ...(Array.isArray(subReservation)) ? { subReservation } : undefined,
363
- // ...(reservedTicket !== undefined) ? {
364
- // reservedTicket: {
365
- // typeOf: 'Ticket',
366
- // // チケット識別子指定拡張(2024-04-15~)
367
- // ...(typeof reservedTicket.identifier === 'string') ? { identifier: reservedTicket.identifier } : undefined,
368
- // ...(typeof ticketedSeat?.typeOf === 'string') ? { ticketedSeat } : undefined
369
- // }
370
- // } : undefined
371
- // };
372
- // itemOfferedServiceOutput = serviceOutputAsBusReservation;
373
- // break;
374
291
  case factory_1.factory.reservationType.EventReservation: {
375
292
  const serviceOutputAsEventReservation = {
376
293
  typeOf,
377
- ...(Array.isArray(additionalProperty)) ? { additionalProperty } : undefined,
294
+ // ...(Array.isArray(additionalProperty)) ? { additionalProperty } : undefined, // 追加特性指定を廃止(2026-06-08~)
378
295
  ...(typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined,
379
296
  ...(programMembershipUsed !== undefined) ? { programMembershipUsed } : undefined,
380
297
  ...(Array.isArray(subReservation)) ? { subReservation } : undefined,
381
298
  ...(reservedTicket !== undefined) ? {
382
299
  reservedTicket: {
383
300
  typeOf: 'Ticket',
384
- // チケット識別子指定拡張(2024-04-15~)
385
- ...(typeof reservedTicket.identifier === 'string') ? { identifier: reservedTicket.identifier } : undefined,
301
+ // チケット識別子のカスタム指定を廃止(2026-06-08~)
302
+ // // チケット識別子指定拡張(2024-04-15~)
303
+ // ...(typeof reservedTicket.identifier === 'string') ? { identifier: reservedTicket.identifier } : undefined,
386
304
  ...(typeof ticketedSeat?.typeOf === 'string') ? { ticketedSeat } : undefined
387
305
  }
388
306
  } : undefined
@@ -398,15 +316,9 @@ function acceptedOfferWithoutDetail2acceptedOffer(params) {
398
316
  return {
399
317
  // オファーの中身を最適化する(必要最低限の情報のみに)
400
318
  id: String(offer.id),
401
- // identifier: offer.identifier,
402
319
  priceSpecification,
403
- // typeOf: offer.typeOf,
404
- // priceCurrency: offer.priceCurrency,
405
320
  itemOffered: {
406
- // typeOf: factory.product.ProductType.EventService,
407
321
  ...(itemOfferedServiceOutput !== undefined) ? { serviceOutput: itemOfferedServiceOutput } : undefined,
408
- // discontinue(2026-04-18~)
409
- // ...(pointAward !== undefined) ? { pointAward } : undefined
410
322
  },
411
323
  addOn: acceptedAddOns,
412
324
  // 追加属性をマージ
@@ -414,9 +326,6 @@ function acceptedOfferWithoutDetail2acceptedOffer(params) {
414
326
  ...(Array.isArray(offerWithoutDetail.additionalProperty)) ? offerWithoutDetail.additionalProperty : [],
415
327
  ...(Array.isArray(offer.additionalProperty)) ? offer.additionalProperty : []
416
328
  ]
417
- // ...(Array.isArray(offer.acceptedPaymentMethod)) // discontinue(2024-07-03~)
418
- // ? { acceptedPaymentMethod: offer.acceptedPaymentMethod }
419
- // : undefined
420
329
  };
421
330
  };
422
331
  }
@@ -162,12 +162,13 @@ function creatPayTransactionStartParams(params) {
162
162
  };
163
163
  }
164
164
  function createMovieTicket(params) {
165
- let ticketIdentifier = (0, util_1.format)('%s:%s:%s', params.serviceOutput.reservationFor.id, params.serviceOutput.reservedTicket.ticketedSeat.seatSection, params.serviceOutput.reservedTicket.ticketedSeat.seatNumber);
166
- // 指定があれば採用(2024-04-16~)
167
- const ticketIdentifierByRequest = params.serviceOutput.reservedTicket.identifier;
168
- if (typeof ticketIdentifierByRequest === 'string' && ticketIdentifierByRequest.length > 0) {
169
- ticketIdentifier = ticketIdentifierByRequest;
170
- }
165
+ const ticketIdentifier = (0, util_1.format)('%s:%s:%s', params.serviceOutput.reservationFor.id, params.serviceOutput.reservedTicket.ticketedSeat.seatSection, params.serviceOutput.reservedTicket.ticketedSeat.seatNumber);
166
+ // カスタム指定は廃止(2026-06-08~)
167
+ // // 指定があれば採用(2024-04-16~)
168
+ // const ticketIdentifierByRequest = params.serviceOutput.reservedTicket.identifier;
169
+ // if (typeof ticketIdentifierByRequest === 'string' && ticketIdentifierByRequest.length > 0) {
170
+ // ticketIdentifier = ticketIdentifierByRequest;
171
+ // }
171
172
  const serviceOutput = {
172
173
  reservationFor: {
173
174
  typeOf: params.serviceOutput.reservationFor.typeOf,
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.600.0",
13
13
  "@aws-sdk/credential-providers": "3.600.0",
14
- "@chevre/factory": "8.2.0-alpha.5",
14
+ "@chevre/factory": "8.2.0-alpha.7",
15
15
  "@motionpicture/coa-service": "10.0.0",
16
16
  "@motionpicture/gmo-service": "6.1.0-alpha.0",
17
17
  "@sendgrid/client": "8.1.4",
@@ -91,5 +91,5 @@
91
91
  "postversion": "git push origin --tags",
92
92
  "prepublishOnly": "npm run clean && npm run build"
93
93
  },
94
- "version": "24.1.0-alpha.51"
94
+ "version": "24.1.0-alpha.53"
95
95
  }