@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.
@@ -7839,6 +7839,7 @@ var COUPON_PARTICIPANT_USER_FIELDS_FRAGMENT = gql`
7839
7839
  createdAt
7840
7840
  updatedAt
7841
7841
  userId
7842
+ nickName
7842
7843
  }
7843
7844
  `;
7844
7845
  var COUPON_OPTION_FIELDS_FRAGMENT = gql`
@@ -7848,6 +7849,7 @@ var COUPON_OPTION_FIELDS_FRAGMENT = gql`
7848
7849
  get
7849
7850
  unit
7850
7851
  visits
7852
+ maxCouponCount
7851
7853
  }
7852
7854
  `;
7853
7855
  var COUPON_VENDOR_PRODUCT_FIELDS_FRAGMENT = gql`
@@ -7925,8 +7927,18 @@ var COUPON = gql`
7925
7927
  ${COUPON_DATA_FIELDS_FRAGMENT}
7926
7928
  `;
7927
7929
  var GET_COUPONS = gql`
7928
- query getCoupons($region: String, $category: String) {
7929
- coupons(region: $region, category: $category) {
7930
+ query getCoupons(
7931
+ $region: String
7932
+ $category: String
7933
+ $resourceId: String
7934
+ $resourceType: ResourceTypeEnum
7935
+ ) {
7936
+ coupons(
7937
+ region: $region
7938
+ category: $category
7939
+ resourceId: $resourceId
7940
+ resourceType: $resourceType
7941
+ ) {
7930
7942
  active {
7931
7943
  listName
7932
7944
  data {
@@ -8003,6 +8015,14 @@ var SCAN_COUPON_MUTATION = gql`
8003
8015
  }
8004
8016
  }
