@timardex/cluemart-shared 1.2.28 → 1.2.29

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.
Files changed (46) hide show
  1. package/dist/ad-Crq-z5Wt.d.mts +69 -0
  2. package/dist/ad-DHetF-th.d.ts +69 -0
  3. package/dist/{auth-Ddkaba1k.d.mts → auth-Ci6Uskch.d.mts} +1 -1
  4. package/dist/{auth-BRY-YJss.d.ts → auth-CzEdRDf1.d.ts} +1 -1
  5. package/dist/chunk-BO3HICLR.mjs +24 -0
  6. package/dist/chunk-BO3HICLR.mjs.map +1 -0
  7. package/dist/chunk-CQ7TCXMI.mjs +68 -0
  8. package/dist/chunk-CQ7TCXMI.mjs.map +1 -0
  9. package/dist/formFields/index.d.mts +1 -1
  10. package/dist/formFields/index.d.ts +1 -1
  11. package/dist/{global-IDogsFQv.d.ts → global-2Jk7sRkL.d.ts} +18 -4
  12. package/dist/{global-DlaX2SCk.d.mts → global-DWuTxnJ8.d.mts} +18 -4
  13. package/dist/graphql/index.d.mts +3 -2
  14. package/dist/graphql/index.d.ts +3 -2
  15. package/dist/hooks/index.d.mts +4 -3
  16. package/dist/hooks/index.d.ts +4 -3
  17. package/dist/hooks/index.mjs +5 -5
  18. package/dist/index.cjs +1130 -26
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.mts +347 -2
  21. package/dist/index.d.ts +347 -2
  22. package/dist/index.mjs +1116 -26
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/mongoose/index.cjs +1068 -0
  25. package/dist/mongoose/index.cjs.map +1 -0
  26. package/dist/mongoose/index.d.mts +318 -0
  27. package/dist/mongoose/index.d.ts +318 -0
  28. package/dist/mongoose/index.mjs +855 -0
  29. package/dist/mongoose/index.mjs.map +1 -0
  30. package/dist/service/index.cjs +336 -0
  31. package/dist/service/index.cjs.map +1 -0
  32. package/dist/service/index.d.mts +27 -0
  33. package/dist/service/index.d.ts +27 -0
  34. package/dist/service/index.mjs +214 -0
  35. package/dist/service/index.mjs.map +1 -0
  36. package/dist/types/index.d.mts +4 -3
  37. package/dist/types/index.d.ts +4 -3
  38. package/dist/types/index.mjs +4 -19
  39. package/dist/types/index.mjs.map +1 -1
  40. package/dist/user-DbEEY7fv.d.ts +64 -0
  41. package/dist/user-OPY5EOqR.d.mts +64 -0
  42. package/dist/utils/index.d.mts +1 -1
  43. package/dist/utils/index.d.ts +1 -1
  44. package/package.json +1 -1
  45. package/dist/ad-C-0i99zR.d.mts +0 -129
  46. package/dist/ad-ZnPU3uan.d.ts +0 -129
