@chevre/domain 24.1.0-alpha.41 → 24.1.0-alpha.43

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,7 +1,7 @@
1
1
  import type { Connection } from 'mongoose';
2
2
  import { factory } from '../../factory';
3
3
  type ISubReservationAsFindResult = Pick<factory.reservation.eventReservation.IReservation, 'underName' | 'id'> & {
4
- reservedTicket?: Pick<factory.reservation.eventReservation.IReservedTicket, 'ticketType'>;
4
+ reservedTicket?: Pick<factory.assetTransaction.reserve.ISubReservationReservedTicket, 'ticketType'>;
5
5
  reservationFor?: factory.assetTransaction.reserve.IReservationFor;
6
6
  };
7
7
  /**
@@ -7,8 +7,8 @@ import type { IKeyOfProjection, ReservationRepo } from '../../repo/reservation';
7
7
  */
8
8
  type IReservationAsFindResult = Omit<factory.reservation.eventReservation.IReservation, 'underName' | 'reservedTicket' | 'reservationFor'> & {
9
9
  underName?: factory.assetTransaction.reserve.IUnderName;
10
- reservedTicket?: factory.assetTransaction.reserve.IObjectSubReservation['reservedTicket'];
11
- reservationFor?: factory.assetTransaction.reserve.IReservationFor;
10
+ reservedTicket?: factory.reservation.eventReservation.IReservedTicket | factory.assetTransaction.reserve.IObjectSubReservation['reservedTicket'];
11
+ reservationFor?: factory.reservation.eventReservation.IReservationForMinimized | factory.assetTransaction.reserve.IReservationFor;
12
12
  price?: never;
13
13
  };
14
14
  /**
@@ -16,6 +16,14 @@ type IReservationAsFindResult = Omit<factory.reservation.eventReservation.IReser
16
16
  */
