@chevre/domain 28.0.0-alpha.45 → 28.0.0-alpha.47

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.
@@ -1,6 +1,7 @@
1
1
  interface IActionError {
2
2
  name: string;
3
3
  message: string;
4
+ cause?: unknown;
4
5
  }
5
6
  export declare function unknown2actionError(e: unknown): IActionError;
6
7
  export {};
@@ -1,11 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.unknown2actionError = unknown2actionError;
4
+ function serializeCause(err) {
5
+ try {
6
+ if (err instanceof Error) {
7
+ return {
8
+ name: err.name,
9
+ message: err.message,
10
+ ...(('code' in err && err.code !== undefined) && { code: err.code })
11
+ };
12
+ }
13
+ if (typeof err === 'object' && err !== null) {
14
+ // プレーンオブジェクトの場合(そのまま展開するか必要なプロパティを抽出)
15
+ return { ...err };
16
+ }
17
+ // 文字列・数値などのプリミティブ値の場合はそのまま残す
18
+ return err;
19
+ }
20
+ catch (error) {
21
+ // 失敗するかもしれないので念のため
22
+ console.error('serializeCause failed!', error);
23
+ return { serializationError: String(error) };
24
+ }
25
+ }
4
26
  // 内部で正規化関数を定義(または外部ヘルパーを呼び出す)
