@chevre/domain 24.1.0-alpha.25 → 24.1.0-alpha.26

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.
@@ -4,7 +4,12 @@ type IProjection4searchWithUnwoundAcceptedOffers = {
4
4
  [key in keyof factory.order.IOrder]?: 1;
5
5
  } & {};
6
6
  type IDistinctField = 'acceptedOffers.id' | 'acceptedOffers.itemOffered.reservationNumber' | 'acceptedOffers.itemOffered.reservationFor.id' | 'acceptedOffers.serialNumber' | 'acceptedOffers.offeredThrough.identifier' | 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode';
7
- type IAcceptedOffer = factory.order.IAcceptedOffer;
7
+ type IAcceptedOffer = Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
8
+ /**
9
+ * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
10
+ */
11
+ priceSpecification?: factory.order.ITicketPriceSpecification;
12
+ };
8
13
  interface ISearchSlicedAcceptedOffersResult {
9
14
  acceptedOffers: IAcceptedOffer[];
10
15
  numAcceptedOffers: number;
@@ -31,7 +36,7 @@ export declare class AcceptedOfferRepo {
31
36
  useMatchBeforeUnwind: boolean;
32
37
  useReserveTransaction: boolean;
33
38
  }): Promise<(factory.order.IOrder & {
34
- acceptedOffers: [factory.order.IAcceptedOffer];
39
+ acceptedOffers: [IAcceptedOffer];
35
40
  _id?: never;
36
41
  })[]>;
37
42
  aggreateOwnershipInfosByOrder(filter: {
@@ -42,7 +42,9 @@ export declare class OrderInTransactionRepo {
42
42
  project: {
43
43
  id: string;
44
44
  };
45
- }): Promise<factory.order.IAcceptedOffer[]>;
45
+ }): Promise<(Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
46
+ priceSpecification?: factory.order.ITicketPriceSpecification;
47
+ })[]>;
46
48
  /**
47
49
  * 取引進行中の注文からacceptedOffersを検索する
48
50
  */
@@ -61,7 +63,12 @@ export declare class OrderInTransactionRepo {
61
63
  * このメソッドでdocumentが初めて生成される(typeOf:PlaceOrderとして)
62
64
  */
63
65
  acceptOffer(params: Pick<IOrderInTransaction, 'orderNumber' | 'project'> & {
64
- acceptedOffers: IAcceptedOffer[];
66
+ acceptedOffers: (Omit<IAcceptedOffer, 'priceSpecification'> & {
67
+ /**
68
+ * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
69
+ */
70
+ priceSpecification?: factory.order.ITicketPriceSpecification;
71
+ })[];
65
72
  }): Promise<import("mongoose").UpdateWriteOpResult | undefined>;
66
73
  /**
67
74
  * serialNumberからオファーを除外する
@@ -71,21 +71,15 @@ class OrderInTransactionRepo {
71
71
  }
72
72
  return doc.acceptedOffers.map((acceptedOffer) => {
73
73
  const priceBySubReservation = subReservations.find((subReservation) => subReservation.id === acceptedOffer.itemOffered.id)?.price;
74
- // 予約の価格は必ず存在するはず
74
+ // COA予約でなければ、予約取引の価格は必ず存在するはず
75
75
  if (priceBySubReservation === undefined) {
76
- console.error('findAcceptedOffersWithPriceByOrderNumber: priceBySubReservation: undefined!!!', acceptedOffer.itemOffered.id);
76
+ throw new factory_1.factory.errors.Internal(`findAcceptedOffersWithPriceByOrderNumber: priceBySubReservation undefined. ${acceptedOffer.itemOffered.id}`);
77
77
  }
78
- // const priceSpecMatched = isDeepStrictEqual(acceptedOffer.priceSpecification, priceBySubReservation);
79
- // debug('findAcceptedOffersWithPriceByOrderNumber: priceSpecMatched?', priceSpecMatched, acceptedOffer.itemOffered.id, params.orderNumber, params.project.id);
80
- // if (!priceSpecMatched) {
81
- // console.error('findAcceptedOffersWithPriceByOrderNumber: priceSpecMatched: false!!!', acceptedOffer.itemOffered.id, params.orderNumber, params.project.id);
82
- // }
83
- // const overwritePriceSpec = priceSpecMatched || acceptedOffer.priceSpecification === undefined;
84
78
  return {
85
79
  ...acceptedOffer,
80
+ priceSpecification: priceBySubReservation
86
81
  // // 予約取引内の価格仕様と一致した場合のみ上書きしてみる
87
82
  // ...((overwritePriceSpec && priceBySubReservation !== undefined) && { priceSpecification: priceBySubReservation })
88
- ...((priceBySubReservation !== undefined) && { priceSpecification: priceBySubReservation })
89
83
  };
90
84
  });
91
85
  }
@@ -5,7 +5,12 @@ export type IOwnershipInfo = factory.ownershipInfo.IOwnershipInfo<factory.owners
5
5
  */
6
6
  export declare function createOwnershipInfosFromOrder(params: {
7
7
  order: Pick<factory.order.IOrder, 'orderDate' | 'project' | 'customer' | 'orderNumber' | 'seller'> & {
8
- acceptedOffers: factory.order.IAcceptedOffer[];
8
+ acceptedOffers: (Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
9
+ /**
10
+ * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
11
+ */
12
+ priceSpecification?: factory.order.ITicketPriceSpecification;
13
+ })[];
9
14
  };
10
15
  offerIndexBase: number;
11
16
  }): IOwnershipInfo[];
