@chevre/domain 28.0.0-alpha.2 → 28.0.0-alpha.20

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 (120) hide show
  1. package/lib/chevre/eventEmitter/transaction.d.ts +2 -2
  2. package/lib/chevre/eventEmitter/transaction.js +1 -1
  3. package/lib/chevre/repo/acceptedOffer.d.ts +3 -3
  4. package/lib/chevre/repo/acceptedOffer.js +14 -9
  5. package/lib/chevre/repo/acceptedOfferInReserve.d.ts +2 -2
  6. package/lib/chevre/repo/adminEvent.d.ts +0 -6
  7. package/lib/chevre/repo/adminEvent.js +3 -9
  8. package/lib/chevre/repo/adminEventSeries.d.ts +89 -0
  9. package/lib/chevre/repo/adminEventSeries.js +174 -0
  10. package/lib/chevre/repo/adminTask.d.ts +2 -2
  11. package/lib/chevre/repo/adminTransaction.d.ts +44 -48
  12. package/lib/chevre/repo/adminTransaction.js +0 -98
  13. package/lib/chevre/repo/aggregateEvent.js +0 -1
  14. package/lib/chevre/repo/aggregateTransaction.d.ts +0 -1
  15. package/lib/chevre/repo/aggregateTransaction.js +0 -1
  16. package/lib/chevre/repo/event.d.ts +2 -2
  17. package/lib/chevre/repo/event.js +71 -110
  18. package/lib/chevre/repo/eventSeries.d.ts +3 -82
  19. package/lib/chevre/repo/eventSeries.js +3 -201
  20. package/lib/chevre/repo/factory/acceptedOffer/reserveTransaction2itemOffered.d.ts +1 -1
  21. package/lib/chevre/repo/mongoose/schemas/civicStructure.d.ts +1 -0
  22. package/lib/chevre/repo/mongoose/schemas/order.d.ts +21 -1
  23. package/lib/chevre/repo/mongoose/schemas/place.js +0 -9
  24. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +3 -1
  25. package/lib/chevre/repo/mongoose/schemas/seller.js +0 -2
  26. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +2 -3
  27. package/lib/chevre/repo/mongoose/schemas/transaction.js +81 -70
  28. package/lib/chevre/repo/order.d.ts +2 -2
  29. package/lib/chevre/repo/order.js +0 -31
  30. package/lib/chevre/repo/orderInTransaction.d.ts +5 -25
  31. package/lib/chevre/repo/orderInTransaction.js +0 -6
  32. package/lib/chevre/repo/place/movieTheater.d.ts +3 -1
  33. package/lib/chevre/repo/place/movieTheater.js +3 -1
  34. package/lib/chevre/repo/place/{hasPOS.d.ts → pos.d.ts} +13 -20
  35. package/lib/chevre/repo/place/{hasPOS.js → pos.js} +66 -29
  36. package/lib/chevre/repo/place/screeningRoom.d.ts +24 -3
  37. package/lib/chevre/repo/place/screeningRoom.js +28 -17
  38. package/lib/chevre/repo/priceSpecification.d.ts +8 -8
  39. package/lib/chevre/repo/seller.d.ts +11 -4
  40. package/lib/chevre/repo/seller.js +31 -58
  41. package/lib/chevre/repo/sellerPaymentAccepted.d.ts +14 -21
  42. package/lib/chevre/repo/sellerPaymentAccepted.js +65 -38
  43. package/lib/chevre/repo/task.d.ts +3 -3
  44. package/lib/chevre/repo/transaction/placeOrder.d.ts +6 -12
  45. package/lib/chevre/repo/transaction/placeOrder.js +53 -146
  46. package/lib/chevre/repo/transaction/returnOrderInProgress.d.ts +1 -1
  47. package/lib/chevre/repo/transaction.d.ts +1 -1
  48. package/lib/chevre/repo/transaction.js +0 -1
  49. package/lib/chevre/repository.d.ts +10 -5
  50. package/lib/chevre/repository.js +19 -8
  51. package/lib/chevre/service/aggregation/event/aggregateOffers.js +1 -2
  52. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +0 -1
  53. package/lib/chevre/service/aggregation/system.js +1 -3
  54. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +1 -2
  55. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +2 -2
  56. package/lib/chevre/service/delivery/reservation/factory.d.ts +1 -1
  57. package/lib/chevre/service/event/saveScreeningEventSeries.d.ts +2 -2
  58. package/lib/chevre/service/event/saveScreeningEventSeries.js +1 -1
  59. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -0
  60. package/lib/chevre/service/event.d.ts +2 -0
  61. package/lib/chevre/service/event.js +0 -1
  62. package/lib/chevre/service/offer/any.d.ts +1 -1
  63. package/lib/chevre/service/offer/event/authorize/factory.d.ts +5 -5
  64. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +1 -1
  65. package/lib/chevre/service/offer/event/authorize.js +1 -4
  66. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
  67. package/lib/chevre/service/offer/event/voidTransaction.js +2 -5
  68. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +1 -4
  69. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +2 -9
  70. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +2 -2
  71. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +1 -4
  72. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +1 -4
  73. package/lib/chevre/service/offer/onEventChanged.js +2 -4
  74. package/lib/chevre/service/offer.js +1 -2
  75. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +1 -1
  76. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -6
  77. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +24 -4
  78. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  79. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.d.ts +1 -1
  80. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +1 -1
  81. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
  82. package/lib/chevre/service/order/placeOrder/factory/orderedItem.d.ts +1 -1
  83. package/lib/chevre/service/order/placeOrder/factory.d.ts +1 -1
  84. package/lib/chevre/service/order/sendOrder.js +2 -14
  85. package/lib/chevre/service/payment/any/authorize.js +1 -1
  86. package/lib/chevre/service/payment/any/factory.d.ts +2 -2
  87. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +1 -4
  88. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +2 -2
  89. package/lib/chevre/service/payment/any/publishPaymentUrl.js +1 -1
  90. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +1 -1
  91. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.d.ts +3 -3
  92. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +1 -1
  93. package/lib/chevre/service/payment/movieTicket/payMovieTicket/payActionParams2seatInfoSyncIn.js +1 -1
  94. package/lib/chevre/service/payment/movieTicket/validation.js +1 -1
  95. package/lib/chevre/service/task/importEventsFromCOA.js +2 -0
  96. package/lib/chevre/service/task/onResourceDeleted.js +8 -8
  97. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.d.ts +7 -3
  98. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +51 -50
  99. package/lib/chevre/service/task/onResourceUpdated.js +5 -25
  100. package/lib/chevre/service/task/syncResourcesFromCOA.js +3 -1
  101. package/lib/chevre/service/transaction/deleteTransaction.js +1 -1
  102. package/lib/chevre/service/transaction/placeOrder/confirm/prepareUnitPriceOfferConditions.d.ts +1 -1
  103. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.d.ts +1 -1
  104. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.d.ts +1 -1
  105. package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +2 -2
  106. package/lib/chevre/service/transaction/placeOrder/confirm.js +1 -7
  107. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +2 -2
  108. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -4
  109. package/lib/chevre/service/transaction/placeOrder/start.js +1 -1
  110. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +1 -4
  111. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -3
  112. package/lib/chevre/service/transaction/returnOrder/preStart/factory.d.ts +1 -1
  113. package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +13 -1
  114. package/lib/chevre/service/transaction/returnOrder/preStart.js +1 -2
  115. package/lib/chevre/service/transaction/returnOrder.d.ts +14 -3
  116. package/lib/chevre/service/transaction/returnOrder.js +1 -6
  117. package/lib/chevre/service/transaction.d.ts +1 -1
  118. package/package.json +2 -2
  119. package/lib/chevre/service/delivery/factory.d.ts +0 -16
  120. package/lib/chevre/service/delivery/factory.js +0 -124
