@chevre/domain 21.25.0-alpha.8 → 21.25.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 (65) hide show
  1. package/example/src/chevre/migrateDeleteTransactionTasks.ts +2 -2
  2. package/example/src/chevre/migrateScreeningEventSeriesOffers.ts +87 -0
  3. package/example/src/chevre/searchScreeningEventSeries.ts +35 -0
  4. package/example/src/chevre/unsetUnnecessaryFields.ts +7 -8
  5. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +0 -2
  6. package/lib/chevre/emailMessageBuilder.d.ts +0 -1
  7. package/lib/chevre/factory/event.js +7 -4
  8. package/lib/chevre/factory/order.d.ts +0 -8
  9. package/lib/chevre/factory/order.js +1 -26
  10. package/lib/chevre/repo/event.d.ts +3 -3
  11. package/lib/chevre/repo/mongoose/schemas/event.d.ts +1 -1
  12. package/lib/chevre/repo/mongoose/schemas/event.js +18 -15
  13. package/lib/chevre/service/aggregation/event/findEventOffers.d.ts +1 -1
  14. package/lib/chevre/service/aggregation/event/findEventOffers.js +1 -1
  15. package/lib/chevre/service/assetTransaction/reserve/factory/price.js +1 -1
  16. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +1 -1
  17. package/lib/chevre/service/assetTransaction/reserve.js +1 -6
  18. package/lib/chevre/service/delivery.js +9 -18
  19. package/lib/chevre/service/event/createEvent.js +2 -1
  20. package/lib/chevre/service/event.js +33 -24
  21. package/lib/chevre/service/offer/event/authorize.d.ts +3 -2
  22. package/lib/chevre/service/offer/event/authorize.js +10 -20
  23. package/lib/chevre/service/offer/event/cancel.d.ts +1 -1
  24. package/lib/chevre/service/offer/event/cancel.js +1 -1
  25. package/lib/chevre/service/offer/event/factory.d.ts +6 -5
  26. package/lib/chevre/service/offer/event/factory.js +22 -36
  27. package/lib/chevre/service/offer/event/processStartReserve4chevre.d.ts +3 -3
  28. package/lib/chevre/service/offer/event/processStartReserve4chevre.js +6 -13
  29. package/lib/chevre/service/offer/event/voidTransaction.d.ts +1 -1
  30. package/lib/chevre/service/offer/event/voidTransaction.js +1 -1
  31. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +1 -0
  32. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +7 -4
  33. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +1 -0
  34. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +3 -2
  35. package/lib/chevre/service/offer/eventServiceByCOA/factory.d.ts +2 -1
  36. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +19 -10
  37. package/lib/chevre/service/offer/product/factory.js +11 -13
  38. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +8 -8
  39. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +8 -8
  40. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +8 -8
  41. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +18 -116
  42. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -8
  43. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +8 -8
  44. package/lib/chevre/service/order/placeOrder.js +14 -15
  45. package/lib/chevre/service/order/returnOrder.js +7 -7
  46. package/lib/chevre/service/order/sendOrder.js +8 -8
  47. package/lib/chevre/service/payment/any/factory.js +11 -10
  48. package/lib/chevre/service/task/createAccountingReport.js +6 -6
  49. package/lib/chevre/service/task/returnPayTransaction.js +7 -7
  50. package/lib/chevre/service/task/returnReserveTransaction.js +3 -4
  51. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +13 -8
  52. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +8 -8
  53. package/lib/chevre/service/transaction/placeOrderInProgress/result/orderedItem.d.ts +10 -0
  54. package/lib/chevre/service/transaction/placeOrderInProgress/result/orderedItem.js +112 -0
  55. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -16
  56. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +41 -26
  57. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +10 -11
  58. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +7 -7
  59. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +7 -7
  60. package/lib/chevre/settings.d.ts +0 -1
  61. package/lib/chevre/settings.js +1 -2
  62. package/package.json +4 -4
  63. package/example/src/chevre/migrateMovieAvailabilityStarts.ts +0 -83
  64. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +0 -16
  65. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +0 -144
@@ -17,11 +17,12 @@ const processStartReserve4chevre_1 = require("./processStartReserve4chevre");
17
17
  const searchEventTicketOffers_1 = require("./searchEventTicketOffers");
18
18
  const factory_1 = require("./factory");
19
19
  /**
20
- * イベントオファー承認
20
+ * 興行オファー承認
21
21
  */
22
22
  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
+ var _a;
25
26
  const noOfferSpecified = params.noOfferSpecified === true;
26
27
  const { transaction, event, bookingServiceIdentifire } = yield validateCreateRequest(params)({ event: repos.event, transaction: repos.transaction });
