@chevre/domain 24.0.0-alpha.45 → 24.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.
- package/lib/chevre/repo/assetTransaction/reserve.d.ts +30 -0
- package/lib/chevre/repo/assetTransaction/reserve.js +126 -0
- package/lib/chevre/repo/factory/reservation/createMongoConditions.d.ts +3 -0
- package/lib/chevre/repo/factory/reservation/createMongoConditions.js +771 -0
- package/lib/chevre/repo/reservation.d.ts +20 -9
- package/lib/chevre/repo/reservation.js +8 -752
- package/lib/chevre/repository.d.ts +7 -0
- package/lib/chevre/repository.js +16 -2
- package/lib/chevre/service/assetTransaction/cancelReservation/start.js +1 -1
- package/lib/chevre/service/reserve/cancelReservation.js +5 -4
- package/lib/chevre/service/reserve/confirmReservation.js +20 -3
- package/lib/chevre/service/reserve/findByCode.js +1 -1
- package/lib/chevre/service/reserve/findReservations.d.ts +19 -0
- package/lib/chevre/service/reserve/findReservations.js +74 -0
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.d.ts +5 -3
- package/lib/chevre/service/reserve/searchByOrder.js +3 -2
- package/lib/chevre/service/reserve/useReservation.js +1 -1
- package/lib/chevre/service/reserve.d.ts +2 -1
- package/lib/chevre/service/reserve.js +3 -1
- package/lib/chevre/service/transaction/returnOrder/preStart.js +3 -2
- package/package.json +2 -2
|
@@ -0,0 +1,771 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.CREATE_MONGO_CONDITIONS = CREATE_MONGO_CONDITIONS;
|
|
27
|
+
const factory = __importStar(require("../../../factory"));
|
|
28
|
+
function CREATE_MONGO_CONDITIONS(params) {
|
|
29
|
+
// MongoDB検索条件
|
|
30
|
+
const andConditions = [
|
|
31
|
+
{ typeOf: { $eq: params.typeOf } }
|
|
32
|
+
];
|
|
33
|
+
const projectIdEq = params.project?.id?.$eq;
|
|
34
|
+
if (typeof projectIdEq === 'string') {
|
|
35
|
+
andConditions.push({ 'project.id': { $eq: projectIdEq } });
|
|
36
|
+
}
|
|
37
|
+
const providerIdEq = params.provider?.id?.$eq;
|
|
38
|
+
if (typeof providerIdEq === 'string') {
|
|
39
|
+
andConditions.push({ 'provider.id': { $eq: providerIdEq } });
|
|
40
|
+
}
|
|
41
|
+
/* istanbul ignore else */
|
|
42
|
+
if (Array.isArray(params.ids)) {
|
|
43
|
+
andConditions.push({ _id: { $in: params.ids } });
|
|
44
|
+
}
|
|
45
|
+
/* istanbul ignore else */
|
|
46
|
+
if (params.id !== undefined && params.id !== null) {
|
|
47
|
+
if (typeof params.id.$eq === 'string') {
|
|
48
|
+
andConditions.push({ _id: { $eq: params.id.$eq } });
|
|
49
|
+
}
|
|
50
|
+
if (typeof params.id.$ne === 'string') {
|
|
51
|
+
andConditions.push({ _id: { $ne: params.id.$ne } });
|
|
52
|
+
}
|
|
53
|
+
if (Array.isArray(params.id.$in)) {
|
|
54
|
+
andConditions.push({ _id: { $in: params.id.$in } });
|
|
55
|
+
}
|
|
56
|
+
if (Array.isArray(params.id.$nin)) {
|
|
57
|
+
andConditions.push({ _id: { $nin: params.id.$nin } });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/* istanbul ignore else */
|
|
61
|
+
if (Array.isArray(params.reservationNumbers)) {
|
|
62
|
+
andConditions.push({
|
|
63
|
+
reservationNumber: {
|
|
64
|
+
$in: params.reservationNumbers
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/* istanbul ignore else */
|
|
69
|
+
if (params.reservationNumber !== undefined && params.reservationNumber !== null) {
|
|
70
|
+
if (typeof params.reservationNumber === 'string') {
|
|
71
|
+
if (params.reservationNumber.length > 0) {
|
|
72
|
+
andConditions.push({
|
|
73
|
+
reservationNumber: {
|
|
74
|
+
$regex: new RegExp(params.reservationNumber)
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (typeof params.reservationNumber.$eq === 'string') {
|
|
81
|
+
andConditions.push({
|
|
82
|
+
reservationNumber: {
|
|
83
|
+
$eq: params.reservationNumber.$eq
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
if (typeof params.reservationNumber.$ne === 'string') {
|
|
88
|
+
andConditions.push({
|
|
89
|
+
reservationNumber: {
|
|
90
|
+
$ne: params.reservationNumber.$ne
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if (Array.isArray(params.reservationNumber.$in)) {
|
|
95
|
+
andConditions.push({
|
|
96
|
+
reservationNumber: {
|
|
97
|
+
$in: params.reservationNumber.$in
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (Array.isArray(params.reservationNumber.$nin)) {
|
|
102
|
+
andConditions.push({
|
|
103
|
+
reservationNumber: {
|
|
104
|
+
$nin: params.reservationNumber.$nin
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/* istanbul ignore else */
|
|
111
|
+
if (params.additionalTicketText !== undefined && params.additionalTicketText !== null) {
|
|
112
|
+
if (typeof params.additionalTicketText === 'string') {
|
|
113
|
+
if (params.additionalTicketText.length > 0) {
|
|
114
|
+
andConditions.push({
|
|
115
|
+
additionalTicketText: {
|
|
116
|
+
$exists: true,
|
|
117
|
+
$regex: new RegExp(params.additionalTicketText)
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
if (typeof params.additionalTicketText.$eq === 'string') {
|
|
124
|
+
andConditions.push({
|
|
125
|
+
additionalTicketText: {
|
|
126
|
+
$exists: true,
|
|
127
|
+
$eq: params.additionalTicketText.$eq
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
if (typeof params.additionalTicketText.$ne === 'string') {
|
|
132
|
+
andConditions.push({
|
|
133
|
+
additionalTicketText: {
|
|
134
|
+
$ne: params.additionalTicketText.$ne
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (Array.isArray(params.additionalTicketText.$in)) {
|
|
139
|
+
andConditions.push({
|
|
140
|
+
additionalTicketText: {
|
|
141
|
+
$exists: true,
|
|
142
|
+
$in: params.additionalTicketText.$in
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
if (Array.isArray(params.additionalTicketText.$nin)) {
|
|
147
|
+
andConditions.push({
|
|
148
|
+
additionalTicketText: {
|
|
149
|
+
$nin: params.additionalTicketText.$nin
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
const additionalTicketTextRegex = params.additionalTicketText?.$regex;
|
|
154
|
+
if (typeof additionalTicketTextRegex === 'string' && additionalTicketTextRegex.length > 0) {
|
|
155
|
+
const additionalTicketTextOptions = params.additionalTicketText?.$options;
|
|
156
|
+
andConditions.push({
|
|
157
|
+
additionalTicketText: {
|
|
158
|
+
$exists: true,
|
|
159
|
+
$regex: new RegExp(additionalTicketTextRegex),
|
|
160
|
+
...(typeof additionalTicketTextOptions === 'string') ? { $options: additionalTicketTextOptions } : undefined
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const reservationStatusEq = params.reservationStatus?.$eq;
|
|
167
|
+
if (typeof reservationStatusEq === 'string') {
|
|
168
|
+
andConditions.push({ reservationStatus: { $eq: reservationStatusEq } });
|
|
169
|
+
}
|
|
170
|
+
const reservationStatusNe = params.reservationStatus?.$ne;
|
|
171
|
+
if (typeof reservationStatusNe === 'string') {
|
|
172
|
+
andConditions.push({ reservationStatus: { $ne: reservationStatusNe } });
|
|
173
|
+
}
|
|
174
|
+
const reservationStatusIn = params.reservationStatus?.$in;
|
|
175
|
+
if (Array.isArray(reservationStatusIn)) {
|
|
176
|
+
andConditions.push({ reservationStatus: { $in: reservationStatusIn } });
|
|
177
|
+
}
|
|
178
|
+
/* istanbul ignore else */
|
|
179
|
+
if (Array.isArray(params.reservationStatuses)) {
|
|
180
|
+
andConditions.push({ reservationStatus: { $in: params.reservationStatuses } });
|
|
181
|
+
}
|
|
182
|
+
/* istanbul ignore else */
|
|
183
|
+
if (params.modifiedFrom instanceof Date) {
|
|
184
|
+
andConditions.push({
|
|
185
|
+
modifiedTime: { $gte: params.modifiedFrom }
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
/* istanbul ignore else */
|
|
189
|
+
if (params.modifiedThrough instanceof Date) {
|
|
190
|
+
andConditions.push({
|
|
191
|
+
modifiedTime: { $lte: params.modifiedThrough }
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/* istanbul ignore else */
|
|
195
|
+
if (params.bookingFrom instanceof Date) {
|
|
196
|
+
andConditions.push({
|
|
197
|
+
bookingTime: {
|
|
198
|
+
$exists: true,
|
|
199
|
+
$gte: params.bookingFrom
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/* istanbul ignore else */
|
|
204
|
+
if (params.bookingThrough instanceof Date) {
|
|
205
|
+
andConditions.push({
|
|
206
|
+
bookingTime: {
|
|
207
|
+
$exists: true,
|
|
208
|
+
$lte: params.bookingThrough
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
switch (params.typeOf) {
|
|
213
|
+
// case factory.reservationType.BusReservation:
|
|
214
|
+
// const reservationForTypeOfEq = params.reservationFor?.typeOf;
|
|
215
|
+
// if (typeof reservationForTypeOfEq === 'string') {
|
|
216
|
+
// andConditions.push(
|
|
217
|
+
// {
|
|
218
|
+
// 'reservationFor.typeOf': {
|
|
219
|
+
// $exists: true,
|
|
220
|
+
// $eq: reservationForTypeOfEq
|
|
221
|
+
// }
|
|
222
|
+
// }
|
|
223
|
+
// );
|
|
224
|
+
// }
|
|
225
|
+
// const reservationForIdEq = params.reservationFor?.id?.$eq;
|
|
226
|
+
// if (typeof reservationForIdEq === 'string') {
|
|
227
|
+
// andConditions.push(
|
|
228
|
+
// {
|
|
229
|
+
// 'reservationFor.id': {
|
|
230
|
+
// $exists: true,
|
|
231
|
+
// $eq: reservationForIdEq
|
|
232
|
+
// }
|
|
233
|
+
// }
|
|
234
|
+
// );
|
|
235
|
+
// }
|
|
236
|
+
// const reservationForIdIn = params.reservationFor?.id?.$in;
|
|
237
|
+
// if (Array.isArray(reservationForIdIn)) {
|
|
238
|
+
// andConditions.push(
|
|
239
|
+
// {
|
|
240
|
+
// 'reservationFor.id': {
|
|
241
|
+
// $exists: true,
|
|
242
|
+
// $in: reservationForIdIn
|
|
243
|
+
// }
|
|
244
|
+
// }
|
|
245
|
+
// );
|
|
246
|
+
// }
|
|
247
|
+
// break;
|
|
248
|
+
case factory.reservationType.EventReservation:
|
|
249
|
+
if (typeof params.reservationFor?.id === 'string') {
|
|
250
|
+
andConditions.push({
|
|
251
|
+
'reservationFor.id': {
|
|
252
|
+
$exists: true,
|
|
253
|
+
$eq: params.reservationFor.id
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
const reservationForIdEq4eventReservation = params.reservationFor?.id?.$eq;
|
|
259
|
+
if (typeof reservationForIdEq4eventReservation === 'string') {
|
|
260
|
+
andConditions.push({
|
|
261
|
+
'reservationFor.id': {
|
|
262
|
+
$exists: true,
|
|
263
|
+
$eq: reservationForIdEq4eventReservation
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/* istanbul ignore else */
|
|
269
|
+
if (params.reservationFor !== undefined) {
|
|
270
|
+
/* istanbul ignore else */
|
|
271
|
+
if (params.reservationFor.typeOf !== undefined) {
|
|
272
|
+
andConditions.push({
|
|
273
|
+
'reservationFor.typeOf': {
|
|
274
|
+
$exists: true,
|
|
275
|
+
$eq: params.reservationFor.typeOf
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/* istanbul ignore else */
|
|
280
|
+
if (Array.isArray(params.reservationFor.ids)) {
|
|
281
|
+
andConditions.push({
|
|
282
|
+
'reservationFor.id': {
|
|
283
|
+
$exists: true,
|
|
284
|
+
$in: params.reservationFor.ids
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
/* istanbul ignore else */
|
|
289
|
+
if (params.reservationFor.location !== undefined) {
|
|
290
|
+
/* istanbul ignore else */
|
|
291
|
+
if (Array.isArray(params.reservationFor.location.ids)) {
|
|
292
|
+
andConditions.push({
|
|
293
|
+
'reservationFor.location.id': {
|
|
294
|
+
$exists: true,
|
|
295
|
+
$in: params.reservationFor.location.ids
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
/* istanbul ignore else */
|
|
300
|
+
if (Array.isArray(params.reservationFor.location.branchCodes)) {
|
|
301
|
+
andConditions.push({
|
|
302
|
+
'reservationFor.location.branchCode': {
|
|
303
|
+
$exists: true,
|
|
304
|
+
$in: params.reservationFor.location.branchCodes
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
/* istanbul ignore else */
|
|
310
|
+
if (params.reservationFor.startFrom instanceof Date) {
|
|
311
|
+
andConditions.push({
|
|
312
|
+
'reservationFor.startDate': {
|
|
313
|
+
$exists: true,
|
|
314
|
+
$gte: params.reservationFor.startFrom
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
/* istanbul ignore else */
|
|
319
|
+
if (params.reservationFor.startThrough instanceof Date) {
|
|
320
|
+
andConditions.push({
|
|
321
|
+
'reservationFor.startDate': {
|
|
322
|
+
$exists: true,
|
|
323
|
+
$lte: params.reservationFor.startThrough
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/* istanbul ignore else */
|
|
328
|
+
if (params.reservationFor.endFrom instanceof Date) {
|
|
329
|
+
andConditions.push({
|
|
330
|
+
'reservationFor.endDate': {
|
|
331
|
+
$exists: true,
|
|
332
|
+
$gte: params.reservationFor.endFrom
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
/* istanbul ignore else */
|
|
337
|
+
if (params.reservationFor.endThrough instanceof Date) {
|
|
338
|
+
andConditions.push({
|
|
339
|
+
'reservationFor.endDate': {
|
|
340
|
+
$exists: true,
|
|
341
|
+
$lte: params.reservationFor.endThrough
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
/* istanbul ignore else */
|
|
346
|
+
if (params.reservationFor.superEvent !== undefined) {
|
|
347
|
+
/* istanbul ignore else */
|
|
348
|
+
if (params.reservationFor.superEvent.id !== undefined) {
|
|
349
|
+
andConditions.push({
|
|
350
|
+
'reservationFor.superEvent.id': {
|
|
351
|
+
$exists: true,
|
|
352
|
+
$eq: params.reservationFor.superEvent.id
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
/* istanbul ignore else */
|
|
357
|
+
if (Array.isArray(params.reservationFor.superEvent.ids)) {
|
|
358
|
+
andConditions.push({
|
|
359
|
+
'reservationFor.superEvent.id': {
|
|
360
|
+
$exists: true,
|
|
361
|
+
$in: params.reservationFor.superEvent.ids
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
/* istanbul ignore else */
|
|
366
|
+
if (params.reservationFor.superEvent.location !== undefined) {
|
|
367
|
+
/* istanbul ignore else */
|
|
368
|
+
if (Array.isArray(params.reservationFor.superEvent.location.ids)) {
|
|
369
|
+
andConditions.push({
|
|
370
|
+
'reservationFor.superEvent.location.id': {
|
|
371
|
+
$exists: true,
|
|
372
|
+
$in: params.reservationFor.superEvent.location.ids
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
/* istanbul ignore else */
|
|
377
|
+
if (Array.isArray(params.reservationFor.superEvent.location.branchCodes)) {
|
|
378
|
+
andConditions.push({
|
|
379
|
+
'reservationFor.superEvent.location.branchCode': {
|
|
380
|
+
$exists: true,
|
|
381
|
+
$in: params.reservationFor.superEvent.location.branchCodes
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
/* istanbul ignore else */
|
|
387
|
+
if (params.reservationFor.superEvent.workPerformed !== undefined) {
|
|
388
|
+
/* istanbul ignore else */
|
|
389
|
+
if (Array.isArray(params.reservationFor.superEvent.workPerformed.ids)) {
|
|
390
|
+
andConditions.push({
|
|
391
|
+
'reservationFor.superEvent.workPerformed.id': {
|
|
392
|
+
$exists: true,
|
|
393
|
+
$in: params.reservationFor.superEvent.workPerformed.ids
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
/* istanbul ignore else */
|
|
398
|
+
if (Array.isArray(params.reservationFor.superEvent.workPerformed.identifiers)) {
|
|
399
|
+
andConditions.push({
|
|
400
|
+
'reservationFor.superEvent.workPerformed.identifier': {
|
|
401
|
+
$exists: true,
|
|
402
|
+
$in: params.reservationFor.superEvent.workPerformed.identifiers
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
break;
|
|
410
|
+
case factory.reservationType.ReservationPackage:
|
|
411
|
+
break;
|
|
412
|
+
default:
|
|
413
|
+
}
|
|
414
|
+
/* istanbul ignore else */
|
|
415
|
+
if (params.reservedTicket !== undefined) {
|
|
416
|
+
/* istanbul ignore else */
|
|
417
|
+
if (params.reservedTicket.ticketType !== undefined) {
|
|
418
|
+
/* istanbul ignore else */
|
|
419
|
+
if (Array.isArray(params.reservedTicket.ticketType.ids)) {
|
|
420
|
+
andConditions.push({
|
|
421
|
+
'reservedTicket.ticketType.id': {
|
|
422
|
+
$exists: true,
|
|
423
|
+
$in: params.reservedTicket.ticketType.ids
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
/* istanbul ignore else */
|
|
428
|
+
if (params.reservedTicket.ticketType.category !== undefined) {
|
|
429
|
+
/* istanbul ignore else */
|
|
430
|
+
if (Array.isArray(params.reservedTicket.ticketType.category.ids)) {
|
|
431
|
+
andConditions.push({
|
|
432
|
+
'reservedTicket.ticketType.category.id': {
|
|
433
|
+
$exists: true,
|
|
434
|
+
$in: params.reservedTicket.ticketType.category.ids
|
|
435
|
+
}
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
/* istanbul ignore else */
|
|
439
|
+
if (params.reservedTicket.ticketType.category.codeValue !== undefined
|
|
440
|
+
&& params.reservedTicket.ticketType.category !== null) {
|
|
441
|
+
if (Array.isArray(params.reservedTicket.ticketType.category.codeValue.$in)) {
|
|
442
|
+
andConditions.push({
|
|
443
|
+
'reservedTicket.ticketType.category.codeValue': {
|
|
444
|
+
$exists: true,
|
|
445
|
+
$in: params.reservedTicket.ticketType.category.codeValue.$in
|
|
446
|
+
}
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
/* istanbul ignore else */
|
|
453
|
+
if (params.reservedTicket.ticketedSeat !== undefined) {
|
|
454
|
+
/* istanbul ignore else */
|
|
455
|
+
if (Array.isArray(params.reservedTicket.ticketedSeat.seatNumbers)) {
|
|
456
|
+
andConditions.push({
|
|
457
|
+
'reservedTicket.ticketedSeat.seatNumber': {
|
|
458
|
+
$exists: true,
|
|
459
|
+
$in: params.reservedTicket.ticketedSeat.seatNumbers
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
/* istanbul ignore else */
|
|
464
|
+
if (Array.isArray(params.reservedTicket.ticketedSeat.seatRows)) {
|
|
465
|
+
andConditions.push({
|
|
466
|
+
'reservedTicket.ticketedSeat.seatRow': {
|
|
467
|
+
$exists: true,
|
|
468
|
+
$in: params.reservedTicket.ticketedSeat.seatRows
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
/* istanbul ignore else */
|
|
473
|
+
if (Array.isArray(params.reservedTicket.ticketedSeat.seatSections)) {
|
|
474
|
+
andConditions.push({
|
|
475
|
+
'reservedTicket.ticketedSeat.seatSection': {
|
|
476
|
+
$exists: true,
|
|
477
|
+
$in: params.reservedTicket.ticketedSeat.seatSections
|
|
478
|
+
}
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
/* istanbul ignore else */
|
|
482
|
+
const ticketedSeatSeatingTypeIn = params.reservedTicket.ticketedSeat?.seatingType?.$in;
|
|
483
|
+
if (Array.isArray(ticketedSeatSeatingTypeIn)) {
|
|
484
|
+
andConditions.push({
|
|
485
|
+
'reservedTicket.ticketedSeat.seatingType': {
|
|
486
|
+
$exists: true,
|
|
487
|
+
$in: ticketedSeatSeatingTypeIn
|
|
488
|
+
}
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
const brokerIdRegex = params.broker?.id;
|
|
494
|
+
if (typeof brokerIdRegex === 'string' && brokerIdRegex.length > 0) {
|
|
495
|
+
andConditions.push({
|
|
496
|
+
'broker.id': {
|
|
497
|
+
$exists: true,
|
|
498
|
+
$regex: new RegExp(brokerIdRegex)
|
|
499
|
+
}
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
const brokerIdentifierAll = params.broker?.identifier?.$all;
|
|
503
|
+
if (Array.isArray(brokerIdentifierAll)) {
|
|
504
|
+
andConditions.push({
|
|
505
|
+
'broker.identifier': {
|
|
506
|
+
$exists: true,
|
|
507
|
+
$all: brokerIdentifierAll
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
const brokerIdentifierIn = params.broker?.identifier?.$in;
|
|
512
|
+
if (Array.isArray(brokerIdentifierIn)) {
|
|
513
|
+
andConditions.push({
|
|
514
|
+
'broker.identifier': {
|
|
515
|
+
$exists: true,
|
|
516
|
+
$in: brokerIdentifierIn
|
|
517
|
+
}
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
const brokerIdentifierNin = params.broker?.identifier?.$nin;
|
|
521
|
+
if (Array.isArray(brokerIdentifierNin)) {
|
|
522
|
+
andConditions.push({
|
|
523
|
+
'broker.identifier': {
|
|
524
|
+
$nin: brokerIdentifierNin
|
|
525
|
+
}
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
const brokerIdentifierElemMatch = params.broker?.identifier?.$elemMatch;
|
|
529
|
+
if (brokerIdentifierElemMatch !== undefined && brokerIdentifierElemMatch !== null) {
|
|
530
|
+
andConditions.push({
|
|
531
|
+
'broker.identifier': {
|
|
532
|
+
$exists: true,
|
|
533
|
+
$elemMatch: brokerIdentifierElemMatch
|
|
534
|
+
}
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
/* istanbul ignore else */
|
|
538
|
+
if (params.underName !== undefined) {
|
|
539
|
+
/* istanbul ignore else */
|
|
540
|
+
if (typeof params.underName.id === 'string' && params.underName.id.length > 0) {
|
|
541
|
+
andConditions.push({
|
|
542
|
+
'underName.id': {
|
|
543
|
+
$exists: true,
|
|
544
|
+
$regex: new RegExp(params.underName.id)
|
|
545
|
+
}
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
/* istanbul ignore else */
|
|
549
|
+
if (typeof params.underName.email === 'string') {
|
|
550
|
+
if (params.underName.email.length > 0) {
|
|
551
|
+
andConditions.push({
|
|
552
|
+
'underName.email': {
|
|
553
|
+
$exists: true,
|
|
554
|
+
$regex: new RegExp(params.underName.email)
|
|
555
|
+
}
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
else {
|
|
560
|
+
const emailRegex = params.underName.email?.$regex;
|
|
561
|
+
if (typeof emailRegex === 'string' && emailRegex.length > 0) {
|
|
562
|
+
const emailOptions = params.underName.email?.$options;
|
|
563
|
+
andConditions.push({
|
|
564
|
+
'underName.email': {
|
|
565
|
+
$exists: true,
|
|
566
|
+
$regex: new RegExp(emailRegex),
|
|
567
|
+
...(typeof emailOptions === 'string') ? { $options: emailOptions } : undefined
|
|
568
|
+
}
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
/* istanbul ignore else */
|
|
573
|
+
if (typeof params.underName.name === 'string') {
|
|
574
|
+
if (params.underName.name.length > 0) {
|
|
575
|
+
andConditions.push({
|
|
576
|
+
'underName.name': {
|
|
577
|
+
$exists: true,
|
|
578
|
+
$regex: new RegExp(params.underName.name)
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
const underNameNameRegex = params.underName.name?.$regex;
|
|
585
|
+
if (typeof underNameNameRegex === 'string' && underNameNameRegex.length > 0) {
|
|
586
|
+
const underNameNameOptions = params.underName.name?.$options;
|
|
587
|
+
andConditions.push({
|
|
588
|
+
'underName.name': {
|
|
589
|
+
$exists: true,
|
|
590
|
+
$regex: new RegExp(underNameNameRegex),
|
|
591
|
+
...(typeof underNameNameOptions === 'string') ? { $options: underNameNameOptions } : undefined
|
|
592
|
+
}
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
/* istanbul ignore else */
|
|
597
|
+
if (typeof params.underName.telephone === 'string' && params.underName.telephone.length > 0) {
|
|
598
|
+
andConditions.push({
|
|
599
|
+
'underName.telephone': {
|
|
600
|
+
$exists: true,
|
|
601
|
+
$regex: new RegExp(params.underName.telephone)
|
|
602
|
+
}
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
/* istanbul ignore else */
|
|
606
|
+
if (typeof params.underName.givenName === 'string') {
|
|
607
|
+
if (params.underName.givenName.length > 0) {
|
|
608
|
+
andConditions.push({
|
|
609
|
+
'underName.givenName': {
|
|
610
|
+
$exists: true,
|
|
611
|
+
$regex: new RegExp(params.underName.givenName)
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
else {
|
|
617
|
+
const givenNameRegex = params.underName.givenName?.$regex;
|
|
618
|
+
if (typeof givenNameRegex === 'string' && givenNameRegex.length > 0) {
|
|
619
|
+
const givenNameOptions = params.underName.givenName?.$options;
|
|
620
|
+
andConditions.push({
|
|
621
|
+
'underName.givenName': {
|
|
622
|
+
$exists: true,
|
|
623
|
+
$regex: new RegExp(givenNameRegex),
|
|
624
|
+
...(typeof givenNameOptions === 'string') ? { $options: givenNameOptions } : undefined
|
|
625
|
+
}
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
/* istanbul ignore else */
|
|
630
|
+
if (typeof params.underName.familyName === 'string') {
|
|
631
|
+
if (params.underName.familyName.length > 0) {
|
|
632
|
+
andConditions.push({
|
|
633
|
+
'underName.familyName': {
|
|
634
|
+
$exists: true,
|
|
635
|
+
$regex: new RegExp(params.underName.familyName)
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
else {
|
|
641
|
+
const familyNameRegex = params.underName.familyName?.$regex;
|
|
642
|
+
if (typeof familyNameRegex === 'string' && familyNameRegex.length > 0) {
|
|
643
|
+
const familyNameOptions = params.underName.familyName?.$options;
|
|
644
|
+
andConditions.push({
|
|
645
|
+
'underName.familyName': {
|
|
646
|
+
$exists: true,
|
|
647
|
+
$regex: new RegExp(familyNameRegex),
|
|
648
|
+
...(typeof familyNameOptions === 'string') ? { $options: familyNameOptions } : undefined
|
|
649
|
+
}
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
/* istanbul ignore else */
|
|
654
|
+
if (params.underName.identifier !== undefined) {
|
|
655
|
+
if (Array.isArray(params.underName.identifier.$all)) {
|
|
656
|
+
andConditions.push({
|
|
657
|
+
'underName.identifier': {
|
|
658
|
+
$exists: true,
|
|
659
|
+
$all: params.underName.identifier.$all
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
}
|
|
663
|
+
if (Array.isArray(params.underName.identifier.$in)) {
|
|
664
|
+
andConditions.push({
|
|
665
|
+
'underName.identifier': {
|
|
666
|
+
$exists: true,
|
|
667
|
+
$in: params.underName.identifier.$in
|
|
668
|
+
}
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
if (Array.isArray(params.underName.identifier.$nin)) {
|
|
672
|
+
andConditions.push({
|
|
673
|
+
'underName.identifier': {
|
|
674
|
+
$nin: params.underName.identifier.$nin
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
if (params.underName.identifier.$elemMatch !== undefined) {
|
|
679
|
+
andConditions.push({
|
|
680
|
+
'underName.identifier': {
|
|
681
|
+
$exists: true,
|
|
682
|
+
$elemMatch: params.underName.identifier.$elemMatch
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
/* istanbul ignore else */
|
|
688
|
+
if (Array.isArray(params.underName.identifiers)) {
|
|
689
|
+
andConditions.push({
|
|
690
|
+
'underName.identifier': {
|
|
691
|
+
$exists: true,
|
|
692
|
+
$in: params.underName.identifiers
|
|
693
|
+
}
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
/* istanbul ignore else */
|
|
698
|
+
if (typeof params.attended === 'boolean') {
|
|
699
|
+
andConditions.push({
|
|
700
|
+
attended: params.attended
|
|
701
|
+
});
|
|
702
|
+
}
|
|
703
|
+
/* istanbul ignore else */
|
|
704
|
+
if (typeof params.checkedIn === 'boolean') {
|
|
705
|
+
andConditions.push({
|
|
706
|
+
checkedIn: params.checkedIn
|
|
707
|
+
});
|
|
708
|
+
}
|
|
709
|
+
/* istanbul ignore else */
|
|
710
|
+
if (params.additionalProperty !== undefined) {
|
|
711
|
+
if (Array.isArray(params.additionalProperty.$all)) {
|
|
712
|
+
andConditions.push({
|
|
713
|
+
additionalProperty: {
|
|
714
|
+
$exists: true,
|
|
715
|
+
$all: params.additionalProperty.$all
|
|
716
|
+
}
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
if (Array.isArray(params.additionalProperty.$in)) {
|
|
720
|
+
andConditions.push({
|
|
721
|
+
additionalProperty: {
|
|
722
|
+
$exists: true,
|
|
723
|
+
$in: params.additionalProperty.$in
|
|
724
|
+
}
|
|
725
|
+
});
|
|
726
|
+
}
|
|
727
|
+
if (Array.isArray(params.additionalProperty.$nin)) {
|
|
728
|
+
andConditions.push({
|
|
729
|
+
additionalProperty: {
|
|
730
|
+
$nin: params.additionalProperty.$nin
|
|
731
|
+
}
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
if (params.additionalProperty.$elemMatch !== undefined) {
|
|
735
|
+
andConditions.push({
|
|
736
|
+
additionalProperty: {
|
|
737
|
+
$exists: true,
|
|
738
|
+
$elemMatch: params.additionalProperty.$elemMatch
|
|
739
|
+
}
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
const programMembershipUsedIdentifierEq = params.programMembershipUsed?.identifier?.$eq;
|
|
744
|
+
if (typeof programMembershipUsedIdentifierEq === 'string') {
|
|
745
|
+
andConditions.push({
|
|
746
|
+
'programMembershipUsed.identifier': {
|
|
747
|
+
$exists: true,
|
|
748
|
+
$eq: programMembershipUsedIdentifierEq
|
|
749
|
+
}
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
const programMembershipUsedIssuedThroughServiceTypeCodeValueEq = params.programMembershipUsed?.issuedThrough?.serviceType?.codeValue?.$eq;
|
|
753
|
+
if (typeof programMembershipUsedIssuedThroughServiceTypeCodeValueEq === 'string') {
|
|
754
|
+
andConditions.push({
|
|
755
|
+
'programMembershipUsed.issuedThrough.serviceType.codeValue': {
|
|
756
|
+
$exists: true,
|
|
757
|
+
$eq: programMembershipUsedIssuedThroughServiceTypeCodeValueEq
|
|
758
|
+
}
|
|
759
|
+
});
|
|
760
|
+
}
|
|
761
|
+
const appliesToMovieTicketIdentifierEq = params.price?.priceComponent?.appliesToMovieTicket?.identifier?.$eq;
|
|
762
|
+
if (typeof appliesToMovieTicketIdentifierEq === 'string') {
|
|
763
|
+
andConditions.push({
|
|
764
|
+
'price.priceComponent.appliesToMovieTicket.identifier': {
|
|
765
|
+
$exists: true,
|
|
766
|
+
$eq: appliesToMovieTicketIdentifierEq
|
|
767
|
+
}
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
return andConditions;
|
|
771
|
+
}
|