@chevre/domain 21.25.0-alpha.9 → 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 +2 -1
  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
@@ -20,11 +20,11 @@ async function main() {
20
20
  runsAt: {
21
21
  $gte: moment()
22
22
  // tslint:disable-next-line:no-magic-numbers
23
- .add(277, 'days')
23
+ .add(299, 'days')
24
24
  .toDate(),
25
25
  $lte: moment()
26
26
  // tslint:disable-next-line:no-magic-numbers
27
- .add(300, 'days')
27
+ .add(330, 'days')
28
28
  .toDate()
29
29
  }
30
30
  // _id: { $eq: '64aba5f37b8b8ef9eca60be5' }
@@ -0,0 +1,87 @@
1
+ // tslint:disable:no-console
2
+ import * as moment from 'moment';
3
+ import * as mongoose from 'mongoose';
4
+
5
+ import { chevre } from '../../../lib/index';
6
+
7
+ // const project = { id: String(process.env.PROJECT_ID) };
8
+ const EXCLUDED_PROJECT_ID = process.env.EXCLUDED_PROJECT_ID;
9
+
10
+ // tslint:disable-next-line:max-func-body-length
11
+ async function main() {
12
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
13
+
14
+ const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection);
15
+
16
+ const cursor = eventRepo.getCursor(
17
+ {
18
+ typeOf: { $eq: chevre.factory.eventType.ScreeningEventSeries },
19
+ // typeOf: { $eq: chevre.factory.eventType.ScreeningEvent },
20
+ 'project.id': { $ne: EXCLUDED_PROJECT_ID }
21
+ // 'offers.availabilityEnds': { $exists: true }
22
+ },
23
+ {}
24
+ );
25
+ console.log('events found');
26
+
27
+ let i = 0;
28
+ let updateCount = 0;
29
+ const projectIds: string[] = [];
30
+ let createdAtLatest: Date | undefined;
31
+ let updatedAtLatest: Date | undefined;
32
+ await cursor.eachAsync(async (doc) => {
33
+ i += 1;
34
+ const event: chevre.factory.event.screeningEventSeries.IEvent = doc.toObject();
35
+
36
+ const unacceptedPaymentMethod = event.offers?.unacceptedPaymentMethod;
37
+ const alreadyMigrated =
38
+ (!Array.isArray(unacceptedPaymentMethod))
39
+ || (Array.isArray(unacceptedPaymentMethod) && unacceptedPaymentMethod.length === 0)
40
+ || (Array.isArray(unacceptedPaymentMethod) && unacceptedPaymentMethod.length === 1 && unacceptedPaymentMethod[0] === 'MovieTicket');
41
+
42
+ if (alreadyMigrated) {
43
+ console.log(
44
+ 'already migrated.', event.project.id, event.id, event.startDate, i);
45
+ } else {
46
+ projectIds.push(event.project.id);
47
+ if (createdAtLatest instanceof Date) {
48
+ if (moment(createdAtLatest)
49
+ .isBefore(moment((<any>event).createdAt))) {
50
+ createdAtLatest = (<any>event).createdAt;
51
+ }
52
+ } else {
53
+ createdAtLatest = (<any>event).createdAt;
54
+ }
55
+ if (updatedAtLatest instanceof Date) {
56
+ if (moment(updatedAtLatest)
57
+ .isBefore(moment((<any>event).updatedAt))) {
58
+ updatedAtLatest = (<any>event).updatedAt;
59
+ }
60
+ } else {
61
+ updatedAtLatest = (<any>event).updatedAt;
62
+ }
63
+ console.log(
64
+ 'updating event...', event.project.id, event.id, event.startDate, unacceptedPaymentMethod,
65
+ (<any>event).createdAt,
66
+ (<any>event).updatedAt,
67
+ i
68
+ );
69
+ // await creativeWorkRepo.saveMovie(<any>{
70
+ // id: String(movie.id),
71
+ // 'offers.availabilityStarts': availabilityStarts
72
+ // });
73
+ updateCount += 1;
74
+ console.log('updated.', event.project.id, event.id, event.startDate, i);
75
+ }
76
+ });
77
+
78
+ console.log(i, 'events checked');
79
+ console.log(updateCount, 'events updated');
80
+ console.log('projectIds:', [...new Set(projectIds)]);
81
+ console.log('createdAtLatest:', createdAtLatest);
82
+ console.log('updatedAtLatest:', updatedAtLatest);
83
+ }
84
+
85
+ main()
86
+ .then()
87
+ .catch(console.error);
@@ -0,0 +1,35 @@
1
+ // tslint:disable:no-console
2
+ import * as mongoose from 'mongoose';
3
+
4
+ const startTime = process.hrtime();
5
+ import { chevre } from '../../../lib/index';
6
+ const diff = process.hrtime(startTime);
7
+ console.log(`importing chevre took ${diff[0]} seconds and ${diff[1]} nanoseconds.`);
8
+
9
+ const PROJECT_ID = process.env.PROJECT_ID;
10
+
11
+ async function main() {
12
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
13
+
14
+ const eventRepo: chevre.repository.Event = await chevre.repository.Event.createInstance(mongoose.connection);
15
+
16
+ const events = await eventRepo.search(
17
+ {
18
+ limit: 100,
19
+ page: 1,
20
+ // sort: { startDate: 1 },
21
+ // typeOf: chevre.factory.eventType.ScreeningEvent,
22
+ project: { id: { $eq: PROJECT_ID } },
23
+ // id: { $eq: 'al6aff83y' },
24
+ typeOfIn: [chevre.factory.eventType.ScreeningEventSeries]
25
+ },
26
+ [],
27
+ []
28
+ );
29
+ console.log(events);
30
+ console.log(events.length, 'events found');
31
+ }
32
+
33
+ main()
34
+ .then(console.log)
35
+ .catch(console.error);
@@ -8,19 +8,18 @@ async function main() {
8
8
 
9
9
  let updateResult: any;
10
10
 
11
- const paymentServiceProviderRepo = await chevre.repository.PaymentServiceProvider.createInstance(mongoose.connection);
12
- updateResult = await paymentServiceProviderRepo.unsetUnnecessaryFields({
11
+ const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection);
12
+ updateResult = await eventRepo.unsetUnnecessaryFields({
13
13
  filter: {
14
14
  typeOf: {
15
15
  $in: [
16
- chevre.factory.service.paymentService.PaymentServiceType.CreditCard,
17
- chevre.factory.service.paymentService.PaymentServiceType.MovieTicket
16
+ chevre.factory.eventType.ScreeningEventSeries
18
17
  ]
19
- },
20
- 'provider.name': { $exists: true }
18
+ }
21
19
  },
22
- $unset: {
23
- 'provider.$[].name': 1
20
+ $unset: <any>{
21
+ checkInCount: 1,
22
+ attendeeCount: 1
24
23
  }
25
24
  });
26
25
  console.log('unset processed.', updateResult);
@@ -36,7 +36,6 @@ async function main() {
36
36
  location: {
37
37
  branchCode: '118',
38
38
  id: '5bfb841d5a78d7948369979a',
39
- kanaName: 'シネモーションアカサカ',
40
39
  name: { ja: 'シネモーション赤坂 ', en: 'CineMotion Akasaka' },
41
40
  typeOf: chevre.factory.placeType.MovieTheater
42
41
  },
@@ -77,7 +76,6 @@ async function main() {
77
76
  location: {
78
77
  branchCode: '118',
79
78
  id: '5bfb841d5a78d7948369979a',
80
- kanaName: 'シネモーションアカサカ',
81
79
  name: { ja: 'シネモーション赤坂 ', en: 'CineMotion Akasaka' },
82
80
  typeOf: chevre.factory.placeType.MovieTheater
83
81
  },
@@ -20,6 +20,5 @@ export declare function createReturnOrderMessage(params: {
20
20
  */
21
21
  export declare function createRefundMessage(params: {
22
22
  order: factory.order.IOrder;
23
- paymentMethods: factory.order.IReferencedInvoice[];
24
23
  email?: factory.creativeWork.message.email.ICustomization;
25
24
  }): Promise<factory.creativeWork.message.email.ICreativeWork>;
@@ -15,11 +15,14 @@ function minimizeSuperEvent(params) {
15
15
  : undefined), (typeof params.superEventFromDB.workPerformed.contentRating === 'string')
16
16
  ? { contentRating: params.superEventFromDB.workPerformed.contentRating }
17
17
  : undefined);
18
- const location = Object.assign(Object.assign({ typeOf: factory.placeType.MovieTheater, id: params.superEventFromDB.location.id, branchCode: params.superEventFromDB.location.branchCode }, (params.superEventFromDB.location.name !== undefined)
18
+ const location = Object.assign({ typeOf: factory.placeType.MovieTheater, id: params.superEventFromDB.location.id, branchCode: params.superEventFromDB.location.branchCode }, (params.superEventFromDB.location.name !== undefined)
19
19
  ? { name: params.superEventFromDB.location.name }
20
- : undefined), (typeof params.superEventFromDB.location.kanaName === 'string')
21
- ? { kanaName: params.superEventFromDB.location.kanaName }
22
- : undefined);
20
+ : undefined
21
+ // 廃止(2024-03-05~)
22
+ // ...(typeof params.superEventFromDB.location.kanaName === 'string')
23
+ // ? { kanaName: params.superEventFromDB.location.kanaName }
24
+ // : undefined
25
+ );
23
26
  return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ typeOf: factory.eventType.ScreeningEventSeries,
24
27
  // 不要なので廃止(2023-06-09~)
25
28
  // project: { typeOf: chevre.factory.organizationType.Project, id: params.project.id },
@@ -1,10 +1,2 @@
1
- import * as factory from '../factory';
2
1
  export declare const POINT_AWARD_IDENTIFIER_NAME = "pointAwardIdentifiers";
3
2
  export declare const AWARD_ACCOUNTS_IDENTIFIER_NAME = "awardAccounts";
4
- export type IMaskedCustomer = factory.order.ICustomer | Pick<factory.order.ICustomer, 'id' | 'typeOf'>;
5
- /**
6
- * 個人情報のマスクされたカスタマーを作成する
7
- */
8
- export declare function createMaskedCustomer(order: Pick<factory.order.IOrder, 'customer'>, options: {
9
- noProfile: boolean;
10
- }): IMaskedCustomer;
@@ -1,30 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMaskedCustomer = exports.AWARD_ACCOUNTS_IDENTIFIER_NAME = exports.POINT_AWARD_IDENTIFIER_NAME = void 0;
3
+ exports.AWARD_ACCOUNTS_IDENTIFIER_NAME = exports.POINT_AWARD_IDENTIFIER_NAME = void 0;
4
4
  exports.POINT_AWARD_IDENTIFIER_NAME = 'pointAwardIdentifiers';
5
5
  exports.AWARD_ACCOUNTS_IDENTIFIER_NAME = 'awardAccounts';
6
- const MASKED_PROFILE = '****';
7
- /**
8
- * 個人情報のマスクされたカスタマーを作成する
9
- */
10
- function createMaskedCustomer(order, options) {
11
- // noProfileに対応する(2023-07-03~)
12
- if ((options === null || options === void 0 ? void 0 : options.noProfile) === true) {
13
- return {
14
- id: order.customer.id,
15
- typeOf: order.customer.typeOf
16
- // ↓identifierも隠蔽
17
- // identifier: [],
18
- // ↓additionalPropertyも隠蔽
19
- // additionalProperty: [],
20
- };
21
- }
22
- else {
23
- return Object.assign(Object.assign({}, order.customer), {
24
- // ↓identifierも隠蔽
25
- identifier: [],
26
- // ↓additionalPropertyも隠蔽
27
- additionalProperty: [], email: MASKED_PROFILE, telephone: MASKED_PROFILE, name: MASKED_PROFILE, familyName: MASKED_PROFILE, givenName: MASKED_PROFILE });
28
- }
29
- }
30
- exports.createMaskedCustomer = createMaskedCustomer;
@@ -318,9 +318,9 @@ export declare class MongoRepository {
318
318
  };
319
319
  };
320
320
  }): Promise<any>;
321
- unsetUnnecessaryFields(params: {
322
- filter: FilterQuery<any>;
323
- $unset: IUnset<any>;
321
+ unsetUnnecessaryFields<T extends factory.eventType>(params: {
322
+ filter: FilterQuery<factory.event.IEvent<T>>;
323
+ $unset: IUnset<T>;
324
324
  }): Promise<import("mongodb").UpdateResult>;
325
325
  /**
326
326
  * 既存施設コンテンツの最大バージョンを集計する
@@ -1,5 +1,5 @@
1
1
  import { IndexDefinition, IndexOptions, Schema } from 'mongoose';
2
2
  declare const modelName = "Event";
3
- declare function createSchema(): Schema;
4
3
  declare const indexes: [d: IndexDefinition, o: IndexOptions][];
4
+ declare function createSchema(): Schema;
5
5
  export { modelName, indexes, createSchema };
@@ -41,13 +41,11 @@ const schemaDefinition = {
41
41
  subtitleLanguage: mongoose_1.SchemaTypes.Mixed,
42
42
  dubLanguage: mongoose_1.SchemaTypes.Mixed,
43
43
  kanaName: String,
44
- // 不要なので廃止(2023-01-23~)
45
- // hasOfferCatalog: SchemaTypes.Mixed,
46
44
  offers: mongoose_1.SchemaTypes.Mixed,
47
45
  maximumAttendeeCapacity: { type: Number },
48
46
  remainingAttendeeCapacity: { type: Number },
49
- checkInCount: { type: Number, default: 0 },
50
- attendeeCount: { type: Number, default: 0 },
47
+ checkInCount: { type: Number },
48
+ attendeeCount: { type: Number },
51
49
  aggregateEntranceGate: mongoose_1.SchemaTypes.Mixed,
52
50
  aggregateReservation: mongoose_1.SchemaTypes.Mixed,
53
51
  aggregateOffer: mongoose_1.SchemaTypes.Mixed,
@@ -79,17 +77,6 @@ const schemaOptions = {
79
77
  versionKey: false
80
78
  }
81
79
  };
82
- /**
83
- * イベントスキーマ
84
- */
85
- let schema;
86
- function createSchema() {
87
- if (schema === undefined) {
88
- schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
89
- }
90
- return schema;
91
- }
92
- exports.createSchema = createSchema;
93
80
  const indexes = [
94
81
  [
95
82
  { createdAt: 1 },
@@ -380,3 +367,19 @@ const indexes = [
380
367
  ]
381
368
  ];
382
369
  exports.indexes = indexes;
370
+ /**
371
+ * イベントスキーマ
372
+ */
373
+ let schema;
374
+ function createSchema() {
375
+ if (schema === undefined) {
376
+ schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
377
+ if (settings_1.MONGO_AUTO_INDEX) {
378
+ indexes.forEach((indexParams) => {
379
+ schema === null || schema === void 0 ? void 0 : schema.index(...indexParams);
380
+ });
381
+ }
382
+ }
383
+ return schema;
384
+ }
385
+ exports.createSchema = createSchema;
@@ -4,7 +4,7 @@ import type { MongoRepository as OfferCatalogRepo } from '../../../repo/offerCat
4
4
  import type { MongoRepository as ProductRepo } from '../../../repo/product';
5
5
  import * as factory from '../../../factory';
6
6
  /**
7
- * イベントオファー検索
7
+ * 興行オファー検索
8
8
  * NotFoundエラーをハンドリングする
9
9
  */
10
10
  export declare function findEventOffers(params: {
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.findEventOffers = void 0;
13
13
  const factory = require("../../../factory");
14
14
  /**
15
- * イベントオファー検索
15
+ * 興行オファー検索
16
16
  * NotFoundエラーをハンドリングする
17
17
  */
18
18
  function findEventOffers(params) {
@@ -121,7 +121,7 @@ function createPriceSpecsByEventOffer(params) {
121
121
  });
122
122
  }
123
123
  /**
124
- * イベントオファーの単価仕様を予約単価仕様に最適化する
124
+ * 興行オファーの単価仕様を予約単価仕様に最適化する
125
125
  */
126
126
  function eventOfferUnitPriceSpec2reservationUnitPriceSpec(params) {
127
127
  var _a;
@@ -85,7 +85,7 @@ export declare function createPotentialActions(params: factory.assetTransaction.
85
85
  order?: Pick<factory.order.IOrder, 'orderNumber' | 'customer' | 'typeOf'>;
86
86
  }): {
87
87
  potentialActions: factory.assetTransaction.reserve.IPotentialActions;
88
- reservationPackage?: factory.action.reserve.IReservationPackageAsObject;
88
+ reservationPackage?: factory.action.reserve.IObject;
89
89
  underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
90
90
  };
91
91
  export declare function createCancelPendingReservationAction(params: {
@@ -112,7 +112,7 @@ function addReservations(params) {
112
112
  availableOffers = params.preSearchedUnitPriceOffers;
113
113
  }
114
114
  else {
115
- // イベントオファー検索
115
+ // 興行オファー検索
116
116
  const searchEventTicketOffersResult = yield OfferService.event.searchEventTicketOffers({
117
117
  ids: acceptedOfferIds,
118
118
  event: { id: event.id },
@@ -178,11 +178,6 @@ function addReservations(params) {
178
178
  },
179
179
  stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd
180
180
  })(repos);
181
- // 完全廃止(2023-07-19~)
182
- // if (transaction.object.disablePendingReservations !== true) {
183
- // // 予約作成(insertManyで実装)
184
- // await repos.reservation.createMany({ reservationFor, reservations: objectSubReservations });
185
- // }
186
181
  // ストックホルダー処理(stockHolderで残席数を集計しているので必要)
187
182
  yield onReservationsCreated({ event, transaction: { transactionNumber: transaction.transactionNumber } })(repos);
188
183
  return { transaction, objectSubReservations, issuedThrough };
@@ -71,9 +71,9 @@ function createGivePointAwardStartParams4moneyTransfer(params, transactionNumber
71
71
  var _a;
72
72
  // Sellerに変更(2022-05-30~)
73
73
  const agent = {
74
- typeOf: params.purpose.seller.typeOf,
75
- id: String(params.purpose.seller.id),
76
- name: String(params.purpose.seller.name)
74
+ typeOf: params.agent.typeOf,
75
+ id: params.agent.id,
76
+ name: String(params.agent.name)
77
77
  };
78
78
  const recipient
79
79
  // tslint:disable-next-line:no-object-literal-type-assertion
@@ -146,7 +146,6 @@ function returnPointAward(params) {
146
146
  exports.returnPointAward = returnPointAward;
147
147
  function processReturnPointAwardByTransactionIdentifier(params) {
148
148
  return (repos) => __awaiter(this, void 0, void 0, function* () {
149
- const order = params.purpose;
150
149
  let moneyTransferTransaction;
151
150
  const moenyTransferAssetTransactionIdentifier = params.object.identifier;
152
151
  const assetTransactions = yield repos.assetTransaction.search({
@@ -184,11 +183,10 @@ function processReturnPointAwardByTransactionIdentifier(params) {
184
183
  .toDate(),
185
184
  // Sellerに変更(2022-05-30~)
186
185
  agent: {
187
- typeOf: order.seller.typeOf,
188
- id: order.seller.id,
189
- name: order.seller.name
186
+ typeOf: params.recipient.typeOf,
187
+ id: params.recipient.id,
188
+ name: String(params.recipient.name)
190
189
  },
191
- // agent: depositTransaction.recipient, // 入金と逆
192
190
  recipient: depositTransaction.agent,
193
191
  object: {
194
192
  amount: depositTransaction.object.amount,
@@ -213,7 +211,6 @@ function processReturnPointAwardByTransactionIdentifier(params) {
213
211
  function processReturnPointAwardByTransactionFromLocationIdentifier(params) {
214
212
  return (repos) => __awaiter(this, void 0, void 0, function* () {
215
213
  var _a, _b;
216
- const order = params.purpose;
217
214
  const moneyTransferTransactions = [];
218
215
  const moenyTransferAssetTransactionFromLocationIdentifier = (_b = (_a = params.object
219
216
  .object) === null || _a === void 0 ? void 0 : _a.fromLocation) === null || _b === void 0 ? void 0 : _b.identifier;
@@ -261,20 +258,14 @@ function processReturnPointAwardByTransactionFromLocationIdentifier(params) {
261
258
  .toDate(),
262
259
  // Sellerに変更(2022-05-30~)
263
260
  agent: {
264
- typeOf: order.seller.typeOf,
265
- id: order.seller.id,
266
- name: order.seller.name
261
+ typeOf: params.recipient.typeOf,
262
+ id: params.recipient.id,
263
+ name: String(params.recipient.name)
267
264
  },
268
- // agent: returningTransaction.recipient, // 入金と逆
269
265
  recipient: returningTransaction.agent,
270
266
  object: {
271
267
  amount: returningTransaction.object.amount,
272
268
  fromLocation,
273
- // toLocation: {
274
- // typeOf: order.typeOf,
275
- // confirmationNumber: order.confirmationNumber,
276
- // orderNumber: order.orderNumber
277
- // },
278
269
  toLocation,
279
270
  description: `[Return Award]${returningTransaction.object.description}`,
280
271
  pendingTransaction: {
@@ -42,7 +42,8 @@ function createEvent(params) {
42
42
  const location = {
43
43
  branchCode: movieTheater.branchCode,
44
44
  id: movieTheater.id,
45
- kanaName: movieTheater.kanaName,
45
+ // 廃止(2024-03-05~)
46
+ // kanaName: movieTheater.kanaName,
46
47
  name: movieTheater.name,
47
48
  typeOf: factory.placeType.MovieTheater
48
49
  };
@@ -593,7 +593,8 @@ function createScreeningEventSeriesFromCOA(params) {
593
593
  id: (params.movieTheater.id !== undefined) ? params.movieTheater.id : '',
594
594
  branchCode: params.movieTheater.branchCode,
595
595
  name: params.movieTheater.name,
596
- kanaName: params.movieTheater.kanaName,
596
+ // 廃止(2024-03-05~)
597
+ // kanaName: params.movieTheater.kanaName,
597
598
  typeOf: params.movieTheater.typeOf
598
599
  },
599
600
  // 必須化(2023-07-12~)
@@ -19,7 +19,6 @@ import type { StockHolderRepository as StockHolderRepo } from '../../../repo/sto
19
19
  import type { MongoRepository as TaskRepo } from '../../../repo/task';
20
20
  import type { MongoRepository as TransactionRepo } from '../../../repo/transaction';
21
21
  import type { RedisRepository as TransactionNumberRepo } from '../../../repo/transactionNumber';
22
- import { IObjectWithoutDetail } from './factory';
23
22
  interface IAuthorizeRepos {
24
23
  action: ActionRepo;
25
24
  assetTransaction: AssetTransactionRepo;
@@ -44,8 +43,9 @@ interface IAuthorizeRepos {
44
43
  }
45
44
  type IAuthorizeOperation<T> = (repos: IAuthorizeRepos) => Promise<T>;
46
45
  type IAuthorizeOfferAction = factory.action.authorize.offer.eventService.IAction<factory.service.webAPI.Identifier>;
46
+ type IObjectWithoutDetail = factory.action.authorize.offer.eventService.IObjectWithoutDetail4chevre;
47
47
  /**
48
- * イベントオファー承認
48
+ * 興行オファー承認
49
49
  */
50
50
  declare function authorize(params: {
51
51
  project: {
@@ -75,6 +75,7 @@ declare function authorize(params: {
75
75
  noOfferSpecified: boolean;
76
76
  options: {
77
77
  useCreateOrderOnOfferAccepted: boolean;
78
+ useResultAcceptedOffers: boolean;
78
79
  };
79
80
  }): IAuthorizeOperation<IAuthorizeOfferAction>;
80
81
  export { authorize };
@@ -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[];