@@ -0,0 +1,855 @@
1
+ import "../chunk-CQ7TCXMI.mjs";
2
+ import {
3
+ EnumActivity
4
+ } from "../chunk-BO3HICLR.mjs";
5
+ import {
6
+ EnumAdShowOn,
7
+ EnumAdStatus,
8
+ EnumAdStyle,
9
+ EnumAdType
10
+ } from "../chunk-XXZPSRMS.mjs";
11
+ import {
12
+ EnumChatType,
13
+ EnumEventType,
14
+ EnumFoodFlavor,
15
+ EnumInviteStatus,
16
+ EnumOSPlatform,
17
+ EnumPaymentMethod,
18
+ EnumRelationResource,
19
+ EnumResourceType,
20
+ EnumUserLicence,
21
+ EnumUserRole,
22
+ EnumVendorType
23
+ } from "../chunk-NNS747QT.mjs";
24
+
25
+ // src/mongoose/Ad.ts
26
+ import mongoose4 from "mongoose";
27
+
28
+ // src/mongoose/global.ts
29
+ import mongoose3 from "mongoose";
30
+
31
+ // src/mongoose/Relation.ts
32
+ import mongoose2 from "mongoose";
33
+
34
+ // src/mongoose/event/EventInfo.ts
35
+ import mongoose from "mongoose";
36
+ var MongooseSchema = mongoose.Schema;
37
+ var StallTypeSchema = new MongooseSchema(
38
+ {
39
+ electricity: {
40
+ price: { required: false, type: Number },
41
+ selected: { required: false, type: Boolean }
42
+ },
43
+ label: { required: false, type: String },
44
+ price: { required: false, type: Number },
45
+ stallCapacity: { required: false, type: Number }
46
+ },
47
+ {
48
+ _id: false
49
+ // Prevents Mongoose from creating an additional _id field for subdocuments
50
+ }
51
+ );
52
+ var dateTimeSchema = new MongooseSchema(
53
+ {
54
+ endDate: { required: true, type: String },
55
+ endTime: { required: true, type: String },
56
+ stallTypes: [StallTypeSchema],
57
+ startDate: { required: true, type: String },
58
+ startTime: { required: true, type: String }
59
+ },
60
+ { _id: false }
61
+ // Prevents Mongoose from creating an additional _id field for subdocuments
62
+ );
63
+ var paymentInfoSchema = new MongooseSchema(
64
+ {
65
+ accountHolderName: { required: false, type: String },
66
+ accountNumber: { required: false, type: String },
67
+ link: { required: false, type: String },
68
+ paymentMethod: {
69
+ enum: Object.values(EnumPaymentMethod),
70
+ required: true,
71
+ type: String
72
+ }
73
+ },
74
+ { _id: false }
75
+ // Prevents Mongoose from creating an additional _id field
76
+ );
77
+ var requirementsSchema = new MongooseSchema(
78
+ {
79
+ category: { required: true, type: String },
80
+ label: { required: true, type: String },
81
+ value: { required: true, type: Boolean }
82
+ },
83
+ {
84
+ _id: false
85
+ // Prevents Mongoose from creating an additional _id field for
86
+ }
87
+ );
88
+ var schema = new MongooseSchema(
89
+ {
90
+ applicationDeadlineHours: { required: true, type: Number },
91
+ dateTime: [dateTimeSchema],
92
+ eventId: {
93
+ ref: "Event",
94
+ required: false,
95
+ type: mongoose.Schema.Types.ObjectId
96
+ },
97
+ packInTime: { required: true, type: Number },
98
+ paymentDueHours: { required: true, type: Number },
99
+ paymentInfo: [paymentInfoSchema],
100
+ requirements: [requirementsSchema]
101
+ },
102
+ { timestamps: true }
103
+ );
104
+ var EventInfoModel = mongoose.model("EventInfo", schema);
105
+
106
+ // src/mongoose/Relation.ts
107
+ var MongooseSchema2 = mongoose2.Schema;
108
+ var relationDatesSchema = new MongooseSchema2(
109
+ {
110
+ lastUpdateBy: {
111
+ resourceId: { required: false, type: String },
112
+ userEmail: { required: false, type: String }
113
+ },
114
+ paymentReference: { required: false, type: String },
115
+ stallType: StallTypeSchema,
116
+ startDate: { required: false, type: String },
117
+ startTime: { required: false, type: String },
118
+ status: {
119
+ enum: Object.values(EnumInviteStatus),
120
+ required: false,
121
+ type: String
122
+ }
123
+ },
124
+ { _id: false }
125
+ );
126
+ var RelationTypeSchema = new MongooseSchema2(
127
+ {
128
+ active: { default: true, required: true, type: Boolean },
129
+ chatId: {
130
+ ref: "Chat",
131
+ required: true,
132
+ type: mongoose2.Schema.Types.ObjectId
133
+ },
134
+ deletedAt: { default: null, required: false, type: Date },
135
+ eventId: {
136
+ ref: "Event",
137
+ required: true,
138
+ type: mongoose2.Schema.Types.ObjectId
139
+ },
140
+ lastUpdateBy: {
141
+ enum: Object.values(EnumResourceType),
142
+ required: true,
143
+ type: String
144
+ },
145
+ relationDates: [relationDatesSchema],
146
+ relationType: {
147
+ enum: Object.values(EnumRelationResource),
148
+ required: true,
149
+ type: String
150
+ },
151
+ vendorId: {
152
+ ref: "Vendor",
153
+ required: true,
154
+ type: mongoose2.Schema.Types.ObjectId
155
+ }
156
+ },
157
+ { timestamps: true }
158
+ );
159
+ RelationTypeSchema.index({
160
+ "relationDates.startDate": 1,
161
+ "relationDates.startTime": 1,
162
+ "relationDates.status": 1
163
+ });
164
+ var RelationModel = mongoose2.model(
165
+ "Relation",
166
+ RelationTypeSchema
167
+ );
168
+
169
+ // src/mongoose/global.ts
170
+ var MongooseSchema3 = mongoose3.Schema;
171
+ var OwnerTypeSchema = new MongooseSchema3(
172
+ {
173
+ email: { required: true, type: String },
174
+ userId: {
175
+ ref: "User",
176
+ required: true,
177
+ type: mongoose3.Schema.Types.ObjectId
178
+ }
179
+ },
180
+ { _id: false }
181
+ // Prevents Mongoose from creating an additional _id field for subdocuments
182
+ );
183
+ var SocialMediaTypeSchema = new MongooseSchema3(
184
+ {
185
+ link: { required: true, type: String },
186
+ name: { required: true, type: String }
187
+ },
188
+ { _id: false }
189
+ // Prevents Mongoose from creating an additional _id field
190
+ );
191
+ var ResourceImageTypeSchema = new MongooseSchema3(
192
+ {
193
+ source: { required: false, type: String },
194
+ title: { required: false, type: String }
195
+ },
196
+ { _id: false }
197
+ // Prevents Mongoose from creating an additional _id field for subdocuments
198
+ );
199
+ var SubCategorySchema = new MongooseSchema3(
200
+ {
201
+ id: { required: false, type: String },
202
+ items: [
203
+ {
204
+ id: { required: false, type: String },
205
+ name: { required: false, type: String }
206
+ }
207
+ ],
208
+ name: { required: false, type: String }
209
+ },
210
+ { _id: false }
211
+ // Prevents Mongoose from creating an additional _id field for subdocuments
212
+ );
213
+ var CategorySchema = new MongooseSchema3(
214
+ {
215
+ id: { required: true, type: String },
216
+ name: { required: true, type: String },
217
+ subcategories: [SubCategorySchema]
218
+ },
219
+ { _id: false }
220
+ // Prevents Mongoose from creating an additional _id field for subdocuments
221
+ );
222
+ var PosterUsageTypeSchema = new MongooseSchema3(
223
+ {
224
+ count: { default: 0, required: false, type: Number },
225
+ month: { required: false, type: String }
226
+ },
227
+ { _id: false }
228
+ // Prevents Mongoose from creating an additional _id field for subdocuments
229
+ );
230
+ var partnersSchema = new MongooseSchema3(
231
+ {
232
+ email: { required: false, type: String },
233
+ licence: {
234
+ enum: Object.values(EnumUserLicence),
235
+ required: false,
236
+ type: String
237
+ },
238
+ resourceId: {
239
+ required: false,
240
+ type: String
241
+ },
242
+ resourceType: {
243
+ enum: Object.values(EnumResourceType),
244
+ required: false,
245
+ type: String
246
+ }
247
+ },
248
+ { _id: false }
249
+ // Prevents Mongoose from creating an additional _id field for subdocuments
250
+ );
251
+ var ContactDetailsSchema = new MongooseSchema3(
252
+ {
253
+ email: { required: false, type: String },
254
+ landlinePhone: { required: false, type: String },
255
+ mobilePhone: { required: false, type: String }
256
+ },
257
+ { _id: false }
258
+ // Prevents Mongoose from creating an additional _id field for subdocuments
259
+ );
260
+ var termsAgreementSchema = new MongooseSchema3(
261
+ {
262
+ appBuildNumber: { required: true, type: String },
263
+ appId: { required: true, type: String },
264
+ appVersion: { required: true, type: String },
265
+ brand: { required: true, type: String },
266
+ deviceName: { required: true, type: String },
267
+ installationId: { required: true, type: String },
268
+ manufacturer: { required: true, type: String },
269
+ modelName: { required: true, type: String },
270
+ osName: { required: true, type: String },
271
+ osVersion: { required: true, type: String },
272
+ termVersion: { required: true, type: String },
273
+ timestamp: { required: true, type: String }
274
+ },
275
+ { _id: false }
276
+ );
277
+ var resourceRelationsSchema = new MongooseSchema3(
278
+ {
279
+ relationDates: {
280
+ default: [],
281
+ required: false,
282
+ type: [relationDatesSchema]
283
+ },
284
+ relationId: {
285
+ ref: "Relation",
286
+ required: false,
287
+ type: mongoose3.Schema.Types.ObjectId
288
+ }
289
+ },
290
+ { _id: false }
291
+ );
292
+ var baseResourceFields = {
293
+ active: { default: false, required: true, type: Boolean },
294
+ adIds: {
295
+ ref: "Ad",
296
+ required: false,
297
+ type: [mongoose3.Schema.Types.ObjectId]
298
+ },
299
+ contactDetails: ContactDetailsSchema,
300
+ cover: ResourceImageTypeSchema,
301
+ deletedAt: { default: null, required: false, type: Date },
302
+ description: { required: true, type: String },
303
+ images: [ResourceImageTypeSchema],
304
+ logo: ResourceImageTypeSchema,
305
+ name: { required: true, type: String },
306
+ owner: OwnerTypeSchema,
307
+ partners: {
308
+ required: false,
309
+ type: [partnersSchema]
310
+ },
311
+ posterUsage: PosterUsageTypeSchema,
312
+ promoCodes: { required: false, type: [String] },
313
+ region: { required: true, type: String },
314
+ relations: {
315
+ default: [],
316
+ required: false,
317
+ type: [resourceRelationsSchema]
318
+ },
319
+ socialMedia: [SocialMediaTypeSchema],
320
+ termsAgreement: termsAgreementSchema
321
+ };
322
+
323
+ // src/mongoose/Ad.ts
324
+ var MongooseSchema4 = mongoose4.Schema;
325
+ var schema2 = new MongooseSchema4(
326
+ {
327
+ active: { default: true, type: Boolean },
328
+ adStyle: {
329
+ default: "Bloom" /* BLOOM */,
330
+ enum: Object.values(EnumAdStyle),
331
+ required: true,
332
+ type: String
333
+ },
334
+ adType: {
335
+ default: "Sponsored" /* SPONSORED */,
336
+ enum: Object.values(EnumAdType),
337
+ required: true,
338
+ type: String
339
+ },
340
+ // TODO: similar to ViewSchema
341
+ clicks: { default: 0, required: true, type: Number },
342
+ clui: { required: false, type: String },
343
+ end: { required: true, type: Date },
344
+ // TODO: similar to ViewSchema
345
+ impressions: { default: 0, required: true, type: Number },
346
+ resourceCover: { required: true, type: String },
347
+ resourceDescription: { required: true, type: String },
348
+ resourceId: { required: true, type: String },
349
+ resourceLogo: { required: false, type: String },
350
+ resourceName: { required: true, type: String },
351
+ resourceRegion: { required: true, type: String },
352
+ resourceType: {
353
+ enum: Object.values(EnumResourceType),
354
+ required: true,
355
+ type: String
356
+ },
357
+ showOn: {
358
+ default: "Front_page" /* FRONT_PAGE */,
359
+ enum: Object.values(EnumAdShowOn),
360
+ required: true,
361
+ type: String
362
+ },
363
+ socialMedia: [SocialMediaTypeSchema],
364
+ start: { required: true, type: Date },
365
+ status: {
366
+ default: "Active" /* ACTIVE */,
367
+ enum: Object.values(EnumAdStatus),
368
+ required: true,
369
+ type: String
370
+ },
371
+ targetRegion: { required: false, type: String }
372
+ },
373
+ {
374
+ timestamps: true
375
+ }
376
+ );
377
+ schema2.index({
378
+ end: 1,
379
+ start: 1,
380
+ status: 1
381
+ });
382
+ var AdModel = mongoose4.model("Ad", schema2);
383
+
384
+ // src/mongoose/Chat.ts
385
+ import mongoose5 from "mongoose";
386
+ var MongooseSchema5 = mongoose5.Schema;
387
+ var MessageSchema = new MongooseSchema5(
388
+ {
389
+ content: { required: true, type: String },
390
+ senderAvatar: { required: false, type: String },
391
+ senderId: {
392
+ ref: "User",
393
+ required: true,
394
+ type: mongoose5.Schema.Types.ObjectId
395
+ },
396
+ senderName: { required: true, type: String }
397
+ },
398
+ { timestamps: true }
399
+ );
400
+ var ParticipantSchema = new MongooseSchema5(
401
+ {
402
+ active: { default: true, required: true, type: Boolean },
403
+ email: { required: true, type: String },
404
+ userId: {
405
+ ref: "User",
406
+ required: true,
407
+ type: mongoose5.Schema.Types.ObjectId
408
+ }
409
+ },
410
+ { _id: false }
411
+ // Prevents Mongoose from creating an additional _id field for subdocuments
412
+ );
413
+ var ChatSchema = new MongooseSchema5(
414
+ {
415
+ active: { default: true, required: true, type: Boolean },
416
+ chatName: { required: true, type: String },
417
+ chatType: {
418
+ enum: Object.values(EnumChatType),
419
+ required: true,
420
+ type: String
421
+ },
422
+ deletedAt: { default: null, required: false, type: Date },
423
+ messages: [MessageSchema],
424
+ participants: [ParticipantSchema],
425
+ resourceInfo: {
426
+ eventId: {
427
+ ref: "Event",
428
+ required: false,
429
+ type: mongoose5.Schema.Types.ObjectId
430
+ },
431
+ vendorId: {
432
+ ref: "Vendor",
433
+ required: false,
434
+ type: mongoose5.Schema.Types.ObjectId
435
+ }
436
+ }
437
+ },
438
+ {
439
+ timestamps: true
440
+ }
441
+ );
442
+ var ChatModel = mongoose5.model("Chat", ChatSchema);
443
+
444
+ // src/mongoose/ResourceActivity.ts
445
+ import mongoose6 from "mongoose";
446
+ var MongooseSchema6 = mongoose6.Schema;
447
+ var ActivitySchema = new MongooseSchema6(
448
+ {
449
+ activityType: {
450
+ enum: Object.values(EnumActivity),
451
+ required: true,
452
+ type: String
453
+ },
454
+ location: {
455
+ coordinates: {
456
+ required: false,
457
+ type: [Number]
458
+ },
459
+ type: {
460
+ default: "Point",
461
+ enum: ["Point"],
462
+ required: false,
463
+ type: String
464
+ }
465
+ },
466
+ startDate: { required: false, type: String },
467
+ startTime: { required: false, type: String },
468
+ timestamp: { default: Date.now, type: Date },
469
+ userAgent: {
470
+ enum: Object.values(EnumOSPlatform),
471
+ required: true,
472
+ type: String
473
+ },
474
+ userId: { required: false, type: String }
475
+ },
476
+ { _id: false }
477
+ );
478
+ var schema3 = new MongooseSchema6(
479
+ {
480
+ activity: { default: [], type: [ActivitySchema] },
481
+ resourceId: { required: true, type: String },
482
+ resourceType: {
483
+ enum: Object.values(EnumResourceType),
484
+ required: true,
485
+ type: String
486
+ }
487
+ },
488
+ { timestamps: true }
489
+ );
490
+ schema3.index({ resourceId: 1, resourceType: 1 }, { unique: true });
491
+ schema3.index({ "views.location": "2dsphere" });
492
+ var ResourceActivityModel = mongoose6.model("ResourceActivity", schema3);
493
+
494
+ // src/mongoose/Testers.ts
495
+ import mongoose7 from "mongoose";
496
+ var MongooseSchema7 = mongoose7.Schema;
497
+ var TesterSchema = new MongooseSchema7(
498
+ {
499
+ active: { default: false, required: true, type: Boolean },
500
+ categories: [CategorySchema],
501
+ companyName: { required: true, type: String },
502
+ email: { required: true, type: String },
503
+ firstName: { required: true, type: String },
504
+ lastName: { required: true, type: String },
505
+ osType: {
506
+ enum: Object.values(EnumOSPlatform),
507
+ required: true,
508
+ type: String
509
+ },
510
+ region: { required: true, type: String },
511
+ resourceType: {
512
+ enum: Object.values(EnumResourceType),
513
+ required: true,
514
+ type: String
515
+ }
516
+ },
517
+ {
518
+ timestamps: true
519
+ }
520
+ );
521
+ var TesterModel = mongoose7.model("Tester", TesterSchema);
522
+
523
+ // src/mongoose/User.ts
524
+ import mongoose8 from "mongoose";
525
+ var MongooseSchema8 = mongoose8.Schema;
526
+ var userActivityEventSchema = new MongooseSchema8(
527
+ {
528
+ resourceId: {
529
+ ref: "Event",
530
+ required: false,
531
+ type: mongoose8.Schema.Types.ObjectId
532
+ },
533
+ startDate: { required: false, type: String },
534
+ startTime: { required: false, type: String }
535
+ },
536
+ { _id: false }
537
+ );
538
+ var userActivityFavouritesSchema = new MongooseSchema8(
539
+ {
540
+ events: {
541
+ ref: "Event",
542
+ required: false,
543
+ type: [mongoose8.Schema.Types.ObjectId]
544
+ },
545
+ vendors: {
546
+ ref: "Vendor",
547
+ required: false,
548
+ type: [mongoose8.Schema.Types.ObjectId]
549
+ }
550
+ },
551
+ { _id: false }
552
+ );
553
+ var schema4 = new MongooseSchema8(
554
+ {
555
+ active: { default: false, required: true, type: Boolean },
556
+ avatar: ResourceImageTypeSchema,
557
+ deletedAt: { default: null, required: false, type: Date },
558
+ email: { required: true, type: String },
559
+ events: {
560
+ ref: "Event",
561
+ required: false,
562
+ type: [mongoose8.Schema.Types.ObjectId]
563
+ },
564
+ firstName: { required: true, type: String },
565
+ isTester: { default: false, required: false, type: Boolean },
566
+ lastName: { required: true, type: String },
567
+ licences: {
568
+ enum: Object.values(EnumUserLicence),
569
+ required: false,
570
+ type: [String]
571
+ },
572
+ partners: {
573
+ required: false,
574
+ type: [partnersSchema]
575
+ },
576
+ password: { required: true, type: String },
577
+ platform: {
578
+ enum: Object.values(EnumOSPlatform),
579
+ required: false,
580
+ type: String
581
+ },
582
+ preferredRegion: {
583
+ required: true,
584
+ type: String
585
+ },
586
+ refreshToken: {
587
+ required: false,
588
+ type: String
589
+ },
590
+ role: {
591
+ default: "customer" /* CUSTOMER */,
592
+ enum: Object.values(EnumUserRole),
593
+ required: true,
594
+ type: String
595
+ },
596
+ termsAgreement: termsAgreementSchema,
597
+ userActivity: {
598
+ favourites: {
599
+ default: () => ({ events: [], vendors: [] }),
600
+ type: userActivityFavouritesSchema
601
+ },
602
+ going: {
603
+ events: [userActivityEventSchema]
604
+ },
605
+ interested: {
606
+ events: [userActivityEventSchema]
607
+ },
608
+ present: {
609
+ events: [userActivityEventSchema]
610
+ }
611
+ },
612
+ vendor: {
613
+ ref: "Vendor",
614
+ required: false,
615
+ type: mongoose8.Schema.Types.ObjectId
616
+ }
617
+ },
618
+ { timestamps: true }
619
+ );
620
+ schema4.index({ "partners.email": 1 });
621
+ var UserModel = mongoose8.model("User", schema4);
622
+
623
+ // src/mongoose/VerificationToken.ts
624
+ import mongoose9 from "mongoose";
625
+ var MongooseSchema9 = mongoose9.Schema;
626
+ var schema5 = new MongooseSchema9(
627
+ {
628
+ createdAt: {
629
+ default: Date.now,
630
+ expires: 24 * 60 * 60,
631
+ // 24 hours in seconds (MongoDB TTL expects seconds)
632
+ required: true,
633
+ type: Date
634
+ },
635
+ // Token expires after 1 day
636
+ email: { required: true, type: String },
637
+ verificationToken: { required: true, type: String }
638
+ },
639
+ { timestamps: true }
640
+ );
641
+ var VerificationTokenModel = mongoose9.model(
642
+ "VerificationToken",
643
+ schema5
644
+ );
645
+
646
+ // src/mongoose/vendor/Vendor.ts
647
+ import mongoose10 from "mongoose";
648
+ var MongooseSchema10 = mongoose10.Schema;
649
+ var MenuTypeSchema = new MongooseSchema10(
650
+ {
651
+ description: { required: false, type: String },
652
+ name: { required: false, type: String },
653
+ price: { required: false, type: Number },
654
+ productGroups: { required: false, type: [String] }
655
+ },
656
+ { _id: false }
657
+ // Prevents Mongoose from creating an additional _id field for subdocuments
658
+ );
659
+ var LocationsSchema = new MongooseSchema10(
660
+ {
661
+ dateTime: {
662
+ endDate: { required: false, type: String },
663
+ endTime: { required: false, type: String },
664
+ startDate: { required: false, type: String },
665
+ startTime: { required: false, type: String }
666
+ },
667
+ description: { required: false, type: String },
668
+ location: {
669
+ city: { required: false, type: String },
670
+ coordinates: {
671
+ required: false,
672
+ type: [Number]
673
+ // [longitude, latitude]
674
+ },
675
+ country: { required: false, type: String },
676
+ fullAddress: { required: false, type: String },
677
+ latitude: { required: false, type: Number },
678
+ longitude: { required: false, type: Number },
679
+ region: { required: false, type: String },
680
+ type: { required: false, type: String }
681
+ // Mongoose GeoJSON type
682
+ }
683
+ },
684
+ { _id: false }
685
+ // Prevents Mongoose from creating an additional _id field for subdocuments
686
+ );
687
+ var schema6 = new MongooseSchema10(
688
+ {
689
+ ...baseResourceFields,
690
+ // Importing base resource fields from global.ts
691
+ availability: {
692
+ corporate: { default: false, required: false, type: Boolean },
693
+ private: { default: false, required: false, type: Boolean },
694
+ school: { default: false, required: false, type: Boolean }
695
+ },
696
+ categories: [CategorySchema],
697
+ locations: [LocationsSchema],
698
+ multiLocation: { required: true, type: Boolean },
699
+ products: [MenuTypeSchema],
700
+ vendorInfoId: {
701
+ ref: "VendorInfo",
702
+ required: false,
703
+ type: mongoose10.Schema.Types.ObjectId
704
+ },
705
+ vendorType: {
706
+ enum: Object.values(EnumVendorType),
707
+ required: true,
708
+ type: String
709
+ }
710
+ },
711
+ { timestamps: true }
712
+ );
713
+ schema6.index({ name: 1 });
714
+ schema6.index({ description: 1 });
715
+ schema6.index({ region: 1 });
716
+ schema6.index({ "categories.name": 1 });
717
+ schema6.index({ "partners.email": 1 });
718
+ var VendorModel = mongoose10.model("Vendor", schema6);
719
+
720
+ // src/mongoose/vendor/VendorInfo.ts
721
+ import mongoose11 from "mongoose";
722
+ var MongooseSchema11 = mongoose11.Schema;
723
+ var AttributesSchema = new MongooseSchema11(
724
+ {
725
+ details: { required: false, type: String },
726
+ isRequired: { default: false, required: true, type: Boolean }
727
+ },
728
+ { _id: false }
729
+ );
730
+ var schema7 = new MongooseSchema11(
731
+ {
732
+ compliance: {
733
+ foodBeverageLicense: { default: false, required: false, type: Boolean },
734
+ liabilityInsurance: { default: false, required: false, type: Boolean }
735
+ },
736
+ documents: [ResourceImageTypeSchema],
737
+ product: {
738
+ foodFlavors: {
739
+ enum: Object.values(EnumFoodFlavor),
740
+ required: true,
741
+ type: [String]
742
+ },
743
+ packaging: { required: true, type: [String] },
744
+ priceRange: {
745
+ max: { required: true, type: Number },
746
+ min: { required: true, type: Number }
747
+ },
748
+ producedIn: { required: true, type: [String] }
749
+ },
750
+ requirements: {
751
+ electricity: AttributesSchema,
752
+ gazebo: AttributesSchema,
753
+ table: AttributesSchema
754
+ },
755
+ stallInfo: {
756
+ size: {
757
+ depth: { required: true, type: Number },
758
+ width: { required: true, type: Number }
759
+ }
760
+ },
761
+ vendorId: {
762
+ ref: "Vendor",
763
+ required: true,
764
+ type: mongoose11.Schema.Types.ObjectId
765
+ }
766
+ },
767
+ { timestamps: true }
768
+ );
769
+ var VendorInfoModel = mongoose11.model(
770
+ "VendorInfo",
771
+ schema7
772
+ );
773
+
774
+ // src/mongoose/event/Event.ts
775
+ import mongoose12 from "mongoose";
776
+ var MongooseSchema12 = mongoose12.Schema;
777
+ var locationsSchema = new MongooseSchema12(
778
+ {
779
+ city: { required: true, type: String },
780
+ coordinates: {
781
+ required: true,
782
+ type: [Number]
783
+ // [longitude, latitude]
784
+ },
785
+ country: { required: true, type: String },
786
+ fullAddress: { required: true, type: String },
787
+ latitude: { required: true, type: Number },
788
+ longitude: { required: true, type: Number },
789
+ region: { required: true, type: String },
790
+ type: {
791
+ default: "Point",
792
+ enum: ["Point"],
793
+ required: true,
794
+ type: String
795
+ }
796
+ },
797
+ { _id: false }
798
+ // Prevents Mongoose from creating an additional _id field for subdocuments
799
+ );
800
+ var dateTimeSchema2 = new MongooseSchema12(
801
+ {
802
+ endDate: { required: true, type: String },
803
+ endTime: { required: true, type: String },
804
+ startDate: { required: true, type: String },
805
+ startTime: { required: true, type: String }
806
+ },
807
+ { _id: false }
808
+ // Prevents Mongoose from creating an additional _id field for subdocuments
809
+ );
810
+ var schema8 = new MongooseSchema12(
811
+ {
812
+ ...baseResourceFields,
813
+ // Importing base resource fields from global.ts
814
+ dateTime: [dateTimeSchema2],
815
+ eventInfoId: {
816
+ ref: "EventInfo",
817
+ required: false,
818
+ type: mongoose12.Schema.Types.ObjectId
819
+ },
820
+ eventType: {
821
+ enum: Object.values(EnumEventType),
822
+ required: true,
823
+ type: String
824
+ },
825
+ location: {
826
+ required: true,
827
+ type: locationsSchema
828
+ },
829
+ nzbn: { required: true, type: String },
830
+ provider: { required: false, type: String },
831
+ rainOrShine: { required: true, type: Boolean },
832
+ tags: { required: true, type: [String] }
833
+ },
834
+ { timestamps: true }
835
+ );
836
+ schema8.index({ name: 1 });
837
+ schema8.index({ description: 1 });
838
+ schema8.index({ region: 1 });
839
+ schema8.index({ location: "2dsphere" });
840
+ schema8.index({ tags: 1 });
841
+ schema8.index({ "partners.email": 1 });
842
+ var EventModel = mongoose12.model("Event", schema8);
843
+ export {
844
+ CategorySchema,
845
+ ParticipantSchema,
846
+ RelationTypeSchema,
847
+ ResourceImageTypeSchema,
848
+ SocialMediaTypeSchema,
849
+ StallTypeSchema,
850
+ baseResourceFields,
851
+ partnersSchema,
852
+ relationDatesSchema,
853
+ termsAgreementSchema
854
+ };
855
+ //# sourceMappingURL=index.mjs.map