@chevre/domain 22.9.0-alpha.107 → 22.9.0-alpha.109
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.
- package/example/src/chevre/reIndex.ts +5 -3
- package/example/src/chevre/stockHolder/searchSeats.ts +10 -8
- package/lib/chevre/repo/mongoose/schemas/place.js +1 -2
- package/lib/chevre/repo/pendingReservation.d.ts +7 -0
- package/lib/chevre/repo/pendingReservation.js +43 -0
- package/lib/chevre/repo/place/seat.d.ts +34 -4
- package/lib/chevre/repo/place/seat.js +56 -32
- package/lib/chevre/repository.d.ts +5 -0
- package/lib/chevre/repository.js +15 -2
- package/lib/chevre/service/assetTransaction/reserve/start.js +8 -7
- package/lib/chevre/service/offer.js +6 -7
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// tslint:disable:no-console
|
|
2
2
|
import * as mongoose from 'mongoose';
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { PendingReservationRepo } from '../../../lib/chevre/repo/pendingReservation';
|
|
5
|
+
// import { chevre } from '../../../lib/index';
|
|
5
6
|
|
|
6
7
|
mongoose.Model.on('index', (...args) => {
|
|
7
8
|
console.error('******** index event emitted. ********\n', args);
|
|
@@ -11,8 +12,9 @@ mongoose.Model.on('index', (...args) => {
|
|
|
11
12
|
async function main() {
|
|
12
13
|
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
13
14
|
|
|
14
|
-
await chevre.repository.
|
|
15
|
-
|
|
15
|
+
// await chevre.repository.StockHolder.createInstance(mongoose.connection);
|
|
16
|
+
const pendingReservationRepo = new PendingReservationRepo(mongoose.connection);
|
|
17
|
+
console.log('success!', pendingReservationRepo);
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
main()
|
|
@@ -21,7 +21,7 @@ async function main() {
|
|
|
21
21
|
setInterval(
|
|
22
22
|
async () => {
|
|
23
23
|
startTime = process.hrtime();
|
|
24
|
-
const seats = <Pick<chevre.factory.place.seat.IPlace, 'branchCode'>[]>await seatRepo.
|
|
24
|
+
const seats = <Pick<chevre.factory.place.seat.IPlace, 'branchCode'>[]>await seatRepo.projectSeatsByScreeningRoom({
|
|
25
25
|
limit: 100,
|
|
26
26
|
page: 100,
|
|
27
27
|
$projection: {
|
|
@@ -32,14 +32,16 @@ async function main() {
|
|
|
32
32
|
additionalProperty: 0
|
|
33
33
|
},
|
|
34
34
|
project: { id: { $eq: PROJECT_ID } },
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
containedInPlace: {
|
|
39
|
-
branchCode: { $eq: SCREEN_CODE },
|
|
40
|
-
containedInPlace: { branchCode: { $eq: MOVIE_THEATER_CODE } }
|
|
41
|
-
}
|
|
35
|
+
screeningRoom: {
|
|
36
|
+
branchCode: { $eq: SCREEN_CODE },
|
|
37
|
+
containedInPlace: { branchCode: { $eq: MOVIE_THEATER_CODE } }
|
|
42
38
|
}
|
|
39
|
+
// branchCode: { $in: ['Z-384'] },
|
|
40
|
+
// containedInPlace: {
|
|
41
|
+
// branchCode: {
|
|
42
|
+
// $in: ['Default']
|
|
43
|
+
// }
|
|
44
|
+
// }
|
|
43
45
|
});
|
|
44
46
|
diff = process.hrtime(startTime);
|
|
45
47
|
// tslint:disable-next-line:no-null-keyword
|
|
@@ -173,12 +173,11 @@ const indexes = [
|
|
|
173
173
|
]
|
|
174
174
|
// [
|
|
175
175
|
// {
|
|
176
|
-
// 'project.id': 1,
|
|
177
176
|
// 'containsPlace.branchCode': 1,
|
|
178
177
|
// 'containsPlace.containsPlace.branchCode': 1
|
|
179
178
|
// },
|
|
180
179
|
// {
|
|
181
|
-
// name: '
|
|
180
|
+
// name: 'searchSeatsSort'
|
|
182
181
|
// }
|
|
183
182
|
// ],
|
|
184
183
|
// [
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Connection } from 'mongoose';
|
|
2
|
+
import { IReservationPackage } from './mongoose/schemas/pendingReservation';
|
|
2
3
|
import { AbstractStockHolderRepo, IGetHolderResult, ILockKey, IOffer, IUnlockKey } from './stockHolderAbstract';
|
|
4
|
+
type IProjectFieldResult = Pick<IReservationPackage, 'bookingTime' | 'numSeats' | 'dateCreated' | 'dateModified' | 'expires' | 'reservationFor' | 'reservationNumber' | 'typeOf'>;
|
|
3
5
|
/**
|
|
4
6
|
* 保留予約リポジトリ
|
|
5
7
|
*/
|
|
@@ -42,8 +44,13 @@ export declare class PendingReservationRepo implements AbstractStockHolderRepo {
|
|
|
42
44
|
$lte: Date;
|
|
43
45
|
};
|
|
44
46
|
}): Promise<import("mongodb").DeleteResult>;
|
|
47
|
+
projectFields(params: {
|
|
48
|
+
limit?: number;
|
|
49
|
+
page?: number;
|
|
50
|
+
}): Promise<IProjectFieldResult[]>;
|
|
45
51
|
private aggregateNumSeats;
|
|
46
52
|
private createReservationPackageIfPossible;
|
|
47
53
|
private deleteReservationPackage;
|
|
48
54
|
private deleteReservationIfExists;
|
|
49
55
|
}
|
|
56
|
+
export {};
|
|
@@ -370,6 +370,49 @@ class PendingReservationRepo {
|
|
|
370
370
|
.exec();
|
|
371
371
|
});
|
|
372
372
|
}
|
|
373
|
+
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
374
|
+
projectFields(params) {
|
|
375
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
376
|
+
const { limit, page } = params;
|
|
377
|
+
const matchStages = [];
|
|
378
|
+
// const projectIdEq = searchConditions.project?.id?.$eq;
|
|
379
|
+
// if (typeof projectIdEq === 'string') {
|
|
380
|
+
// matchStages.push({
|
|
381
|
+
// $match: { 'project.id': { $eq: projectIdEq } }
|
|
382
|
+
// });
|
|
383
|
+
// }
|
|
384
|
+
const aggregate = this.pendingReservationModel.aggregate([
|
|
385
|
+
...matchStages,
|
|
386
|
+
{ $sort: { bookingTime: factory.sortType.Ascending } },
|
|
387
|
+
{
|
|
388
|
+
$project: {
|
|
389
|
+
_id: 0,
|
|
390
|
+
typeOf: '$typeOf',
|
|
391
|
+
bookingTime: '$bookingTime',
|
|
392
|
+
numSeats: '$numSeats',
|
|
393
|
+
reservationNumber: '$reservationNumber',
|
|
394
|
+
subReservationCount: {
|
|
395
|
+
$cond: {
|
|
396
|
+
if: { $isArray: '$subReservation' },
|
|
397
|
+
then: { $size: '$subReservation' },
|
|
398
|
+
else: 0
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
]);
|
|
404
|
+
// tslint:disable-next-line:no-single-line-block-comment
|
|
405
|
+
/* istanbul ignore else */
|
|
406
|
+
if (typeof limit === 'number' && limit > 0) {
|
|
407
|
+
const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
|
|
408
|
+
aggregate.limit(limit * pageMustBePositive)
|
|
409
|
+
.skip(limit * (pageMustBePositive - 1));
|
|
410
|
+
}
|
|
411
|
+
return aggregate
|
|
412
|
+
.option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
413
|
+
.exec();
|
|
414
|
+
});
|
|
415
|
+
}
|
|
373
416
|
aggregateNumSeats(params) {
|
|
374
417
|
return __awaiter(this, void 0, void 0, function* () {
|
|
375
418
|
const { bookingTime, dateCreated, reservationFor, limit } = params;
|
|
@@ -24,7 +24,9 @@ export declare class SeatRepo {
|
|
|
24
24
|
static CREATE_SEARCH_SEATS_PROJECTION(params: factory.place.seat.IProjection): {
|
|
25
25
|
[field: string]: AnyExpression;
|
|
26
26
|
};
|
|
27
|
-
static CREATE_MATCH_STAGES(params: factory.place.seat.ISearchConditions
|
|
27
|
+
static CREATE_MATCH_STAGES(params: factory.place.seat.ISearchConditions, options: {
|
|
28
|
+
filterTypeOf: boolean;
|
|
29
|
+
}): IMatchStage[];
|
|
28
30
|
createSeat(seat: factory.place.seat.IPlace & {
|
|
29
31
|
parentOrganization?: {
|
|
30
32
|
id?: string;
|
|
@@ -45,9 +47,37 @@ export declare class SeatRepo {
|
|
|
45
47
|
};
|
|
46
48
|
}, $unset: any): Promise<IUpdateSeatResult>;
|
|
47
49
|
searchSeats(params: factory.place.seat.ISearchConditions): Promise<factory.place.seat.IPlace[]>;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
projectSeatsByScreeningRoom(params: Pick<factory.place.seat.ISearchConditions, '$projection' | 'additionalProperty' | 'branchCode' | 'seatingType' | 'name' | 'limit' | 'page'> & {
|
|
51
|
+
project: {
|
|
52
|
+
id: {
|
|
53
|
+
$eq: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
screeningRoom: {
|
|
57
|
+
/**
|
|
58
|
+
* ルームコード
|
|
59
|
+
*/
|
|
60
|
+
branchCode: {
|
|
61
|
+
$eq: string;
|
|
62
|
+
};
|
|
63
|
+
containedInPlace: {
|
|
64
|
+
/**
|
|
65
|
+
* 施設コード
|
|
66
|
+
*/
|
|
67
|
+
branchCode: {
|
|
68
|
+
$eq: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
containedInPlace?: {
|
|
73
|
+
/**
|
|
74
|
+
* セクションコード
|
|
75
|
+
*/
|
|
76
|
+
branchCode?: {
|
|
77
|
+
$eq?: string;
|
|
78
|
+
$in?: string[];
|
|
79
|
+
};
|
|
80
|
+
};
|
|
51
81
|
}): Promise<factory.place.seat.IPlace[]>;
|
|
52
82
|
/**
|
|
53
83
|
* 座席区分集計検索
|
|
@@ -8,6 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
11
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
23
|
exports.SeatRepo = exports.DEFAULT_ROOM_MAXIMUM_CAPACITY = void 0;
|
|
13
24
|
const factory = require("../../factory");
|
|
@@ -62,9 +73,13 @@ class SeatRepo {
|
|
|
62
73
|
return projectStage;
|
|
63
74
|
}
|
|
64
75
|
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
65
|
-
static CREATE_MATCH_STAGES(params) {
|
|
76
|
+
static CREATE_MATCH_STAGES(params, options) {
|
|
66
77
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
67
|
-
const
|
|
78
|
+
const { filterTypeOf } = options;
|
|
79
|
+
const matchStages = [];
|
|
80
|
+
if (filterTypeOf) {
|
|
81
|
+
matchStages.push({ $match: { typeOf: { $eq: factory.placeType.ScreeningRoom } } });
|
|
82
|
+
}
|
|
68
83
|
const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
|
|
69
84
|
if (typeof projectIdEq === 'string') {
|
|
70
85
|
matchStages.push({
|
|
@@ -333,7 +348,7 @@ class SeatRepo {
|
|
|
333
348
|
}
|
|
334
349
|
searchSeats(params) {
|
|
335
350
|
return __awaiter(this, void 0, void 0, function* () {
|
|
336
|
-
const matchStages = SeatRepo.CREATE_MATCH_STAGES(params);
|
|
351
|
+
const matchStages = SeatRepo.CREATE_MATCH_STAGES(params, { filterTypeOf: true });
|
|
337
352
|
const projectStage = SeatRepo.CREATE_SEARCH_SEATS_PROJECTION(Object.assign({}, params.$projection));
|
|
338
353
|
const aggregate = this.placeModel.aggregate([
|
|
339
354
|
{
|
|
@@ -361,13 +376,40 @@ class SeatRepo {
|
|
|
361
376
|
.exec();
|
|
362
377
|
});
|
|
363
378
|
}
|
|
364
|
-
|
|
379
|
+
// ルーム指定の座席検索として再定義(2025-04-28~)
|
|
380
|
+
projectSeatsByScreeningRoom(params) {
|
|
365
381
|
return __awaiter(this, void 0, void 0, function* () {
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
const
|
|
382
|
+
const { limit, page, project, containedInPlace, screeningRoom, $projection } = params, searchSeatsConditions = __rest(params, ["limit", "page", "project", "containedInPlace", "screeningRoom", "$projection"]);
|
|
383
|
+
// まずルーム検索
|
|
384
|
+
const screeningRoomDoc = yield this.placeModel.findOne({
|
|
385
|
+
typeOf: { $eq: factory.placeType.ScreeningRoom },
|
|
386
|
+
'project.id': { $eq: project.id.$eq },
|
|
387
|
+
'containedInPlace.branchCode': { $exists: true, $eq: screeningRoom.containedInPlace.branchCode.$eq },
|
|
388
|
+
branchCode: { $eq: screeningRoom.branchCode.$eq }
|
|
389
|
+
}, { _id: 1 })
|
|
390
|
+
.lean()
|
|
391
|
+
.exec();
|
|
392
|
+
// console.log('screeningRoomDoc:', screeningRoomDoc);
|
|
393
|
+
if (screeningRoomDoc === null) {
|
|
394
|
+
return [];
|
|
395
|
+
}
|
|
396
|
+
const matchStageBeforeUnwind = {
|
|
397
|
+
$match: { _id: { $eq: screeningRoomDoc._id } }
|
|
398
|
+
};
|
|
399
|
+
const matchStages = SeatRepo.CREATE_MATCH_STAGES(Object.assign(Object.assign({}, searchSeatsConditions), { containedInPlace: Object.assign(Object.assign({}, containedInPlace), { containedInPlace: {
|
|
400
|
+
containedInPlace: {}
|
|
401
|
+
} }) }), { filterTypeOf: false });
|
|
402
|
+
const projectStage = SeatRepo.CREATE_SEARCH_SEATS_PROJECTION(Object.assign({}, $projection));
|
|
403
|
+
const pageMustBeOne = (typeof page === 'number' && page > 0) ? page : 1;
|
|
404
|
+
let limitStage;
|
|
405
|
+
let skipStage;
|
|
406
|
+
if (typeof limit === 'number' && limit > 0) {
|
|
407
|
+
limitStage = { $limit: limit * pageMustBeOne };
|
|
408
|
+
skipStage = { $skip: limit * (pageMustBeOne - 1) };
|
|
409
|
+
}
|
|
369
410
|
const pipeline = [
|
|
370
|
-
|
|
411
|
+
// uniwind前はid指定に変更(2025-04-28~)
|
|
412
|
+
matchStageBeforeUnwind,
|
|
371
413
|
{
|
|
372
414
|
$unwind: {
|
|
373
415
|
path: '$containsPlace'
|
|
@@ -381,42 +423,24 @@ class SeatRepo {
|
|
|
381
423
|
}
|
|
382
424
|
},
|
|
383
425
|
...matchStages,
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
{ $limit: params.limit * page },
|
|
387
|
-
{ $skip: params.limit * (page - 1) },
|
|
426
|
+
...(limitStage !== undefined) ? [limitStage] : [],
|
|
427
|
+
...(skipStage !== undefined) ? [skipStage] : [],
|
|
388
428
|
// {
|
|
389
429
|
// $sort: {
|
|
390
430
|
// 'containsPlace.branchCode': factory.sortType.Ascending,
|
|
391
431
|
// 'containsPlace.containsPlace.branchCode': factory.sortType.Ascending
|
|
392
432
|
// }
|
|
393
433
|
// },
|
|
394
|
-
// { $skip:
|
|
395
|
-
// { $limit:
|
|
434
|
+
// { $skip: limit * (pageMustBeOne - 1) },
|
|
435
|
+
// { $limit: limit },
|
|
396
436
|
{ $project: projectStage }
|
|
397
|
-
// {
|
|
398
|
-
// $project: {
|
|
399
|
-
// ...projectStage,
|
|
400
|
-
// // sectionIndex: '$sectionIndex',
|
|
401
|
-
// // seatIndex: '$seatIndex',
|
|
402
|
-
// // add combinedIndex(2025-04-27~)
|
|
403
|
-
// combinedIndex: {
|
|
404
|
-
// $add: [
|
|
405
|
-
// { $multiply: ['$sectionIndex', DEFAULT_ROOM_MAXIMUM_CAPACITY] },
|
|
406
|
-
// '$seatIndex'
|
|
407
|
-
// ]
|
|
408
|
-
// }
|
|
409
|
-
// // combinedIndex: {
|
|
410
|
-
// // $concat: [{ $toString: '$sectionIndex' }, ':', { $toString: '$seatIndex' }]
|
|
411
|
-
// // }
|
|
412
|
-
// }
|
|
413
|
-
// }
|
|
414
437
|
];
|
|
415
438
|
// console.log(pipeline);
|
|
416
439
|
return this.placeModel.aggregate(pipeline)
|
|
417
440
|
.option({
|
|
418
441
|
maxTimeMS: settings_1.MONGO_MAX_TIME_MS
|
|
419
|
-
// explain: true
|
|
442
|
+
// explain: true,
|
|
443
|
+
// hint: 'searchSeatsSort'
|
|
420
444
|
})
|
|
421
445
|
.exec();
|
|
422
446
|
});
|
|
@@ -44,6 +44,7 @@ import type { PassportRepo } from './repo/passport';
|
|
|
44
44
|
import type { PaymentServiceRepo } from './repo/paymentService';
|
|
45
45
|
import type { PaymentServiceChannelRepo } from './repo/paymentServiceChannel';
|
|
46
46
|
import type { PaymentServiceProviderRepo } from './repo/paymentServiceProvider';
|
|
47
|
+
import type { PendingReservationRepo } from './repo/pendingReservation';
|
|
47
48
|
import type { PermitRepo } from './repo/permit';
|
|
48
49
|
import type { BusStopRepo } from './repo/place/busStop';
|
|
49
50
|
import type { HasPOSRepo } from './repo/place/hasPOS';
|
|
@@ -263,6 +264,10 @@ export type PaymentServiceProvider = PaymentServiceProviderRepo;
|
|
|
263
264
|
export declare namespace PaymentServiceProvider {
|
|
264
265
|
function createInstance(...params: ConstructorParameters<typeof PaymentServiceProviderRepo>): Promise<PaymentServiceProviderRepo>;
|
|
265
266
|
}
|
|
267
|
+
export type PendingReservation = PendingReservationRepo;
|
|
268
|
+
export declare namespace PendingReservation {
|
|
269
|
+
function createInstance(...params: ConstructorParameters<typeof PendingReservationRepo>): Promise<PendingReservationRepo>;
|
|
270
|
+
}
|
|
266
271
|
export declare namespace paymentMethod {
|
|
267
272
|
/**
|
|
268
273
|
* クレジットカードリポジトリ
|
package/lib/chevre/repository.js
CHANGED
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
13
|
-
exports.WebSite = exports.rateLimit = exports.Trip = exports.TransactionProcess = exports.TransactionNumber = exports.Transaction = exports.Ticket = exports.Telemetry = exports.Task = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceOutputIdentifier = exports.ServiceOutput = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductOffer = exports.ProductModel = exports.Product = exports.PriceSpecification = void 0;
|
|
12
|
+
exports.place = exports.Permit = exports.Person = exports.paymentMethod = exports.PendingReservation = exports.PaymentServiceProvider = exports.PaymentServiceChannel = exports.PaymentService = exports.Passport = exports.OwnershipInfo = exports.OrderNumber = exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.Note = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Comment = exports.Authorization = exports.CategoryCode = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AdvanceBookingRequirement = exports.AdditionalProperty = exports.Action = exports.AccountTransaction = exports.AccountTitle = exports.AccountingReport = exports.Account = exports.AcceptedOffer = void 0;
|
|
13
|
+
exports.WebSite = exports.rateLimit = exports.Trip = exports.TransactionProcess = exports.TransactionNumber = exports.Transaction = exports.Ticket = exports.Telemetry = exports.Task = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceOutputIdentifier = exports.ServiceOutput = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductOffer = exports.ProductModel = exports.Product = exports.PriceSpecification = exports.PotentialAction = void 0;
|
|
14
14
|
var AcceptedOffer;
|
|
15
15
|
(function (AcceptedOffer) {
|
|
16
16
|
let repo;
|
|
@@ -596,6 +596,19 @@ var PaymentServiceProvider;
|
|
|
596
596
|
}
|
|
597
597
|
PaymentServiceProvider.createInstance = createInstance;
|
|
598
598
|
})(PaymentServiceProvider || (exports.PaymentServiceProvider = PaymentServiceProvider = {}));
|
|
599
|
+
var PendingReservation;
|
|
600
|
+
(function (PendingReservation) {
|
|
601
|
+
let repo;
|
|
602
|
+
function createInstance(...params) {
|
|
603
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
604
|
+
if (repo === undefined) {
|
|
605
|
+
repo = (yield Promise.resolve().then(() => require('./repo/pendingReservation'))).PendingReservationRepo;
|
|
606
|
+
}
|
|
607
|
+
return new repo(...params);
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
PendingReservation.createInstance = createInstance;
|
|
611
|
+
})(PendingReservation || (exports.PendingReservation = PendingReservation = {}));
|
|
599
612
|
var paymentMethod;
|
|
600
613
|
(function (paymentMethod) {
|
|
601
614
|
let CreditCard;
|
|
@@ -219,18 +219,19 @@ function searchEventSeatOffers(params) {
|
|
|
219
219
|
if (reservedSeatsAvailable) {
|
|
220
220
|
const roomBranchCode = String((_d = (_c = eventOffers.itemOffered) === null || _c === void 0 ? void 0 : _c.availableChannel) === null || _d === void 0 ? void 0 : _d.serviceLocation.branchCode);
|
|
221
221
|
const movieTheaterBranchCode = String((_f = (_e = eventOffers.itemOffered) === null || _e === void 0 ? void 0 : _e.availableChannel) === null || _f === void 0 ? void 0 : _f.serviceLocation.containedInPlace.branchCode);
|
|
222
|
-
|
|
222
|
+
// reimplement using projectSeatsByScreeningRoom
|
|
223
|
+
const seats = yield repos.seat.projectSeatsByScreeningRoom({
|
|
223
224
|
project: { id: { $eq: params.event.project.id } },
|
|
225
|
+
screeningRoom: {
|
|
226
|
+
branchCode: { $eq: roomBranchCode },
|
|
227
|
+
containedInPlace: {
|
|
228
|
+
branchCode: { $eq: movieTheaterBranchCode }
|
|
229
|
+
}
|
|
230
|
+
},
|
|
224
231
|
branchCode: { $in: params.branchCode.$in },
|
|
225
232
|
containedInPlace: {
|
|
226
233
|
branchCode: {
|
|
227
234
|
$in: params.containedInPlace.branchCode.$in
|
|
228
|
-
},
|
|
229
|
-
containedInPlace: {
|
|
230
|
-
branchCode: { $eq: roomBranchCode },
|
|
231
|
-
containedInPlace: {
|
|
232
|
-
branchCode: { $eq: movieTheaterBranchCode }
|
|
233
|
-
}
|
|
234
235
|
}
|
|
235
236
|
},
|
|
236
237
|
$projection: Object.assign({}, params.$projection)
|
|
@@ -71,17 +71,16 @@ function searchEventSeatOffersWithPaging(params) {
|
|
|
71
71
|
if (reservedSeatsAvailable) {
|
|
72
72
|
const roomBranchCode = String((_d = (_c = eventOffers.itemOffered) === null || _c === void 0 ? void 0 : _c.availableChannel) === null || _d === void 0 ? void 0 : _d.serviceLocation.branchCode);
|
|
73
73
|
const movieTheaterBranchCode = String((_f = (_e = eventOffers.itemOffered) === null || _e === void 0 ? void 0 : _e.availableChannel) === null || _f === void 0 ? void 0 : _f.serviceLocation.containedInPlace.branchCode);
|
|
74
|
-
const seats = yield repos.seat.
|
|
74
|
+
const seats = yield repos.seat.projectSeatsByScreeningRoom(Object.assign(Object.assign({}, params), { project: { id: { $eq: event.project.id } }, screeningRoom: {
|
|
75
|
+
branchCode: { $eq: roomBranchCode },
|
|
76
|
+
containedInPlace: {
|
|
77
|
+
branchCode: { $eq: movieTheaterBranchCode }
|
|
78
|
+
}
|
|
79
|
+
}, containedInPlace: {
|
|
75
80
|
branchCode: {
|
|
76
81
|
$eq: (typeof ((_h = (_g = params.containedInPlace) === null || _g === void 0 ? void 0 : _g.branchCode) === null || _h === void 0 ? void 0 : _h.$eq) === 'string')
|
|
77
82
|
? (_k = (_j = params.containedInPlace) === null || _j === void 0 ? void 0 : _j.branchCode) === null || _k === void 0 ? void 0 : _k.$eq
|
|
78
83
|
: undefined
|
|
79
|
-
},
|
|
80
|
-
containedInPlace: {
|
|
81
|
-
branchCode: { $eq: roomBranchCode },
|
|
82
|
-
containedInPlace: {
|
|
83
|
-
branchCode: { $eq: movieTheaterBranchCode }
|
|
84
|
-
}
|
|
85
84
|
}
|
|
86
85
|
}, $projection: Object.assign({}, params.$projection) }));
|
|
87
86
|
if (seats.length > 0) {
|
package/package.json
CHANGED