@timardex/cluemart-server-shared 1.0.263 → 1.0.264

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.
@@ -3480,6 +3480,7 @@ var gameScreenIdentifierList = [
3480
3480
  match: "/visitors"
3481
3481
  }
3482
3482
  ];
3483
+ var PROMO_CODE_PREFIX = "CM-";
3483
3484
  var EnumAdShowOn = /* @__PURE__ */ ((EnumAdShowOn2) => {
3484
3485
  EnumAdShowOn2["EVENTS_PAGE"] = "Events_page";
3485
3486
  EnumAdShowOn2["FRONT_PAGE"] = "Front_page";
@@ -3538,6 +3539,12 @@ var EnumGameType = /* @__PURE__ */ ((EnumGameType2) => {
3538
3539
  EnumGameType2["ODD_ONE_OUT"] = "oddOneOut";
3539
3540
  return EnumGameType2;
3540
3541
  })(EnumGameType || {});
3542
+ var EnumAffiliateRewardType = /* @__PURE__ */ ((EnumAffiliateRewardType2) => {
3543
+ EnumAffiliateRewardType2["NEW_EVENT_REGISTRATION"] = "NEW_EVENT_REGISTRATION";
3544
+ EnumAffiliateRewardType2["NEW_VENDOR_REGISTRATION"] = "NEW_VENDOR_REGISTRATION";
3545
+ EnumAffiliateRewardType2["NEW_PARTNER_REGISTRATION"] = "NEW_PARTNER_REGISTRATION";
3546
+ return EnumAffiliateRewardType2;
3547
+ })(EnumAffiliateRewardType || {});
3541
3548
  var mapArrayToOptions = (items) => items.map((item) => ({
3542
3549
  label: item,
3543
3550
  value: item
@@ -3555,6 +3562,8 @@ var paymentMethodOptions = mapArrayToOptions(
3555
3562
  Object.values(EnumPaymentMethod)
3556
3563
  );
3557
3564
  var CLUEMART_MAIN_DOMAIN_URL = "https://cluemart.co.nz";
3565
+ var CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;
3566
+ var CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;
3558
3567
  var dateFormat = "DD-MM-YYYY";
3559
3568
  var timeFormat = "HH:mm";
3560
3569
  dayjs.extend(customParseFormat);
@@ -4950,12 +4959,6 @@ var REDEEMED_REWARD_FIELDS_FRAGMENT = gql`
4950
4959
  redeemedAt
4951
4960
  }
4952
4961
  `;
4953
- var AFFILIATE_FIELDS_FRAGMENT = gql`
4954
- fragment AffiliateFields on AffiliateType {
4955
- affiliateCode
4956
- pointsAvailable
4957
- }
4958
- `;
4959
4962
  var USER_FIELDS_FRAGMENT = gql`
4960
4963
  fragment UserFields on UserType {
4961
4964
  _id
@@ -4963,9 +4966,7 @@ var USER_FIELDS_FRAGMENT = gql`
4963
4966
  associates {
4964
4967
  ...AssociatesFields
4965
4968
  }
4966
- affiliate {
4967
- ...AffiliateFields
4968
- }
4969
+ affiliate
4969
4970
  avatar {
4970
4971
  ...ResourceImageFields
4971
4972
  }
@@ -5009,7 +5010,6 @@ var USER_FIELDS_FRAGMENT = gql`
5009
5010
  ${LICENCE_FIELDS_FRAGMENT}
5010
5011
  ${LOCATION_FIELDS_FRAGMENT}
5011
5012
  ${REDEEMED_REWARD_FIELDS_FRAGMENT}
5012
- ${AFFILIATE_FIELDS_FRAGMENT}
5013
5013
  `;
5014
5014
  var STALL_TYPE_FIELDS_FRAGMENT = gql`
5015
5015
  fragment StallTypeFields on StallTypeType {
@@ -7355,6 +7355,62 @@ var REQUEST_MARKETING_MATERIAL_MUTATION = gql`
7355
7355
  }
7356
7356
  }
7357
7357
  `;
7358
+ var AFFILIATE_REWARD_FIELDS_FRAGMENT = gql`
7359
+ fragment AffiliateRewardFields on AffiliateRewardType {
7360
+ createdAt
7361
+ deletedAt
7362
+ redeemedAt
7363
+ rewardDescription
7364
+ rewardType
7365
+ rewardValue
7366
+ updatedAt
7367
+ }
7368
+ `;
7369
+ var AFFILIATE_RESOURCE_FIELDS_FRAGMENT = gql`
7370
+ fragment AffiliateResourceFields on AffiliateResourceType {
7371
+ resourceActive
7372
+ resourceId
7373
+ resourceType
7374
+ rewards {
7375
+ ...AffiliateRewardFields
7376
+ }
7377
+ }
7378
+ ${AFFILIATE_REWARD_FIELDS_FRAGMENT}
7379
+ `;
7380
+ var AFFILIATE_FIELDS_FRAGMENT = gql`
7381
+ fragment AffiliateFields on AffiliateType {
7382
+ _id
7383
+ affiliateCode
7384
+ affiliateResources {
7385
+ ...AffiliateResourceFields
7386
+ }
7387
+ createdAt
7388
+ deletedAt
7389
+ overallPoints
7390
+ owner {
7391
+ ...OwnerFields
7392
+ }
7393
+ updatedAt
7394
+ }
7395
+ ${AFFILIATE_RESOURCE_FIELDS_FRAGMENT}
7396
+ ${OWNER_FIELDS_FRAGMENT}
7397
+ `;
7398
+ var GET_AFFILIATE = gql`
7399
+ query getAffiliate($_id: ID!) {
7400
+ affiliate(_id: $_id) {
7401
+ ...AffiliateFields
7402
+ }
7403
+ }
7404
+ ${AFFILIATE_FIELDS_FRAGMENT}
7405
+ `;
7406
+ var GET_AFFILIATES = gql`
7407
+ query getAffiliates {
7408
+ affiliates {
7409
+ ...AffiliateFields
7410
+ }
7411
+ }
7412
+ ${AFFILIATE_FIELDS_FRAGMENT}
7413
+ `;
7358
7414
  var PKG = "@timardex/cluemart-shared";
7359
7415
  var IMAGE_EXTENSION = ".webp";
7360
7416
  var posterIds = [
@@ -8369,19 +8425,13 @@ var redeemedRewardSchema = new MongooseSchema11(
8369
8425
  },
8370
8426
  { _id: false }
8371
8427
  );
8372
- var affiliateSchema = new MongooseSchema11(
8373
- {
8374
- affiliateCode: { required: true, type: String },
8375
- pointsAvailable: { required: true, type: Number }
8376
- },
8377
- { _id: false }
8378
- );
8379
8428
  var schema7 = new MongooseSchema11(
8380
8429
  {
8381
8430
  active: { default: false, required: true, type: Boolean },
8382
8431
  affiliate: {
8432
+ ref: "Affiliate",
8383
8433
  required: false,
8384
- type: affiliateSchema
8434
+ type: mongoose11.Schema.Types.ObjectId
8385
8435
  },
8386
8436
  associates: {
8387
8437
  required: false,
@@ -8481,13 +8531,6 @@ var schema7 = new MongooseSchema11(
8481
8531
  },
8482
8532
  { strict: false, timestamps: true }
8483
8533
  );
8484
- schema7.index(
8485
- { "affiliate.affiliateCode": 1 },
8486
- {
8487
- partialFilterExpression: { active: true, deletedAt: null },
8488
- unique: true
8489
- }
8490
- );
8491
8534
  schema7.index({ "associates.email": 1 });
8492
8535
  schema7.index({ "licences.expiryDate": 1 });
8493
8536
  schema7.index({ "licences.licenceType": 1 });
@@ -8978,9 +9021,9 @@ var gameDataSchemas = {
8978
9021
  [EnumGameType.ODD_ONE_OUT]: schemaPuzzleGameData
8979
9022
  };
8980
9023
  var gameDataDefinition = Object.fromEntries(
8981
- Object.entries(gameDataSchemas).map(([key, schema17]) => [
9024
+ Object.entries(gameDataSchemas).map(([key, schema18]) => [
8982
9025
  key,
8983
- { default: null, required: false, type: schema17 }
9026
+ { default: null, required: false, type: schema18 }
8984
9027
  ])
8985
9028
  );
8986
9029
  var gameHistorySchema = new MongooseSchema23(
@@ -9079,6 +9122,71 @@ schema16.index(
9079
9122
  );
9080
9123
  var SchoolModel = mongoose24.models.School || mongoose24.model("School", schema16);
9081
9124
 
9125
+ // src/mongoose/Affiliate.ts
9126
+ import mongoose25 from "mongoose";
9127
+ var MongooseSchema25 = mongoose25.Schema;
9128
+ var affiliateRewardSchema = new MongooseSchema25(
9129
+ {
9130
+ createdAt: { required: true, type: Date },
9131
+ deletedAt: { default: null, required: false, type: Date },
9132
+ redeemedAt: { default: null, required: false, type: Date },
9133
+ rewardDescription: { required: true, type: String },
9134
+ rewardType: {
9135
+ enum: Object.values(EnumAffiliateRewardType),
9136
+ required: true,
9137
+ type: String
9138
+ },
9139
+ rewardValue: { required: true, type: Number },
9140
+ updatedAt: { default: null, required: false, type: Date }
9141
+ },
9142
+ { _id: false }
9143
+ );
9144
+ var affiliateResourceSchema = new MongooseSchema25(
9145
+ {
9146
+ resourceActive: { default: true, required: true, type: Boolean },
9147
+ resourceId: {
9148
+ required: true,
9149
+ type: mongoose25.Schema.Types.ObjectId
9150
+ },
9151
+ resourceType: {
9152
+ enum: Object.values(EnumResourceType),
9153
+ required: true,
9154
+ type: String
9155
+ },
9156
+ rewards: {
9157
+ default: [],
9158
+ required: false,
9159
+ type: [affiliateRewardSchema]
9160
+ }
9161
+ },
9162
+ { _id: false }
9163
+ );
9164
+ var schema17 = new MongooseSchema25(
9165
+ {
9166
+ affiliateCode: { required: true, type: String },
9167
+ affiliateResources: {
9168
+ default: [],
9169
+ required: false,
9170
+ type: [affiliateResourceSchema]
9171
+ },
9172
+ deletedAt: { default: null, required: false, type: Date },
9173
+ overallPoints: { default: 0, required: true, type: Number },
9174
+ owner: {
9175
+ required: true,
9176
+ type: OwnerTypeSchema
9177
+ }
9178
+ },
9179
+ { timestamps: true }
9180
+ );
9181
+ schema17.index(
9182
+ { affiliateCode: 1 },
9183
+ {
9184
+ partialFilterExpression: { deletedAt: null },
9185
+ unique: true
9186
+ }
9187
+ );
9188
+ var AffiliateModel = mongoose25.models.Affiliate || mongoose25.model("Affiliate", schema17);
9189
+
9082
9190
  export {
9083
9191
  EnumInviteStatus,
9084
9192
  EnumChatType,
@@ -9127,6 +9235,7 @@ export {
9127
9235
  APP_SETTINGS_ID,
9128
9236
  AppSettingModel,
9129
9237
  GameModel,
9130
- SchoolModel
9238
+ SchoolModel,
9239
+ AffiliateModel
9131
9240
  };
9132
- //# sourceMappingURL=chunk-BDHZYR65.mjs.map
9241
+ //# sourceMappingURL=chunk-REX574WV.mjs.map