27
28
  const { acceptedOffers, ticketOffers, unitPriceOffers } = yield validateAcceptedOffers({
@@ -41,33 +42,22 @@ function authorize(params) {
41
42
  event: event,
42
43
  transaction: transaction,
43
44
  pendingTransaction: { typeOf: factory.assetTransactionType.Reserve, transactionNumber },
44
- broker: params.object.broker
45
+ broker: params.object.broker,
46
+ useResultAcceptedOffers: params.options.useResultAcceptedOffers
45
47
  });
46
48
  const action = yield repos.action.start(actionAttributes);
47
49
  try {
48
50
  switch (bookingServiceIdentifire) {
49
51
  // 実質使用する予定なしなので廃止(2022-05-12~)
50
52
  // case factory.service.webAPI.Identifier.COA:
51
- // const processStartReserve4coaResult = await processStartReserve4coa({ event, object: params.object });
52
- // requestBody = processStartReserve4coaResult.requestBody;
53
- // responseBody = processStartReserve4coaResult.responseBody;
54
53
  // break;
55
54
  case factory.service.webAPI.Identifier.Chevre:
56
- const processStartReserveResult = yield (0, processStartReserve4chevre_1.processStartReserve4chevre)({
57
- action,
58
- event,
55
+ const processStartReserveResult = yield (0, processStartReserve4chevre_1.processStartReserve4chevre)(Object.assign({
56
+ // action,
57
+ acceptedOffer: acceptedOffers, event,
59
58
  transactionNumber,
60
- transaction,
61
- availableAtOrFrom: { id: params.store.id },
62
- ticketOffers,
63
- unitPriceOffers,
64
- validateEvent: params.validateEvent === true,
65
- validateEventOfferPeriod: params.validateEventOfferPeriod === true,
66
- // 完全廃止(2023-07-19~)
67
- // disablePendingReservations: params.disablePendingReservations,
68
- useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber,
69
- stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd
70
- })(repos);
59
+ transaction, availableAtOrFrom: { id: params.store.id }, ticketOffers,
60
+ unitPriceOffers, validateEvent: params.validateEvent === true, validateEventOfferPeriod: params.validateEventOfferPeriod === true, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined))(repos);
71
61
  acceptedOffers4result = processStartReserveResult.acceptedOffers4result;
72
62
  // add orderInTransaction(2024-01-15~)
73
63
  if (!noOfferSpecified) {
@@ -105,7 +95,7 @@ function authorize(params) {
105
95
  const result = Object.assign({ priceCurrency: acceptedOffers[0].priceCurrency, amount: [], requestBody: {}, responseBody: {} }, (!noOfferSpecified) // オファー指定の場合のみ金額計算(2023-11-27~)
106
96
  ? {
107
97
  price: (0, factory_1.acceptedOffers2amount)({ acceptedOffers: acceptedOffers4result }),
108
- acceptedOffers: acceptedOffers4result
98
+ acceptedOffers: (params.options.useResultAcceptedOffers === true) ? acceptedOffers4result : []
109
99
  }
110
100
  : undefined);
111
101
  return yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
@@ -18,7 +18,7 @@ interface ICancelRepos {
18
18
  transaction: TransactionRepo;
19
19
  }
20
20
  /**
21
- * イベントオファー承認取消(apiから実行)
21
+ * 興行オファー承認取消(apiから実行)
22
22
  * 特定の承認アクションについて処理する
23
23
  */
24
24
  export declare function cancel(params: {
@@ -14,7 +14,7 @@ const factory = require("../../../factory");
14
14
  const ReserveTransactionService = require("../../assetTransaction/reserve");
15
15
  const any_1 = require("../any");
16
16
  /**
17
- * イベントオファー承認取消(apiから実行)
17
+ * 興行オファー承認取消(apiから実行)
18
18
  * 特定の承認アクションについて処理する
19
19
  */
20
20
  function cancel(params) {
@@ -1,15 +1,15 @@
1
1
  import * as COA from '@motionpicture/coa-service';
2
2
  import * as factory from '../../../factory';
3
3
  import { IMinimizedIndividualEvent } from '../../../factory/event';
4
- export type IReservationFor = factory.reservation.IReservationFor<factory.reservationType.EventReservation>;
5
- export type IUnitPriceSpecification = factory.priceSpecification.IPriceSpecification<factory.priceSpecificationType.UnitPriceSpecification>;
6
- export type IObjectWithoutDetail = factory.action.authorize.offer.eventService.IObjectWithoutDetail4chevre;
7
- export type IObjectWithDetail = factory.action.authorize.offer.eventService.IObject<factory.service.webAPI.Identifier.Chevre>;
8
4
  export declare function createReserveTransactionStartParams(params: {
9
5
  project: {
10
6
  id: string;
11
7
  };
12
- object: IObjectWithDetail;
8
+ acceptedOffer: factory.action.authorize.offer.eventService.IAcceptedOffer<factory.service.webAPI.Identifier.Chevre>[];
9
+ event: {
10
+ id: string;
11
+ };
12
+ broker?: factory.reservation.IBroker<factory.reservationType>;
13
13
  transaction: factory.transaction.ITransaction<factory.transactionType>;
14
14
  transactionNumber: string;
15
15
  }): factory.assetTransaction.reserve.IStartParamsWithoutDetail;
@@ -19,6 +19,7 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
19
19
  pendingTransaction: factory.action.authorize.offer.eventService.IChevrePendingTransaction;
20
20
  transaction: factory.transaction.ITransaction<factory.transactionType.PlaceOrder>;
21
21
  broker?: factory.reservation.IBroker<factory.reservationType.EventReservation>;
22
+ useResultAcceptedOffers: boolean;
22
23
  }): factory.action.authorize.offer.eventService.IAttributes<factory.service.webAPI.Identifier.Chevre>;
23
24
  export declare function acceptedOffers2amount(params: {
24
25
  acceptedOffers: IResultAcceptedOffer[];
@@ -5,11 +5,10 @@ const COA = require("@motionpicture/coa-service");
5
5
  const moment = require("moment");
6
6
  const util_1 = require("util");
7
7
  const factory = require("../../../factory");
8
- const settings_1 = require("../../../settings");
9
8
  function createReserveTransactionStartParams(params) {
10
- var _a, _b;
11
- const acceptedTicketOffersWithoutDetail = (Array.isArray(params.object.acceptedOffer))
12
- ? params.object.acceptedOffer.map((o) => {
9
+ var _a;
10
+ const acceptedTicketOffersWithoutDetail = (Array.isArray(params.acceptedOffer))
11
+ ? params.acceptedOffer.map((o) => {
13
12
  var _a, _b, _c, _d, _e;
14
13
  const issuedBy = {
15
14
  typeOf: params.transaction.seller.typeOf,
@@ -24,9 +23,6 @@ function createReserveTransactionStartParams(params) {
24
23
  }
25
24
  else if (typeof ((_b = o.priceSpecification.appliesToMovieTicket) === null || _b === void 0 ? void 0 : _b.identifier) === 'string') {
26
25
  appliesToMovieTicket = { identifier: o.priceSpecification.appliesToMovieTicket.identifier };
27
- // movieTicketIdentifire参照は廃止(2022-09-09~)
28
- // } else if (typeof o.movieTicketIdentifire === 'string') {
29
- // appliesToMovieTicket = { identifier: o.movieTicketIdentifire };
30
26
  }
31
27
  return Object.assign(Object.assign({
32
28
  // 必要な属性のみ指定する
@@ -42,22 +38,22 @@ function createReserveTransactionStartParams(params) {
42
38
  typeOf: factory.assetTransactionType.Reserve,
43
39
  transactionNumber: params.transactionNumber,
44
40
  agent: {
45
- // Sellerに変更(2022-05-30~)
46
41
  typeOf: params.transaction.seller.typeOf,
47
- id: String(params.transaction.seller.id),
42
+ id: params.transaction.seller.id,
48
43
  name: (typeof params.transaction.seller.name === 'string')
49
44
  ? params.transaction.seller.name
50
- : String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja),
51
- identifier: [
52
- { name: 'transaction', value: params.transaction.id },
53
- {
54
- name: 'transactionExpires',
55
- value: moment(params.transaction.expires)
56
- .toISOString()
57
- }
58
- ]
45
+ : String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja)
46
+ // identifierを廃止(2024-03-05~)
47
+ // identifier: [
48
+ // { name: 'transaction', value: params.transaction.id },
49
+ // {
50
+ // name: 'transactionExpires',
51
+ // value: moment(params.transaction.expires)
52
+ // .toISOString()
53
+ // }
54
+ // ]
59
55
  },
60
- object: Object.assign({ acceptedOffer: acceptedTicketOffersWithoutDetail, reservationFor: { id: String((_b = params.object.event) === null || _b === void 0 ? void 0 : _b.id) } }, (params.object.broker !== undefined) ? { broker: params.object.broker } : undefined),
56
+ object: Object.assign({ acceptedOffer: acceptedTicketOffersWithoutDetail, reservationFor: { id: params.event.id } }, (params.broker !== undefined) ? { broker: params.broker } : undefined),
61
57
  expires: moment(params.transaction.expires)
62
58
  .add(1, 'month')
63
59
  .toDate() // 余裕を持って
@@ -95,7 +91,7 @@ function createAuthorizeSeatReservationActionAttributes(params) {
95
91
  return {
96
92
  project: transaction.project,
97
93
  typeOf: factory.actionType.AuthorizeAction,
98
- object: Object.assign({ typeOf: factory.action.authorize.offer.eventService.ObjectType.SeatReservation, event: authorizeObjectEvent, acceptedOffer: acceptedOffers, pendingTransaction: params.pendingTransaction }, (params.broker !== undefined) ? { broker: params.broker } : undefined),
94
+ object: Object.assign(Object.assign({ typeOf: factory.action.authorize.offer.eventService.ObjectType.SeatReservation, event: authorizeObjectEvent, acceptedOffer: acceptedOffers, pendingTransaction: params.pendingTransaction }, (params.broker !== undefined) ? { broker: params.broker } : undefined), { useResultAcceptedOffers: params.useResultAcceptedOffers }),
99
95
  agent: {
100
96
  id: transaction.seller.id,
101
97
  typeOf: transaction.seller.typeOf,
@@ -109,7 +105,8 @@ function createAuthorizeSeatReservationActionAttributes(params) {
109
105
  },
110
106
  purpose: { typeOf: transaction.typeOf, id: transaction.id },
111
107
  instrument: {
112
- typeOf: 'WebAPI',
108
+ // typeOf: 'WebAPI',
109
+ typeOf: factory.assetTransactionType.Reserve,
113
110
  identifier: factory.service.webAPI.Identifier.Chevre,
114
111
  transactionNumber: params.pendingTransaction.transactionNumber
115
112
  }
@@ -172,7 +169,6 @@ function responseBody2acceptedOffers4result(params) {
172
169
  : undefined), (typeof ((_a = accounting.operatingRevenue) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
173
170
  ? {
174
171
  operatingRevenue: {
175
- // project: accounting.operatingRevenue.project, // 削除(2023-12-13~)
176
172
  typeOf: accounting.operatingRevenue.typeOf,
177
173
  codeValue: accounting.operatingRevenue.codeValue
178
174
  }
@@ -238,16 +234,12 @@ function createReservation(params) {
238
234
  startDate: moment(event.startDate)
239
235
  .toDate(),
240
236
  // 最適化(2022-05-31~)
241
- superEvent: Object.assign(Object.assign(Object.assign({ typeOf: event.superEvent.typeOf, id: event.superEvent.id, 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), (settings_1.USE_KANA_NAME_IN_ACCEPTED_OFFER) ? { kanaName: event.superEvent.kanaName } : undefined // オプション化
242
- )
237
+ superEvent: Object.assign(Object.assign({ typeOf: event.superEvent.typeOf, id: event.superEvent.id, 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)
243
238
  };
244
239
  if (params.issuedThrough.typeOf !== factory.product.ProductType.EventService) {
245
240
  throw new factory.errors.Argument('issuedThrough', `issuedThrough.typeOf must be ${factory.product.ProductType.EventService}`);
246
241
  }
247
- reservationItem = Object.assign({
248
- // 不要なので廃止(2023-07-01~)
249
- // project: itemOffered.project,
250
- typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
242
+ reservationItem = Object.assign({ typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
251
243
  reservedTicket }, (typeof ((_a = itemOffered.programMembershipUsed) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
252
244
  ? { programMembershipUsed: itemOffered.programMembershipUsed }
253
245
  : undefined);
@@ -275,10 +267,7 @@ function createReservation(params) {
275
267
  if (params.issuedThrough.typeOf !== factory.product.ProductType.Transportation) {
276
268
  throw new factory.errors.Argument('issuedThrough', `issuedThrough.typeOf must be ${factory.product.ProductType.Transportation}`);
277
269
  }
278
- reservationItem = Object.assign({
279
- // 不要なので廃止(2023-07-01~)
280
- // project: itemOffered.project,
281
- typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
270
+ reservationItem = Object.assign({ typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
282
271
  reservedTicket }, (typeof ((_d = itemOffered.programMembershipUsed) === null || _d === void 0 ? void 0 : _d.typeOf) === 'string')
283
272
  ? { programMembershipUsed: itemOffered.programMembershipUsed }
284
273
  : undefined);
@@ -304,7 +293,6 @@ function coaTicket2offer(params) {
304
293
  const eligibleMembershipType = (params.ticketResult.flgMember === COA.factory.master.FlgMember.Member
305
294
  && typeof ((_b = params.defaultMembershipType) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string')
306
295
  ? [{
307
- // project: params.defaultMembershipType.project,
308
296
  typeOf: params.defaultMembershipType.typeOf,
309
297
  id: params.defaultMembershipType.id,
310
298
  codeValue: params.defaultMembershipType.codeValue,
@@ -329,9 +317,7 @@ function coaTicket2offer(params) {
329
317
  ? params.ticketResult.ticketNameEng
330
318
  : ''
331
319
  };
332
- return Object.assign(Object.assign(Object.assign({
333
- // project: { typeOf: factory.organizationType.Project, id: params.project.id },
334
- typeOf: factory.offerType.Offer, priceCurrency: factory.priceCurrency.JPY,
320
+ return Object.assign(Object.assign(Object.assign({ typeOf: factory.offerType.Offer, priceCurrency: factory.priceCurrency.JPY,
335
321
  // id: '',
336
322
  identifier: identifier, name: offerName, description: {
337
323
  ja: '',
@@ -15,10 +15,10 @@ import type { RedisRepository as OfferRateLimitRepo } from '../../../repo/rateLi
15
15
  import type { MongoRepository as ReservationRepo } from '../../../repo/reservation';
16
16
  import type { StockHolderRepository as StockHolderRepo } from '../../../repo/stockHolder';
17
17
  import type { MongoRepository as TaskRepo } from '../../../repo/task';
18
- type IAuthorizeOfferAction = factory.action.authorize.offer.eventService.IAction<factory.service.webAPI.Identifier>;
19
18
  declare function processStartReserve4chevre(params: {
20
- action: IAuthorizeOfferAction;
19
+ acceptedOffer: factory.action.authorize.offer.eventService.IAcceptedOffer<factory.service.webAPI.Identifier.Chevre>[];
21
20
  event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>;
21
+ broker?: factory.reservation.IBroker<factory.reservationType>;
22
22
  transactionNumber?: string;
23
23
  transaction: factory.transaction.ITransaction<factory.transactionType.PlaceOrder>;
24
24
  availableAtOrFrom: {
@@ -48,6 +48,6 @@ declare function processStartReserve4chevre(params: {
48
48
  task: TaskRepo;
49
49
  assetTransaction: AssetTransactionRepo;
50
50
  }) => Promise<{
51
- acceptedOffers4result: import("@chevre/factory/lib/action/authorize/offer/eventService").IResultAcceptedOffer[];
51
+ acceptedOffers4result: factory.action.authorize.offer.eventService.IResultAcceptedOffer[];
52
52
  }>;
53
53
  export { processStartReserve4chevre };
@@ -16,11 +16,10 @@ const CodeService = require("../../code");
16
16
  const factory_1 = require("./factory");
17
17
  function processStartReserve4chevre(params) {
18
18
  return (repos) => __awaiter(this, void 0, void 0, function* () {
19
- const action = params.action;
19
+ // const action = params.action;
20
20
  const event = params.event;
21
21
  const transactionNumber = params.transactionNumber;
22
22
  const transaction = params.transaction;
23
- // let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
24
23
  let responseBody;
25
24
  let acceptedOffers4result = [];
26
25
  if (typeof transactionNumber !== 'string') {
@@ -28,19 +27,13 @@ function processStartReserve4chevre(params) {
28
27
  throw new factory.errors.ServiceUnavailable('Unexpected error occurred: reserve transactionNumber not found');
29
28
  }
30
29
  // 予約取引開始
31
- const startParams = (0, factory_1.createReserveTransactionStartParams)({
32
- project: transaction.project,
33
- object: action.object,
34
- transaction,
35
- transactionNumber
36
- });
37
- // requestBody = startParams;
30
+ const startParams = (0, factory_1.createReserveTransactionStartParams)(Object.assign({ project: transaction.project,
31
+ // object: <IObjectWithDetail>action.object,
32
+ acceptedOffer: params.acceptedOffer, event: { id: event.id }, transaction,
33
+ transactionNumber }, (params.broker !== undefined) ? { broker: params.broker } : undefined));
38
34
  const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
39
35
  // 予約取引開始
40
- const startReserveTransactionResult = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true,
41
- // 完全廃止(2023-07-19~)
42
- // disablePendingReservations: params.disablePendingReservations,
43
- useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }))(repos);
36
+ const startReserveTransactionResult = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }))(repos);
44
37
  responseBody = startReserveTransactionResult.transaction;
45
38
  // 予約取引からオファー情報を生成する
46
39
  acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
@@ -19,7 +19,7 @@ interface IVoidTransactionRepos {
19
19
  transaction: TransactionRepo;
20
20
  }
21
21
  /**
22
- * イベントオファー承認取消(タスクから実行)
22
+ * 興行オファー承認取消(タスクから実行)
23
23
  * 取引中の承認アクション全てについて処理する
24
24
  */
25
25
  export declare function voidTransaction(params: factory.task.IData<factory.taskName.VoidReserveTransaction>): (repos: IVoidTransactionRepos) => Promise<void>;
@@ -23,7 +23,7 @@ const coaAuthClient = new COA.auth.RefreshToken({
23
23
  });
24
24
  exports.WebAPIIdentifier = factory.service.webAPI.Identifier;
25
25
  /**
26
- * イベントオファー承認取消(タスクから実行)
26
+ * 興行オファー承認取消(タスクから実行)
27
27
  * 取引中の承認アクション全てについて処理する
28
28
  */
29
29
  function voidTransaction(params) {
@@ -50,5 +50,6 @@ export declare function authorize(params: {
50
50
  };
51
51
  options: {
52
52
  useCreateOrderOnOfferAccepted: boolean;
53
+ useResultAcceptedOffers: boolean;
53
54
  };
54
55
  }): IAuthorizeOperation<IAuthorizeOfferAction>;
@@ -79,7 +79,8 @@ function authorize(params) {
79
79
  acceptedOffers: [],
80
80
  event: { id: params.object.event.id, typeOf: factory.eventType.ScreeningEvent },
81
81
  transaction,
82
- pendingTransaction
82
+ pendingTransaction,
83
+ useResultAcceptedOffers: params.options.useResultAcceptedOffers
83
84
  });
84
85
  const failedAction = yield repos.action.start(failedActionAttributes);
85
86
  yield repos.action.giveUp({ typeOf: failedAction.typeOf, id: failedAction.id, error });
@@ -91,7 +92,8 @@ function authorize(params) {
91
92
  acceptedOffers,
92
93
  event: screeningEvent,
93
94
  transaction,
94
- pendingTransaction
95
+ pendingTransaction,
96
+ useResultAcceptedOffers: params.options.useResultAcceptedOffers
95
97
  });
96
98
  const action = yield repos.action.start(actionAttributes);
97
99
  try {
@@ -99,7 +101,8 @@ function authorize(params) {
99
101
  const { price, eligibleMonetaryAmount } = (0, factory_1.offers2resultPrice)(acceptedOffers);
100
102
  const acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
101
103
  responseBody: params.result.responseBody,
102
- object: action.object,
104
+ // object: action.object,
105
+ acceptedOffer: acceptedOffers,
103
106
  event: screeningEvent,
104
107
  seller: transaction.seller,
105
108
  bookingTime: moment(action.startDate)
@@ -112,7 +115,7 @@ function authorize(params) {
112
115
  amount: eligibleMonetaryAmount,
113
116
  requestBody: params.result.requestBody,
114
117
  responseBody: params.result.responseBody,
115
- acceptedOffers: acceptedOffers4result
118
+ acceptedOffers: (params.options.useResultAcceptedOffers === true) ? acceptedOffers4result : []
116
119
  };
117
120
  // add orderInTransaction(2024-01-15~)
118
121
  if (params.options.useCreateOrderOnOfferAccepted) {
@@ -21,5 +21,6 @@ export declare function changeOffers(params: {
21
21
  };
22
22
  options: {
23
23
  useCreateOrderOnOfferAccepted: boolean;
24
+ useResultAcceptedOffers: boolean;
24
25
  };
25
26
  }): IAuthorizeOperation<IAuthorizeOfferAction>;
@@ -84,14 +84,15 @@ function changeOffers(params) {
84
84
  const { price, eligibleMonetaryAmount } = (0, factory_1.offers2resultPrice)(acceptedOffers);
85
85
  const acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
86
86
  responseBody: updTmpReserveSeatResult,
87
- object: authorizeAction.object,
87
+ // object: authorizeAction.object,
88
+ acceptedOffer: acceptedOffers,
88
89
  event: screeningEvent,
89
90
  seller: transaction.seller,
90
91
  bookingTime: moment(authorizeAction.startDate)
91
92
  .toDate(),
92
93
  totalPrice: price
93
94
  });
94
- const actionResult = Object.assign(Object.assign({}, authorizeAction.result), { price: price, amount: eligibleMonetaryAmount, acceptedOffers: acceptedOffers4result });
95
+ const actionResult = Object.assign(Object.assign({}, authorizeAction.result), { price: price, amount: eligibleMonetaryAmount, acceptedOffers: (params.options.useResultAcceptedOffers === true) ? acceptedOffers4result : [] });
95
96
  // ActiveActionStatus->CompletedActionStatusで再実装(2024-01-15~)
96
97
  yield repos.action.reStart({ id: authorizeAction.id });
97
98
  try {
@@ -7,6 +7,7 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
7
7
  event: Pick<IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>, 'id' | 'typeOf'>;
8
8
  transaction: factory.transaction.ITransaction<factory.transactionType.PlaceOrder>;
9
9
  pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction;
10
+ useResultAcceptedOffers: boolean;
10
11
  }): factory.action.authorize.offer.eventService.IAttributes<WebAPIIdentifier.COA>;
11
12
  /**
12
13
  * 供給情報から承認アクションの価格を導き出す
@@ -21,7 +22,7 @@ type IResultAcceptedOffer = factory.action.authorize.offer.eventService.IResultA
21
22
  */
22
23
  export declare function responseBody2acceptedOffers4result(params: {
23
24
  responseBody: factory.action.authorize.offer.eventService.IResponseBody<factory.service.webAPI.Identifier.COA>;
24
- object: factory.action.authorize.offer.eventService.IObject<factory.service.webAPI.Identifier.COA>;
25
+ acceptedOffer: factory.action.authorize.offer.eventService.IAcceptedOffer<factory.service.webAPI.Identifier.COA>[];
25
26
  event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>;
26
27
  seller: Pick<factory.transaction.placeOrder.ISeller, 'typeOf' | 'name'>;
27
28
  bookingTime: Date;
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.responseBody2acceptedOffers4result = exports.offers2resultPrice = exports.createAuthorizeSeatReservationActionAttributes = exports.WebAPIIdentifier = void 0;
4
4
  const moment = require("moment");
5
5
  const factory = require("../../../factory");
6
- const settings_1 = require("../../../settings");
7
6
  exports.WebAPIIdentifier = factory.service.webAPI.Identifier;
8
7
  function createAuthorizeSeatReservationActionAttributes(params) {
9
8
  var _a;
@@ -24,7 +23,8 @@ function createAuthorizeSeatReservationActionAttributes(params) {
24
23
  typeOf: factory.action.authorize.offer.eventService.ObjectType.SeatReservation,
25
24
  acceptedOffer: params.acceptedOffers,
26
25
  event: authorizeObjectEvent,
27
- pendingTransaction: params.pendingTransaction
26
+ pendingTransaction: params.pendingTransaction,
27
+ useResultAcceptedOffers: params.useResultAcceptedOffers
28
28
  };
29
29
  return {
30
30
  project: transaction.project,
@@ -43,7 +43,8 @@ function createAuthorizeSeatReservationActionAttributes(params) {
43
43
  },
44
44
  purpose: { typeOf: transaction.typeOf, id: transaction.id },
45
45
  instrument: {
46
- typeOf: 'WebAPI',
46
+ // typeOf: 'WebAPI',
47
+ typeOf: 'COAReserveTransaction',
47
48
  identifier: factory.service.webAPI.Identifier.COA,
48
49
  transactionNumber: params.pendingTransaction.transactionNumber
49
50
  }
@@ -77,7 +78,7 @@ function responseBody2acceptedOffers4result(params) {
77
78
  // tslint:disable-next-line:max-func-body-length
78
79
  acceptedOffers4result.push(...params.responseBody.listTmpReserve.map((tmpReserve, index) => {
79
80
  var _a, _b, _c, _d;
80
- const requestedOffer = params.object.acceptedOffer.find((o) => {
81
+ const requestedOffer = params.acceptedOffer.find((o) => {
81
82
  var _a, _b, _c, _d;
82
83
  return ((_d = (_c = (_b = (_a = o.itemOffered) === null || _a === void 0 ? void 0 : _a.serviceOutput) === null || _b === void 0 ? void 0 : _b.reservedTicket) === null || _c === void 0 ? void 0 : _c.ticketedSeat) === null || _d === void 0 ? void 0 : _d.seatNumber) === tmpReserve.seatNum
83
84
  && o.itemOffered.serviceOutput.reservedTicket.ticketedSeat.seatSection === tmpReserve.seatSection;
@@ -117,8 +118,19 @@ function responseBody2acceptedOffers4result(params) {
117
118
  branchCode: event.location.branchCode,
118
119
  name: event.location.name
119
120
  }, name: event.name, startDate: moment(event.startDate)
120
- .toDate(), superEvent: Object.assign({ typeOf: event.superEvent.typeOf, id: event.superEvent.id, identifier: event.superEvent.identifier, name: event.superEvent.name, alternativeHeadline: event.superEvent.alternativeHeadline, location: event.superEvent.location, videoFormat: event.superEvent.videoFormat, soundFormat: event.superEvent.soundFormat, workPerformed: workPerformed, duration: event.superEvent.duration, coaInfo: event.superEvent.coaInfo }, (settings_1.USE_KANA_NAME_IN_ACCEPTED_OFFER) ? { kanaName: event.superEvent.kanaName } : undefined // オプション化
121
- ), id: event.id });
121
+ .toDate(), superEvent: {
122
+ typeOf: event.superEvent.typeOf,
123
+ id: event.superEvent.id,
124
+ identifier: event.superEvent.identifier,
125
+ name: event.superEvent.name,
126
+ alternativeHeadline: event.superEvent.alternativeHeadline,
127
+ location: event.superEvent.location,
128
+ videoFormat: event.superEvent.videoFormat,
129
+ soundFormat: event.superEvent.soundFormat,
130
+ workPerformed: workPerformed,
131
+ duration: event.superEvent.duration,
132
+ coaInfo: event.superEvent.coaInfo
133
+ }, id: event.id });
122
134
  const reservedTicket = {
123
135
  typeOf: 'Ticket',
124
136
  coaTicketInfo: requestedOffer.ticketInfo,
@@ -160,10 +172,7 @@ function responseBody2acceptedOffers4result(params) {
160
172
  }
161
173
  }
162
174
  };
163
- const reservation = Object.assign(Object.assign(Object.assign({
164
- // 不要なので廃止(2023-07-01~)
165
- // project: { typeOf: event.project.typeOf, id: event.project.id },
166
- typeOf: factory.reservationType.EventReservation, id: reservationId, issuedThrough, bookingTime: params.bookingTime }, (Array.isArray(additionalProperty)) ? { additionalProperty } : undefined), (typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined), {
175
+ const reservation = Object.assign(Object.assign(Object.assign({ typeOf: factory.reservationType.EventReservation, id: reservationId, issuedThrough, bookingTime: params.bookingTime }, (Array.isArray(additionalProperty)) ? { additionalProperty } : undefined), (typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined), {
167
176
  // numSeats: 1, // 廃止(2022-08-18~)
168
177
  reservationFor: reservationFor, reservationNumber: reservationNumber, reservedTicket: reservedTicket });
169
178
  if (requestedOffer.priceSpecification === undefined) {
@@ -10,22 +10,20 @@ function createRegisterServiceStartParams(params) {
10
10
  typeOf: factory.assetTransactionType.RegisterService,
11
11
  transactionNumber: params.transactionNumber,
12
12
  agent: {
13
- // Sellerに変更(2022-05-30~)
14
13
  typeOf: params.transaction.seller.typeOf,
15
- id: String(params.transaction.seller.id),
14
+ id: params.transaction.seller.id,
16
15
  name: (typeof params.transaction.seller.name === 'string')
17
16
  ? params.transaction.seller.name
18
- : String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja),
19
- // typeOf: params.transaction.agent.typeOf,
20
- // name: params.transaction.agent.id,
21
- identifier: [
22
- { name: 'transaction', value: params.transaction.id },
23
- {
24
- name: 'transactionExpires',
25
- value: moment(params.transaction.expires)
26
- .toISOString()
27
- }
28
- ]
17
+ : String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja)
18
+ // identifierを廃止(2024-03-05~)
19
+ // identifier: [
20
+ // { name: 'transaction', value: params.transaction.id },
21
+ // {
22
+ // name: 'transactionExpires',
23
+ // value: moment(params.transaction.expires)
24
+ // .toISOString()
25
+ // }
26
+ // ]
29
27
  },
30
28
  object: params.object.map((o) => {
31
29
  return {
@@ -3,7 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.createNextSendOrderTasks = exports.createInformTasks = void 0;
5
5
  const factory = require("../../../../factory");
6
- const order_1 = require("../../../../factory/order");
6
+ // import { createMaskedCustomer } from '../../../../factory/order';
7
7
  const settings_1 = require("../../../../settings");
8
8
  const informOrder = (_a = settings_1.settings.onOrderStatusChanged) === null || _a === void 0 ? void 0 : _a.informOrder;
9
9
  function creteOrder4inform(order) {
@@ -52,16 +52,16 @@ exports.createInformTasks = createInformTasks;
52
52
  function createNextSendOrderTasks(params) {
53
53
  const now = new Date();
54
54
  const taskAttributes = [];
55
- const maskedCustomer = (0, order_1.createMaskedCustomer)({ customer: params.order.customer }, { noProfile: true });
55
+ // const maskedCustomer = createMaskedCustomer({ customer: params.order.customer }, { noProfile: true });
56
56
  const simpleOrder = {
57
57
  typeOf: params.order.typeOf,
58
- seller: {
59
- id: params.order.seller.id,
60
- typeOf: params.order.seller.typeOf,
61
- name: params.order.seller.name
62
- },
58
+ // seller: {
59
+ // id: params.order.seller.id,
60
+ // typeOf: params.order.seller.typeOf,
61
+ // name: params.order.seller.name
62
+ // }, // 廃止(2024-03-06~)
63
63
  // mask
64
- customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
64
+ // customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id }, // 廃止(2024-03-06~)
65
65
  orderNumber: params.order.orderNumber,
66
66
  price: params.order.price,
67
67
  priceCurrency: params.order.priceCurrency,
@@ -15,7 +15,7 @@ exports.onOrderInTransit = void 0;
15
15
  */
16
16
  const createDebug = require("debug");
17
17
  const factory = require("../../../factory");
18
- const order_1 = require("../../../factory/order");
18
+ // import { createMaskedCustomer } from '../../../factory/order';
19
19
  const settings_1 = require("../../../settings");
20
20
  const debug = createDebug('chevre-domain:service:order');
21
21
  function onOrderInTransit(params) {
@@ -39,16 +39,16 @@ exports.onOrderInTransit = onOrderInTransit;
39
39
  function createSendOrderTaskIfNotExist(params) {
40
40
  return (repos) => __awaiter(this, void 0, void 0, function* () {
41
41
  const now = new Date();
42
- const maskedCustomer = (0, order_1.createMaskedCustomer)({ customer: params.order.customer }, { noProfile: true });
42
+ // const maskedCustomer = createMaskedCustomer({ customer: params.order.customer }, { noProfile: true });
43
43
  const simpleOrder = {
44
44
  typeOf: params.order.typeOf,
45
- seller: {
46
- id: params.order.seller.id,
47
- typeOf: params.order.seller.typeOf,
48
- name: params.order.seller.name
49
- },
45
+ // seller: {
46
+ // id: params.order.seller.id,
47
+ // typeOf: params.order.seller.typeOf,
48
+ // name: params.order.seller.name
49
+ // }, // 廃止(2024-03-06~)
50
50
  // mask
51
- customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
51
+ // customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id }, // 廃止(2024-03-06~)
52
52
  orderNumber: params.order.orderNumber,
53
53
  price: params.order.price,
54
54
  priceCurrency: params.order.priceCurrency,