@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.
|
|
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
|
-
|
|
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
|
|
39
|
-
?
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
|
47
|
-
?
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// ...(
|
|
52
|
-
// ? {
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
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