@@ -3,20 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createInformHasPOSTasks = createInformHasPOSTasks;
4
4
  const factory_1 = require("../../../factory");
5
5
  function createInformHasPOSTasks(params) {
6
- return async (repos
7
- // settings: Settings
8
- ) => {
9
- if (params.ids.length !== 1) {
10
- throw new factory_1.factory.errors.Argument('id', 'id.length must be 1');
11
- }
6
+ return async (repos) => {
7
+ // if (params.ids.length !== 1) {
8
+ // throw new factory.errors.Argument('id', 'id.length must be 1');
9
+ // }
12
10
  const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onResourceUpdated']);
13
- // const informResources = settings.onResourceUpdated.informResource;
14
11
  const informResources = setting?.onResourceUpdated?.informResource;
15
12
  const movieTheaters = await repos.movieTheater.projectFields({
16
13
  limit: 1,
17
14
  page: 1,
18
15
  project: { id: { $eq: params.project.id } },
19
- id: { $eq: params.ids[0] }
16
+ id: { $eq: params.id }
20
17
  }, ['id']
21
18
  // []
22
19
  );
@@ -25,50 +22,54 @@ function createInformHasPOSTasks(params) {
25
22
  throw new factory_1.factory.errors.NotFound(factory_1.factory.placeType.MovieTheater);
26
23
  }
27
24
  // 施設のhasPOSを全て連携する
28
- repos.hasPOS.operator.id = movieTheater.id;
29
- const hasPOS = await repos.hasPOS.search({
30
- project: { id: { $eq: params.project.id } }
31
- });
32
- const movieTheaters4inform = [{
33
- // hasPOS: (Array.isArray(movieTheater.hasPOS)) ? movieTheater.hasPOS : [],
34
- hasPOS: (Array.isArray(hasPOS)) ? hasPOS : [],
35
- id: movieTheater.id,
36
- typeOf: factory_1.factory.placeType.MovieTheater
37
- }];
38
- if (movieTheaters4inform.length > 0) {
39
- const taskRunsAt = new Date();
40
- const informTasks = [];
41
- informResources?.forEach((informResource) => {
42
- const informUrl = String(informResource.recipient?.url);
43
- movieTheaters4inform.forEach((movieTheater4inform) => {
44
- const informActionAttributes = {
45
- object: movieTheater4inform,
46
- recipient: {
47
- name: String(informResource.recipient?.name),
48
- typeOf: factory_1.factory.creativeWorkType.WebApplication
49
- // url: informUrl // discontinue(2025-02-13~)
50
- },
51
- target: {
52
- httpMethod: 'POST',
53
- encodingType: factory_1.factory.encodingFormat.Application.json,
54
- typeOf: 'EntryPoint',
55
- urlTemplate: informUrl
56
- }
57
- };
58
- informTasks.push({
59
- project: { id: params.project.id, typeOf: factory_1.factory.organizationType.Project },
60
- name: factory_1.factory.taskName.TriggerWebhook,
61
- status: factory_1.factory.taskStatus.Ready,
62
- runsAt: taskRunsAt,
63
- remainingNumberOfTries: 10,
64
- numberOfTried: 0,
65
- executionResults: [],
66
- data: informActionAttributes
25
+ repos.pos.operator.id = movieTheater.id;
26
+ const informingPOS = (await repos.pos.findPOS({
27
+ limit: 1,
28
+ page: 1,
29
+ projectId: params.project.id,
30
+ branchCode: { $eq: params.branchCode }
31
+ })).at(0); // pos.idを除外(2026-09-18~)
32
+ if (informingPOS !== undefined) {
33
+ const movieTheaters4inform = [{
34
+ hasPOS: [informingPOS],
35
+ id: movieTheater.id,
36
+ typeOf: factory_1.factory.placeType.MovieTheater
37
+ }];
38
+ if (movieTheaters4inform.length > 0) {
39
+ const taskRunsAt = new Date();
40
+ const informTasks = [];
41
+ informResources?.forEach((informResource) => {
42
+ const informUrl = String(informResource.recipient?.url);
43
+ movieTheaters4inform.forEach((movieTheater4inform) => {
44
+ const informActionAttributes = {
45
+ object: movieTheater4inform,
46
+ recipient: {
47
+ name: String(informResource.recipient?.name),
48
+ typeOf: factory_1.factory.creativeWorkType.WebApplication
49
+ // url: informUrl // discontinue(2025-02-13~)
50
+ },
51
+ target: {
52
+ httpMethod: 'POST',
53
+ encodingType: factory_1.factory.encodingFormat.Application.json,
54
+ typeOf: 'EntryPoint',
55
+ urlTemplate: informUrl
56
+ }
57
+ };
58
+ informTasks.push({
59
+ project: { id: params.project.id, typeOf: factory_1.factory.organizationType.Project },
60
+ name: factory_1.factory.taskName.TriggerWebhook,
61
+ status: factory_1.factory.taskStatus.Ready,
62
+ runsAt: taskRunsAt,
63
+ remainingNumberOfTries: 10,
64
+ numberOfTried: 0,
65
+ executionResults: [],
66
+ data: informActionAttributes
67
+ });
67
68
  });
68
69
  });
69
- });
70
- if (informTasks.length > 0) {
71
- await repos.task.saveMany(informTasks);
70
+ if (informTasks.length > 0) {
71
+ await repos.task.saveMany(informTasks);
72
+ }
72
73
  }
73
74
  }
74
75
  };
@@ -15,7 +15,7 @@ const offerCatalog_1 = require("../../repo/offerCatalog");
15
15
  const offerCatalogItem_1 = require("../../repo/offerCatalogItem");
16
16
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
17
17
  const entranceGate_1 = require("../../repo/place/entranceGate");
18
- const hasPOS_1 = require("../../repo/place/hasPOS");
18
+ const pos_1 = require("../../repo/place/pos");
19
19
  const movieTheater_1 = require("../../repo/place/movieTheater");
20
20
  const screeningRoom_1 = require("../../repo/place/screeningRoom");
21
21
  const product_1 = require("../../repo/product");
@@ -39,7 +39,7 @@ function call(params) {
39
39
  entranceGate: new entranceGate_1.EntranceGateRepo(connection, { id: '' }), // 先の処理で明示的に指定される
40
40
  event: new event_1.EventRepo(connection),
41
41
  eventSeries: new eventSeries_1.EventSeriesRepo(connection),
42
- hasPOS: new hasPOS_1.HasPOSRepo(connection, { id: '' }), // 先の処理で明示的に指定される
42
+ pos: new pos_1.POSRepo(connection, { id: '' }), // 先の処理で明示的に指定される
43
43
  member: new member_1.MemberRepo(connection),
44
44
  movieTheater: new movieTheater_1.MovieTheaterRepo(connection),
45
45
  note: new note_1.NoteRepo(connection),
@@ -123,8 +123,9 @@ function onResourceUpdated(params) {
123
123
  case 'POS':
124
124
  await (0, onHasPOSUpdated_1.createInformHasPOSTasks)({
125
125
  project: { id: params.project.id },
126
- ids: [params.operator.id],
127
- typeOf: factory_1.factory.placeType.MovieTheater
126
+ id: params.operator.id,
127
+ typeOf: factory_1.factory.placeType.MovieTheater,
128
+ branchCode: params.branchCode
128
129
  })(repos);
129
130
  break;
130
131
  case factory_1.factory.offerType.AggregateOffer:
@@ -401,32 +402,11 @@ function createInformMovieTheaterTasks(params, setting) {
401
402
  ]
402
403
  // []
403
404
  );
404
- // const movieTheater = movieTheaters.shift();
405
- // if (movieTheater === undefined) {
406
- // throw new factory.errors.NotFound(factory.placeType.MovieTheater);
407
- // }
408
- // // ルームを検索
409
- // const screeningRooms = await repos.screeningRoom.findRooms(
410
- // {
411
- // containedInPlace: { id: { $eq: movieTheater.id } }
412
- // }
413
- // );
414
405
  // 入場ゲートを廃止(2026-01-17~)
415
406
  const movieTheaters4inform = movieTheaters.map((movieTheater) => {
416
407
  const { hasEntranceGate, ...movieTheaterWithoutEntranceGates } = movieTheater; // eslint-disable-line @typescript-eslint/no-unused-vars
417
408
  return {
418
409
  ...movieTheaterWithoutEntranceGates
419
- // ...movieTheater
420
- // migrate to IRoomAsNotification(2026-01-16~)
421
- // containsPlace: screeningRooms.map((room) => {
422
- // return {
423
- // branchCode: room.branchCode,
424
- // name: room.name,
425
- // typeOf: factory.placeType.ScreeningRoom,
426
- // additionalProperty: room.additionalProperty,
427
- // address: room.address
428
- // };
429
- // })
430
410
  };
431
411
  });
432
412
  if (movieTheaters4inform.length > 0) {
@@ -12,6 +12,7 @@ const categoryCode_1 = require("../../repo/categoryCode");
12
12
  const creativeWork_1 = require("../../repo/creativeWork");
13
13
  const credentials_1 = require("../../repo/credentials");
14
14
  const adminEvent_1 = require("../../repo/adminEvent");
15
+ const adminEventSeries_1 = require("../../repo/adminEventSeries");
15
16
  const eventSeries_1 = require("../../repo/eventSeries");
16
17
  const movieTheater_1 = require("../../repo/place/movieTheater");
17
18
  const screeningRoom_1 = require("../../repo/place/screeningRoom");
@@ -71,7 +72,7 @@ function call(params) {
71
72
  },
72
73
  categoryCode: new categoryCode_1.CategoryCodeRepo(connection),
73
74
  creativeWork: new creativeWork_1.CreativeWorkRepo(connection),
74
- eventSeries: new eventSeries_1.EventSeriesRepo(connection),
75
+ adminEventSeries: new adminEventSeries_1.AdminEventSeriesRepo(connection),
75
76
  movieTheater: new movieTheater_1.MovieTheaterRepo(connection),
76
77
  masterService
77
78
  });
@@ -88,6 +89,7 @@ function call(params) {
88
89
  categoryCode: new categoryCode_1.CategoryCodeRepo(connection),
89
90
  creativeWork: new creativeWork_1.CreativeWorkRepo(connection),
90
91
  adminEvent: new adminEvent_1.AdminEventRepo(connection),
92
+ adminEventSeries: new adminEventSeries_1.AdminEventSeriesRepo(connection),
91
93
  eventSeries: new eventSeries_1.EventSeriesRepo(connection),
92
94
  movieTheater: new movieTheater_1.MovieTheaterRepo(connection),
93
95
  screeningRoom: new screeningRoom_1.ScreeningRoomRepo(connection),
@@ -36,7 +36,7 @@ function deleteTransactionById(params) {
36
36
  if (params.object.typeOf === factory_1.factory.transactionType.PlaceOrder) {
37
37
  transaction = (await repos.placeOrder.findPlaceOrderTransactions({
38
38
  ids: [deletingTransactionId],
39
- typeOf: params.object.typeOf,
39
+ // typeOf: params.object.typeOf,
40
40
  inclusion: ['typeOf', 'project', 'status']
41
41
  })).shift();
42
42
  }
@@ -1,7 +1,7 @@
1
1
  import type { OfferRepo } from '../../../../repo/offer/unitPriceInCatalog';
2
2
  import { factory } from '../../../../factory';
3
3
  export type IAuthorizeEventServiceOffer = factory.action.authorize.offer.eventService.IAction;
4
- type IOrderAcceptedOffer = Pick<factory.order.IAcceptedOffer, 'itemOffered' | 'offeredThrough' | 'serialNumber' | 'priceSpecification' | 'id'>;
4
+ type IOrderAcceptedOffer = Pick<factory.acceptedOffer.IAcceptedOffer, 'itemOffered' | 'offeredThrough' | 'serialNumber' | 'priceSpecification' | 'id'>;
5
5
  interface IAcceptedOfferInResult extends Pick<factory.product.ITicketOffer, 'acceptedPaymentMethod' | 'id' | 'typeOf'> {
6
6
  typeOf: factory.offerType.Offer;
7
7
  id: string;
@@ -4,5 +4,5 @@ declare function validateInvoiceReferencesOrder(authorizePaymentActions: IAuthor
4
4
  /**
5
5
  * 受け入れられた興行オファー
6
6
  */
7
- eventReservationAcceptedOffers: Pick<factory.order.IAcceptedOffer, 'itemOffered'>[]): void;
7
+ eventReservationAcceptedOffers: Pick<factory.acceptedOffer.IAcceptedOffer, 'itemOffered'>[]): void;
8
8
  export { validateInvoiceReferencesOrder };
@@ -18,4 +18,4 @@ authorizedMovieTickets: IMovieTicket4validate[],
18
18
  /**
19
19
  * 受け入れられた興行オファー
20
20
  */
21
- eventReservationAcceptedOffers: Pick<factory.order.IAcceptedOffer, 'itemOffered' | 'priceSpecification'>[]): void;
21
+ eventReservationAcceptedOffers: Pick<factory.acceptedOffer.IAcceptedOffer, 'itemOffered' | 'priceSpecification'>[]): void;
@@ -8,7 +8,7 @@ export { IAcceptPayAction, IAuthorizeEventServiceOffer, IAuthorizePaymentAction,
8
8
  */
9
9
  export declare function validateTransaction(transaction: {
10
10
  id: string;
11
- }, acceptPayActions: IAcceptPayAction[], authorizePaymentActions: IAuthorizePaymentAction[], authorizeEventServiceOfferActions: Pick<IAuthorizeEventServiceOffer, 'id' | 'result'>[], eventReservationAcceptedOffers: Pick<factory.order.IAcceptedOffer, 'itemOffered' | 'priceSpecification'>[], payTransactions: IPayTransaction[], customer: factory.order.ICustomer, options: {
11
+ }, acceptPayActions: IAcceptPayAction[], authorizePaymentActions: IAuthorizePaymentAction[], authorizeEventServiceOfferActions: Pick<IAuthorizeEventServiceOffer, 'id' | 'result'>[], eventReservationAcceptedOffers: Pick<factory.acceptedOffer.IAcceptedOffer, 'itemOffered' | 'priceSpecification'>[], payTransactions: IPayTransaction[], customer: factory.order.ICustomer, options: {
12
12
  paymentMethodIdByTransaction?: string;
13
13
  }): void;
14
14
  /**
@@ -18,7 +18,7 @@ export declare function validateAcceptedOffers(params: {
18
18
  result: {
19
19
  order: PlaceOrderFactory.IResultOrderParams;
20
20
  };
21
- acceptedOffers: (Pick<factory.order.IAcceptedOffer, 'itemOffered' | 'offeredThrough' | 'serialNumber'>)[];
21
+ acceptedOffers: (Pick<factory.acceptedOffer.IAcceptedOffer, 'itemOffered' | 'offeredThrough' | 'serialNumber'>)[];
22
22
  }): void;
23
23
  export declare function validateOrderedItem(params: {
24
24
  order: Pick<factory.order.IOrder, 'orderedItem'>;
@@ -63,7 +63,7 @@ function confirm(params, options) {
63
63
  // status: { $in: [factory.transactionStatusType.Confirmed, factory.transactionStatusType.InProgress] },
64
64
  object: { orderDate: params.result.order.orderDate }
65
65
  })(repos);
66
- const transaction = await repos.placeOrder.findPlaceOrderById({ typeOf: factory_1.factory.transactionType.PlaceOrder, id: params.id }, ['typeOf', 'project', 'status', 'agent', 'seller', 'object', 'result']);
66
+ const transaction = await repos.placeOrder.findPlaceOrderById({ id: params.id }, ['typeOf', 'project', 'status', 'agent', 'seller', 'object', 'result']);
67
67
  // 注文ドキュメントから注文番号を参照(取引開始時に発行済の前提)(2026-06-26~)
68
68
  const orderNumber = await repos.orderInTransaction.findOrderNumberByIdentifier({
69
69
  identifier: params.id,
@@ -169,7 +169,6 @@ function confirm(params, options) {
169
169
  // ステータス変更
170
170
  try {
171
171
  await repos.placeOrder.confirmPlaceOrder({
172
- typeOf: transaction.typeOf,
173
172
  id: transaction.id,
174
173
  object: {
175
174
  orderDate: params.result.order.orderDate,
@@ -298,17 +297,12 @@ function createReservationIdsResult(order, acceptedOffers) {
298
297
  function createResult(params, options) {
299
298
  const transaction = params.transaction;
300
299
  const eventReservationAcceptedOffers = [];
301
- // const productAcceptedOffers: factory.order.IAcceptedOffer<factory.order.IPermit>[] = [];
302
- // const moneyTransferAcceptedOffers: factory.order.IAcceptedOffer<factory.order.IMoneyTransfer>[] = [];
303
300
  params.acceptedOffers.forEach((acceptedOffer) => {
304
301
  const itemOfferedTypeOf = acceptedOffer.itemOffered.typeOf;
305
302
  switch (itemOfferedTypeOf) {
306
303
  case factory_1.factory.reservationType.EventReservation:
307
304
  eventReservationAcceptedOffers.push((acceptedOffer));
308
305
  break;
309
- // case factory.permit.PermitType.Permit:
310
- // productAcceptedOffers.push((acceptedOffer as factory.order.IAcceptedOffer<factory.order.IPermit>));
311
- // break;
312
306
  default:
313
307
  throw new factory_1.factory.errors.NotImplemented(`${itemOfferedTypeOf} not implemented`);
314
308
  }
@@ -6,10 +6,10 @@ type IPlaceOrderPotentialTask = factory.task.IAttributes<factory.taskName.PlaceO
6
6
  * 取引削除タスクを分離(2026-08-02~)
7
7
  */
8
8
  export declare function createImmediateTasks(params: {
9
- transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'endDate' | 'id' | 'object' | 'project' | 'seller' | 'startDate' | 'status' | 'typeOf'>;
9
+ transaction: Pick<factory.transaction.placeOrder.ITransaction, 'endDate' | 'id' | 'object' | 'project' | 'seller' | 'startDate' | 'status' | 'typeOf'>;
10
10
  taskRunsAt: Date;
11
11
  }): IPlaceOrderPotentialTask[];
12
12
  export declare function createScheduledTasks(params: {
13
- transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'endDate' | 'id' | 'object' | 'project' | 'status' | 'typeOf'>;
13
+ transaction: Pick<factory.transaction.placeOrder.ITransaction, 'endDate' | 'id' | 'object' | 'project' | 'status' | 'typeOf'>;
14
14
  }, setting: Pick<ISetting, 'storage'> | null): factory.task.deleteTransaction.IAttributes;
15
15
  export {};
@@ -12,10 +12,7 @@ const factory_2 = require("./exportTasks/factory");
12
12
  */
13
13
  function exportTasksById(params) {
14
14
  return async (repos) => {
15
- const transaction = await repos.placeOrder.findPlaceOrderById({
16
- typeOf: factory_1.factory.transactionType.PlaceOrder,
17
- id: params.id
18
- }, ['endDate', 'object', 'project', 'seller', 'startDate', 'status', 'typeOf']);
15
+ const transaction = await repos.placeOrder.findPlaceOrderById({ id: params.id }, ['endDate', 'object', 'project', 'seller', 'startDate', 'status', 'typeOf']);
19
16
  // タスク実行日時バッファの指定があれば調整
20
17
  let taskRunsAt = new Date();
21
18
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -34,7 +34,7 @@ function start(params, options) {
34
34
  // in case already locked
35
35
  const alreadyStartedTransaction = (await repos.placeOrder.findPlaceOrderTransactions({
36
36
  limit: 1, page: 1,
37
- typeOf: factory_1.factory.transactionType.PlaceOrder,
37
+ // typeOf: factory.transactionType.PlaceOrder,
38
38
  project: { id: { $eq: startParams.project.id } },
39
39
  status: { $in: [factory_1.factory.transactionStatusType.InProgress] },
40
40
  agent: { identifiers: [{ name: factory_2.AGENT_IDENTIFIER_NAME_PASSPORT, value: passport.identifier }] },
@@ -8,10 +8,7 @@ const fixCustomer_1 = require("./updateAgent/fixCustomer");
8
8
  */
9
9
  function updateAgent(params) {
10
10
  return async (repos) => {
11
- const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
12
- typeOf: factory_1.factory.transactionType.PlaceOrder,
13
- id: params.id
14
- }, ['agent', 'object', 'typeOf', 'project']);
11
+ const transaction = await repos.placeOrder.findPlaceOrderInProgressById({ id: params.id }, ['agent', 'object', 'typeOf', 'project']);
15
12
  if (transaction.agent.id !== params.agent.id) {
16
13
  throw new factory_1.factory.errors.Forbidden('Transaction not yours');
17
14
  }
@@ -4,9 +4,7 @@ exports.createPotentialActions = createPotentialActions;
4
4
  const factory_1 = require("../../../factory");
5
5
  const returnPaymentMethod_1 = require("./potentialActions/returnPaymentMethod");
6
6
  const sendEmailMessage_1 = require("./potentialActions/sendEmailMessage");
7
- async function createPotentialActions(params,
8
- // settings: Settings
9
- setting) {
7
+ async function createPotentialActions(params, setting) {
10
8
  const emailMessages = [];
11
9
  const returnOrderActions = await Promise.all(params.orders.map(async (order) => {
12
10
  let returnOrderParams = params.potentialActions?.returnOrder;
@@ -15,6 +15,6 @@ type ICustomSellerReturnPolicy = Pick<factory.sellerReturnPolicy.ISellerReturnPo
15
15
  applicablePaymentMethod?: never;
16
16
  merchantReturnDays?: never;
17
17
  };
18
- type IFixedAcceptedOffer = Pick<factory.order.IAcceptedOffer, 'id' | 'priceSpecification' | 'itemOffered'>;
18
+ type IFixedAcceptedOffer = Pick<factory.acceptedOffer.IAcceptedOffer, 'id' | 'priceSpecification' | 'itemOffered'>;
19
19
  type IFixedOrder = Pick<factory.order.IOrder, 'confirmationNumber' | 'dateReturned' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'paymentMethods' | 'price' | 'project' | 'seller' | 'typeOf'>;
20
20
  export { IAvailableSellerReturnPolicy, ICustomSellerReturnPolicy, IFixedAcceptedOffer, IFixedOrder };
@@ -23,10 +23,22 @@ interface IPreStartOperationRepos {
23
23
  }
24
24
  type IPreStartOperation<T> = (repos: IPreStartOperationRepos) => Promise<T>;
25
25
  type IFixedSeller = Pick<ISellerWithId, 'id' | 'name' | 'project' | 'hasMerchantReturnPolicy' | 'typeOf'>;
26
+ /**
27
+ * 注文返品開始パラメータ
28
+ */
29
+ export interface IStartParamsWithoutDetail {
30
+ project: Pick<factory.project.IProject, 'id' | 'typeOf'>;
31
+ expiresInSeconds: number;
32
+ agent: factory.transaction.returnOrder.IAgent;
33
+ object: {
34
+ order: [factory.transaction.returnOrder.IReturnableOrder];
35
+ reason: factory.transaction.returnOrder.Reason;
36
+ };
37
+ }
26
38
  /**
27
39
  * 返品取引開始前処理
28
40
  */
29
- declare function preStart(params: factory.transaction.returnOrder.IStartParamsWithoutDetail): IPreStartOperation<{
41
+ declare function preStart(params: IStartParamsWithoutDetail): IPreStartOperation<{
30
42
  transactionObject: factory.transaction.returnOrder.IObject;
31
43
  seller: IFixedSeller;
32
44
  expiresInSeconds: number;
@@ -36,8 +36,7 @@ function preStart(params) {
36
36
  let events = [];
37
37
  if (eventIds.length > 0) {
38
38
  events = await repos.event.projectEventFields({
39
- id: { $in: eventIds },
40
- typeOf: factory_1.factory.eventType.ScreeningEvent
39
+ id: { $in: eventIds }
41
40
  }, ['startDate']);
42
41
  }
43
42
  let returnPolicies = [];
@@ -13,7 +13,7 @@ import type { SellerReturnPolicyRepo } from '../../repo/sellerReturnPolicy';
13
13
  import type { SettingRepo } from '../../repo/setting';
14
14
  import type { TaskRepo } from '../../repo/task';
15
15
  import type { IStartedTransaction, ReturnOrderInProgressRepo } from '../../repo/transaction/returnOrderInProgress';
16
- import { preStart } from './returnOrder/preStart';
16
+ import { preStart, IStartParamsWithoutDetail } from './returnOrder/preStart';
17
17
  interface IStartOperationRepos {
18
18
  acceptedOffer: AcceptedOfferRepo;
19
19
  event: EventRepo;
@@ -31,7 +31,7 @@ type IStartOperation<T> = (repos: IStartOperationRepos) => Promise<T>;
31
31
  /**
32
32
  * 返品取引開始
33
33
  */
34
- declare function start(params: factory.transaction.returnOrder.IStartParamsWithoutDetail): IStartOperation<IStartedTransaction>;
34
+ declare function start(params: IStartParamsWithoutDetail): IStartOperation<IStartedTransaction>;
35
35
  interface IConfirmRepos {
36
36
  acceptedOffer: AcceptedOfferRepo;
37
37
  message: MessageRepo;
@@ -43,7 +43,18 @@ interface IConfirmRepos {
43
43
  /**
44
44
  * 取引確定
45
45
  */
46
- declare function confirm(params: factory.transaction.returnOrder.IConfirmParams & {
46
+ declare function confirm(params: {
47
+ /**
48
+ * 取引ID
49
+ */
50
+ id: string;
51
+ agent: {
52
+ id: string;
53
+ };
54
+ /**
55
+ * 取引確定後アクション
56
+ */
57
+ potentialActions?: factory.transaction.returnOrder.IPotentialActionsParams;
47
58
  object: {
48
59
  order: {
49
60
  dateReturned: Date;
@@ -16,16 +16,11 @@ Object.defineProperty(exports, "preStart", { enumerable: true, get: function ()
16
16
  */
17
17
  function start(params) {
18
18
  return async (repos) => {
19
- const { transactionObject, expiresInSeconds, seller } = await (0, preStart_1.preStart)(params)(repos);
19
+ const { transactionObject, expiresInSeconds, seller: _seller } = await (0, preStart_1.preStart)(params)(repos);
20
20
  const returnOrderAttributes = {
21
21
  project: params.project,
22
22
  typeOf: factory_1.factory.transactionType.ReturnOrder,
23
23
  agent: params.agent,
24
- seller: {
25
- id: String(seller.id),
26
- typeOf: seller.typeOf,
27
- name: seller.name
28
- },
29
24
  object: transactionObject,
30
25
  expiresInSeconds
31
26
  };
@@ -44,4 +44,4 @@ export declare function exportOneTransactionTasksIfExists(params: {
44
44
  endDate?: factory.sortType;
45
45
  startDate?: factory.sortType;
46
46
  };
47
- }): IExportTasksOperation<Pick<factory.transaction.ITransaction<factory.transactionType>, 'id' | 'typeOf'> | undefined>;
47
+ }): IExportTasksOperation<Pick<factory.transaction.placeOrder.ITransaction, 'id' | 'typeOf'> | undefined>;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.1090.0",
13
13
  "@aws-sdk/credential-providers": "3.1090.0",
14
- "@chevre/factory": "10.5.0-alpha.8",
14
+ "@chevre/factory": "11.1.0-alpha.1",
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",
@@ -88,5 +88,5 @@
88
88
  "postversion": "git push origin --tags",
89
89
  "prepublishOnly": "npm run clean && npm run build"
90
90
  },
91
- "version": "28.0.0-alpha.2"
91
+ "version": "28.0.0-alpha.20"
92
92
  }
@@ -1,16 +0,0 @@
1
- import { factory } from '../../factory';
2
- export type IOwnershipInfo = factory.ownershipInfo.IOwnershipInfo<factory.ownershipInfo.IGood>;
3
- /**
4
- * 注文から所有権を作成する
5
- */
6
- export declare function createOwnershipInfosFromOrder(params: {
7
- order: Pick<factory.order.IOrder, 'orderDate' | 'project' | 'customer' | 'orderNumber' | 'seller'> & {
8
- acceptedOffers: (Omit<factory.order.IAcceptedOffer, 'priceSpecification' | 'name'> & {
9
- /**
10
- * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
11
- */
12
- priceSpecification?: factory.order.ITicketPriceSpecification;
13
- })[];
14
- };
15
- offerIndexBase: number;
16
- }): IOwnershipInfo[];
@@ -1,124 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createOwnershipInfosFromOrder = createOwnershipInfosFromOrder;
7
- const moment_timezone_1 = __importDefault(require("moment-timezone"));
8
- const util_1 = require("util");
9
- const factory_1 = require("../../factory");
10
- // import { createProductOwnershipInfo } from './product/factory';
11
- const factory_2 = require("./reservation/factory");
12
- /**
13
- * 注文から所有権を作成する
14
- */
15
- function createOwnershipInfosFromOrder(params) {
16
- const ownershipInfos = [];
17
- if (!Array.isArray(params.order.acceptedOffers)) {
18
- throw new factory_1.factory.errors.ArgumentNull('order.acceptedOffers');
19
- }
20
- params.order.acceptedOffers.forEach((acceptedOffer, offerIndex) => {
21
- const itemOffered = acceptedOffer.itemOffered;
22
- let ownershipInfo;
23
- const ownedFrom = (0, moment_timezone_1.default)(params.order.orderDate)
24
- .toDate();
25
- const identifier = createOwnershipInfoIdentifier({
26
- order: params.order,
27
- itemOffered,
28
- offerIndex,
29
- offerIndexBase: params.offerIndexBase
30
- });
31
- const acquiredFrom = createAcquiredFrom(params);
32
- const ownedBy = createOwnedby(params);
33
- // 所有者があれば所有権を作成する
34
- if (ownedBy.length > 0) {
35
- const itemOfferedType = itemOffered.typeOf;
36
- switch (itemOfferedType) {
37
- case factory_1.factory.reservationType.EventReservation: {
38
- const excludeCOAReservation = acceptedOffer.offeredThrough?.identifier === factory_1.factory.service.webAPI.Identifier.COA;
39
- if (excludeCOAReservation) {
40
- // bookingService:COAでは作成しない(2024-12-31~)
41
- }
42
- else {
43
- ownershipInfo = (0, factory_2.createReservationOwnershipInfo)({
44
- project: params.order.project,
45
- ownedBy: ownedBy,
46
- acceptedOffer,
47
- ownedFrom: ownedFrom,
48
- identifier: identifier,
49
- acquiredFrom: acquiredFrom
50
- });
51
- }
52
- break;
53
- }
54
- // case factory.permit.PermitType.Permit:
55
- // ownershipInfo = createProductOwnershipInfo({
56
- // project: params.order.project,
57
- // ownedBy: ownedBy,
58
- // acceptedOffer: { ...acceptedOffer, itemOffered },
59
- // ownedFrom: ownedFrom,
60
- // identifier: identifier,
61
- // acquiredFrom: acquiredFrom
62
- // });
63
- // break;
64
- // case factory.actionType.MoneyTransfer:
65
- // // no op
66
- // // 所有権は発生しない
67
- // break;
68
- default:
69
- throw new factory_1.factory.errors.NotImplemented(`Offered item type ${itemOfferedType} not implemented`);
70
- }
71
- }
72
- if (ownershipInfo !== undefined) {
73
- ownershipInfos.push(ownershipInfo);
74
- }
75
- });
76
- return ownershipInfos;
77
- }
78
- function createOwnershipInfoIdentifier(params) {
79
- return (0, util_1.format)('%s-%s-%s-%s', params.order.customer.id, params.itemOffered.typeOf, params.order.orderNumber, (params.offerIndexBase + params.offerIndex));
80
- }
81
- function createAcquiredFrom(params) {
82
- // 最低限の情報に絞る
83
- const seller = params.order.seller;
84
- return {
85
- // 最適化(2022-11-15~)
86
- // project: { typeOf: params.order.project.typeOf, id: params.order.project.id },
87
- id: seller.id,
88
- typeOf: seller.typeOf,
89
- name: (typeof seller.name === 'string')
90
- ? seller.name
91
- : String(seller.typeOf)
92
- };
93
- }
94
- function createOwnedby(params) {
95
- const customer = params.order.customer;
96
- let owner;
97
- // 顧客組織の場合
98
- if (customer.typeOf === factory_1.factory.organizationType.Organization) {
99
- // discontinue(2026-03-15~)
100
- // const ownerAsOrganization: factory.ownershipInfo.IOwnerAsOrganization = {
101
- // // 個人情報排除するように
102
- // typeOf: customer.typeOf,
103
- // id: customer.id
104
- // };
105
- // owner = ownerAsOrganization;
106
- }
107
- else if (customer.typeOf === factory_1.factory.personType.Person) {
108
- const ownerAsPerson = {
109
- // 個人情報排除するように
110
- typeOf: customer.typeOf,
111
- id: customer.id
112
- };
113
- owner = ownerAsPerson;
114
- }
115
- else {
116
- // discontinue(2026-03-15~)
117
- // owner = {
118
- // // 個人情報排除するように
119
- // typeOf: customer.typeOf,
120
- // id: customer.id
121
- // };
122
- }
123
- return (owner !== undefined) ? [owner] : [];
124
- }