@timardex/cluemart-server-shared 1.1.26 → 1.1.28

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.
@@ -64,7 +64,6 @@ __export(mongoose_exports, {
64
64
  dateTimeSchema: () => dateTimeSchema2,
65
65
  locationGeoSchema: () => locationGeoSchema,
66
66
  locationsSchema: () => locationsSchema,
67
- productCouponSchema: () => productCouponSchema,
68
67
  refundPolicySchema: () => refundPolicySchema,
69
68
  relatedPostSchema: () => relatedPostSchema,
70
69
  relationDatesSchema: () => relationDatesSchema,
@@ -7855,6 +7854,7 @@ var COUPON_PARTICIPANT_USER_FIELDS_FRAGMENT = gql`
7855
7854
  createdAt
7856
7855
  updatedAt
7857
7856
  userId
7857
+ nickName
7858
7858
  }
7859
7859
  `;
7860
7860
  var COUPON_OPTION_FIELDS_FRAGMENT = gql`
@@ -7864,6 +7864,7 @@ var COUPON_OPTION_FIELDS_FRAGMENT = gql`
7864
7864
  get
7865
7865
  unit
7866
7866
  visits
7867
+ maxCouponCount
7867
7868
  }
7868
7869
  `;
7869
7870
  var COUPON_VENDOR_PRODUCT_FIELDS_FRAGMENT = gql`
@@ -7941,8 +7942,18 @@ var COUPON = gql`
7941
7942
  ${COUPON_DATA_FIELDS_FRAGMENT}
7942
7943
  `;
7943
7944
  var GET_COUPONS = gql`
7944
- query getCoupons($region: String, $category: String) {
7945
- coupons(region: $region, category: $category) {
7945
+ query getCoupons(
7946
+ $region: String
7947
+ $category: String
7948
+ $resourceId: String
7949
+ $resourceType: ResourceTypeEnum
7950
+ ) {
7951
+ coupons(
7952
+ region: $region
7953
+ category: $category
7954
+ resourceId: $resourceId
7955
+ resourceType: $resourceType
7956
+ ) {
7946
7957
  active {
7947
7958
  listName
7948
7959
  data {
@@ -8019,6 +8030,14 @@ var SCAN_COUPON_MUTATION = gql`
8019
8030
  }
8020
8031
  }