17
17
  export declare function findReservations(params: factory.reservation.eventReservation.ISearchConditions, options: {
18
18
  inclusion: Partial<Record<IKeyOfProjection | 'underName', 1>>;
19
+ /**
20
+ * reservationForを予約ドキュメントそのままで返すかどうか
21
+ */
22
+ minimizeReservationFor: boolean;
23
+ /**
24
+ * reservedTicketからticketTypeを除外するかどうか
25
+ */
26
+ minimizeReservedTicket: boolean;
19
27
  }): (repos: {
20
28
  assetTransaction: {
21
29
  reserve: ReserveTransactionRepo;
@@ -6,7 +6,7 @@ exports.findReservations = findReservations;
6
6
  */
7
7
  function findReservations(params, options) {
8
8
  return async (repos) => {
9
- const { inclusion } = options;
9
+ const { inclusion, minimizeReservationFor, minimizeReservedTicket } = options;
10
10
  const rawReservations = await repos.reservation.findReservations(params, inclusion);
11
11
  if (rawReservations.length === 0) {
12
12
  return [];
@@ -15,10 +15,6 @@ function findReservations(params, options) {
15
15
  const requireUnderName = Object.keys(inclusion).includes('underName');
16
16
  const requireReservedTicket = Object.keys(inclusion).includes('reservedTicket');
17
17
  const requireReservationFor = Object.keys(inclusion).includes('reservationFor');
18
- // const requirePrice = Object.keys(inclusion).includes('price');
19
- // const requirePriceCurrency = Object.keys(inclusion).includes('priceCurrency');
20
- // const requireIssuedThrough = Object.keys(inclusion).includes('issuedThrough');
21
- // const requireNumSeats = Object.keys(inclusion).includes('numSeats');
22
18
  const reservationIds = rawReservations.map(({ id }) => id);
23
19
  const subReservations = await repos.assetTransaction.reserve.findSubReservationsById({
24
20
  ids: reservationIds
@@ -28,32 +24,36 @@ function findReservations(params, options) {
28
24
  const underNameByTransaction = subReservationByTransaction?.underName;
29
25
  const ticketTypeByTransaction = subReservationByTransaction?.reservedTicket?.ticketType;
30
26
  const reservationForByTransaction = subReservationByTransaction?.reservationFor;
31
- // const priceByTransaction = subReservationByTransaction?.price;
32
- // const issuedThroughByTransaction = subReservationByTransaction?.issuedThrough;
33
- // const numSeatsByTransaction = subReservationByTransaction?.numSeats;
34
- const { reservationFor: _reservationFor, issuedThrough: _issuedThrough, priceCurrency: _priceCurrency, numSeats: _numSeats, reservedTicket, ...rawReservation4result } = reservation;
27
+ const { reservationFor, issuedThrough: _issuedThrough, priceCurrency: _priceCurrency, numSeats: _numSeats, reservedTicket, ...rawReservation4result } = reservation;
35
28
  return {
36
29
  ...rawReservation4result, // 予約ドキュメントはそのまま返す
37
30
  ...(requireUnderName && underNameByTransaction !== undefined) ? { underName: underNameByTransaction } : undefined, // underNameがあれば上書き
38
- ...(requireReservedTicket && ticketTypeByTransaction !== undefined) // ticketTypeがあれば上書き
39
- ? {
40
- reservedTicket: {
41
- ...reservedTicket, // 予約ドキュメントのreservedTicketはそのまま返す
42
- ticketType: ticketTypeByTransaction
31
+ ...(requireReservedTicket)
32
+ ? (!minimizeReservedTicket && ticketTypeByTransaction !== undefined)
33
+ ? {
34
+ reservedTicket: {
35
+ ...reservedTicket, // 予約ドキュメントのreservedTicketはそのまま返す
36
+ ticketType: ticketTypeByTransaction
37
+ }
43
38
  }
44
- }
39
+ : { reservedTicket } // 予約検索レスポンスからticketTypeは廃止(2026-06-01~)
45
40
  : undefined,
46
- ...(requireReservationFor && reservationForByTransaction !== undefined)
47
- ? { reservationFor: reservationForByTransaction }
48
- : undefined, // reservationForがあれば上書き(2026-04-06~)
49
- // ...(requirePrice && priceByTransaction !== undefined) ? { price: priceByTransaction } : undefined, // priceがあれば上書き
50
- // ...(requirePriceCurrency) ? { priceCurrency: factory.priceCurrency.JPY } : undefined, // 必要あらば固定値を補完(2026-05-08~)
51
- // ...(requireIssuedThrough && issuedThroughByTransaction !== undefined)
52
- // ? { issuedThrough: issuedThroughByTransaction }
53
- // : undefined, // issuedThroughがあれば上書き(2026-05-09~)
54
- // ...(requireNumSeats && numSeatsByTransaction !== undefined)
55
- // ? { numSeats: numSeatsByTransaction }
56
- // : undefined, // issuedThroughがあれば上書き(2026-05-09~)
41
+ ...(requireReservationFor)
42
+ ? (!minimizeReservationFor && reservationForByTransaction !== undefined)
43
+ ? { reservationFor: reservationForByTransaction }
44
+ : { reservationFor } // 予約検索レスポンスのreservationForはそのまま返す(2026-06-01~)
45
+ : undefined,
46
+ // ...(requireReservedTicket && ticketTypeByTransaction !== undefined) // ticketTypeがあれば上書き
47
+ // ? {
48
+ // reservedTicket: {
49
+ // ...reservedTicket, // 予約ドキュメントのreservedTicketはそのまま返す
50
+ // ticketType: ticketTypeByTransaction
51
+ // }
52
+ // }
53
+ // : undefined,
54
+ // ...(requireReservationFor && reservationForByTransaction !== undefined)
55
+ // ? { reservationFor: reservationForByTransaction }
56
+ // : undefined, // reservationForがあれば上書き(2026-04-06~)
57
57
  };
58
58
  });
59
59
  }
package/package.json CHANGED
@@ -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.41"
94
+ "version": "24.1.0-alpha.43"
95
95
  }