@@ -43,7 +43,7 @@ function createOwnershipInfosFromOrder(params) {
43
43
  ownershipInfo = (0, factory_2.createReservationOwnershipInfo)({
44
44
  project: params.order.project,
45
45
  ownedBy: ownedBy,
46
- acceptedOffer: { ...acceptedOffer, itemOffered },
46
+ acceptedOffer,
47
47
  ownedFrom: ownedFrom,
48
48
  identifier: identifier,
49
49
  acquiredFrom: acquiredFrom
@@ -6,9 +6,7 @@ export declare function createReservationOwnershipInfo(params: {
6
6
  id: string;
7
7
  };
8
8
  ownedBy: factory.ownershipInfo.IOwner[];
9
- acceptedOffer: factory.order.IAcceptedOffer & {
10
- itemOffered: factory.order.IReservation;
11
- };
9
+ acceptedOffer: Pick<factory.order.IAcceptedOffer, 'itemOffered'>;
12
10
  ownedFrom: Date;
13
11
  identifier: string;
14
12
  acquiredFrom: factory.ownershipInfo.IAcquiredFrom;
@@ -19,31 +19,14 @@ function createReservationOwnershipInfo(params) {
19
19
  else {
20
20
  throw new factory_1.factory.errors.NotImplemented(`itemOffered.typeOf '${itemOffered.typeOf}' not implemented`); // eslint-disable-line @typescript-eslint/no-explicit-any
21
21
  }
22
- // let bookingService = params.acceptedOffer.offeredThrough;
23
- // if (bookingService === undefined) {
24
- // // デフォルトブッキングサービスはChevre
25
- // bookingService = {
26
- // typeOf: 'WebAPI',
27
- // identifier: factory.service.webAPI.Identifier.Chevre
28
- // };
29
- // }
30
22
  let typeOfGood;
31
23
  if (itemOffered.typeOf === factory_1.factory.reservationType.EventReservation) {
32
24
  typeOfGood = {
33
25
  typeOf: itemOffered.typeOf,
34
26
  id: itemOffered.id,
35
27
  reservationNumber: itemOffered.reservationNumber,
36
- // bookingService: bookingService,
37
28
  ...(typeof itemOffered.issuedThrough?.typeOf === 'string') ? { issuedThrough: itemOffered.issuedThrough } : undefined
38
29
  };
39
- // } else if (itemOffered.typeOf === factory.reservationType.BusReservation) {
40
- // typeOfGood = {
41
- // typeOf: itemOffered.typeOf,
42
- // id: itemOffered.id,
43
- // reservationNumber: itemOffered.reservationNumber,
44
- // bookingService: bookingService,
45
- // ...(typeof itemOffered.issuedThrough?.typeOf === 'string') ? { issuedThrough: itemOffered.issuedThrough } : undefined
46
- // };
47
30
  }
48
31
  else {
49
32
  throw new factory_1.factory.errors.NotImplemented(`itemOffered.typeOf '${itemOffered.typeOf}' not implemented`); // eslint-disable-line @typescript-eslint/no-explicit-any
@@ -10,8 +10,11 @@ export declare function acceptOffer(params: {
10
10
  project: {
11
11
  id: string;
12
12
  };
13
- acceptedOffers: (factory.order.IAcceptedOffer & {
14
- offeredThrough: factory.offer.IOfferedThrough;
13
+ acceptedOffers: (Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
14
+ /**
15
+ * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
16
+ */
17
+ priceSpecification?: factory.order.ITicketPriceSpecification;
15
18
  })[];
16
19
  }): IAcceptOfferOperation<void>;
17
20
  export declare function voidAcceptedOffer(params: {
@@ -32,10 +32,11 @@ declare function acceptedOffers2authorizeResult(params: {
32
32
  ticketOffers: factory.product.ITicketOffer[];
33
33
  }): factory.action.authorize.offer.eventService.IResult;
34
34
  type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
35
- export type IResultAcceptedOffer = factory.order.IAcceptedOffer & {
36
- itemOffered: factory.order.IReservation;
35
+ export type IResultAcceptedOffer = Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
36
+ itemOffered: factory.order.IEventReservation;
37
37
  offeredThrough: factory.offer.IOfferedThrough;
38
38
  serialNumber: string;
39
+ priceSpecification?: factory.order.ITicketPriceSpecification;
39
40
  };
40
41
  declare function responseBody2acceptedOffers4result(params: {
41
42
  issuedThrough: factory.assetTransaction.reserve.IIssuedThrough;
@@ -21,10 +21,7 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
21
21
  export declare function offers2resultPrice(offers: IAcceptedOffer4COA[]): {
22
22
  price: number;
23
23
  };
24
- type IResultAcceptedOffer = Omit<factory.order.IAcceptedOffer, 'itemOffered'> & {
25
- itemOffered: factory.order.ICOAEventReservation;
26
- offeredThrough: factory.offer.IOfferedThrough;
27
- };
24
+ type IResultAcceptedOffer = factory.order.ICOAAcceptedOffer;
28
25
  /**
29
26
  * COA仮予約結果から注文アイテムを生成する
30
27
  */
@@ -5,7 +5,12 @@ type IInTransitOrder = Pick<factory.order.IOrder, 'confirmationNumber' | 'projec
5
5
  limit: number;
6
6
  page: number;
7
7
  };
8
- deliveredAcceptedOffers: factory.order.IAcceptedOffer[];
8
+ deliveredAcceptedOffers: (Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
9
+ /**
10
+ * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
11
+ */
12
+ priceSpecification?: factory.order.ITicketPriceSpecification;
13
+ })[];
9
14
  orderStatus: factory.orderStatus.OrderInTransit;
10
15
  };
11
16
  declare function createInformTasks(params: {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.600.0",
13
13
  "@aws-sdk/credential-providers": "3.600.0",
14
- "@chevre/factory": "8.2.0-alpha.0",
14
+ "@chevre/factory": "8.2.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",
@@ -91,5 +91,5 @@
91
91
  "postversion": "git push origin --tags",
92
92
  "prepublishOnly": "npm run clean && npm run build"
93
93
  },
94
- "version": "24.1.0-alpha.25"
94
+ "version": "24.1.0-alpha.26"
95
95
  }