@timardex/cluemart-server-shared 1.0.280 → 1.0.284

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.
@@ -30,10 +30,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/service/index.ts
31
31
  var service_exports = {};
32
32
  __export(service_exports, {
33
+ ACTIVE_NOT_DELETED_FILTER: () => ACTIVE_NOT_DELETED_FILTER,
34
+ AFFILIATE_REWARDS: () => AFFILIATE_REWARDS,
35
+ activeAffiliateCodeExists: () => activeAffiliateCodeExists,
33
36
  connectToDatabase: () => connectToDatabase,
34
37
  convertObjectIdsToStrings: () => convertObjectIdsToStrings,
38
+ createAffiliateReward: () => createAffiliateReward,
35
39
  didRemoveAnyEventDates: () => didRemoveAnyEventDates,
40
+ findAffiliateByPromoCode: () => findAffiliateByPromoCode,
36
41
  findEventOrImportedMarketById: () => findEventOrImportedMarketById,
42
+ normalizeAffiliatePromoCodes: () => normalizeAffiliatePromoCodes,
43
+ normalizePromoCode: () => normalizePromoCode,
37
44
  saveNotificationsInDb: () => saveNotificationsInDb,
38
45
  sendPushNotifications: () => sendPushNotifications,
39
46
  updateAdStatuses: () => updateAdStatuses,
@@ -44,31 +51,6 @@ __export(service_exports, {
44
51
  });
45
52
  module.exports = __toCommonJS(service_exports);
46
53
 
47
- // src/service/database.ts
48
- var import_mongoose = __toESM(require("mongoose"));
49
- var connectToDatabase = async ({
50
- appName,
51
- dbName,
52
- dbPassword,
53
- dbUser,
54
- mongodbUri
55
- }) => {
56
- try {
57
- const mongoUri = mongodbUri ? mongodbUri : (
58
- // Fallback to MongoDB Atlas connection string
59
- `mongodb+srv://${dbUser}:${dbPassword}@${dbName}.mongodb.net/?retryWrites=true&w=majority&appName=${appName}`
60
- );
61
- await import_mongoose.default.connect(mongoUri);
62
- const connectionType = mongodbUri ? "Local MongoDB" : "MongoDB Atlas";
63
- console.log(
64
- `${connectionType} connected from server/src/service/database.ts`
65
- );
66
- } catch (err) {
67
- console.error("Error connecting to MongoDB:", err);
68
- throw err;
69
- }
70
- };
71
-
72
54
  // node_modules/@timardex/cluemart-shared/dist/index.mjs
73
55
  var import_dayjs = __toESM(require("dayjs"), 1);
74
56
  var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat.js"), 1);
@@ -3681,6 +3663,7 @@ var EnumGameType = /* @__PURE__ */ ((EnumGameType2) => {
3681
3663
  })(EnumGameType || {});
3682
3664
  var EnumAffiliateRewardType = /* @__PURE__ */ ((EnumAffiliateRewardType2) => {
3683
3665
  EnumAffiliateRewardType2["ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS"] = "ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS";
3666
+ EnumAffiliateRewardType2["ACTIVE_VENDOR_BONUS_REWARD"] = "ACTIVE_VENDOR_BONUS_REWARD";
3684
3667
  EnumAffiliateRewardType2["ACTIVE_VENDOR_PRO_SUBSCRIPTION"] = "ACTIVE_VENDOR_PRO_SUBSCRIPTION";
3685
3668
  EnumAffiliateRewardType2["ACTIVE_VENDOR_STANDARD_SUBSCRIPTION"] = "ACTIVE_VENDOR_STANDARD_SUBSCRIPTION";
3686
3669
  EnumAffiliateRewardType2["NEW_EVENT_REGISTRATION"] = "NEW_EVENT_REGISTRATION";
@@ -7490,6 +7473,7 @@ var AFFILIATE_REWARD_FIELDS_FRAGMENT = gql`
7490
7473
  var AFFILIATE_RESOURCE_FIELDS_FRAGMENT = gql`
7491
7474
  fragment AffiliateResourceFields on AffiliateResourceType {
7492
7475
  resourceActive
7476
+ resourceDeletedAt
7493
7477
  resourceId
7494
7478
  resourceName
7495
7479
  resourceType
@@ -7529,6 +7513,9 @@ var AFFILIATE_FIELDS_FRAGMENT = gql`
7529
7513
  fragment AffiliateFields on AffiliateType {
7530
7514
  _id
7531
7515
  active
7516
+ affiliateBonusRewards {
7517
+ ...AffiliateRewardFields
7518
+ }
7532
7519
  affiliateCode
7533
7520
  affiliateDetails {
7534
7521
  ...AffiliateDetailsFields
@@ -7677,209 +7664,10 @@ var SHARE_TYPE_PATH_REGEX = [
7677
7664
  RELATION_SHARE_INVITATION
7678
7665
  ].join("|");
7679
7666
 
7680
- // src/mongoose/Notification.ts
7681
- var import_mongoose2 = __toESM(require("mongoose"));
7682
- var MongooseSchema = import_mongoose2.default.Schema;
7683
- var schema = new MongooseSchema(
7684
- {
7685
- data: {
7686
- resourceId: { required: true, type: String },
7687
- resourceName: { required: true, type: String },
7688
- resourceType: {
7689
- enum: Object.values(EnumNotificationResourceType),
7690
- required: true,
7691
- type: String
7692
- }
7693
- },
7694
- isRead: { default: false, index: true, required: true, type: Boolean },
7695
- message: { required: true, type: String },
7696
- title: { required: true, type: String },
7697
- type: {
7698
- default: EnumNotificationType.SYSTEM,
7699
- enum: Object.values(EnumNotificationType),
7700
- required: true,
7701
- type: String
7702
- },
7703
- userId: {
7704
- ref: "User",
7705
- required: true,
7706
- type: import_mongoose2.default.Schema.Types.ObjectId
7707
- }
7708
- },
7709
- { timestamps: true }
7710
- );
7711
- schema.index({ isRead: 1, userId: 1 });
7712
- schema.index({ createdAt: -1, userId: 1 });
7713
- var NotificationModel = import_mongoose2.default.models.Notification || import_mongoose2.default.model("Notification", schema);
7714
-
7715
- // src/service/saveNotificationsInDb.ts
7716
- async function saveNotificationsInDb(payload) {
7717
- const { data, message, title, type, userIds } = payload;
7718
- console.log("NOTIFICATION DATA", JSON.stringify(payload, null, 2));
7719
- try {
7720
- const notifications = userIds.map((userId) => ({
7721
- data,
7722
- isRead: false,
7723
- message,
7724
- title,
7725
- type,
7726
- userId
7727
- }));
7728
- await NotificationModel.insertMany(notifications);
7729
- console.log(
7730
- `Created ${notifications.length} notifications for ${userIds.length} users`
7731
- );
7732
- return [...new Set(userIds)];
7733
- } catch (error) {
7734
- console.error("Failed to create notifications:", error);
7735
- return [];
7736
- }
7737
- }
7738
-
7739
- // src/service/sendPushNotifications.ts
7740
- var import_expo_server_sdk = require("expo-server-sdk");
7741
-
7742
- // node_modules/@timardex/cluemart-shared/dist/chunk-LETM2YHF.mjs
7743
- var EnumOSPlatform2 = /* @__PURE__ */ ((EnumOSPlatform22) => {
7744
- EnumOSPlatform22["ANDROID"] = "android";
7745
- EnumOSPlatform22["IOS"] = "ios";
7746
- EnumOSPlatform22["WEB"] = "web";
7747
- return EnumOSPlatform22;
7748
- })(EnumOSPlatform2 || {});
7749
-
7750
- // src/mongoose/PushToken.ts
7751
- var import_mongoose3 = __toESM(require("mongoose"));
7752
- var MongooseSchema2 = import_mongoose3.default.Schema;
7753
- var schema2 = new MongooseSchema2(
7754
- {
7755
- platform: {
7756
- enum: Object.values(EnumOSPlatform2),
7757
- required: true,
7758
- type: String
7759
- },
7760
- token: { required: true, type: String },
7761
- userId: {
7762
- ref: "User",
7763
- required: true,
7764
- type: import_mongoose3.default.Schema.Types.ObjectId
7765
- }
7766
- },
7767
- { timestamps: true }
7768
- );
7769
- var PushTokenModel = import_mongoose3.default.models.PushToken || import_mongoose3.default.model("PushToken", schema2);
7770
-
7771
- // src/service/sendPushNotifications.ts
7772
- var expo = new import_expo_server_sdk.Expo();
7773
- function extractTokensFromMessage(message) {
7774
- return Array.isArray(message.to) ? message.to : [message.to];
7775
- }
7776
- function createPushMessages({
7777
- tokens,
7778
- message,
7779
- title,
7780
- data
7781
- }) {
7782
- const messages = [];
7783
- const invalidTokens = [];
7784
- for (const token of tokens) {
7785
- if (!import_expo_server_sdk.Expo.isExpoPushToken(token)) {
7786
- invalidTokens.push(token);
7787
- continue;
7788
- }
7789
- messages.push({
7790
- body: message,
7791
- data: { ...data },
7792
- sound: "tui.wav",
7793
- title,
7794
- to: token
7795
- });
7796
- }
7797
- return { invalidTokens, messages };
7798
- }
7799
- function processChunkResults(tickets, chunk) {
7800
- let successCount = 0;
7801
- const failedTokens = [];
7802
- for (const [ticketIndex, ticket] of tickets.entries()) {
7803
- if (ticket.status === "error") {
7804
- const message = chunk[ticketIndex];
7805
- if (message) {
7806
- const tokens = extractTokensFromMessage(message);
7807
- if (ticket.details?.error === "DeviceNotRegistered") {
7808
- failedTokens.push(...tokens);
7809
- }
7810
- console.log("Push notification error", {
7811
- error: ticket.details?.error,
7812
- tokens
7813
- });
7814
- }
7815
- } else {
7816
- successCount++;
7817
- }
7818
- }
7819
- return { failedTokens, successCount };
7820
- }
7821
- async function sendChunk(chunk, chunkIndex) {
7822
- try {
7823
- const tickets = await expo.sendPushNotificationsAsync(chunk);
7824
- const { successCount, failedTokens } = processChunkResults(tickets, chunk);
7825
- console.log(
7826
- `Chunk ${chunkIndex + 1}: Sent ${successCount}/${chunk.length} notifications successfully`
7827
- );
7828
- return { failedTokens, successCount };
7829
- } catch (error) {
7830
- console.log("Error sending Expo push notification chunk", {
7831
- chunkIndex,
7832
- chunkSize: chunk.length,
7833
- error: error instanceof Error ? error.message : String(error)
7834
- });
7835
- return { failedTokens: [], successCount: 0 };
7836
- }
7837
- }
7838
- async function sendPushNotifications({
7839
- data,
7840
- message,
7841
- title,
7842
- userIds
7843
- }) {
7844
- const pushTokens = await PushTokenModel.find({ userId: { $in: userIds } });
7845
- const expoTokens = pushTokens.map((token) => token.token);
7846
- if (!data) return;
7847
- const { messages, invalidTokens } = createPushMessages({
7848
- data,
7849
- message,
7850
- title,
7851
- tokens: expoTokens
7852
- });
7853
- if (invalidTokens.length > 0) {
7854
- console.log(`Found ${invalidTokens.length} invalid push tokens`);
7855
- }
7856
- if (messages.length === 0) {
7857
- console.log("No valid messages to send after filtering tokens");
7858
- return;
7859
- }
7860
- const chunks = expo.chunkPushNotifications(messages);
7861
- let totalSuccessCount = 0;
7862
- const allFailedTokens = [];
7863
- for (const [chunkIndex, chunk] of chunks.entries()) {
7864
- const { successCount, failedTokens } = await sendChunk(
7865
- chunk,
7866
- chunkIndex + 1
7867
- );
7868
- totalSuccessCount += successCount;
7869
- allFailedTokens.push(...failedTokens);
7870
- }
7871
- console.log(
7872
- `Sent push notification to ${totalSuccessCount}/${messages.length} tokens across ${chunks.length} chunks`
7873
- );
7874
- if (allFailedTokens.length > 0) {
7875
- console.log(`Found ${allFailedTokens.length} failed push tokens`);
7876
- }
7877
- }
7878
-
7879
7667
  // src/mongoose/Ad.ts
7880
- var import_mongoose4 = __toESM(require("mongoose"));
7881
- var MongooseSchema3 = import_mongoose4.default.Schema;
7882
- var schemaAdresource = new MongooseSchema3({
7668
+ var import_mongoose = __toESM(require("mongoose"));
7669
+ var MongooseSchema = import_mongoose.default.Schema;
7670
+ var schemaAdresource = new MongooseSchema({
7883
7671
  adDescription: { required: true, type: String },
7884
7672
  adImage: { required: true, type: String },
7885
7673
  adStyle: {
@@ -7905,7 +7693,7 @@ var schemaAdresource = new MongooseSchema3({
7905
7693
  type: String
7906
7694
  }
7907
7695
  });
7908
- var schema3 = new MongooseSchema3(
7696
+ var schema = new MongooseSchema(
7909
7697
  {
7910
7698
  active: { default: true, type: Boolean },
7911
7699
  clicks: { default: 0, required: true, type: Number },
@@ -7931,51 +7719,51 @@ var schema3 = new MongooseSchema3(
7931
7719
  timestamps: true
7932
7720
  }
7933
7721
  );
7934
- schema3.index({
7722
+ schema.index({
7935
7723
  end: 1,
7936
7724
  start: 1,
7937
7725
  status: 1
7938
7726
  });
7939
- var AdModel = import_mongoose4.default.models.Ad || import_mongoose4.default.model("Ad", schema3);
7727
+ var AdModel = import_mongoose.default.models.Ad || import_mongoose.default.model("Ad", schema);
7940
7728
 
7941
7729
  // src/mongoose/chat/Chat.ts
7942
- var import_mongoose5 = __toESM(require("mongoose"));
7943
- var MongooseSchema4 = import_mongoose5.default.Schema;
7944
- var MessageReplyPreviewSchema = new MongooseSchema4(
7730
+ var import_mongoose2 = __toESM(require("mongoose"));
7731
+ var MongooseSchema2 = import_mongoose2.default.Schema;
7732
+ var MessageReplyPreviewSchema = new MongooseSchema2(
7945
7733
  {
7946
7734
  contentPreview: { required: true, type: String },
7947
7735
  senderId: {
7948
7736
  ref: "User",
7949
7737
  required: true,
7950
- type: import_mongoose5.default.Schema.Types.ObjectId
7738
+ type: import_mongoose2.default.Schema.Types.ObjectId
7951
7739
  },
7952
7740
  senderName: { required: true, type: String }
7953
7741
  },
7954
7742
  { _id: false }
7955
7743
  );
7956
- var MessageReactionSchema = new MongooseSchema4(
7744
+ var MessageReactionSchema = new MongooseSchema2(
7957
7745
  {
7958
7746
  createdAt: { required: true, type: Date },
7959
7747
  userId: {
7960
7748
  ref: "User",
7961
7749
  required: true,
7962
- type: import_mongoose5.default.Schema.Types.ObjectId
7750
+ type: import_mongoose2.default.Schema.Types.ObjectId
7963
7751
  }
7964
7752
  },
7965
7753
  { _id: false }
7966
7754
  );
7967
- var MessageSeenSchema = new MongooseSchema4(
7755
+ var MessageSeenSchema = new MongooseSchema2(
7968
7756
  {
7969
7757
  seenAt: { required: true, type: Date },
7970
7758
  userId: {
7971
7759
  ref: "User",
7972
7760
  required: true,
7973
- type: import_mongoose5.default.Schema.Types.ObjectId
7761
+ type: import_mongoose2.default.Schema.Types.ObjectId
7974
7762
  }
7975
7763
  },
7976
7764
  { _id: false }
7977
7765
  );
7978
- var MessageSchema = new MongooseSchema4(
7766
+ var MessageSchema = new MongooseSchema2(
7979
7767
  {
7980
7768
  content: { required: true, type: String },
7981
7769
  likedBy: { default: [], required: false, type: [MessageReactionSchema] },
@@ -7986,18 +7774,18 @@ var MessageSchema = new MongooseSchema4(
7986
7774
  replyToMessageId: {
7987
7775
  ref: "Chat.messages",
7988
7776
  required: false,
7989
- type: import_mongoose5.default.Schema.Types.ObjectId
7777
+ type: import_mongoose2.default.Schema.Types.ObjectId
7990
7778
  },
7991
7779
  seenBy: { default: [], required: false, type: [MessageSeenSchema] },
7992
7780
  senderId: {
7993
7781
  ref: "User",
7994
7782
  required: true,
7995
- type: import_mongoose5.default.Schema.Types.ObjectId
7783
+ type: import_mongoose2.default.Schema.Types.ObjectId
7996
7784
  }
7997
7785
  },
7998
7786
  { timestamps: true }
7999
7787
  );
8000
- var ParticipantSchema = new MongooseSchema4(
7788
+ var ParticipantSchema = new MongooseSchema2(
8001
7789
  {
8002
7790
  active: { default: true, required: true, type: Boolean },
8003
7791
  isAssociate: { default: null, required: false, type: Boolean },
@@ -8006,14 +7794,14 @@ var ParticipantSchema = new MongooseSchema4(
8006
7794
  userId: {
8007
7795
  ref: "User",
8008
7796
  required: true,
8009
- type: import_mongoose5.default.Schema.Types.ObjectId
7797
+ type: import_mongoose2.default.Schema.Types.ObjectId
8010
7798
  },
8011
7799
  userName: { required: true, type: String }
8012
7800
  },
8013
7801
  { _id: false }
8014
7802
  // Prevents Mongoose from creating an additional _id field for subdocuments
8015
7803
  );
8016
- var ChatSchema = new MongooseSchema4(
7804
+ var ChatSchema = new MongooseSchema2(
8017
7805
  {
8018
7806
  active: { default: true, required: true, type: Boolean },
8019
7807
  chatDescription: { required: false, type: String },
@@ -8037,12 +7825,12 @@ ChatSchema.index({
8037
7825
  "participants.userId": 1,
8038
7826
  updatedAt: -1
8039
7827
  });
8040
- var ChatModel = import_mongoose5.default.models.Chat || import_mongoose5.default.model("Chat", ChatSchema);
7828
+ var ChatModel = import_mongoose2.default.models.Chat || import_mongoose2.default.model("Chat", ChatSchema);
8041
7829
 
8042
7830
  // src/mongoose/chat/ChatReport.ts
8043
- var import_mongoose6 = __toESM(require("mongoose"));
8044
- var MongooseSchema5 = import_mongoose6.default.Schema;
8045
- var ReasonSchema = new MongooseSchema5(
7831
+ var import_mongoose3 = __toESM(require("mongoose"));
7832
+ var MongooseSchema3 = import_mongoose3.default.Schema;
7833
+ var ReasonSchema = new MongooseSchema3(
8046
7834
  {
8047
7835
  details: { default: null, required: false, type: String },
8048
7836
  reasonType: {
@@ -8053,23 +7841,23 @@ var ReasonSchema = new MongooseSchema5(
8053
7841
  },
8054
7842
  { _id: false }
8055
7843
  );
8056
- var ChatReportSchema = new MongooseSchema5(
7844
+ var ChatReportSchema = new MongooseSchema3(
8057
7845
  {
8058
7846
  chatId: {
8059
7847
  ref: "Chat",
8060
7848
  required: true,
8061
- type: import_mongoose6.default.Schema.Types.ObjectId
7849
+ type: import_mongoose3.default.Schema.Types.ObjectId
8062
7850
  },
8063
7851
  reason: { required: true, type: ReasonSchema },
8064
7852
  reportedUserId: {
8065
7853
  ref: "User",
8066
7854
  required: true,
8067
- type: import_mongoose6.default.Schema.Types.ObjectId
7855
+ type: import_mongoose3.default.Schema.Types.ObjectId
8068
7856
  },
8069
7857
  reporterUserId: {
8070
7858
  ref: "User",
8071
7859
  required: true,
8072
- type: import_mongoose6.default.Schema.Types.ObjectId
7860
+ type: import_mongoose3.default.Schema.Types.ObjectId
8073
7861
  },
8074
7862
  resolved: { default: false, required: true, type: Boolean }
8075
7863
  },
@@ -8077,18 +7865,18 @@ var ChatReportSchema = new MongooseSchema5(
8077
7865
  );
8078
7866
  ChatReportSchema.index({ chatId: 1, reportedUserId: 1 });
8079
7867
  ChatReportSchema.index({ createdAt: -1, reporterUserId: 1 });
8080
- var ChatReportModel = import_mongoose6.default.models.ChatReport || import_mongoose6.default.model("ChatReport", ChatReportSchema);
7868
+ var ChatReportModel = import_mongoose3.default.models.ChatReport || import_mongoose3.default.model("ChatReport", ChatReportSchema);
8081
7869
 
8082
7870
  // src/mongoose/global.ts
8083
- var import_mongoose9 = __toESM(require("mongoose"));
7871
+ var import_mongoose6 = __toESM(require("mongoose"));
8084
7872
 
8085
7873
  // src/mongoose/Relation.ts
8086
- var import_mongoose8 = __toESM(require("mongoose"));
7874
+ var import_mongoose5 = __toESM(require("mongoose"));
8087
7875
 
8088
7876
  // src/mongoose/event/EventInfo.ts
8089
- var import_mongoose7 = __toESM(require("mongoose"));
8090
- var MongooseSchema6 = import_mongoose7.default.Schema;
8091
- var StallTypeSchema = new MongooseSchema6(
7877
+ var import_mongoose4 = __toESM(require("mongoose"));
7878
+ var MongooseSchema4 = import_mongoose4.default.Schema;
7879
+ var StallTypeSchema = new MongooseSchema4(
8092
7880
  {
8093
7881
  label: { required: false, type: String },
8094
7882
  price: { required: false, type: Number },
@@ -8099,7 +7887,7 @@ var StallTypeSchema = new MongooseSchema6(
8099
7887
  // Prevents Mongoose from creating an additional _id field for subdocuments
8100
7888
  }
8101
7889
  );
8102
- var dateTimeSchema = new MongooseSchema6(
7890
+ var dateTimeSchema = new MongooseSchema4(
8103
7891
  {
8104
7892
  dateStatus: {
8105
7893
  enum: Object.values(EnumEventDateStatus),
@@ -8115,7 +7903,7 @@ var dateTimeSchema = new MongooseSchema6(
8115
7903
  { _id: false }
8116
7904
  // Prevents Mongoose from creating an additional _id field for subdocuments
8117
7905
  );
8118
- var paymentInfoSchema = new MongooseSchema6(
7906
+ var paymentInfoSchema = new MongooseSchema4(
8119
7907
  {
8120
7908
  accountHolderName: { required: false, type: String },
8121
7909
  accountNumber: { required: false, type: String },
@@ -8129,7 +7917,7 @@ var paymentInfoSchema = new MongooseSchema6(
8129
7917
  { _id: false }
8130
7918
  // Prevents Mongoose from creating an additional _id field
8131
7919
  );
8132
- var requirementsSchema = new MongooseSchema6(
7920
+ var requirementsSchema = new MongooseSchema4(
8133
7921
  {
8134
7922
  category: { required: true, type: String },
8135
7923
  label: { required: true, type: String },
@@ -8140,7 +7928,7 @@ var requirementsSchema = new MongooseSchema6(
8140
7928
  // Prevents Mongoose from creating an additional _id field for
8141
7929
  }
8142
7930
  );
8143
- var refundPolicySchema = new MongooseSchema6(
7931
+ var refundPolicySchema = new MongooseSchema4(
8144
7932
  {
8145
7933
  category: { required: true, type: String },
8146
7934
  label: { required: true, type: String },
@@ -8148,7 +7936,7 @@ var refundPolicySchema = new MongooseSchema6(
8148
7936
  },
8149
7937
  { _id: false }
8150
7938
  );
8151
- var schema4 = new MongooseSchema6(
7939
+ var schema2 = new MongooseSchema4(
8152
7940
  {
8153
7941
  active: { default: true, type: Boolean },
8154
7942
  applicationDeadlineHours: { required: true, type: Number },
@@ -8156,7 +7944,7 @@ var schema4 = new MongooseSchema6(
8156
7944
  eventId: {
8157
7945
  ref: "Event",
8158
7946
  required: true,
8159
- type: import_mongoose7.default.Schema.Types.ObjectId
7947
+ type: import_mongoose4.default.Schema.Types.ObjectId
8160
7948
  },
8161
7949
  packInTime: { required: true, type: Number },
8162
7950
  paymentDueHours: { required: true, type: Number },
@@ -8166,11 +7954,11 @@ var schema4 = new MongooseSchema6(
8166
7954
  },
8167
7955
  { timestamps: true }
8168
7956
  );
8169
- var EventInfoModel = import_mongoose7.default.models.EventInfo || import_mongoose7.default.model("EventInfo", schema4);
7957
+ var EventInfoModel = import_mongoose4.default.models.EventInfo || import_mongoose4.default.model("EventInfo", schema2);
8170
7958
 
8171
7959
  // src/mongoose/Relation.ts
8172
- var MongooseSchema7 = import_mongoose8.default.Schema;
8173
- var relationDateTimeSchema = new MongooseSchema7(
7960
+ var MongooseSchema5 = import_mongoose5.default.Schema;
7961
+ var relationDateTimeSchema = new MongooseSchema5(
8174
7962
  {
8175
7963
  dateStatus: {
8176
7964
  enum: Object.values(EnumEventDateStatus),
@@ -8185,7 +7973,7 @@ var relationDateTimeSchema = new MongooseSchema7(
8185
7973
  },
8186
7974
  { _id: false }
8187
7975
  );
8188
- var relationDatesSchema = new MongooseSchema7(
7976
+ var relationDatesSchema = new MongooseSchema5(
8189
7977
  {
8190
7978
  dateTime: {
8191
7979
  required: true,
@@ -8204,19 +7992,19 @@ var relationDatesSchema = new MongooseSchema7(
8204
7992
  },
8205
7993
  { _id: false }
8206
7994
  );
8207
- var RelationTypeSchema = new MongooseSchema7(
7995
+ var RelationTypeSchema = new MongooseSchema5(
8208
7996
  {
8209
7997
  active: { default: true, required: true, type: Boolean },
8210
7998
  chatId: {
8211
7999
  ref: "Chat",
8212
8000
  required: true,
8213
- type: import_mongoose8.default.Schema.Types.ObjectId
8001
+ type: import_mongoose5.default.Schema.Types.ObjectId
8214
8002
  },
8215
8003
  deletedAt: { default: null, required: false, type: Date },
8216
8004
  eventId: {
8217
8005
  ref: "Event",
8218
8006
  required: true,
8219
- type: import_mongoose8.default.Schema.Types.ObjectId
8007
+ type: import_mongoose5.default.Schema.Types.ObjectId
8220
8008
  },
8221
8009
  lastUpdateBy: {
8222
8010
  enum: Object.values(EnumResourceType),
@@ -8232,7 +8020,7 @@ var RelationTypeSchema = new MongooseSchema7(
8232
8020
  vendorId: {
8233
8021
  ref: "Vendor",
8234
8022
  required: true,
8235
- type: import_mongoose8.default.Schema.Types.ObjectId
8023
+ type: import_mongoose5.default.Schema.Types.ObjectId
8236
8024
  }
8237
8025
  },
8238
8026
  { timestamps: true }
@@ -8244,23 +8032,23 @@ RelationTypeSchema.index({
8244
8032
  "relationDates.status": 1,
8245
8033
  vendorId: 1
8246
8034
  });
8247
- var RelationModel = import_mongoose8.default.models.Relation || import_mongoose8.default.model("Relation", RelationTypeSchema);
8035
+ var RelationModel = import_mongoose5.default.models.Relation || import_mongoose5.default.model("Relation", RelationTypeSchema);
8248
8036
 
8249
8037
  // src/mongoose/global.ts
8250
- var MongooseSchema8 = import_mongoose9.default.Schema;
8251
- var OwnerTypeSchema = new MongooseSchema8(
8038
+ var MongooseSchema6 = import_mongoose6.default.Schema;
8039
+ var OwnerTypeSchema = new MongooseSchema6(
8252
8040
  {
8253
8041
  email: { required: true, type: String },
8254
8042
  userId: {
8255
8043
  ref: "User",
8256
8044
  required: true,
8257
- type: import_mongoose9.default.Schema.Types.ObjectId
8045
+ type: import_mongoose6.default.Schema.Types.ObjectId
8258
8046
  }
8259
8047
  },
8260
8048
  { _id: false }
8261
8049
  // Prevents Mongoose from creating an additional _id field for subdocuments
8262
8050
  );
8263
- var SocialMediaTypeSchema = new MongooseSchema8(
8051
+ var SocialMediaTypeSchema = new MongooseSchema6(
8264
8052
  {
8265
8053
  link: { required: true, type: String },
8266
8054
  name: { required: true, type: String }
@@ -8268,7 +8056,7 @@ var SocialMediaTypeSchema = new MongooseSchema8(
8268
8056
  { _id: false }
8269
8057
  // Prevents Mongoose from creating an additional _id field
8270
8058
  );
8271
- var ResourceImageTypeSchema = new MongooseSchema8(
8059
+ var ResourceImageTypeSchema = new MongooseSchema6(
8272
8060
  {
8273
8061
  active: { default: true, required: true, type: Boolean },
8274
8062
  source: { required: false, type: String },
@@ -8277,7 +8065,7 @@ var ResourceImageTypeSchema = new MongooseSchema8(
8277
8065
  { _id: false }
8278
8066
  // Prevents Mongoose from creating an additional _id field for subdocuments
8279
8067
  );
8280
- var SubCategorySchema = new MongooseSchema8(
8068
+ var SubCategorySchema = new MongooseSchema6(
8281
8069
  {
8282
8070
  id: { required: false, type: String },
8283
8071
  items: [
@@ -8291,7 +8079,7 @@ var SubCategorySchema = new MongooseSchema8(
8291
8079
  { _id: false }
8292
8080
  // Prevents Mongoose from creating an additional _id field for subdocuments
8293
8081
  );
8294
- var CategorySchema = new MongooseSchema8(
8082
+ var CategorySchema = new MongooseSchema6(
8295
8083
  {
8296
8084
  id: { required: true, type: String },
8297
8085
  name: { required: true, type: String },
@@ -8300,7 +8088,7 @@ var CategorySchema = new MongooseSchema8(
8300
8088
  { _id: false }
8301
8089
  // Prevents Mongoose from creating an additional _id field for subdocuments
8302
8090
  );
8303
- var PosterUsageTypeSchema = new MongooseSchema8(
8091
+ var PosterUsageTypeSchema = new MongooseSchema6(
8304
8092
  {
8305
8093
  count: { default: 0, required: false, type: Number },
8306
8094
  month: { required: false, type: String }
@@ -8308,7 +8096,7 @@ var PosterUsageTypeSchema = new MongooseSchema8(
8308
8096
  { _id: false }
8309
8097
  // Prevents Mongoose from creating an additional _id field for subdocuments
8310
8098
  );
8311
- var userLicenseSchema = new MongooseSchema8(
8099
+ var userLicenseSchema = new MongooseSchema6(
8312
8100
  {
8313
8101
  expiryDate: { required: true, type: Date },
8314
8102
  issuedDate: { required: true, type: Date },
@@ -8325,7 +8113,7 @@ var userLicenseSchema = new MongooseSchema8(
8325
8113
  },
8326
8114
  { _id: false, timestamps: false }
8327
8115
  );
8328
- var associatesSchema = new MongooseSchema8(
8116
+ var associatesSchema = new MongooseSchema6(
8329
8117
  {
8330
8118
  email: { required: true, type: String },
8331
8119
  licence: {
@@ -8345,7 +8133,7 @@ var associatesSchema = new MongooseSchema8(
8345
8133
  { _id: false }
8346
8134
  // Prevents Mongoose from creating an additional _id field for subdocuments
8347
8135
  );
8348
- var ContactDetailsSchema = new MongooseSchema8(
8136
+ var ContactDetailsSchema = new MongooseSchema6(
8349
8137
  {
8350
8138
  email: { required: false, type: String },
8351
8139
  landlinePhone: { required: false, type: String },
@@ -8354,7 +8142,7 @@ var ContactDetailsSchema = new MongooseSchema8(
8354
8142
  { _id: false }
8355
8143
  // Prevents Mongoose from creating an additional _id field for subdocuments
8356
8144
  );
8357
- var termsAgreementSchema = new MongooseSchema8(
8145
+ var termsAgreementSchema = new MongooseSchema6(
8358
8146
  {
8359
8147
  appBuildNumber: { required: true, type: String },
8360
8148
  appId: { required: true, type: String },
@@ -8371,7 +8159,7 @@ var termsAgreementSchema = new MongooseSchema8(
8371
8159
  },
8372
8160
  { _id: false }
8373
8161
  );
8374
- var resourceRelationsSchema = new MongooseSchema8(
8162
+ var resourceRelationsSchema = new MongooseSchema6(
8375
8163
  {
8376
8164
  relationDates: {
8377
8165
  default: [],
@@ -8381,12 +8169,12 @@ var resourceRelationsSchema = new MongooseSchema8(
8381
8169
  relationId: {
8382
8170
  ref: "Relation",
8383
8171
  required: false,
8384
- type: import_mongoose9.default.Schema.Types.ObjectId
8172
+ type: import_mongoose6.default.Schema.Types.ObjectId
8385
8173
  }
8386
8174
  },
8387
8175
  { _id: false }
8388
8176
  );
8389
- var dateTimeSchema2 = new MongooseSchema8(
8177
+ var dateTimeSchema2 = new MongooseSchema6(
8390
8178
  {
8391
8179
  dateStatus: {
8392
8180
  enum: Object.values(EnumEventDateStatus),
@@ -8401,7 +8189,7 @@ var dateTimeSchema2 = new MongooseSchema8(
8401
8189
  { _id: false }
8402
8190
  // Prevents Mongoose from creating an additional _id field for subdocuments
8403
8191
  );
8404
- var locationGeoSchema = new MongooseSchema8(
8192
+ var locationGeoSchema = new MongooseSchema6(
8405
8193
  {
8406
8194
  coordinates: { required: true, type: [Number] },
8407
8195
  // [longitude, latitude]
@@ -8410,7 +8198,7 @@ var locationGeoSchema = new MongooseSchema8(
8410
8198
  { _id: false }
8411
8199
  // Prevents Mongoose from creating an additional _id field for subdocuments
8412
8200
  );
8413
- var locationsSchema = new MongooseSchema8(
8201
+ var locationsSchema = new MongooseSchema6(
8414
8202
  {
8415
8203
  city: { required: true, type: String },
8416
8204
  country: { required: true, type: String },
@@ -8426,13 +8214,13 @@ var locationsSchema = new MongooseSchema8(
8426
8214
  { _id: false }
8427
8215
  // Prevents Mongoose from creating an additional _id field for subdocuments
8428
8216
  );
8429
- var relatedPostSchema = new MongooseSchema8(
8217
+ var relatedPostSchema = new MongooseSchema6(
8430
8218
  {
8431
8219
  postActive: { default: true, required: true, type: Boolean },
8432
8220
  postId: {
8433
8221
  ref: "Post",
8434
8222
  required: true,
8435
- type: import_mongoose9.default.Schema.Types.ObjectId
8223
+ type: import_mongoose6.default.Schema.Types.ObjectId
8436
8224
  },
8437
8225
  postSlug: { required: true, type: String },
8438
8226
  postType: {
@@ -8449,7 +8237,7 @@ var baseResourceFields = {
8449
8237
  adIds: {
8450
8238
  ref: "Ad",
8451
8239
  required: false,
8452
- type: [import_mongoose9.default.Schema.Types.ObjectId]
8240
+ type: [import_mongoose6.default.Schema.Types.ObjectId]
8453
8241
  },
8454
8242
  associates: {
8455
8243
  required: false,
@@ -8479,7 +8267,7 @@ var baseResourceFields = {
8479
8267
  socialMedia: { required: false, type: [SocialMediaTypeSchema] },
8480
8268
  termsAgreement: { required: true, type: termsAgreementSchema }
8481
8269
  };
8482
- var socialShareResourceSchema = new MongooseSchema8(
8270
+ var socialShareResourceSchema = new MongooseSchema6(
8483
8271
  {
8484
8272
  qrCode: { required: true, type: ResourceImageTypeSchema },
8485
8273
  socialImage: { required: true, type: ResourceImageTypeSchema }
@@ -8489,9 +8277,9 @@ var socialShareResourceSchema = new MongooseSchema8(
8489
8277
  );
8490
8278
 
8491
8279
  // src/mongoose/GoogleImportedMarket.ts
8492
- var import_mongoose10 = __toESM(require("mongoose"));
8493
- var MongooseSchema9 = import_mongoose10.default.Schema;
8494
- var addressComponentSchema = new MongooseSchema9(
8280
+ var import_mongoose7 = __toESM(require("mongoose"));
8281
+ var MongooseSchema7 = import_mongoose7.default.Schema;
8282
+ var addressComponentSchema = new MongooseSchema7(
8495
8283
  {
8496
8284
  longName: { required: false, type: String },
8497
8285
  shortName: { required: false, type: String },
@@ -8499,7 +8287,7 @@ var addressComponentSchema = new MongooseSchema9(
8499
8287
  },
8500
8288
  { _id: false }
8501
8289
  );
8502
- var schema5 = new MongooseSchema9(
8290
+ var schema3 = new MongooseSchema7(
8503
8291
  {
8504
8292
  active: { default: false, required: true, type: Boolean },
8505
8293
  address: { required: true, type: String },
@@ -8510,7 +8298,7 @@ var schema5 = new MongooseSchema9(
8510
8298
  claimedByUserId: {
8511
8299
  ref: "User",
8512
8300
  required: false,
8513
- type: import_mongoose10.default.Schema.Types.ObjectId
8301
+ type: import_mongoose7.default.Schema.Types.ObjectId
8514
8302
  },
8515
8303
  cover: {
8516
8304
  required: false,
@@ -8522,7 +8310,7 @@ var schema5 = new MongooseSchema9(
8522
8310
  eventId: {
8523
8311
  ref: "Event",
8524
8312
  required: false,
8525
- type: import_mongoose10.default.Schema.Types.ObjectId
8313
+ type: import_mongoose7.default.Schema.Types.ObjectId
8526
8314
  },
8527
8315
  eventType: {
8528
8316
  enum: Object.values(EnumEventType),
@@ -8561,17 +8349,81 @@ var schema5 = new MongooseSchema9(
8561
8349
  },
8562
8350
  { timestamps: true }
8563
8351
  );
8564
- schema5.index({ "location.geo": "2dsphere" });
8565
- schema5.index({ name: 1 });
8566
- schema5.index({ region: 1 });
8567
- schema5.index({ deletedAt: 1 });
8568
- schema5.index({ "dateTime.dateStatus": 1 });
8569
- schema5.index({ slug: 1 });
8570
- var GoogleImportedMarketModel = import_mongoose10.default.models.GoogleImportedMarket || import_mongoose10.default.model("GoogleImportedMarket", schema5);
8352
+ schema3.index({ "location.geo": "2dsphere" });
8353
+ schema3.index({ name: 1 });
8354
+ schema3.index({ region: 1 });
8355
+ schema3.index({ deletedAt: 1 });
8356
+ schema3.index({ "dateTime.dateStatus": 1 });
8357
+ schema3.index({ slug: 1 });
8358
+ var GoogleImportedMarketModel = import_mongoose7.default.models.GoogleImportedMarket || import_mongoose7.default.model("GoogleImportedMarket", schema3);
8359
+
8360
+ // src/mongoose/Notification.ts
8361
+ var import_mongoose8 = __toESM(require("mongoose"));
8362
+ var MongooseSchema8 = import_mongoose8.default.Schema;
8363
+ var schema4 = new MongooseSchema8(
8364
+ {
8365
+ data: {
8366
+ resourceId: { required: true, type: String },
8367
+ resourceName: { required: true, type: String },
8368
+ resourceType: {
8369
+ enum: Object.values(EnumNotificationResourceType),
8370
+ required: true,
8371
+ type: String
8372
+ }
8373
+ },
8374
+ isRead: { default: false, index: true, required: true, type: Boolean },
8375
+ message: { required: true, type: String },
8376
+ title: { required: true, type: String },
8377
+ type: {
8378
+ default: EnumNotificationType.SYSTEM,
8379
+ enum: Object.values(EnumNotificationType),
8380
+ required: true,
8381
+ type: String
8382
+ },
8383
+ userId: {
8384
+ ref: "User",
8385
+ required: true,
8386
+ type: import_mongoose8.default.Schema.Types.ObjectId
8387
+ }
8388
+ },
8389
+ { timestamps: true }
8390
+ );
8391
+ schema4.index({ isRead: 1, userId: 1 });
8392
+ schema4.index({ createdAt: -1, userId: 1 });
8393
+ var NotificationModel = import_mongoose8.default.models.Notification || import_mongoose8.default.model("Notification", schema4);
8394
+
8395
+ // node_modules/@timardex/cluemart-shared/dist/chunk-LETM2YHF.mjs
8396
+ var EnumOSPlatform2 = /* @__PURE__ */ ((EnumOSPlatform22) => {
8397
+ EnumOSPlatform22["ANDROID"] = "android";
8398
+ EnumOSPlatform22["IOS"] = "ios";
8399
+ EnumOSPlatform22["WEB"] = "web";
8400
+ return EnumOSPlatform22;
8401
+ })(EnumOSPlatform2 || {});
8402
+
8403
+ // src/mongoose/PushToken.ts
8404
+ var import_mongoose9 = __toESM(require("mongoose"));
8405
+ var MongooseSchema9 = import_mongoose9.default.Schema;
8406
+ var schema5 = new MongooseSchema9(
8407
+ {
8408
+ platform: {
8409
+ enum: Object.values(EnumOSPlatform2),
8410
+ required: true,
8411
+ type: String
8412
+ },
8413
+ token: { required: true, type: String },
8414
+ userId: {
8415
+ ref: "User",
8416
+ required: true,
8417
+ type: import_mongoose9.default.Schema.Types.ObjectId
8418
+ }
8419
+ },
8420
+ { timestamps: true }
8421
+ );
8422
+ var PushTokenModel = import_mongoose9.default.models.PushToken || import_mongoose9.default.model("PushToken", schema5);
8571
8423
 
8572
8424
  // src/mongoose/ResourceActivity.ts
8573
- var import_mongoose11 = __toESM(require("mongoose"));
8574
- var MongooseSchema10 = import_mongoose11.default.Schema;
8425
+ var import_mongoose10 = __toESM(require("mongoose"));
8426
+ var MongooseSchema10 = import_mongoose10.default.Schema;
8575
8427
  var ActivitySchema = new MongooseSchema10(
8576
8428
  {
8577
8429
  activityType: {
@@ -8614,18 +8466,18 @@ var schema6 = new MongooseSchema10(
8614
8466
  );
8615
8467
  schema6.index({ resourceId: 1, resourceType: 1 }, { unique: true });
8616
8468
  schema6.index({ "views.location": "2dsphere" });
8617
- var ResourceActivityModel = import_mongoose11.default.models.ResourceActivity || import_mongoose11.default.model("ResourceActivity", schema6);
8469
+ var ResourceActivityModel = import_mongoose10.default.models.ResourceActivity || import_mongoose10.default.model("ResourceActivity", schema6);
8618
8470
 
8619
8471
  // src/mongoose/User.ts
8620
- var import_mongoose12 = __toESM(require("mongoose"));
8621
- var MongooseSchema11 = import_mongoose12.default.Schema;
8472
+ var import_mongoose11 = __toESM(require("mongoose"));
8473
+ var MongooseSchema11 = import_mongoose11.default.Schema;
8622
8474
  var userActivityEventSchema = new MongooseSchema11(
8623
8475
  {
8624
8476
  dateTime: dateTimeSchema2,
8625
8477
  resourceId: {
8626
8478
  ref: "Event",
8627
8479
  required: false,
8628
- type: import_mongoose12.default.Schema.Types.ObjectId
8480
+ type: import_mongoose11.default.Schema.Types.ObjectId
8629
8481
  }
8630
8482
  },
8631
8483
  { _id: false }
@@ -8635,17 +8487,17 @@ var userActivityFavouritesSchema = new MongooseSchema11(
8635
8487
  events: {
8636
8488
  ref: "Event",
8637
8489
  required: false,
8638
- type: [import_mongoose12.default.Schema.Types.ObjectId]
8490
+ type: [import_mongoose11.default.Schema.Types.ObjectId]
8639
8491
  },
8640
8492
  partners: {
8641
8493
  ref: "Partner",
8642
8494
  required: false,
8643
- type: [import_mongoose12.default.Schema.Types.ObjectId]
8495
+ type: [import_mongoose11.default.Schema.Types.ObjectId]
8644
8496
  },
8645
8497
  vendors: {
8646
8498
  ref: "Vendor",
8647
8499
  required: false,
8648
- type: [import_mongoose12.default.Schema.Types.ObjectId]
8500
+ type: [import_mongoose11.default.Schema.Types.ObjectId]
8649
8501
  }
8650
8502
  },
8651
8503
  { _id: false }
@@ -8699,7 +8551,7 @@ var schema7 = new MongooseSchema11(
8699
8551
  affiliate: {
8700
8552
  ref: "Affiliate",
8701
8553
  required: false,
8702
- type: import_mongoose12.default.Schema.Types.ObjectId
8554
+ type: import_mongoose11.default.Schema.Types.ObjectId
8703
8555
  },
8704
8556
  associates: {
8705
8557
  required: false,
@@ -8719,13 +8571,13 @@ var schema7 = new MongooseSchema11(
8719
8571
  events: {
8720
8572
  ref: "Event",
8721
8573
  required: false,
8722
- type: [import_mongoose12.default.Schema.Types.ObjectId]
8574
+ type: [import_mongoose11.default.Schema.Types.ObjectId]
8723
8575
  },
8724
8576
  firstName: { required: true, type: String },
8725
8577
  game: {
8726
8578
  ref: "Game",
8727
8579
  required: false,
8728
- type: import_mongoose12.default.Schema.Types.ObjectId
8580
+ type: import_mongoose11.default.Schema.Types.ObjectId
8729
8581
  },
8730
8582
  isTester: { default: false, required: true, type: Boolean },
8731
8583
  lastName: { required: true, type: String },
@@ -8741,7 +8593,7 @@ var schema7 = new MongooseSchema11(
8741
8593
  partner: {
8742
8594
  ref: "Partner",
8743
8595
  required: false,
8744
- type: import_mongoose12.default.Schema.Types.ObjectId
8596
+ type: import_mongoose11.default.Schema.Types.ObjectId
8745
8597
  },
8746
8598
  password: { required: true, type: String },
8747
8599
  platform: {
@@ -8774,7 +8626,7 @@ var schema7 = new MongooseSchema11(
8774
8626
  school: {
8775
8627
  ref: "School",
8776
8628
  required: false,
8777
- type: import_mongoose12.default.Schema.Types.ObjectId
8629
+ type: import_mongoose11.default.Schema.Types.ObjectId
8778
8630
  },
8779
8631
  stripe: {
8780
8632
  required: false,
@@ -8799,7 +8651,7 @@ var schema7 = new MongooseSchema11(
8799
8651
  vendor: {
8800
8652
  ref: "Vendor",
8801
8653
  required: false,
8802
- type: import_mongoose12.default.Schema.Types.ObjectId
8654
+ type: import_mongoose11.default.Schema.Types.ObjectId
8803
8655
  }
8804
8656
  },
8805
8657
  { strict: false, timestamps: true }
@@ -8807,11 +8659,11 @@ var schema7 = new MongooseSchema11(
8807
8659
  schema7.index({ "associates.email": 1 });
8808
8660
  schema7.index({ "licences.expiryDate": 1 });
8809
8661
  schema7.index({ "licences.licenceType": 1 });
8810
- var UserModel = import_mongoose12.default.models.User || import_mongoose12.default.model("User", schema7);
8662
+ var UserModel = import_mongoose11.default.models.User || import_mongoose11.default.model("User", schema7);
8811
8663
 
8812
8664
  // src/mongoose/VerificationToken.ts
8813
- var import_mongoose13 = __toESM(require("mongoose"));
8814
- var MongooseSchema12 = import_mongoose13.default.Schema;
8665
+ var import_mongoose12 = __toESM(require("mongoose"));
8666
+ var MongooseSchema12 = import_mongoose12.default.Schema;
8815
8667
  var schema8 = new MongooseSchema12(
8816
8668
  {
8817
8669
  createdAt: {
@@ -8827,11 +8679,11 @@ var schema8 = new MongooseSchema12(
8827
8679
  },
8828
8680
  { timestamps: true }
8829
8681
  );
8830
- var VerificationTokenModel = import_mongoose13.default.models.VerificationToken || import_mongoose13.default.model("VerificationToken", schema8);
8682
+ var VerificationTokenModel = import_mongoose12.default.models.VerificationToken || import_mongoose12.default.model("VerificationToken", schema8);
8831
8683
 
8832
8684
  // src/mongoose/vendor/Vendor.ts
8833
- var import_mongoose14 = __toESM(require("mongoose"));
8834
- var MongooseSchema13 = import_mongoose14.default.Schema;
8685
+ var import_mongoose13 = __toESM(require("mongoose"));
8686
+ var MongooseSchema13 = import_mongoose13.default.Schema;
8835
8687
  var productTypeSchema = new MongooseSchema13(
8836
8688
  {
8837
8689
  description: { required: false, type: String },
@@ -8904,12 +8756,12 @@ var schema9 = new MongooseSchema13(
8904
8756
  unregisteredVendorId: {
8905
8757
  ref: "UnregisteredVendor",
8906
8758
  required: false,
8907
- type: import_mongoose14.default.Schema.Types.ObjectId
8759
+ type: import_mongoose13.default.Schema.Types.ObjectId
8908
8760
  },
8909
8761
  vendorInfoId: {
8910
8762
  ref: "VendorInfo",
8911
8763
  required: false,
8912
- type: import_mongoose14.default.Schema.Types.ObjectId
8764
+ type: import_mongoose13.default.Schema.Types.ObjectId
8913
8765
  },
8914
8766
  vendorType: {
8915
8767
  enum: Object.values(EnumVendorType),
@@ -8925,11 +8777,11 @@ schema9.index({ region: 1 });
8925
8777
  schema9.index({ "categories.name": 1 });
8926
8778
  schema9.index({ "associates.email": 1 });
8927
8779
  schema9.index({ slug: 1 });
8928
- var VendorModel = import_mongoose14.default.models.Vendor || import_mongoose14.default.model("Vendor", schema9);
8780
+ var VendorModel = import_mongoose13.default.models.Vendor || import_mongoose13.default.model("Vendor", schema9);
8929
8781
 
8930
8782
  // src/mongoose/vendor/VendorInfo.ts
8931
- var import_mongoose15 = __toESM(require("mongoose"));
8932
- var MongooseSchema14 = import_mongoose15.default.Schema;
8783
+ var import_mongoose14 = __toESM(require("mongoose"));
8784
+ var MongooseSchema14 = import_mongoose14.default.Schema;
8933
8785
  var AttributesSchema = new MongooseSchema14(
8934
8786
  {
8935
8787
  details: { required: false, type: String },
@@ -8972,23 +8824,23 @@ var schema10 = new MongooseSchema14(
8972
8824
  vendorId: {
8973
8825
  ref: "Vendor",
8974
8826
  required: true,
8975
- type: import_mongoose15.default.Schema.Types.ObjectId
8827
+ type: import_mongoose14.default.Schema.Types.ObjectId
8976
8828
  }
8977
8829
  },
8978
8830
  { timestamps: true }
8979
8831
  );
8980
- var VendorInfoModel = import_mongoose15.default.models.VendorInfo || import_mongoose15.default.model("VendorInfo", schema10);
8832
+ var VendorInfoModel = import_mongoose14.default.models.VendorInfo || import_mongoose14.default.model("VendorInfo", schema10);
8981
8833
 
8982
8834
  // src/mongoose/vendor/UnregisteredVendor.ts
8983
- var import_mongoose16 = __toESM(require("mongoose"));
8984
- var MongooseSchema15 = import_mongoose16.default.Schema;
8835
+ var import_mongoose15 = __toESM(require("mongoose"));
8836
+ var MongooseSchema15 = import_mongoose15.default.Schema;
8985
8837
  var invitationSchema = new MongooseSchema15(
8986
8838
  {
8987
8839
  dateTime: { required: true, type: [dateTimeSchema2] },
8988
8840
  inviterId: {
8989
8841
  ref: "Event",
8990
8842
  required: true,
8991
- type: import_mongoose16.default.Schema.Types.ObjectId
8843
+ type: import_mongoose15.default.Schema.Types.ObjectId
8992
8844
  }
8993
8845
  },
8994
8846
  { _id: false }
@@ -9002,7 +8854,7 @@ var schema11 = new MongooseSchema15(
9002
8854
  claimedByUserId: {
9003
8855
  ref: "User",
9004
8856
  required: false,
9005
- type: import_mongoose16.default.Schema.Types.ObjectId
8857
+ type: import_mongoose15.default.Schema.Types.ObjectId
9006
8858
  },
9007
8859
  deletedAt: { default: null, required: false, type: Date },
9008
8860
  email: { required: false, type: String },
@@ -9014,11 +8866,11 @@ var schema11 = new MongooseSchema15(
9014
8866
  );
9015
8867
  schema11.index({ name: 1 });
9016
8868
  schema11.index({ email: 1 });
9017
- var UnregisteredVendorModel = import_mongoose16.default.models.UnregisteredVendor || import_mongoose16.default.model("UnregisteredVendor", schema11);
8869
+ var UnregisteredVendorModel = import_mongoose15.default.models.UnregisteredVendor || import_mongoose15.default.model("UnregisteredVendor", schema11);
9018
8870
 
9019
8871
  // src/mongoose/event/Event.ts
9020
- var import_mongoose17 = __toESM(require("mongoose"));
9021
- var MongooseSchema16 = import_mongoose17.default.Schema;
8872
+ var import_mongoose16 = __toESM(require("mongoose"));
8873
+ var MongooseSchema16 = import_mongoose16.default.Schema;
9022
8874
  var schema12 = new MongooseSchema16(
9023
8875
  {
9024
8876
  ...baseResourceFields,
@@ -9028,7 +8880,7 @@ var schema12 = new MongooseSchema16(
9028
8880
  eventInfoId: {
9029
8881
  ref: "EventInfo",
9030
8882
  required: false,
9031
- type: import_mongoose17.default.Schema.Types.ObjectId
8883
+ type: import_mongoose16.default.Schema.Types.ObjectId
9032
8884
  },
9033
8885
  eventType: {
9034
8886
  enum: Object.values(EnumEventType),
@@ -9067,11 +8919,11 @@ schema12.index({ "associates.email": 1 });
9067
8919
  schema12.index({ deletedAt: 1 });
9068
8920
  schema12.index({ "dateTime.dateStatus": 1 });
9069
8921
  schema12.index({ slug: 1 });
9070
- var EventModel = import_mongoose17.default.models.Event || import_mongoose17.default.model("Event", schema12);
8922
+ var EventModel = import_mongoose16.default.models.Event || import_mongoose16.default.model("Event", schema12);
9071
8923
 
9072
8924
  // src/mongoose/Partner.ts
9073
- var import_mongoose18 = __toESM(require("mongoose"));
9074
- var MongooseSchema17 = import_mongoose18.default.Schema;
8925
+ var import_mongoose17 = __toESM(require("mongoose"));
8926
+ var MongooseSchema17 = import_mongoose17.default.Schema;
9075
8927
  var schema13 = new MongooseSchema17(
9076
8928
  {
9077
8929
  ...baseResourceFields,
@@ -9095,14 +8947,14 @@ schema13.index({ region: 1 });
9095
8947
  schema13.index({ "location.geo": "2dsphere" });
9096
8948
  schema13.index({ "associates.email": 1 });
9097
8949
  schema13.index({ slug: 1 });
9098
- var PartnerModel = import_mongoose18.default.models.Partner || import_mongoose18.default.model("Partner", schema13);
8950
+ var PartnerModel = import_mongoose17.default.models.Partner || import_mongoose17.default.model("Partner", schema13);
9099
8951
 
9100
8952
  // src/mongoose/Post.ts
9101
- var import_mongoose19 = __toESM(require("mongoose"));
9102
- var MongooseSchema18 = import_mongoose19.default.Schema;
8953
+ var import_mongoose18 = __toESM(require("mongoose"));
8954
+ var MongooseSchema18 = import_mongoose18.default.Schema;
9103
8955
  var contentSchema = new MongooseSchema18(
9104
8956
  {
9105
- contentData: import_mongoose19.Schema.Types.Mixed,
8957
+ contentData: import_mongoose18.Schema.Types.Mixed,
9106
8958
  contentOrder: { required: true, type: Number },
9107
8959
  contentType: {
9108
8960
  enum: Object.values(EnumPostContentType),
@@ -9158,11 +9010,11 @@ var schema14 = new MongooseSchema18(
9158
9010
  schema14.index({ title: 1 });
9159
9011
  schema14.index({ tags: 1 });
9160
9012
  schema14.index({ postType: 1, slug: 1 }, { unique: true });
9161
- var PostModel = import_mongoose19.default.models.Post || import_mongoose19.default.model("Post", schema14);
9013
+ var PostModel = import_mongoose18.default.models.Post || import_mongoose18.default.model("Post", schema14);
9162
9014
 
9163
9015
  // src/mongoose/AppSetting.ts
9164
- var import_mongoose20 = __toESM(require("mongoose"));
9165
- var MongooseSchema19 = import_mongoose20.default.Schema;
9016
+ var import_mongoose19 = __toESM(require("mongoose"));
9017
+ var MongooseSchema19 = import_mongoose19.default.Schema;
9166
9018
  var APP_SETTINGS_ID = "APP_SETTINGS_DOCUMENT_ID";
9167
9019
  var AppSettingSchema = new MongooseSchema19(
9168
9020
  {
@@ -9190,17 +9042,17 @@ var AppSettingSchema = new MongooseSchema19(
9190
9042
  },
9191
9043
  { timestamps: true }
9192
9044
  );
9193
- var AppSettingModel = import_mongoose20.default.models.AppSetting || import_mongoose20.default.model("AppSetting", AppSettingSchema);
9045
+ var AppSettingModel = import_mongoose19.default.models.AppSetting || import_mongoose19.default.model("AppSetting", AppSettingSchema);
9194
9046
 
9195
9047
  // src/mongoose/game/Game.ts
9196
- var import_mongoose24 = __toESM(require("mongoose"));
9048
+ var import_mongoose23 = __toESM(require("mongoose"));
9197
9049
 
9198
9050
  // src/mongoose/game/DailyClue.ts
9199
- var import_mongoose22 = __toESM(require("mongoose"));
9051
+ var import_mongoose21 = __toESM(require("mongoose"));
9200
9052
 
9201
9053
  // src/mongoose/game/utils.ts
9202
- var import_mongoose21 = __toESM(require("mongoose"));
9203
- var MongooseSchema20 = import_mongoose21.default.Schema;
9054
+ var import_mongoose20 = __toESM(require("mongoose"));
9055
+ var MongooseSchema20 = import_mongoose20.default.Schema;
9204
9056
  var schemaGameDate = new MongooseSchema20(
9205
9057
  {
9206
9058
  endDate: { required: true, type: Date },
@@ -9210,7 +9062,7 @@ var schemaGameDate = new MongooseSchema20(
9210
9062
  );
9211
9063
 
9212
9064
  // src/mongoose/game/DailyClue.ts
9213
- var MongooseSchema21 = import_mongoose22.default.Schema;
9065
+ var MongooseSchema21 = import_mongoose21.default.Schema;
9214
9066
  var schemaLetters = new MongooseSchema21(
9215
9067
  {
9216
9068
  collected: { required: false, type: [String] },
@@ -9241,8 +9093,8 @@ var schemaDailyClueGameData = new MongooseSchema21(
9241
9093
  );
9242
9094
 
9243
9095
  // src/mongoose/game/PuzzleGame.ts
9244
- var import_mongoose23 = __toESM(require("mongoose"));
9245
- var MongooseSchema22 = import_mongoose23.default.Schema;
9096
+ var import_mongoose22 = __toESM(require("mongoose"));
9097
+ var MongooseSchema22 = import_mongoose22.default.Schema;
9246
9098
  var schemaPuzzleAnswer = new MongooseSchema22(
9247
9099
  {
9248
9100
  answer: { required: true, type: String },
@@ -9287,7 +9139,7 @@ var schemaPuzzleGameData = new MongooseSchema22(
9287
9139
  );
9288
9140
 
9289
9141
  // src/mongoose/game/Game.ts
9290
- var MongooseSchema23 = import_mongoose24.default.Schema;
9142
+ var MongooseSchema23 = import_mongoose23.default.Schema;
9291
9143
  var gameDataSchemas = {
9292
9144
  [EnumGameType.DAILY_CLUE]: schemaDailyClueGameData,
9293
9145
  [EnumGameType.MINI_QUIZ]: schemaPuzzleGameData,
@@ -9347,11 +9199,11 @@ var schema15 = new MongooseSchema23(
9347
9199
  },
9348
9200
  { timestamps: true }
9349
9201
  );
9350
- var GameModel = import_mongoose24.default.models.Game || import_mongoose24.default.model("Game", schema15);
9202
+ var GameModel = import_mongoose23.default.models.Game || import_mongoose23.default.model("Game", schema15);
9351
9203
 
9352
9204
  // src/mongoose/School.ts
9353
- var import_mongoose25 = __toESM(require("mongoose"));
9354
- var MongooseSchema24 = import_mongoose25.default.Schema;
9205
+ var import_mongoose24 = __toESM(require("mongoose"));
9206
+ var MongooseSchema24 = import_mongoose24.default.Schema;
9355
9207
  var campaignsSchema = new MongooseSchema24(
9356
9208
  {
9357
9209
  endDate: { required: true, type: Date },
@@ -9393,11 +9245,11 @@ schema16.index(
9393
9245
  unique: true
9394
9246
  }
9395
9247
  );
9396
- var SchoolModel = import_mongoose25.default.models.School || import_mongoose25.default.model("School", schema16);
9248
+ var SchoolModel = import_mongoose24.default.models.School || import_mongoose24.default.model("School", schema16);
9397
9249
 
9398
9250
  // src/mongoose/Affiliate.ts
9399
- var import_mongoose26 = __toESM(require("mongoose"));
9400
- var MongooseSchema25 = import_mongoose26.default.Schema;
9251
+ var import_mongoose25 = __toESM(require("mongoose"));
9252
+ var MongooseSchema25 = import_mongoose25.default.Schema;
9401
9253
  var affiliateRewardSchema = new MongooseSchema25(
9402
9254
  {
9403
9255
  createdAt: { required: true, type: Date },
@@ -9415,9 +9267,10 @@ var affiliateRewardSchema = new MongooseSchema25(
9415
9267
  var affiliateResourceSchema = new MongooseSchema25(
9416
9268
  {
9417
9269
  resourceActive: { default: true, required: true, type: Boolean },
9270
+ resourceDeletedAt: { default: null, required: false, type: Date },
9418
9271
  resourceId: {
9419
9272
  required: true,
9420
- type: import_mongoose26.default.Schema.Types.ObjectId
9273
+ type: import_mongoose25.default.Schema.Types.ObjectId
9421
9274
  },
9422
9275
  resourceName: { required: true, type: String },
9423
9276
  resourceType: {
@@ -9462,6 +9315,11 @@ var affiliateDetailsSchema = new MongooseSchema25(
9462
9315
  var schema17 = new MongooseSchema25(
9463
9316
  {
9464
9317
  active: { default: false, required: true, type: Boolean },
9318
+ affiliateBonusRewards: {
9319
+ default: [],
9320
+ required: false,
9321
+ type: [affiliateRewardSchema]
9322
+ },
9465
9323
  affiliateCode: { required: true, type: String },
9466
9324
  affiliateDetails: { required: false, type: affiliateDetailsSchema },
9467
9325
  affiliateResources: {
@@ -9491,7 +9349,238 @@ schema17.index(
9491
9349
  unique: true
9492
9350
  }
9493
9351
  );
9494
- var AffiliateModel = import_mongoose26.default.models.Affiliate || import_mongoose26.default.model("Affiliate", schema17);
9352
+ var AffiliateModel = import_mongoose25.default.models.Affiliate || import_mongoose25.default.model("Affiliate", schema17);
9353
+
9354
+ // src/service/promoCode/constants.ts
9355
+ var ACTIVE_NOT_DELETED_FILTER = {
9356
+ active: true,
9357
+ deletedAt: null
9358
+ };
9359
+
9360
+ // src/service/affiliate/activeAffiliateCodeExists.ts
9361
+ async function activeAffiliateCodeExists(affiliateCode) {
9362
+ const existing = await AffiliateModel.exists({
9363
+ ...ACTIVE_NOT_DELETED_FILTER,
9364
+ affiliateCode
9365
+ }).exec();
9366
+ return existing !== null;
9367
+ }
9368
+
9369
+ // src/service/affiliate/createAffiliateReward.ts
9370
+ var AFFILIATE_REWARDS = {
9371
+ [EnumAffiliateRewardType.NEW_EVENT_REGISTRATION]: {
9372
+ description: "10 points for new event registration (one-time reward)",
9373
+ value: 10
9374
+ },
9375
+ [EnumAffiliateRewardType.NEW_VENDOR_REGISTRATION]: {
9376
+ description: "5 points for new vendor registration (one-time reward)",
9377
+ value: 5
9378
+ },
9379
+ [EnumAffiliateRewardType.ACTIVE_VENDOR_PRO_SUBSCRIPTION]: {
9380
+ description: "3 points for active vendor pro subscription (monthly reward)",
9381
+ value: 3
9382
+ },
9383
+ [EnumAffiliateRewardType.ACTIVE_VENDOR_STANDARD_SUBSCRIPTION]: {
9384
+ description: "1 point for active vendor standard subscription (monthly reward)",
9385
+ value: 1
9386
+ },
9387
+ [EnumAffiliateRewardType.ACTIVE_VENDOR_BONUS_REWARD]: {
9388
+ description: "5 bonus points for every 10th active vendor (one-time reward)",
9389
+ value: 5
9390
+ },
9391
+ [EnumAffiliateRewardType.ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS]: {
9392
+ description: "50 points for active event with vendor registrations (one-time reward)",
9393
+ value: 50
9394
+ }
9395
+ };
9396
+ function createAffiliateReward(rewardType, createdAt) {
9397
+ const reward = AFFILIATE_REWARDS[rewardType];
9398
+ return {
9399
+ createdAt,
9400
+ redeemedAt: null,
9401
+ rewardDescription: reward.description,
9402
+ rewardType,
9403
+ rewardValue: reward.value
9404
+ };
9405
+ }
9406
+
9407
+ // src/service/affiliate/findAffiliateByPromoCode.ts
9408
+ async function findAffiliateByPromoCode(promoCode) {
9409
+ return AffiliateModel.findOne({
9410
+ affiliateCode: promoCode,
9411
+ deletedAt: null
9412
+ }).exec();
9413
+ }
9414
+
9415
+ // src/service/promoCode/normalizePromoCode.ts
9416
+ function normalizePromoCode(decoratedPromoCode) {
9417
+ const normalized = decoratedPromoCode?.trim().toUpperCase();
9418
+ return normalized || null;
9419
+ }
9420
+
9421
+ // src/service/affiliate/normalizeAffiliatePromoCodes.ts
9422
+ function normalizeAffiliatePromoCodes(promoCodes) {
9423
+ const normalized = (promoCodes ?? []).map((code) => normalizePromoCode(code)).filter((code) => code !== null);
9424
+ return [...new Set(normalized)];
9425
+ }
9426
+
9427
+ // src/service/database.ts
9428
+ var import_mongoose28 = __toESM(require("mongoose"));
9429
+ var connectToDatabase = async ({
9430
+ appName,
9431
+ dbName,
9432
+ dbPassword,
9433
+ dbUser,
9434
+ mongodbUri
9435
+ }) => {
9436
+ try {
9437
+ const mongoUri = mongodbUri ? mongodbUri : (
9438
+ // Fallback to MongoDB Atlas connection string
9439
+ `mongodb+srv://${dbUser}:${dbPassword}@${dbName}.mongodb.net/?retryWrites=true&w=majority&appName=${appName}`
9440
+ );
9441
+ await import_mongoose28.default.connect(mongoUri);
9442
+ const connectionType = mongodbUri ? "Local MongoDB" : "MongoDB Atlas";
9443
+ console.log(
9444
+ `${connectionType} connected from server/src/service/database.ts`
9445
+ );
9446
+ } catch (err) {
9447
+ console.error("Error connecting to MongoDB:", err);
9448
+ throw err;
9449
+ }
9450
+ };
9451
+
9452
+ // src/service/saveNotificationsInDb.ts
9453
+ async function saveNotificationsInDb(payload) {
9454
+ const { data, message, title, type, userIds } = payload;
9455
+ console.log("NOTIFICATION DATA", JSON.stringify(payload, null, 2));
9456
+ try {
9457
+ const notifications = userIds.map((userId) => ({
9458
+ data,
9459
+ isRead: false,
9460
+ message,
9461
+ title,
9462
+ type,
9463
+ userId
9464
+ }));
9465
+ await NotificationModel.insertMany(notifications);
9466
+ console.log(
9467
+ `Created ${notifications.length} notifications for ${userIds.length} users`
9468
+ );
9469
+ return [...new Set(userIds)];
9470
+ } catch (error) {
9471
+ console.error("Failed to create notifications:", error);
9472
+ return [];
9473
+ }
9474
+ }
9475
+
9476
+ // src/service/sendPushNotifications.ts
9477
+ var import_expo_server_sdk = require("expo-server-sdk");
9478
+ var expo = new import_expo_server_sdk.Expo();
9479
+ function extractTokensFromMessage(message) {
9480
+ return Array.isArray(message.to) ? message.to : [message.to];
9481
+ }
9482
+ function createPushMessages({
9483
+ tokens,
9484
+ message,
9485
+ title,
9486
+ data
9487
+ }) {
9488
+ const messages = [];
9489
+ const invalidTokens = [];
9490
+ for (const token of tokens) {
9491
+ if (!import_expo_server_sdk.Expo.isExpoPushToken(token)) {
9492
+ invalidTokens.push(token);
9493
+ continue;
9494
+ }
9495
+ messages.push({
9496
+ body: message,
9497
+ data: { ...data },
9498
+ sound: "tui.wav",
9499
+ title,
9500
+ to: token
9501
+ });
9502
+ }
9503
+ return { invalidTokens, messages };
9504
+ }
9505
+ function processChunkResults(tickets, chunk) {
9506
+ let successCount = 0;
9507
+ const failedTokens = [];
9508
+ for (const [ticketIndex, ticket] of tickets.entries()) {
9509
+ if (ticket.status === "error") {
9510
+ const message = chunk[ticketIndex];
9511
+ if (message) {
9512
+ const tokens = extractTokensFromMessage(message);
9513
+ if (ticket.details?.error === "DeviceNotRegistered") {
9514
+ failedTokens.push(...tokens);
9515
+ }
9516
+ console.log("Push notification error", {
9517
+ error: ticket.details?.error,
9518
+ tokens
9519
+ });
9520
+ }
9521
+ } else {
9522
+ successCount++;
9523
+ }
9524
+ }
9525
+ return { failedTokens, successCount };
9526
+ }
9527
+ async function sendChunk(chunk, chunkIndex) {
9528
+ try {
9529
+ const tickets = await expo.sendPushNotificationsAsync(chunk);
9530
+ const { successCount, failedTokens } = processChunkResults(tickets, chunk);
9531
+ console.log(
9532
+ `Chunk ${chunkIndex + 1}: Sent ${successCount}/${chunk.length} notifications successfully`
9533
+ );
9534
+ return { failedTokens, successCount };
9535
+ } catch (error) {
9536
+ console.log("Error sending Expo push notification chunk", {
9537
+ chunkIndex,
9538
+ chunkSize: chunk.length,
9539
+ error: error instanceof Error ? error.message : String(error)
9540
+ });
9541
+ return { failedTokens: [], successCount: 0 };
9542
+ }
9543
+ }
9544
+ async function sendPushNotifications({
9545
+ data,
9546
+ message,
9547
+ title,
9548
+ userIds
9549
+ }) {
9550
+ const pushTokens = await PushTokenModel.find({ userId: { $in: userIds } });
9551
+ const expoTokens = pushTokens.map((token) => token.token);
9552
+ if (!data) return;
9553
+ const { messages, invalidTokens } = createPushMessages({
9554
+ data,
9555
+ message,
9556
+ title,
9557
+ tokens: expoTokens
9558
+ });
9559
+ if (invalidTokens.length > 0) {
9560
+ console.log(`Found ${invalidTokens.length} invalid push tokens`);
9561
+ }
9562
+ if (messages.length === 0) {
9563
+ console.log("No valid messages to send after filtering tokens");
9564
+ return;
9565
+ }
9566
+ const chunks = expo.chunkPushNotifications(messages);
9567
+ let totalSuccessCount = 0;
9568
+ const allFailedTokens = [];
9569
+ for (const [chunkIndex, chunk] of chunks.entries()) {
9570
+ const { successCount, failedTokens } = await sendChunk(
9571
+ chunk,
9572
+ chunkIndex + 1
9573
+ );
9574
+ totalSuccessCount += successCount;
9575
+ allFailedTokens.push(...failedTokens);
9576
+ }
9577
+ console.log(
9578
+ `Sent push notification to ${totalSuccessCount}/${messages.length} tokens across ${chunks.length} chunks`
9579
+ );
9580
+ if (allFailedTokens.length > 0) {
9581
+ console.log(`Found ${allFailedTokens.length} failed push tokens`);
9582
+ }
9583
+ }
9495
9584
 
9496
9585
  // src/service/updateAdStatus.ts
9497
9586
  async function updateAdStatuses() {
@@ -9529,9 +9618,9 @@ async function updateAdStatuses() {
9529
9618
  }
9530
9619
 
9531
9620
  // src/service/associate.ts
9532
- var import_mongoose28 = __toESM(require("mongoose"));
9621
+ var import_mongoose30 = __toESM(require("mongoose"));
9533
9622
  function normalizeObjectId(id) {
9534
- return typeof id === "string" ? new import_mongoose28.default.Types.ObjectId(id) : id;
9623
+ return typeof id === "string" ? new import_mongoose30.default.Types.ObjectId(id) : id;
9535
9624
  }
9536
9625
  async function getAssociateEmailsForResource({
9537
9626
  normalizedResourceId,
@@ -9683,12 +9772,12 @@ async function updateVendorBasedOnUserLicense(userId, licenceType) {
9683
9772
  }
9684
9773
 
9685
9774
  // src/service/objectIdToString.ts
9686
- var import_mongoose31 = __toESM(require("mongoose"));
9775
+ var import_mongoose33 = __toESM(require("mongoose"));
9687
9776
  function convertObjectIdsToStrings(obj) {
9688
9777
  if (obj === null || obj === void 0) {
9689
9778
  return obj;
9690
9779
  }
9691
- if (obj instanceof import_mongoose31.default.Types.ObjectId) {
9780
+ if (obj instanceof import_mongoose33.default.Types.ObjectId) {
9692
9781
  return obj.toString();
9693
9782
  }
9694
9783
  if (obj instanceof Date) {
@@ -9871,10 +9960,17 @@ function updateRelationDatesToUnavailable(relationDates, eventDateTime) {
9871
9960
  }
9872
9961
  // Annotate the CommonJS export names for ESM import in node:
9873
9962
  0 && (module.exports = {
9963
+ ACTIVE_NOT_DELETED_FILTER,
9964
+ AFFILIATE_REWARDS,
9965
+ activeAffiliateCodeExists,
9874
9966
  connectToDatabase,
9875
9967
  convertObjectIdsToStrings,
9968
+ createAffiliateReward,
9876
9969
  didRemoveAnyEventDates,
9970
+ findAffiliateByPromoCode,
9877
9971
  findEventOrImportedMarketById,
9972
+ normalizeAffiliatePromoCodes,
9973
+ normalizePromoCode,
9878
9974
  saveNotificationsInDb,
9879
9975
  sendPushNotifications,
9880
9976
  updateAdStatuses,