8005
8017
  `;
8018
+ var REWARD_COUPON_MUTATION = gql`
8019
+ mutation rewardCoupon($input: ProductCouponInputType!, $userId: ID!) {
8020
+ rewardCoupon(input: $input, userId: $userId) {
8021
+ data
8022
+ message
8023
+ }
8024
+ }
8025
+ `;
8006
8026
  var PKG = "@timardex/cluemart-shared";
8007
8027
  var IMAGE_EXTENSION = ".webp";
8008
8028
  var posterIds = [
@@ -9164,126 +9184,10 @@ var schema8 = new MongooseSchema12(
9164
9184
  var VerificationTokenModel = import_mongoose12.default.models.VerificationToken || import_mongoose12.default.model("VerificationToken", schema8);
9165
9185
 
9166
9186
  // src/mongoose/vendor/Vendor.ts
9167
- var import_mongoose14 = __toESM(require("mongoose"));
9168
-
9169
- // src/mongoose/Coupon.ts
9170
9187
  var import_mongoose13 = __toESM(require("mongoose"));
9171
9188
  var MongooseSchema13 = import_mongoose13.default.Schema;
9172
- var productCouponSchema = new MongooseSchema13(
9173
- {
9174
- couponDocumentId: {
9175
- ref: "Coupon",
9176
- required: true,
9177
- type: import_mongoose13.default.Schema.Types.ObjectId
9178
- },
9179
- couponId: {
9180
- required: true,
9181
- type: import_mongoose13.default.Schema.Types.ObjectId
9182
- }
9183
- },
9184
- { _id: false }
9185
- );
9186
- var couponOptionSchema = new MongooseSchema13(
9187
- {
9188
- buy: { required: false, type: Number },
9189
- get: { required: false, type: Number },
9190
- type: {
9191
- enum: Object.values(EnumCouponQualificationType),
9192
- required: true,
9193
- type: String
9194
- },
9195
- unit: { required: false, type: String },
9196
- visits: { required: false, type: Number }
9197
- },
9198
- { _id: false }
9199
- );
9200
- var couponVendorProductSchema = new MongooseSchema13(
9201
- {
9202
- couponId: {
9203
- required: true,
9204
- type: import_mongoose13.default.Schema.Types.ObjectId
9205
- },
9206
- productId: {
9207
- required: true,
9208
- type: import_mongoose13.default.Schema.Types.ObjectId
9209
- },
9210
- vendorCouponId: {
9211
- required: false,
9212
- type: import_mongoose13.default.Schema.Types.ObjectId
9213
- },
9214
- vendorId: {
9215
- ref: "Vendor",
9216
- required: true,
9217
- type: import_mongoose13.default.Schema.Types.ObjectId
9218
- }
9219
- },
9220
- { _id: false }
9221
- );
9222
- var couponCodeSchema = new MongooseSchema13(
9223
- {
9224
- code: { required: true, type: String },
9225
- qrCode: { required: true, type: ResourceImageTypeSchema },
9226
- shareableQrCode: { required: true, type: ResourceImageTypeSchema }
9227
- },
9228
- { _id: false }
9229
- );
9230
- var couponParticipantUserSchema = new MongooseSchema13(
9189
+ var vendorProductTypeSchema = new MongooseSchema13(
9231
9190
  {
9232
- couponCollectedCount: { default: 0, required: true, type: Number },
9233
- couponRedeemedAt: { default: null, required: false, type: Date },
9234
- userId: {
9235
- ref: "User",
9236
- required: true,
9237
- type: import_mongoose13.default.Schema.Types.ObjectId
9238
- }
9239
- },
9240
- { timestamps: true }
9241
- );
9242
- var couponDataSchema = new MongooseSchema13(
9243
- {
9244
- active: { default: true, required: true, type: Boolean },
9245
- couponCode: { required: false, type: couponCodeSchema },
9246
- couponDescription: { required: true, type: String },
9247
- couponOption: { required: true, type: couponOptionSchema },
9248
- couponVendorProducts: {
9249
- required: false,
9250
- type: [couponVendorProductSchema]
9251
- },
9252
- endDate: { required: true, type: Date },
9253
- participantUsers: {
9254
- default: null,
9255
- required: false,
9256
- type: [couponParticipantUserSchema]
9257
- },
9258
- resourceId: { required: true, type: String },
9259
- resourceType: {
9260
- enum: Object.values(EnumResourceType),
9261
- required: true,
9262
- type: String
9263
- },
9264
- startDate: { required: true, type: Date }
9265
- },
9266
- { timestamps: true }
9267
- );
9268
- var schema9 = new MongooseSchema13(
9269
- {
9270
- active: { default: true, required: true, type: Boolean },
9271
- couponData: { default: [], required: false, type: [couponDataSchema] },
9272
- deletedAt: { default: null, required: false, type: Date },
9273
- owner: {
9274
- required: true,
9275
- type: OwnerTypeSchema
9276
- }
9277
- },
9278
- { timestamps: true }
9279
- );
9280
- var CouponModel = import_mongoose13.default.models.Coupon || import_mongoose13.default.model("Coupon", schema9);
9281
-
9282
- // src/mongoose/vendor/Vendor.ts
9283
- var MongooseSchema14 = import_mongoose14.default.Schema;
9284
- var vendorProductTypeSchema = new MongooseSchema14(
9285
- {
9286
- coupon: { required: false, type: productCouponSchema },
9287
9191
  description: { required: false, type: String },
9288
9192
  name: { required: true, type: String },
9289
9193
  price: { required: true, type: Number },
@@ -9293,14 +9197,14 @@ var vendorProductTypeSchema = new MongooseSchema14(
9293
9197
  },
9294
9198
  { timestamps: true }
9295
9199
  );
9296
- var productWrapperSchema = new MongooseSchema14(
9200
+ var productWrapperSchema = new MongooseSchema13(
9297
9201
  {
9298
9202
  active: { default: false, required: false, type: Boolean },
9299
9203
  productsList: { required: false, type: [vendorProductTypeSchema] }
9300
9204
  },
9301
9205
  { _id: false }
9302
9206
  );
9303
- var calendarSchema = new MongooseSchema14(
9207
+ var calendarSchema = new MongooseSchema13(
9304
9208
  {
9305
9209
  dateTime: {
9306
9210
  dateStatus: {
@@ -9321,14 +9225,14 @@ var calendarSchema = new MongooseSchema14(
9321
9225
  },
9322
9226
  { _id: false }
9323
9227
  );
9324
- var calendarWrapperSchema = new MongooseSchema14(
9228
+ var calendarWrapperSchema = new MongooseSchema13(
9325
9229
  {
9326
9230
  active: { default: false, required: true, type: Boolean },
9327
9231
  calendarData: { required: false, type: [calendarSchema] }
9328
9232
  },
9329
9233
  { _id: false }
9330
9234
  );
9331
- var schema10 = new MongooseSchema14(
9235
+ var schema9 = new MongooseSchema13(
9332
9236
  {
9333
9237
  ...baseResourceFields,
9334
9238
  // Importing base resource fields from global.ts
@@ -9354,12 +9258,12 @@ var schema10 = new MongooseSchema14(
9354
9258
  unregisteredVendorId: {
9355
9259
  ref: "UnregisteredVendor",
9356
9260
  required: false,
9357
- type: import_mongoose14.default.Schema.Types.ObjectId
9261
+ type: import_mongoose13.default.Schema.Types.ObjectId
9358
9262
  },
9359
9263
  vendorInfoId: {
9360
9264
  ref: "VendorInfo",
9361
9265
  required: false,
9362
- type: import_mongoose14.default.Schema.Types.ObjectId
9266
+ type: import_mongoose13.default.Schema.Types.ObjectId
9363
9267
  },
9364
9268
  vendorType: {
9365
9269
  enum: Object.values(EnumVendorType),
@@ -9369,24 +9273,24 @@ var schema10 = new MongooseSchema14(
9369
9273
  },
9370
9274
  { timestamps: true }
9371
9275
  );
9372
- schema10.index({ name: 1 });
9373
- schema10.index({ description: 1 });
9374
- schema10.index({ region: 1 });
9375
- schema10.index({ "categories.name": 1 });
9376
- schema10.index({ slug: 1 });
9377
- var VendorModel = import_mongoose14.default.models.Vendor || import_mongoose14.default.model("Vendor", schema10);
9276
+ schema9.index({ name: 1 });
9277
+ schema9.index({ description: 1 });
9278
+ schema9.index({ region: 1 });
9279
+ schema9.index({ "categories.name": 1 });
9280
+ schema9.index({ slug: 1 });
9281
+ var VendorModel = import_mongoose13.default.models.Vendor || import_mongoose13.default.model("Vendor", schema9);
9378
9282
 
9379
9283
  // src/mongoose/vendor/VendorInfo.ts
9380
- var import_mongoose15 = __toESM(require("mongoose"));
9381
- var MongooseSchema15 = import_mongoose15.default.Schema;
9382
- var AttributesSchema = new MongooseSchema15(
9284
+ var import_mongoose14 = __toESM(require("mongoose"));
9285
+ var MongooseSchema14 = import_mongoose14.default.Schema;
9286
+ var AttributesSchema = new MongooseSchema14(
9383
9287
  {
9384
9288
  details: { required: false, type: String },
9385
9289
  isRequired: { default: false, required: true, type: Boolean }
9386
9290
  },
9387
9291
  { _id: false }
9388
9292
  );
9389
- var schema11 = new MongooseSchema15(
9293
+ var schema10 = new MongooseSchema14(
9390
9294
  {
9391
9295
  active: { default: true, type: Boolean },
9392
9296
  compliance: {
@@ -9421,28 +9325,28 @@ var schema11 = new MongooseSchema15(
9421
9325
  vendorId: {
9422
9326
  ref: "Vendor",
9423
9327
  required: true,
9424
- type: import_mongoose15.default.Schema.Types.ObjectId
9328
+ type: import_mongoose14.default.Schema.Types.ObjectId
9425
9329
  }
9426
9330
  },
9427
9331
  { timestamps: true }
9428
9332
  );
9429
- var VendorInfoModel = import_mongoose15.default.models.VendorInfo || import_mongoose15.default.model("VendorInfo", schema11);
9333
+ var VendorInfoModel = import_mongoose14.default.models.VendorInfo || import_mongoose14.default.model("VendorInfo", schema10);
9430
9334
 
9431
9335
  // src/mongoose/vendor/UnregisteredVendor.ts
9432
- var import_mongoose16 = __toESM(require("mongoose"));
9433
- var MongooseSchema16 = import_mongoose16.default.Schema;
9434
- var invitationSchema = new MongooseSchema16(
9336
+ var import_mongoose15 = __toESM(require("mongoose"));
9337
+ var MongooseSchema15 = import_mongoose15.default.Schema;
9338
+ var invitationSchema = new MongooseSchema15(
9435
9339
  {
9436
9340
  dateTime: { required: true, type: [dateTimeSchema2] },
9437
9341
  inviterId: {
9438
9342
  ref: "Event",
9439
9343
  required: true,
9440
- type: import_mongoose16.default.Schema.Types.ObjectId
9344
+ type: import_mongoose15.default.Schema.Types.ObjectId
9441
9345
  }
9442
9346
  },
9443
9347
  { _id: false }
9444
9348
  );
9445
- var schema12 = new MongooseSchema16(
9349
+ var schema11 = new MongooseSchema15(
9446
9350
  {
9447
9351
  active: { default: true, required: true, type: Boolean },
9448
9352
  categoryIds: { required: true, type: [String] },
@@ -9451,7 +9355,7 @@ var schema12 = new MongooseSchema16(
9451
9355
  claimedByUserId: {
9452
9356
  ref: "User",
9453
9357
  required: false,
9454
- type: import_mongoose16.default.Schema.Types.ObjectId
9358
+ type: import_mongoose15.default.Schema.Types.ObjectId
9455
9359
  },
9456
9360
  claimInitiatedAt: { default: null, required: false, type: Date },
9457
9361
  claimToken: { default: null, required: false, type: String },
@@ -9464,14 +9368,14 @@ var schema12 = new MongooseSchema16(
9464
9368
  },
9465
9369
  { timestamps: true }
9466
9370
  );
9467
- schema12.index({ name: 1 });
9468
- schema12.index({ email: 1 });
9469
- var UnregisteredVendorModel = import_mongoose16.default.models.UnregisteredVendor || import_mongoose16.default.model("UnregisteredVendor", schema12);
9371
+ schema11.index({ name: 1 });
9372
+ schema11.index({ email: 1 });
9373
+ var UnregisteredVendorModel = import_mongoose15.default.models.UnregisteredVendor || import_mongoose15.default.model("UnregisteredVendor", schema11);
9470
9374
 
9471
9375
  // src/mongoose/event/Event.ts
9472
- var import_mongoose17 = __toESM(require("mongoose"));
9473
- var MongooseSchema17 = import_mongoose17.default.Schema;
9474
- var schema13 = new MongooseSchema17(
9376
+ var import_mongoose16 = __toESM(require("mongoose"));
9377
+ var MongooseSchema16 = import_mongoose16.default.Schema;
9378
+ var schema12 = new MongooseSchema16(
9475
9379
  {
9476
9380
  ...baseResourceFields,
9477
9381
  // Importing base resource fields from global.ts
@@ -9480,7 +9384,7 @@ var schema13 = new MongooseSchema17(
9480
9384
  eventInfoId: {
9481
9385
  ref: "EventInfo",
9482
9386
  required: false,
9483
- type: import_mongoose17.default.Schema.Types.ObjectId
9387
+ type: import_mongoose16.default.Schema.Types.ObjectId
9484
9388
  },
9485
9389
  eventType: {
9486
9390
  enum: Object.values(EnumEventType),
@@ -9509,20 +9413,20 @@ var schema13 = new MongooseSchema17(
9509
9413
  },
9510
9414
  { timestamps: true }
9511
9415
  );
9512
- schema13.index({ name: 1 });
9513
- schema13.index({ description: 1 });
9514
- schema13.index({ region: 1 });
9515
- schema13.index({ "location.geo": "2dsphere" });
9516
- schema13.index({ tags: 1 });
9517
- schema13.index({ deletedAt: 1 });
9518
- schema13.index({ "dateTime.dateStatus": 1 });
9519
- schema13.index({ slug: 1 });
9520
- var EventModel = import_mongoose17.default.models.Event || import_mongoose17.default.model("Event", schema13);
9416
+ schema12.index({ name: 1 });
9417
+ schema12.index({ description: 1 });
9418
+ schema12.index({ region: 1 });
9419
+ schema12.index({ "location.geo": "2dsphere" });
9420
+ schema12.index({ tags: 1 });
9421
+ schema12.index({ deletedAt: 1 });
9422
+ schema12.index({ "dateTime.dateStatus": 1 });
9423
+ schema12.index({ slug: 1 });
9424
+ var EventModel = import_mongoose16.default.models.Event || import_mongoose16.default.model("Event", schema12);
9521
9425
 
9522
9426
  // src/mongoose/Partner.ts
9523
- var import_mongoose18 = __toESM(require("mongoose"));
9524
- var MongooseSchema18 = import_mongoose18.default.Schema;
9525
- var schema14 = new MongooseSchema18(
9427
+ var import_mongoose17 = __toESM(require("mongoose"));
9428
+ var MongooseSchema17 = import_mongoose17.default.Schema;
9429
+ var schema13 = new MongooseSchema17(
9526
9430
  {
9527
9431
  ...baseResourceFields,
9528
9432
  location: {
@@ -9538,19 +9442,19 @@ var schema14 = new MongooseSchema18(
9538
9442
  },
9539
9443
  { timestamps: true }
9540
9444
  );
9541
- schema14.index({ name: 1 });
9542
- schema14.index({ description: 1 });
9543
- schema14.index({ region: 1 });
9544
- schema14.index({ "location.geo": "2dsphere" });
9545
- schema14.index({ slug: 1 });
9546
- var PartnerModel = import_mongoose18.default.models.Partner || import_mongoose18.default.model("Partner", schema14);
9445
+ schema13.index({ name: 1 });
9446
+ schema13.index({ description: 1 });
9447
+ schema13.index({ region: 1 });
9448
+ schema13.index({ "location.geo": "2dsphere" });
9449
+ schema13.index({ slug: 1 });
9450
+ var PartnerModel = import_mongoose17.default.models.Partner || import_mongoose17.default.model("Partner", schema13);
9547
9451
 
9548
9452
  // src/mongoose/Post.ts
9549
- var import_mongoose19 = __toESM(require("mongoose"));
9550
- var MongooseSchema19 = import_mongoose19.default.Schema;
9551
- var contentSchema = new MongooseSchema19(
9453
+ var import_mongoose18 = __toESM(require("mongoose"));
9454
+ var MongooseSchema18 = import_mongoose18.default.Schema;
9455
+ var contentSchema = new MongooseSchema18(
9552
9456
  {
9553
- contentData: import_mongoose19.Schema.Types.Mixed,
9457
+ contentData: import_mongoose18.Schema.Types.Mixed,
9554
9458
  contentOrder: { required: true, type: Number },
9555
9459
  contentType: {
9556
9460
  enum: Object.values(EnumPostContentType),
@@ -9560,7 +9464,7 @@ var contentSchema = new MongooseSchema19(
9560
9464
  },
9561
9465
  { _id: false }
9562
9466
  );
9563
- var resourceSchema = new MongooseSchema19(
9467
+ var resourceSchema = new MongooseSchema18(
9564
9468
  {
9565
9469
  resourceId: { required: true, type: String },
9566
9470
  resourceRegion: { required: true, type: String },
@@ -9573,7 +9477,7 @@ var resourceSchema = new MongooseSchema19(
9573
9477
  },
9574
9478
  { _id: false }
9575
9479
  );
9576
- var schema15 = new MongooseSchema19(
9480
+ var schema14 = new MongooseSchema18(
9577
9481
  {
9578
9482
  active: { default: false, required: true, type: Boolean },
9579
9483
  approvedAt: { default: null, required: false, type: Date },
@@ -9604,16 +9508,16 @@ var schema15 = new MongooseSchema19(
9604
9508
  },
9605
9509
  { timestamps: true }
9606
9510
  );
9607
- schema15.index({ title: 1 });
9608
- schema15.index({ tags: 1 });
9609
- schema15.index({ postType: 1, slug: 1 }, { unique: true });
9610
- var PostModel = import_mongoose19.default.models.Post || import_mongoose19.default.model("Post", schema15);
9511
+ schema14.index({ title: 1 });
9512
+ schema14.index({ tags: 1 });
9513
+ schema14.index({ postType: 1, slug: 1 }, { unique: true });
9514
+ var PostModel = import_mongoose18.default.models.Post || import_mongoose18.default.model("Post", schema14);
9611
9515
 
9612
9516
  // src/mongoose/AppSetting.ts
9613
- var import_mongoose20 = __toESM(require("mongoose"));
9614
- var MongooseSchema20 = import_mongoose20.default.Schema;
9517
+ var import_mongoose19 = __toESM(require("mongoose"));
9518
+ var MongooseSchema19 = import_mongoose19.default.Schema;
9615
9519
  var APP_SETTINGS_ID = "APP_SETTINGS_DOCUMENT_ID";
9616
- var AppSettingSchema = new MongooseSchema20(
9520
+ var AppSettingSchema = new MongooseSchema19(
9617
9521
  {
9618
9522
  activeSchoolsStudentCountTotal: {
9619
9523
  default: 0,
@@ -9644,18 +9548,18 @@ var AppSettingSchema = new MongooseSchema20(
9644
9548
  },
9645
9549
  { timestamps: true }
9646
9550
  );
9647
- var AppSettingModel = import_mongoose20.default.models.AppSetting || import_mongoose20.default.model("AppSetting", AppSettingSchema);
9551
+ var AppSettingModel = import_mongoose19.default.models.AppSetting || import_mongoose19.default.model("AppSetting", AppSettingSchema);
9648
9552
 
9649
9553
  // src/mongoose/game/Game.ts
9650
- var import_mongoose24 = __toESM(require("mongoose"));
9554
+ var import_mongoose23 = __toESM(require("mongoose"));
9651
9555
 
9652
9556
  // src/mongoose/game/DailyClue.ts
9653
- var import_mongoose22 = __toESM(require("mongoose"));
9557
+ var import_mongoose21 = __toESM(require("mongoose"));
9654
9558
 
9655
9559
  // src/mongoose/game/utils.ts
9656
- var import_mongoose21 = __toESM(require("mongoose"));
9657
- var MongooseSchema21 = import_mongoose21.default.Schema;
9658
- var schemaGameDate = new MongooseSchema21(
9560
+ var import_mongoose20 = __toESM(require("mongoose"));
9561
+ var MongooseSchema20 = import_mongoose20.default.Schema;
9562
+ var schemaGameDate = new MongooseSchema20(
9659
9563
  {
9660
9564
  endDate: { required: true, type: Date },
9661
9565
  startDate: { required: true, type: Date }
@@ -9664,8 +9568,8 @@ var schemaGameDate = new MongooseSchema21(
9664
9568
  );
9665
9569
 
9666
9570
  // src/mongoose/game/DailyClue.ts
9667
- var MongooseSchema22 = import_mongoose22.default.Schema;
9668
- var schemaLetters = new MongooseSchema22(
9571
+ var MongooseSchema21 = import_mongoose21.default.Schema;
9572
+ var schemaLetters = new MongooseSchema21(
9669
9573
  {
9670
9574
  collected: { required: false, type: [String] },
9671
9575
  solutionShuffled: { required: true, type: [String] }
@@ -9673,14 +9577,14 @@ var schemaLetters = new MongooseSchema22(
9673
9577
  },
9674
9578
  { _id: false }
9675
9579
  );
9676
- var schemaDailyClueBaseGame = new MongooseSchema22(
9580
+ var schemaDailyClueBaseGame = new MongooseSchema21(
9677
9581
  {
9678
9582
  gameDate: { required: true, type: schemaGameDate },
9679
9583
  gameSolution: { required: true, type: String }
9680
9584
  },
9681
9585
  { _id: false }
9682
9586
  );
9683
- var schemaDailyClueGameData = new MongooseSchema22(
9587
+ var schemaDailyClueGameData = new MongooseSchema21(
9684
9588
  {
9685
9589
  gameFields: { required: true, type: schemaDailyClueBaseGame },
9686
9590
  lastFoundDate: { default: null, required: false, type: Date },
@@ -9695,9 +9599,9 @@ var schemaDailyClueGameData = new MongooseSchema22(
9695
9599
  );
9696
9600
 
9697
9601
  // src/mongoose/game/PuzzleGame.ts
9698
- var import_mongoose23 = __toESM(require("mongoose"));
9699
- var MongooseSchema23 = import_mongoose23.default.Schema;
9700
- var schemaPuzzleAnswer = new MongooseSchema23(
9602
+ var import_mongoose22 = __toESM(require("mongoose"));
9603
+ var MongooseSchema22 = import_mongoose22.default.Schema;
9604
+ var schemaPuzzleAnswer = new MongooseSchema22(
9701
9605
  {
9702
9606
  answer: { required: true, type: String },
9703
9607
  answerId: { required: true, type: String },
@@ -9705,7 +9609,7 @@ var schemaPuzzleAnswer = new MongooseSchema23(
9705
9609
  },
9706
9610
  { _id: false }
9707
9611
  );
9708
- var schemaPuzzleQuestion = new MongooseSchema23(
9612
+ var schemaPuzzleQuestion = new MongooseSchema22(
9709
9613
  {
9710
9614
  answers: { required: true, type: [schemaPuzzleAnswer] },
9711
9615
  question: { required: true, type: String },
@@ -9713,20 +9617,20 @@ var schemaPuzzleQuestion = new MongooseSchema23(
9713
9617
  },
9714
9618
  { _id: false }
9715
9619
  );
9716
- var schemaPuzzleBaseGame = new MongooseSchema23(
9620
+ var schemaPuzzleBaseGame = new MongooseSchema22(
9717
9621
  {
9718
9622
  questions: { required: true, type: [schemaPuzzleQuestion] }
9719
9623
  },
9720
9624
  { _id: false }
9721
9625
  );
9722
- var schemaPuzzleAnsweredQuestion = new MongooseSchema23(
9626
+ var schemaPuzzleAnsweredQuestion = new MongooseSchema22(
9723
9627
  {
9724
9628
  questionId: { required: true, type: String },
9725
9629
  selectedAnswerId: { required: true, type: String }
9726
9630
  },
9727
9631
  { _id: false }
9728
9632
  );
9729
- var schemaPuzzleGameData = new MongooseSchema23(
9633
+ var schemaPuzzleGameData = new MongooseSchema22(
9730
9634
  {
9731
9635
  answeredQuestions: {
9732
9636
  default: null,
@@ -9741,7 +9645,7 @@ var schemaPuzzleGameData = new MongooseSchema23(
9741
9645
  );
9742
9646
 
9743
9647
  // src/mongoose/game/Game.ts
9744
- var MongooseSchema24 = import_mongoose24.default.Schema;
9648
+ var MongooseSchema23 = import_mongoose23.default.Schema;
9745
9649
  var gameDataSchemas = {
9746
9650
  [EnumGameType.DAILY_CLUE]: schemaDailyClueGameData,
9747
9651
  [EnumGameType.MINI_QUIZ]: schemaPuzzleGameData,
@@ -9753,7 +9657,7 @@ var gameDataDefinition = Object.fromEntries(
9753
9657
  { default: null, required: false, type: schema19 }
9754
9658
  ])
9755
9659
  );
9756
- var gameHistorySchema = new MongooseSchema24(
9660
+ var gameHistorySchema = new MongooseSchema23(
9757
9661
  {
9758
9662
  createdAt: { required: true, type: Date },
9759
9663
  gameDate: { required: true, type: schemaGameDate },
@@ -9773,7 +9677,7 @@ var gameHistorySchema = new MongooseSchema24(
9773
9677
  },
9774
9678
  { _id: false }
9775
9679
  );
9776
- var gameTypeSchema = new MongooseSchema24(
9680
+ var gameTypeSchema = new MongooseSchema23(
9777
9681
  {
9778
9682
  active: { default: true, required: true, type: Boolean },
9779
9683
  gameData: gameDataDefinition,
@@ -9788,7 +9692,7 @@ var gameTypeSchema = new MongooseSchema24(
9788
9692
  },
9789
9693
  { timestamps: true }
9790
9694
  );
9791
- var schema16 = new MongooseSchema24(
9695
+ var schema15 = new MongooseSchema23(
9792
9696
  {
9793
9697
  active: { default: false, required: true, type: Boolean },
9794
9698
  deletedAt: { default: null, required: false, type: Date },
@@ -9801,12 +9705,12 @@ var schema16 = new MongooseSchema24(
9801
9705
  },
9802
9706
  { timestamps: true }
9803
9707
  );
9804
- var GameModel = import_mongoose24.default.models.Game || import_mongoose24.default.model("Game", schema16);
9708
+ var GameModel = import_mongoose23.default.models.Game || import_mongoose23.default.model("Game", schema15);
9805
9709
 
9806
9710
  // src/mongoose/School.ts
9807
- var import_mongoose25 = __toESM(require("mongoose"));
9808
- var MongooseSchema25 = import_mongoose25.default.Schema;
9809
- var campaignsSchema = new MongooseSchema25(
9711
+ var import_mongoose24 = __toESM(require("mongoose"));
9712
+ var MongooseSchema24 = import_mongoose24.default.Schema;
9713
+ var campaignsSchema = new MongooseSchema24(
9810
9714
  {
9811
9715
  endDate: { required: true, type: Date },
9812
9716
  name: { required: true, type: String },
@@ -9814,7 +9718,7 @@ var campaignsSchema = new MongooseSchema25(
9814
9718
  },
9815
9719
  { _id: false }
9816
9720
  );
9817
- var schema17 = new MongooseSchema25(
9721
+ var schema16 = new MongooseSchema24(
9818
9722
  {
9819
9723
  // New schools are active by default
9820
9724
  active: { default: false, required: true, type: Boolean },
@@ -9841,19 +9745,19 @@ var schema17 = new MongooseSchema25(
9841
9745
  },
9842
9746
  { timestamps: true }
9843
9747
  );
9844
- schema17.index(
9748
+ schema16.index(
9845
9749
  { schoolCode: 1 },
9846
9750
  {
9847
9751
  partialFilterExpression: { active: true, deletedAt: null },
9848
9752
  unique: true
9849
9753
  }
9850
9754
  );
9851
- var SchoolModel = import_mongoose25.default.models.School || import_mongoose25.default.model("School", schema17);
9755
+ var SchoolModel = import_mongoose24.default.models.School || import_mongoose24.default.model("School", schema16);
9852
9756
 
9853
9757
  // src/mongoose/Affiliate.ts
9854
- var import_mongoose26 = __toESM(require("mongoose"));
9855
- var MongooseSchema26 = import_mongoose26.default.Schema;
9856
- var affiliateRewardSchema = new MongooseSchema26(
9758
+ var import_mongoose25 = __toESM(require("mongoose"));
9759
+ var MongooseSchema25 = import_mongoose25.default.Schema;
9760
+ var affiliateRewardSchema = new MongooseSchema25(
9857
9761
  {
9858
9762
  createdAt: { required: true, type: Date },
9859
9763
  redeemedAt: { default: null, required: false, type: Date },
@@ -9867,13 +9771,13 @@ var affiliateRewardSchema = new MongooseSchema26(
9867
9771
  },
9868
9772
  { _id: false }
9869
9773
  );
9870
- var affiliateResourceSchema = new MongooseSchema26(
9774
+ var affiliateResourceSchema = new MongooseSchema25(
9871
9775
  {
9872
9776
  resourceActive: { default: true, required: true, type: Boolean },
9873
9777
  resourceDeletedAt: { default: null, required: false, type: Date },
9874
9778
  resourceId: {
9875
9779
  required: true,
9876
- type: import_mongoose26.default.Schema.Types.ObjectId
9780
+ type: import_mongoose25.default.Schema.Types.ObjectId
9877
9781
  },
9878
9782
  resourceName: { required: true, type: String },
9879
9783
  resourceOwner: {
@@ -9893,20 +9797,20 @@ var affiliateResourceSchema = new MongooseSchema26(
9893
9797
  },
9894
9798
  { _id: false }
9895
9799
  );
9896
- var affiliateContactDetailsSchema = new MongooseSchema26(
9800
+ var affiliateContactDetailsSchema = new MongooseSchema25(
9897
9801
  {
9898
9802
  mobilePhone: { required: true, type: String }
9899
9803
  },
9900
9804
  { _id: false }
9901
9805
  );
9902
- var affiliateBankAccountDetailsSchema = new MongooseSchema26(
9806
+ var affiliateBankAccountDetailsSchema = new MongooseSchema25(
9903
9807
  {
9904
9808
  accountHolderName: { required: true, type: String },
9905
9809
  accountNumber: { required: true, type: String }
9906
9810
  },
9907
9811
  { _id: false }
9908
9812
  );
9909
- var affiliateDetailsSchema = new MongooseSchema26(
9813
+ var affiliateDetailsSchema = new MongooseSchema25(
9910
9814
  {
9911
9815
  bankAccountDetails: {
9912
9816
  required: true,
@@ -9928,7 +9832,7 @@ var affiliateDetailsSchema = new MongooseSchema26(
9928
9832
  },
9929
9833
  { _id: false }
9930
9834
  );
9931
- var redeemHistorySchema = new MongooseSchema26(
9835
+ var redeemHistorySchema = new MongooseSchema25(
9932
9836
  {
9933
9837
  paidAt: { default: null, required: false, type: Date },
9934
9838
  redeemedAt: { required: true, type: Date },
@@ -9936,7 +9840,7 @@ var redeemHistorySchema = new MongooseSchema26(
9936
9840
  },
9937
9841
  { _id: false }
9938
9842
  );
9939
- var schema18 = new MongooseSchema26(
9843
+ var schema17 = new MongooseSchema25(
9940
9844
  {
9941
9845
  active: { default: false, required: true, type: Boolean },
9942
9846
  affiliateBonusRewards: {
@@ -9966,14 +9870,114 @@ var schema18 = new MongooseSchema26(
9966
9870
  },
9967
9871
  { timestamps: true }
9968
9872
  );
9969
- schema18.index(
9873
+ schema17.index(
9970
9874
  { affiliateCode: 1 },
9971
9875
  {
9972
9876
  partialFilterExpression: { active: true, deletedAt: null },
9973
9877
  unique: true
9974
9878
  }
9975
9879
  );
9976
- var AffiliateModel = import_mongoose26.default.models.Affiliate || import_mongoose26.default.model("Affiliate", schema18);
9880
+ var AffiliateModel = import_mongoose25.default.models.Affiliate || import_mongoose25.default.model("Affiliate", schema17);
9881
+
9882
+ // src/mongoose/Coupon.ts
9883
+ var import_mongoose26 = __toESM(require("mongoose"));
9884
+ var MongooseSchema26 = import_mongoose26.default.Schema;
9885
+ var couponOptionSchema = new MongooseSchema26(
9886
+ {
9887
+ buy: { required: false, type: Number },
9888
+ get: { required: false, type: Number },
9889
+ maxCouponCount: { required: false, type: Number },
9890
+ type: {
9891
+ enum: Object.values(EnumCouponQualificationType),
9892
+ required: true,
9893
+ type: String
9894
+ },
9895
+ unit: { required: false, type: String },
9896
+ visits: { required: false, type: Number }
9897
+ },
9898
+ { _id: false }
9899
+ );
9900
+ var couponVendorProductSchema = new MongooseSchema26(
9901
+ {
9902
+ couponId: {
9903
+ required: true,
9904
+ type: import_mongoose26.default.Schema.Types.ObjectId
9905
+ },
9906
+ productId: {
9907
+ required: true,
9908
+ type: import_mongoose26.default.Schema.Types.ObjectId
9909
+ },
9910
+ vendorCouponId: {
9911
+ required: false,
9912
+ type: import_mongoose26.default.Schema.Types.ObjectId
9913
+ },
9914
+ vendorId: {
9915
+ ref: "Vendor",
9916
+ required: true,
9917
+ type: import_mongoose26.default.Schema.Types.ObjectId
9918
+ }
9919
+ },
9920
+ { _id: false }
9921
+ );
9922
+ var couponCodeSchema = new MongooseSchema26(
9923
+ {
9924
+ code: { required: true, type: String },
9925
+ qrCode: { required: true, type: ResourceImageTypeSchema },
9926
+ shareableQrCode: { required: true, type: ResourceImageTypeSchema }
9927
+ },
9928
+ { _id: false }
9929
+ );
9930
+ var couponParticipantUserSchema = new MongooseSchema26(
9931
+ {
9932
+ couponCollectedCount: { default: 0, required: true, type: Number },
9933
+ couponRedeemedAt: { default: null, required: false, type: Date },
9934
+ userId: {
9935
+ ref: "User",
9936
+ required: true,
9937
+ type: import_mongoose26.default.Schema.Types.ObjectId
9938
+ }
9939
+ },
9940
+ { timestamps: true }
9941
+ );
9942
+ var couponDataSchema = new MongooseSchema26(
9943
+ {
9944
+ active: { default: true, required: true, type: Boolean },
9945
+ couponCode: { required: false, type: couponCodeSchema },
9946
+ couponDescription: { required: true, type: String },
9947
+ couponOption: { required: true, type: couponOptionSchema },
9948
+ couponVendorProducts: {
9949
+ required: false,
9950
+ type: [couponVendorProductSchema]
9951
+ },
9952
+ endDate: { required: true, type: Date },
9953
+ participantUsers: {
9954
+ default: null,
9955
+ required: false,
9956
+ type: [couponParticipantUserSchema]
9957
+ },
9958
+ resourceId: { required: true, type: String },
9959
+ resourceType: {
9960
+ enum: Object.values(EnumResourceType),
9961
+ required: true,
9962
+ type: String
9963
+ },
9964
+ startDate: { required: true, type: Date }
9965
+ },
9966
+ { timestamps: true }
9967
+ );
9968
+ var schema18 = new MongooseSchema26(
9969
+ {
9970
+ active: { default: true, required: true, type: Boolean },
9971
+ couponData: { default: [], required: false, type: [couponDataSchema] },
9972
+ deletedAt: { default: null, required: false, type: Date },
9973
+ owner: {
9974
+ required: true,
9975
+ type: OwnerTypeSchema
9976
+ }
9977
+ },
9978
+ { timestamps: true }
9979
+ );
9980
+ var CouponModel = import_mongoose26.default.models.Coupon || import_mongoose26.default.model("Coupon", schema18);
9977
9981
 
9978
9982
  // src/service/promoCode/constants.ts
9979
9983
  var ACTIVE_NOT_DELETED_FILTER = {
@@ -10045,7 +10049,7 @@ var SHARE_RESOURCE_LABEL2 = {
10045
10049
  school: "School"
10046
10050
  };
10047
10051
 
10048
- // node_modules/@timardex/cluemart-shared/dist/chunk-GR2JH7DC.mjs
10052
+ // node_modules/@timardex/cluemart-shared/dist/chunk-NNHCOVND.mjs
10049
10053
  var PROMO_CODE_PREFIX2 = "CM-";
10050
10054
  var OBJECT_ID_PATH_SEGMENT2 = "[a-f0-9]{24}";
10051
10055
  var OBJECT_ID_PATH_SEGMENT_END2 = `${OBJECT_ID_PATH_SEGMENT2}$`;
@@ -10147,7 +10151,7 @@ var gameScreenIdentifierList2 = [
10147
10151
  }
10148
10152
  ];
10149
10153
 
10150
- // node_modules/@timardex/cluemart-shared/dist/chunk-5YXMWX5D.mjs
10154
+ // node_modules/@timardex/cluemart-shared/dist/chunk-JZWO462D.mjs
10151
10155
  var import_dayjs4 = __toESM(require("dayjs"), 1);
10152
10156
  var statusOptions2 = [
10153
10157
  ...Object.values(EnumInviteStatus2).map((status) => ({