5
27
  function unknown2actionError(e) {
6
28
  if (e instanceof Error) {
7
29
  // Errorオブジェクトの場合は、既存のロジック通り展開
8
- return { ...e, name: e.name, message: e.message };
30
+ return {
31
+ ...e,
32
+ name: e.name,
33
+ message: e.message,
34
+ // fetch failed の根本原因が入る cause を展開
35
+ ...((e.cause !== undefined && e.cause !== null) && { cause: serializeCause(e.cause) })
36
+ };
9
37
  }
10
38
  else {
11
39
  // Error以外(文字列など)が投げられた場合のハンドリング
@@ -5,9 +5,9 @@ type IProjection4searchWithUnwoundAcceptedOffers = {
5
5
  [key in keyof factory.order.IOrder]?: 1;
6
6
  } & {};
7
7
  type IMinimizedReservationFor = Pick<factory.acceptedOffer.IAcceptedOffer['itemOffered']['reservationFor'], 'id' | 'typeOf'>;
8
- type IMinimizedItemOffered = Pick<factory.acceptedOffer.IAcceptedOffer['itemOffered'], 'additionalProperty' | 'additionalTicketText' | 'programMembershipUsed' | 'id' | 'reservationNumber' | 'reservedTicket' | 'typeOf'> & {
8
+ type IMinimizedItemOffered = Pick<factory.acceptedOffer.IAcceptedOffer['itemOffered'], 'id' | 'reservationNumber' | 'typeOf'> & {
9
9
  reservationFor: IMinimizedReservationFor;
10
- issuedThrough?: factory.acceptedOffer.IAcceptedOffer['itemOffered']['issuedThrough'];
10
+ reservedTicket: Pick<factory.acceptedOffer.IAcceptedOffer['itemOffered']['reservedTicket'], 'coaReserveAmount' | 'coaTicketInfo' | 'ticketToken' | 'ticketedSeat' | 'typeOf' | 'identifier'>;
11
11
  };
12
12
  type IMinimizedAcceptedOffer = Pick<factory.acceptedOffer.IAcceptedOffer, 'id' | 'name' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'> & {
13
13
  itemOffered: IMinimizedItemOffered;
@@ -43,8 +43,14 @@ export declare class AdminAcceptedOfferRepo extends AcceptedOfferInReserveRepo {
43
43
  /**
44
44
  * reservedTicket以外の属性を除外するオプション
45
45
  * 2026-10-08~
46
+ * always true(2026-10-23~)
46
47
  */
47
- onlyReservedTicket: boolean;
48
+ onlyReservedTicket: true;
49
+ /**
50
+ * reservedTicketからticketTypeを除外するオプション
51
+ * 2026-10-23~
52
+ */
53
+ minimizeReservedTicket: boolean;
48
54
  }): Promise<(factory.order.IOrder & {
49
55
  acceptedOffers: [IMinimizedAcceptedOffer];
50
56
  _id?: never;
@@ -72,6 +78,11 @@ export declare class AdminAcceptedOfferRepo extends AcceptedOfferInReserveRepo {
72
78
  * 2026-10-08~
73
79
  */
74
80
  onlyReservedTicket: boolean;
81
+ /**
82
+ * reservedTicketからticketTypeを除外するオプション
83
+ * 2026-10-23~
84
+ */
85
+ minimizeReservedTicket: boolean;
75
86
  }): Promise<IAcceptedOfferAsFindResult[]>;
76
87
  }
77
88
  export {};
@@ -7,15 +7,35 @@ const settings_1 = require("../settings");
7
7
  const acceptedOfferInReserve_1 = require("./acceptedOfferInReserve");
8
8
  const order_2 = require("./order");
9
9
  function minimizeItemOffered(itemOffered, options) {
10
- const { minimizeReservationFor, onlyReservedTicket } = options;
10
+ const { minimizeReservationFor, onlyReservedTicket, minimizeReservedTicket } = options;
11
11
  if (minimizeReservationFor) {
12
12
  const { reservationFor, ...itemOfferedWithoutEvent } = itemOffered;
13
13
  if (onlyReservedTicket) {
14
- const { id, reservationNumber, reservedTicket, typeOf } = itemOfferedWithoutEvent;
15
- return {
16
- id, reservationNumber, reservedTicket, typeOf,
17
- reservationFor: { id: reservationFor.id, typeOf: reservationFor.typeOf }
18
- };
14
+ const { id, reservationNumber, reservedTicket } = itemOfferedWithoutEvent;
15
+ // support minimizeReservedTicket(2026-10-23~)
16
+ if (minimizeReservedTicket) {
17
+ const { coaReserveAmount, coaTicketInfo, ticketToken, identifier, ticketedSeat } = reservedTicket;
18
+ return {
19
+ id, reservationNumber,
20
+ reservedTicket: {
21
+ typeOf: reservedTicket.typeOf,
22
+ identifier,
23
+ ...(typeof ticketedSeat?.typeOf === 'string') && { ticketedSeat },
24
+ ...(coaReserveAmount !== undefined) && { coaReserveAmount },
25
+ ...(coaTicketInfo !== undefined) && { coaTicketInfo },
26
+ ...(typeof ticketToken === 'string') && { ticketToken },
27
+ },
28
+ typeOf: itemOfferedWithoutEvent.typeOf,
29
+ reservationFor: { id: reservationFor.id, typeOf: reservationFor.typeOf }
30
+ };
31
+ }
32
+ else {
33
+ return {
34
+ id, reservationNumber, reservedTicket,
35
+ typeOf: itemOfferedWithoutEvent.typeOf,
36
+ reservationFor: { id: reservationFor.id, typeOf: reservationFor.typeOf }
37
+ };
38
+ }
19
39
  }
20
40
  else {
21
41
  return {
@@ -21,11 +21,9 @@ type ISearchEventTicketOffersOperation<T> = (repos: ISearchEventTicketOffersRepo
21
21
  type ITicketOfferWithSortIndex = factory.product.ITicketOffer;
22
22
  /**
23
23
  * 興行オファー検索
24
+ * 常に、単価オファーのincludeInDataCatalog属性を使用し、カタログIDでフィルターして検索する
24
25
  */
25
26
  declare function searchEventTicketOffers(params: {
26
- /**
27
- * 指定したIDのオファーだけ取得する場合
28
- */
29
27
  /**
30
28
  * どのイベントに対して
31
29
  */
@@ -50,7 +48,6 @@ declare function searchEventTicketOffers(params: {
50
48
  limit: number;
51
49
  page: number;
52
50
  validateOfferRateLimit: boolean;
53
- useIncludeInDataCatalog: boolean;
54
51
  includePotentialPriceComponent: boolean;
55
52
  }): ISearchEventTicketOffersOperation<{
56
53
  ticketOffers: ITicketOfferWithSortIndex[];
@@ -98,7 +98,8 @@ function searchTicketOffersByItemOffered(params) {
98
98
  excludeAppliesToMovieTicket: params.excludeAppliesToMovieTicket,
99
99
  priceSpecification: priceSpecificationCondition,
100
100
  onlyValid: params.onlyValid === true,
101
- useIncludeInDataCatalog: params.useIncludeInDataCatalog,
101
+ // useIncludeInDataCatalog: params.useIncludeInDataCatalog,
102
+ useIncludeInDataCatalog: true, // always true(2026-10-23~)
102
103
  limit: params.limit,
103
104
  page: params.page
104
105
  });
@@ -145,7 +146,7 @@ function searchEventTicketOffersByEvent(params) {
145
146
  excludeAppliesToMovieTicket,
146
147
  priceSpecification: params.priceSpecification,
147
148
  withSortIndex: true,
148
- useIncludeInDataCatalog: params.useIncludeInDataCatalog
149
+ // useIncludeInDataCatalog: params.useIncludeInDataCatalog
149
150
  })(repos);
150
151
  const { soundFormatChargeSpecs, videoFormatChargeSpecs, movieTicketTypeChargeSpecs } = await (0, searchPriceSpecs4event_1.searchPriceSpecs4event)({
151
152
  project: { id: event.project.id },
@@ -192,6 +193,7 @@ function getUnacceptedPaymentMethodByEvent(params) {
192
193
  }
193
194
  /**
194
195
  * 興行オファー検索
196
+ * 常に、単価オファーのincludeInDataCatalog属性を使用し、カタログIDでフィルターして検索する
195
197
  */
196
198
  function searchEventTicketOffers(params) {
197
199
  return async (repos) => {
@@ -224,7 +226,7 @@ function searchEventTicketOffers(params) {
224
226
  page: params.page,
225
227
  validateOfferRateLimit: params.validateOfferRateLimit,
226
228
  onlyValid: params.onlyValid === true,
227
- useIncludeInDataCatalog: params.useIncludeInDataCatalog,
229
+ // useIncludeInDataCatalog: params.useIncludeInDataCatalog,
228
230
  includePotentialPriceComponent: params.includePotentialPriceComponent
229
231
  })(repos);
230
232
  offers = searchOffersResult.ticketOffers;
package/package.json CHANGED
@@ -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.45"
91
+ "version": "28.0.0-alpha.47"
92
92
  }