8021
8032
  `;
8033
+ var REWARD_COUPON_MUTATION = gql`
8034
+ mutation rewardCoupon($input: ProductCouponInputType!, $userId: ID!) {
8035
+ rewardCoupon(input: $input, userId: $userId) {
8036
+ data
8037
+ message
8038
+ }
8039
+ }
8040
+ `;
8022
8041
  var PKG = "@timardex/cluemart-shared";
8023
8042
  var IMAGE_EXTENSION = ".webp";
8024
8043
  var posterIds = [
@@ -9111,126 +9130,10 @@ var schema8 = new MongooseSchema12(
9111
9130
  var VerificationTokenModel = import_mongoose12.default.models.VerificationToken || import_mongoose12.default.model("VerificationToken", schema8);
9112
9131
 
9113
9132
  // src/mongoose/vendor/Vendor.ts
9114
- var import_mongoose14 = __toESM(require("mongoose"));
9115
-
9116
- // src/mongoose/Coupon.ts
9117
9133
  var import_mongoose13 = __toESM(require("mongoose"));
9118
9134
  var MongooseSchema13 = import_mongoose13.default.Schema;
9119
- var productCouponSchema = new MongooseSchema13(
9120
- {
9121
- couponDocumentId: {
9122
- ref: "Coupon",
9123
- required: true,
9124
- type: import_mongoose13.default.Schema.Types.ObjectId
9125
- },
9126
- couponId: {
9127
- required: true,
9128
- type: import_mongoose13.default.Schema.Types.ObjectId
9129
- }
9130
- },
9131
- { _id: false }
9132
- );
9133
- var couponOptionSchema = new MongooseSchema13(
9134
- {
9135
- buy: { required: false, type: Number },
9136
- get: { required: false, type: Number },
9137
- type: {
9138
- enum: Object.values(EnumCouponQualificationType),
9139
- required: true,
9140
- type: String
9141
- },
9142
- unit: { required: false, type: String },
9143
- visits: { required: false, type: Number }
9144
- },
9145
- { _id: false }
9146
- );
9147
- var couponVendorProductSchema = new MongooseSchema13(
9148
- {
9149
- couponId: {
9150
- required: true,
9151
- type: import_mongoose13.default.Schema.Types.ObjectId
9152
- },
9153
- productId: {
9154
- required: true,
9155
- type: import_mongoose13.default.Schema.Types.ObjectId
9156
- },
9157
- vendorCouponId: {
9158
- required: false,
9159
- type: import_mongoose13.default.Schema.Types.ObjectId
9160
- },
9161
- vendorId: {
9162
- ref: "Vendor",
9163
- required: true,
9164
- type: import_mongoose13.default.Schema.Types.ObjectId
9165
- }
9166
- },
9167
- { _id: false }
9168
- );
9169
- var couponCodeSchema = new MongooseSchema13(
9170
- {
9171
- code: { required: true, type: String },
9172
- qrCode: { required: true, type: ResourceImageTypeSchema },
9173
- shareableQrCode: { required: true, type: ResourceImageTypeSchema }
9174
- },
9175
- { _id: false }
9176
- );
9177
- var couponParticipantUserSchema = new MongooseSchema13(
9135
+ var vendorProductTypeSchema = new MongooseSchema13(
9178
9136
  {
9179
- couponCollectedCount: { default: 0, required: true, type: Number },
9180
- couponRedeemedAt: { default: null, required: false, type: Date },
9181
- userId: {
9182
- ref: "User",
9183
- required: true,
9184
- type: import_mongoose13.default.Schema.Types.ObjectId
9185
- }
9186
- },
9187
- { timestamps: true }
9188
- );
9189
- var couponDataSchema = new MongooseSchema13(
9190
- {
9191
- active: { default: true, required: true, type: Boolean },
9192
- couponCode: { required: false, type: couponCodeSchema },
9193
- couponDescription: { required: true, type: String },
9194
- couponOption: { required: true, type: couponOptionSchema },
9195
- couponVendorProducts: {
9196
- required: false,
9197
- type: [couponVendorProductSchema]
9198
- },
9199
- endDate: { required: true, type: Date },
9200
- participantUsers: {
9201
- default: null,
9202
- required: false,
9203
- type: [couponParticipantUserSchema]
9204
- },
9205
- resourceId: { required: true, type: String },
9206
- resourceType: {
9207
- enum: Object.values(EnumResourceType),
9208
- required: true,
9209
- type: String
9210
- },
9211
- startDate: { required: true, type: Date }
9212
- },
9213
- { timestamps: true }
9214
- );
9215
- var schema9 = new MongooseSchema13(
9216
- {
9217
- active: { default: true, required: true, type: Boolean },
9218
- couponData: { default: [], required: false, type: [couponDataSchema] },
9219
- deletedAt: { default: null, required: false, type: Date },
9220
- owner: {
9221
- required: true,
9222
- type: OwnerTypeSchema
9223
- }
9224
- },
9225
- { timestamps: true }
9226
- );
9227
- var CouponModel = import_mongoose13.default.models.Coupon || import_mongoose13.default.model("Coupon", schema9);
9228
-
9229
- // src/mongoose/vendor/Vendor.ts
9230
- var MongooseSchema14 = import_mongoose14.default.Schema;
9231
- var vendorProductTypeSchema = new MongooseSchema14(
9232
- {
9233
- coupon: { required: false, type: productCouponSchema },
9234
9137
  description: { required: false, type: String },
9235
9138
  name: { required: true, type: String },
9236
9139
  price: { required: true, type: Number },
@@ -9240,14 +9143,14 @@ var vendorProductTypeSchema = new MongooseSchema14(
9240
9143
  },
9241
9144
  { timestamps: true }
9242
9145
  );
9243
- var productWrapperSchema = new MongooseSchema14(
9146
+ var productWrapperSchema = new MongooseSchema13(
9244
9147
  {
9245
9148
  active: { default: false, required: false, type: Boolean },
9246
9149
  productsList: { required: false, type: [vendorProductTypeSchema] }
9247
9150
  },
9248
9151
  { _id: false }
9249
9152
  );
9250
- var calendarSchema = new MongooseSchema14(
9153
+ var calendarSchema = new MongooseSchema13(
9251
9154
  {
9252
9155
  dateTime: {
9253
9156
  dateStatus: {
@@ -9268,14 +9171,14 @@ var calendarSchema = new MongooseSchema14(
9268
9171
  },
9269
9172
  { _id: false }
9270
9173
  );
9271
- var calendarWrapperSchema = new MongooseSchema14(
9174
+ var calendarWrapperSchema = new MongooseSchema13(
9272
9175
  {
9273
9176
  active: { default: false, required: true, type: Boolean },
9274
9177
  calendarData: { required: false, type: [calendarSchema] }
9275
9178
  },
9276
9179
  { _id: false }
9277
9180
  );
9278
- var schema10 = new MongooseSchema14(
9181
+ var schema9 = new MongooseSchema13(
9279
9182
  {
9280
9183
  ...baseResourceFields,
9281
9184
  // Importing base resource fields from global.ts
@@ -9301,12 +9204,12 @@ var schema10 = new MongooseSchema14(
9301
9204
  unregisteredVendorId: {
9302
9205
  ref: "UnregisteredVendor",
9303
9206
  required: false,
9304
- type: import_mongoose14.default.Schema.Types.ObjectId
9207
+ type: import_mongoose13.default.Schema.Types.ObjectId
9305
9208
  },
9306
9209
  vendorInfoId: {
9307
9210
  ref: "VendorInfo",
9308
9211
  required: false,
9309
- type: import_mongoose14.default.Schema.Types.ObjectId
9212
+ type: import_mongoose13.default.Schema.Types.ObjectId
9310
9213
  },
9311
9214
  vendorType: {
9312
9215
  enum: Object.values(EnumVendorType),
@@ -9316,24 +9219,24 @@ var schema10 = new MongooseSchema14(
9316
9219
  },
9317
9220
  { timestamps: true }
9318
9221
  );
9319
- schema10.index({ name: 1 });
9320
- schema10.index({ description: 1 });
9321
- schema10.index({ region: 1 });
9322
- schema10.index({ "categories.name": 1 });
9323
- schema10.index({ slug: 1 });
9324
- var VendorModel = import_mongoose14.default.models.Vendor || import_mongoose14.default.model("Vendor", schema10);
9222
+ schema9.index({ name: 1 });
9223
+ schema9.index({ description: 1 });
9224
+ schema9.index({ region: 1 });
9225
+ schema9.index({ "categories.name": 1 });
9226
+ schema9.index({ slug: 1 });
9227
+ var VendorModel = import_mongoose13.default.models.Vendor || import_mongoose13.default.model("Vendor", schema9);
9325
9228
 
9326
9229
  // src/mongoose/vendor/VendorInfo.ts
9327
- var import_mongoose15 = __toESM(require("mongoose"));
9328
- var MongooseSchema15 = import_mongoose15.default.Schema;
9329
- var AttributesSchema = new MongooseSchema15(
9230
+ var import_mongoose14 = __toESM(require("mongoose"));
9231
+ var MongooseSchema14 = import_mongoose14.default.Schema;
9232
+ var AttributesSchema = new MongooseSchema14(
9330
9233
  {
9331
9234
  details: { required: false, type: String },
9332
9235
  isRequired: { default: false, required: true, type: Boolean }
9333
9236
  },
9334
9237
  { _id: false }
9335
9238
  );
9336
- var schema11 = new MongooseSchema15(
9239
+ var schema10 = new MongooseSchema14(
9337
9240
  {
9338
9241
  active: { default: true, type: Boolean },
9339
9242
  compliance: {
@@ -9368,28 +9271,28 @@ var schema11 = new MongooseSchema15(
9368
9271
  vendorId: {
9369
9272
  ref: "Vendor",
9370
9273
  required: true,
9371
- type: import_mongoose15.default.Schema.Types.ObjectId
9274
+ type: import_mongoose14.default.Schema.Types.ObjectId
9372
9275
  }
9373
9276
  },
9374
9277
  { timestamps: true }
9375
9278
  );
9376
- var VendorInfoModel = import_mongoose15.default.models.VendorInfo || import_mongoose15.default.model("VendorInfo", schema11);
9279
+ var VendorInfoModel = import_mongoose14.default.models.VendorInfo || import_mongoose14.default.model("VendorInfo", schema10);
9377
9280
 
9378
9281
  // src/mongoose/vendor/UnregisteredVendor.ts
9379
- var import_mongoose16 = __toESM(require("mongoose"));
9380
- var MongooseSchema16 = import_mongoose16.default.Schema;
9381
- var invitationSchema = new MongooseSchema16(
9282
+ var import_mongoose15 = __toESM(require("mongoose"));
9283
+ var MongooseSchema15 = import_mongoose15.default.Schema;
9284
+ var invitationSchema = new MongooseSchema15(
9382
9285
  {
9383
9286
  dateTime: { required: true, type: [dateTimeSchema2] },
9384
9287
  inviterId: {
9385
9288
  ref: "Event",
9386
9289
  required: true,
9387
- type: import_mongoose16.default.Schema.Types.ObjectId
9290
+ type: import_mongoose15.default.Schema.Types.ObjectId
9388
9291
  }
9389
9292
  },
9390
9293
  { _id: false }
9391
9294
  );
9392
- var schema12 = new MongooseSchema16(
9295
+ var schema11 = new MongooseSchema15(
9393
9296
  {
9394
9297
  active: { default: true, required: true, type: Boolean },
9395
9298
  categoryIds: { required: true, type: [String] },
@@ -9398,7 +9301,7 @@ var schema12 = new MongooseSchema16(
9398
9301
  claimedByUserId: {
9399
9302
  ref: "User",
9400
9303
  required: false,
9401
- type: import_mongoose16.default.Schema.Types.ObjectId
9304
+ type: import_mongoose15.default.Schema.Types.ObjectId
9402
9305
  },
9403
9306
  claimInitiatedAt: { default: null, required: false, type: Date },
9404
9307
  claimToken: { default: null, required: false, type: String },
@@ -9411,14 +9314,14 @@ var schema12 = new MongooseSchema16(
9411
9314
  },
9412
9315
  { timestamps: true }
9413
9316
  );
9414
- schema12.index({ name: 1 });
9415
- schema12.index({ email: 1 });
9416
- var UnregisteredVendorModel = import_mongoose16.default.models.UnregisteredVendor || import_mongoose16.default.model("UnregisteredVendor", schema12);
9317
+ schema11.index({ name: 1 });
9318
+ schema11.index({ email: 1 });
9319
+ var UnregisteredVendorModel = import_mongoose15.default.models.UnregisteredVendor || import_mongoose15.default.model("UnregisteredVendor", schema11);
9417
9320
 
9418
9321
  // src/mongoose/event/Event.ts
9419
- var import_mongoose17 = __toESM(require("mongoose"));
9420
- var MongooseSchema17 = import_mongoose17.default.Schema;
9421
- var schema13 = new MongooseSchema17(
9322
+ var import_mongoose16 = __toESM(require("mongoose"));
9323
+ var MongooseSchema16 = import_mongoose16.default.Schema;
9324
+ var schema12 = new MongooseSchema16(
9422
9325
  {
9423
9326
  ...baseResourceFields,
9424
9327
  // Importing base resource fields from global.ts
@@ -9427,7 +9330,7 @@ var schema13 = new MongooseSchema17(
9427
9330
  eventInfoId: {
9428
9331
  ref: "EventInfo",
9429
9332
  required: false,
9430
- type: import_mongoose17.default.Schema.Types.ObjectId
9333
+ type: import_mongoose16.default.Schema.Types.ObjectId
9431
9334
  },
9432
9335
  eventType: {
9433
9336
  enum: Object.values(EnumEventType),
@@ -9456,20 +9359,20 @@ var schema13 = new MongooseSchema17(
9456
9359
  },
9457
9360
  { timestamps: true }
9458
9361
  );
9459
- schema13.index({ name: 1 });
9460
- schema13.index({ description: 1 });
9461
- schema13.index({ region: 1 });
9462
- schema13.index({ "location.geo": "2dsphere" });
9463
- schema13.index({ tags: 1 });
9464
- schema13.index({ deletedAt: 1 });
9465
- schema13.index({ "dateTime.dateStatus": 1 });
9466
- schema13.index({ slug: 1 });
9467
- var EventModel = import_mongoose17.default.models.Event || import_mongoose17.default.model("Event", schema13);
9362
+ schema12.index({ name: 1 });
9363
+ schema12.index({ description: 1 });
9364
+ schema12.index({ region: 1 });
9365
+ schema12.index({ "location.geo": "2dsphere" });
9366
+ schema12.index({ tags: 1 });
9367
+ schema12.index({ deletedAt: 1 });
9368
+ schema12.index({ "dateTime.dateStatus": 1 });
9369
+ schema12.index({ slug: 1 });
9370
+ var EventModel = import_mongoose16.default.models.Event || import_mongoose16.default.model("Event", schema12);
9468
9371
 
9469
9372
  // src/mongoose/Partner.ts
9470
- var import_mongoose18 = __toESM(require("mongoose"));
9471
- var MongooseSchema18 = import_mongoose18.default.Schema;
9472
- var schema14 = new MongooseSchema18(
9373
+ var import_mongoose17 = __toESM(require("mongoose"));
9374
+ var MongooseSchema17 = import_mongoose17.default.Schema;
9375
+ var schema13 = new MongooseSchema17(
9473
9376
  {
9474
9377
  ...baseResourceFields,
9475
9378
  location: {
@@ -9485,19 +9388,19 @@ var schema14 = new MongooseSchema18(
9485
9388
  },
9486
9389
  { timestamps: true }
9487
9390
  );
9488
- schema14.index({ name: 1 });
9489
- schema14.index({ description: 1 });
9490
- schema14.index({ region: 1 });
9491
- schema14.index({ "location.geo": "2dsphere" });
9492
- schema14.index({ slug: 1 });
9493
- var PartnerModel = import_mongoose18.default.models.Partner || import_mongoose18.default.model("Partner", schema14);
9391
+ schema13.index({ name: 1 });
9392
+ schema13.index({ description: 1 });
9393
+ schema13.index({ region: 1 });
9394
+ schema13.index({ "location.geo": "2dsphere" });
9395
+ schema13.index({ slug: 1 });
9396
+ var PartnerModel = import_mongoose17.default.models.Partner || import_mongoose17.default.model("Partner", schema13);
9494
9397
 
9495
9398
  // src/mongoose/Post.ts
9496
- var import_mongoose19 = __toESM(require("mongoose"));
9497
- var MongooseSchema19 = import_mongoose19.default.Schema;
9498
- var contentSchema = new MongooseSchema19(
9399
+ var import_mongoose18 = __toESM(require("mongoose"));
9400
+ var MongooseSchema18 = import_mongoose18.default.Schema;
9401
+ var contentSchema = new MongooseSchema18(
9499
9402
  {
9500
- contentData: import_mongoose19.Schema.Types.Mixed,
9403
+ contentData: import_mongoose18.Schema.Types.Mixed,
9501
9404
  contentOrder: { required: true, type: Number },
9502
9405
  contentType: {
9503
9406
  enum: Object.values(EnumPostContentType),
@@ -9507,7 +9410,7 @@ var contentSchema = new MongooseSchema19(
9507
9410
  },
9508
9411
  { _id: false }
9509
9412
  );
9510
- var resourceSchema = new MongooseSchema19(
9413
+ var resourceSchema = new MongooseSchema18(
9511
9414
  {
9512
9415
  resourceId: { required: true, type: String },
9513
9416
  resourceRegion: { required: true, type: String },
@@ -9520,7 +9423,7 @@ var resourceSchema = new MongooseSchema19(
9520
9423
  },
9521
9424
  { _id: false }
9522
9425
  );
9523
- var schema15 = new MongooseSchema19(
9426
+ var schema14 = new MongooseSchema18(
9524
9427
  {
9525
9428
  active: { default: false, required: true, type: Boolean },
9526
9429
  approvedAt: { default: null, required: false, type: Date },
@@ -9551,16 +9454,16 @@ var schema15 = new MongooseSchema19(
9551
9454
  },
9552
9455
  { timestamps: true }
9553
9456
  );
9554
- schema15.index({ title: 1 });
9555
- schema15.index({ tags: 1 });
9556
- schema15.index({ postType: 1, slug: 1 }, { unique: true });
9557
- var PostModel = import_mongoose19.default.models.Post || import_mongoose19.default.model("Post", schema15);
9457
+ schema14.index({ title: 1 });
9458
+ schema14.index({ tags: 1 });
9459
+ schema14.index({ postType: 1, slug: 1 }, { unique: true });
9460
+ var PostModel = import_mongoose18.default.models.Post || import_mongoose18.default.model("Post", schema14);
9558
9461
 
9559
9462
  // src/mongoose/AppSetting.ts
9560
- var import_mongoose20 = __toESM(require("mongoose"));
9561
- var MongooseSchema20 = import_mongoose20.default.Schema;
9463
+ var import_mongoose19 = __toESM(require("mongoose"));
9464
+ var MongooseSchema19 = import_mongoose19.default.Schema;
9562
9465
  var APP_SETTINGS_ID = "APP_SETTINGS_DOCUMENT_ID";
9563
- var AppSettingSchema = new MongooseSchema20(
9466
+ var AppSettingSchema = new MongooseSchema19(
9564
9467
  {
9565
9468
  activeSchoolsStudentCountTotal: {
9566
9469
  default: 0,
@@ -9591,18 +9494,18 @@ var AppSettingSchema = new MongooseSchema20(
9591
9494
  },
9592
9495
  { timestamps: true }
9593
9496
  );
9594
- var AppSettingModel = import_mongoose20.default.models.AppSetting || import_mongoose20.default.model("AppSetting", AppSettingSchema);
9497
+ var AppSettingModel = import_mongoose19.default.models.AppSetting || import_mongoose19.default.model("AppSetting", AppSettingSchema);
9595
9498
 
9596
9499
  // src/mongoose/game/Game.ts
9597
- var import_mongoose24 = __toESM(require("mongoose"));
9500
+ var import_mongoose23 = __toESM(require("mongoose"));
9598
9501
 
9599
9502
  // src/mongoose/game/DailyClue.ts
9600
- var import_mongoose22 = __toESM(require("mongoose"));
9503
+ var import_mongoose21 = __toESM(require("mongoose"));
9601
9504
 
9602
9505
  // src/mongoose/game/utils.ts
9603
- var import_mongoose21 = __toESM(require("mongoose"));
9604
- var MongooseSchema21 = import_mongoose21.default.Schema;
9605
- var schemaGameDate = new MongooseSchema21(
9506
+ var import_mongoose20 = __toESM(require("mongoose"));
9507
+ var MongooseSchema20 = import_mongoose20.default.Schema;
9508
+ var schemaGameDate = new MongooseSchema20(
9606
9509
  {
9607
9510
  endDate: { required: true, type: Date },
9608
9511
  startDate: { required: true, type: Date }
@@ -9611,8 +9514,8 @@ var schemaGameDate = new MongooseSchema21(
9611
9514
  );
9612
9515
 
9613
9516
  // src/mongoose/game/DailyClue.ts
9614
- var MongooseSchema22 = import_mongoose22.default.Schema;
9615
- var schemaLetters = new MongooseSchema22(
9517
+ var MongooseSchema21 = import_mongoose21.default.Schema;
9518
+ var schemaLetters = new MongooseSchema21(
9616
9519
  {
9617
9520
  collected: { required: false, type: [String] },
9618
9521
  solutionShuffled: { required: true, type: [String] }
@@ -9620,14 +9523,14 @@ var schemaLetters = new MongooseSchema22(
9620
9523
  },
9621
9524
  { _id: false }
9622
9525
  );
9623
- var schemaDailyClueBaseGame = new MongooseSchema22(
9526
+ var schemaDailyClueBaseGame = new MongooseSchema21(
9624
9527
  {
9625
9528
  gameDate: { required: true, type: schemaGameDate },
9626
9529
  gameSolution: { required: true, type: String }
9627
9530
  },
9628
9531
  { _id: false }
9629
9532
  );
9630
- var schemaDailyClueGameData = new MongooseSchema22(
9533
+ var schemaDailyClueGameData = new MongooseSchema21(
9631
9534
  {
9632
9535
  gameFields: { required: true, type: schemaDailyClueBaseGame },
9633
9536
  lastFoundDate: { default: null, required: false, type: Date },
@@ -9642,9 +9545,9 @@ var schemaDailyClueGameData = new MongooseSchema22(
9642
9545
  );
9643
9546
 
9644
9547
  // src/mongoose/game/PuzzleGame.ts
9645
- var import_mongoose23 = __toESM(require("mongoose"));
9646
- var MongooseSchema23 = import_mongoose23.default.Schema;
9647
- var schemaPuzzleAnswer = new MongooseSchema23(
9548
+ var import_mongoose22 = __toESM(require("mongoose"));
9549
+ var MongooseSchema22 = import_mongoose22.default.Schema;
9550
+ var schemaPuzzleAnswer = new MongooseSchema22(
9648
9551
  {
9649
9552
  answer: { required: true, type: String },
9650
9553
  answerId: { required: true, type: String },
@@ -9652,7 +9555,7 @@ var schemaPuzzleAnswer = new MongooseSchema23(
9652
9555
  },
9653
9556
  { _id: false }
9654
9557
  );
9655
- var schemaPuzzleQuestion = new MongooseSchema23(
9558
+ var schemaPuzzleQuestion = new MongooseSchema22(
9656
9559
  {
9657
9560
  answers: { required: true, type: [schemaPuzzleAnswer] },
9658
9561
  question: { required: true, type: String },
@@ -9660,20 +9563,20 @@ var schemaPuzzleQuestion = new MongooseSchema23(
9660
9563
  },
9661
9564
  { _id: false }
9662
9565
  );
9663
- var schemaPuzzleBaseGame = new MongooseSchema23(
9566
+ var schemaPuzzleBaseGame = new MongooseSchema22(
9664
9567
  {
9665
9568
  questions: { required: true, type: [schemaPuzzleQuestion] }
9666
9569
  },
9667
9570
  { _id: false }
9668
9571
  );
9669
- var schemaPuzzleAnsweredQuestion = new MongooseSchema23(
9572
+ var schemaPuzzleAnsweredQuestion = new MongooseSchema22(
9670
9573
  {
9671
9574
  questionId: { required: true, type: String },
9672
9575
  selectedAnswerId: { required: true, type: String }
9673
9576
  },
9674
9577
  { _id: false }
9675
9578
  );
9676
- var schemaPuzzleGameData = new MongooseSchema23(
9579
+ var schemaPuzzleGameData = new MongooseSchema22(
9677
9580
  {
9678
9581
  answeredQuestions: {
9679
9582
  default: null,
@@ -9688,7 +9591,7 @@ var schemaPuzzleGameData = new MongooseSchema23(
9688
9591
  );
9689
9592
 
9690
9593
  // src/mongoose/game/Game.ts
9691
- var MongooseSchema24 = import_mongoose24.default.Schema;
9594
+ var MongooseSchema23 = import_mongoose23.default.Schema;
9692
9595
  var gameDataSchemas = {
9693
9596
  [EnumGameType.DAILY_CLUE]: schemaDailyClueGameData,
9694
9597
  [EnumGameType.MINI_QUIZ]: schemaPuzzleGameData,
@@ -9700,7 +9603,7 @@ var gameDataDefinition = Object.fromEntries(
9700
9603
  { default: null, required: false, type: schema19 }
9701
9604
  ])
9702
9605
  );
9703
- var gameHistorySchema = new MongooseSchema24(
9606
+ var gameHistorySchema = new MongooseSchema23(
9704
9607
  {
9705
9608
  createdAt: { required: true, type: Date },
9706
9609
  gameDate: { required: true, type: schemaGameDate },
@@ -9720,7 +9623,7 @@ var gameHistorySchema = new MongooseSchema24(
9720
9623
  },
9721
9624
  { _id: false }
9722
9625
  );
9723
- var gameTypeSchema = new MongooseSchema24(
9626
+ var gameTypeSchema = new MongooseSchema23(
9724
9627
  {
9725
9628
  active: { default: true, required: true, type: Boolean },
9726
9629
  gameData: gameDataDefinition,
@@ -9735,7 +9638,7 @@ var gameTypeSchema = new MongooseSchema24(
9735
9638
  },
9736
9639
  { timestamps: true }
9737
9640
  );
9738
- var schema16 = new MongooseSchema24(
9641
+ var schema15 = new MongooseSchema23(
9739
9642
  {
9740
9643
  active: { default: false, required: true, type: Boolean },
9741
9644
  deletedAt: { default: null, required: false, type: Date },
@@ -9748,12 +9651,12 @@ var schema16 = new MongooseSchema24(
9748
9651
  },
9749
9652
  { timestamps: true }
9750
9653
  );
9751
- var GameModel = import_mongoose24.default.models.Game || import_mongoose24.default.model("Game", schema16);
9654
+ var GameModel = import_mongoose23.default.models.Game || import_mongoose23.default.model("Game", schema15);
9752
9655
 
9753
9656
  // src/mongoose/School.ts
9754
- var import_mongoose25 = __toESM(require("mongoose"));
9755
- var MongooseSchema25 = import_mongoose25.default.Schema;
9756
- var campaignsSchema = new MongooseSchema25(
9657
+ var import_mongoose24 = __toESM(require("mongoose"));
9658
+ var MongooseSchema24 = import_mongoose24.default.Schema;
9659
+ var campaignsSchema = new MongooseSchema24(
9757
9660
  {
9758
9661
  endDate: { required: true, type: Date },
9759
9662
  name: { required: true, type: String },
@@ -9761,7 +9664,7 @@ var campaignsSchema = new MongooseSchema25(
9761
9664
  },
9762
9665
  { _id: false }
9763
9666
  );
9764
- var schema17 = new MongooseSchema25(
9667
+ var schema16 = new MongooseSchema24(
9765
9668
  {
9766
9669
  // New schools are active by default
9767
9670
  active: { default: false, required: true, type: Boolean },
@@ -9788,19 +9691,19 @@ var schema17 = new MongooseSchema25(
9788
9691
  },
9789
9692
  { timestamps: true }
9790
9693
  );
9791
- schema17.index(
9694
+ schema16.index(
9792
9695
  { schoolCode: 1 },
9793
9696
  {
9794
9697
  partialFilterExpression: { active: true, deletedAt: null },
9795
9698
  unique: true
9796
9699
  }
9797
9700
  );
9798
- var SchoolModel = import_mongoose25.default.models.School || import_mongoose25.default.model("School", schema17);
9701
+ var SchoolModel = import_mongoose24.default.models.School || import_mongoose24.default.model("School", schema16);
9799
9702
 
9800
9703
  // src/mongoose/Affiliate.ts
9801
- var import_mongoose26 = __toESM(require("mongoose"));
9802
- var MongooseSchema26 = import_mongoose26.default.Schema;
9803
- var affiliateRewardSchema = new MongooseSchema26(
9704
+ var import_mongoose25 = __toESM(require("mongoose"));
9705
+ var MongooseSchema25 = import_mongoose25.default.Schema;
9706
+ var affiliateRewardSchema = new MongooseSchema25(
9804
9707
  {
9805
9708
  createdAt: { required: true, type: Date },
9806
9709
  redeemedAt: { default: null, required: false, type: Date },
@@ -9814,13 +9717,13 @@ var affiliateRewardSchema = new MongooseSchema26(
9814
9717
  },
9815
9718
  { _id: false }
9816
9719
  );
9817
- var affiliateResourceSchema = new MongooseSchema26(
9720
+ var affiliateResourceSchema = new MongooseSchema25(
9818
9721
  {
9819
9722
  resourceActive: { default: true, required: true, type: Boolean },
9820
9723
  resourceDeletedAt: { default: null, required: false, type: Date },
9821
9724
  resourceId: {
9822
9725
  required: true,
9823
- type: import_mongoose26.default.Schema.Types.ObjectId
9726
+ type: import_mongoose25.default.Schema.Types.ObjectId
9824
9727
  },
9825
9728
  resourceName: { required: true, type: String },
9826
9729
  resourceOwner: {
@@ -9840,20 +9743,20 @@ var affiliateResourceSchema = new MongooseSchema26(
9840
9743
  },
9841
9744
  { _id: false }
9842
9745
  );
9843
- var affiliateContactDetailsSchema = new MongooseSchema26(
9746
+ var affiliateContactDetailsSchema = new MongooseSchema25(
9844
9747
  {
9845
9748
  mobilePhone: { required: true, type: String }
9846
9749
  },
9847
9750
  { _id: false }
9848
9751
  );
9849
- var affiliateBankAccountDetailsSchema = new MongooseSchema26(
9752
+ var affiliateBankAccountDetailsSchema = new MongooseSchema25(
9850
9753
  {
9851
9754
  accountHolderName: { required: true, type: String },
9852
9755
  accountNumber: { required: true, type: String }
9853
9756
  },
9854
9757
  { _id: false }
9855
9758
  );
9856
- var affiliateDetailsSchema = new MongooseSchema26(
9759
+ var affiliateDetailsSchema = new MongooseSchema25(
9857
9760
  {
9858
9761
  bankAccountDetails: {
9859
9762
  required: true,
@@ -9875,7 +9778,7 @@ var affiliateDetailsSchema = new MongooseSchema26(
9875
9778
  },
9876
9779
  { _id: false }
9877
9780
  );
9878
- var redeemHistorySchema = new MongooseSchema26(
9781
+ var redeemHistorySchema = new MongooseSchema25(
9879
9782
  {
9880
9783
  paidAt: { default: null, required: false, type: Date },
9881
9784
  redeemedAt: { required: true, type: Date },
@@ -9883,7 +9786,7 @@ var redeemHistorySchema = new MongooseSchema26(
9883
9786
  },
9884
9787
  { _id: false }
9885
9788
  );
9886
- var schema18 = new MongooseSchema26(
9789
+ var schema17 = new MongooseSchema25(
9887
9790
  {
9888
9791
  active: { default: false, required: true, type: Boolean },
9889
9792
  affiliateBonusRewards: {
@@ -9913,14 +9816,114 @@ var schema18 = new MongooseSchema26(
9913
9816
  },
9914
9817
  { timestamps: true }
9915
9818
  );
9916
- schema18.index(
9819
+ schema17.index(
9917
9820
  { affiliateCode: 1 },
9918
9821
  {
9919
9822
  partialFilterExpression: { active: true, deletedAt: null },
9920
9823
  unique: true
9921
9824
  }
9922
9825
  );
9923
- var AffiliateModel = import_mongoose26.default.models.Affiliate || import_mongoose26.default.model("Affiliate", schema18);
9826
+ var AffiliateModel = import_mongoose25.default.models.Affiliate || import_mongoose25.default.model("Affiliate", schema17);
9827
+
9828
+ // src/mongoose/Coupon.ts
9829
+ var import_mongoose26 = __toESM(require("mongoose"));
9830
+ var MongooseSchema26 = import_mongoose26.default.Schema;
9831
+ var couponOptionSchema = new MongooseSchema26(
9832
+ {
9833
+ buy: { required: false, type: Number },
9834
+ get: { required: false, type: Number },
9835
+ maxCouponCount: { required: false, type: Number },
9836
+ type: {
9837
+ enum: Object.values(EnumCouponQualificationType),
9838
+ required: true,
9839
+ type: String
9840
+ },
9841
+ unit: { required: false, type: String },
9842
+ visits: { required: false, type: Number }
9843
+ },
9844
+ { _id: false }
9845
+ );
9846
+ var couponVendorProductSchema = new MongooseSchema26(
9847
+ {
9848
+ couponId: {
9849
+ required: true,
9850
+ type: import_mongoose26.default.Schema.Types.ObjectId
9851
+ },
9852
+ productId: {
9853
+ required: true,
9854
+ type: import_mongoose26.default.Schema.Types.ObjectId
9855
+ },
9856
+ vendorCouponId: {
9857
+ required: false,
9858
+ type: import_mongoose26.default.Schema.Types.ObjectId
9859
+ },
9860
+ vendorId: {
9861
+ ref: "Vendor",
9862
+ required: true,
9863
+ type: import_mongoose26.default.Schema.Types.ObjectId
9864
+ }
9865
+ },
9866
+ { _id: false }
9867
+ );
9868
+ var couponCodeSchema = new MongooseSchema26(
9869
+ {
9870
+ code: { required: true, type: String },
9871
+ qrCode: { required: true, type: ResourceImageTypeSchema },
9872
+ shareableQrCode: { required: true, type: ResourceImageTypeSchema }
9873
+ },
9874
+ { _id: false }
9875
+ );
9876
+ var couponParticipantUserSchema = new MongooseSchema26(
9877
+ {
9878
+ couponCollectedCount: { default: 0, required: true, type: Number },
9879
+ couponRedeemedAt: { default: null, required: false, type: Date },
9880
+ userId: {
9881
+ ref: "User",
9882
+ required: true,
9883
+ type: import_mongoose26.default.Schema.Types.ObjectId
9884
+ }
9885
+ },
9886
+ { timestamps: true }
9887
+ );
9888
+ var couponDataSchema = new MongooseSchema26(
9889
+ {
9890
+ active: { default: true, required: true, type: Boolean },
9891
+ couponCode: { required: false, type: couponCodeSchema },
9892
+ couponDescription: { required: true, type: String },
9893
+ couponOption: { required: true, type: couponOptionSchema },
9894
+ couponVendorProducts: {
9895
+ required: false,
9896
+ type: [couponVendorProductSchema]
9897
+ },
9898
+ endDate: { required: true, type: Date },
9899
+ participantUsers: {
9900
+ default: null,
9901
+ required: false,
9902
+ type: [couponParticipantUserSchema]
9903
+ },
9904
+ resourceId: { required: true, type: String },
9905
+ resourceType: {
9906
+ enum: Object.values(EnumResourceType),
9907
+ required: true,
9908
+ type: String
9909
+ },
9910
+ startDate: { required: true, type: Date }
9911
+ },
9912
+ { timestamps: true }
9913
+ );
9914
+ var schema18 = new MongooseSchema26(
9915
+ {
9916
+ active: { default: true, required: true, type: Boolean },
9917
+ couponData: { default: [], required: false, type: [couponDataSchema] },
9918
+ deletedAt: { default: null, required: false, type: Date },
9919
+ owner: {
9920
+ required: true,
9921
+ type: OwnerTypeSchema
9922
+ }
9923
+ },
9924
+ { timestamps: true }
9925
+ );
9926
+ var CouponModel = import_mongoose26.default.models.Coupon || import_mongoose26.default.model("Coupon", schema18);
9924
9927
  // Annotate the CommonJS export names for ESM import in node:
9925
9928
  0 && (module.exports = {
9926
9929
  APP_SETTINGS_ID,
@@ -9957,7 +9960,6 @@ var AffiliateModel = import_mongoose26.default.models.Affiliate || import_mongoo
9957
9960
  dateTimeSchema,
9958
9961
  locationGeoSchema,
9959
9962
  locationsSchema,
9960
- productCouponSchema,
9961
9963
  refundPolicySchema,
9962
9964
  relatedPostSchema,
9963
9965
  relationDatesSchema,