@timardex/cluemart-server-shared 1.0.146 → 1.0.148

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.
@@ -37,7 +37,7 @@ import {
37
37
  resourceRelationsSchema,
38
38
  termsAgreementSchema,
39
39
  userLicenseSchema
40
- } from "../chunk-P6S3DJQD.mjs";
40
+ } from "../chunk-XT6SQI4D.mjs";
41
41
  import "../chunk-3QS3WKRC.mjs";
42
42
  export {
43
43
  APP_SETTINGS_ID,
@@ -6986,17 +6986,6 @@ var gameScreenIdentifierList = [
6986
6986
  match: "/visitors"
6987
6987
  }
6988
6988
  ];
6989
- var EnumGameType = /* @__PURE__ */ ((EnumGameType2) => {
6990
- EnumGameType2["DAILY_CLUE"] = "dailyClue";
6991
- return EnumGameType2;
6992
- })(EnumGameType || {});
6993
- var EnumGameStatus = /* @__PURE__ */ ((EnumGameStatus3) => {
6994
- EnumGameStatus3["GAME_COMPLETED"] = "GAME_COMPLETED";
6995
- EnumGameStatus3["GAME_IN_PROGRESS"] = "GAME_IN_PROGRESS";
6996
- EnumGameStatus3["GAME_LEFT"] = "GAME_LEFT";
6997
- EnumGameStatus3["GAME_STARTED"] = "GAME_STARTED";
6998
- return EnumGameStatus3;
6999
- })(EnumGameStatus || {});
7000
6989
  var dateFormat = "DD-MM-YYYY";
7001
6990
  var timeFormat = "HH:mm";
7002
6991
  import_dayjs.default.extend(import_customParseFormat.default);
@@ -7025,6 +7014,7 @@ function normalizeUrl(url) {
7025
7014
  }
7026
7015
  return url;
7027
7016
  }
7017
+ var SCHOOL_MIN_STUDENT_COUNT = 300;
7028
7018
  var packagingTypes = [
7029
7019
  "Biodegradable",
7030
7020
  "Compostable",
@@ -9994,33 +9984,32 @@ var GAME_DATE_FIELDS_FRAGMENT = gql`
9994
9984
  endDate
9995
9985
  }
9996
9986
  `;
9997
- var BASE_GAME_FIELDS_FRAGMENT = gql`
9998
- fragment BaseGameFields on BaseGameType {
9987
+ var DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT = gql`
9988
+ fragment DailyClueBaseGameFields on DailyClueBaseGameType {
9999
9989
  gameDate {
10000
9990
  ...GameDateFields
10001
9991
  }
10002
9992
  gameSolution
10003
- gameType
10004
9993
  }
10005
9994
  ${GAME_DATE_FIELDS_FRAGMENT}
10006
9995
  `;
10007
9996
  var DAILY_CLUE_GAME_DATA_FIELDS_FRAGMENT = gql`
10008
9997
  fragment DailyClueGameDataFields on DailyClueGameDataType {
10009
9998
  gameFields {
10010
- ...BaseGameFields
9999
+ ...DailyClueBaseGameFields
10011
10000
  }
10012
10001
  lastFoundDate
10013
10002
  points
10014
10003
  letterInfo {
10015
10004
  collected
10016
- shuffled
10017
- todaysLetter
10005
+ solutionShuffled
10018
10006
  todaysClue
10007
+ todaysLetter
10019
10008
  todaysPlacement
10020
10009
  }
10021
10010
  streak
10022
10011
  }
10023
- ${BASE_GAME_FIELDS_FRAGMENT}
10012
+ ${DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT}
10024
10013
  `;
10025
10014
  var GAME_HISTORY_FIELDS_FRAGMENT = gql`
10026
10015
  fragment GameHistoryFields on GameHistoryType {
@@ -10108,6 +10097,15 @@ var GET_GAME_LEADERBOARD = gql`
10108
10097
  ${OWNER_FIELDS_FRAGMENT}
10109
10098
  ${GAME_HISTORY_FIELDS_FRAGMENT}
10110
10099
  `;
10100
+ var BASE_GAME_FIELDS_FRAGMENT = gql`
10101
+ fragment BaseGameFields on BaseGameType {
10102
+ gameType
10103
+ dailyClue {
10104
+ ...DailyClueBaseGameFields
10105
+ }
10106
+ }
10107
+ ${DAILY_CLUE_BASE_GAME_FIELDS_FRAGMENT}
10108
+ `;
10111
10109
  var POST_CONTENT_DATA_FIELDS_FRAGMENT = gql`
10112
10110
  fragment PostContentDataFields on PostContentData {
10113
10111
  game {
@@ -10999,7 +10997,10 @@ var schoolSchema = create$3().shape({
10999
10997
  name: create$6().trim().required("Name is required"),
11000
10998
  region: create$6().trim().required("Region is required"),
11001
10999
  socialMedia: create$2().of(socialMediaSchema).nullable().default(null),
11002
- studentCount: create$5().label("Student Count").nullable().transform((value, originalValue) => originalValue === "" ? null : value).typeError("Student count must be a number").min(350, "Student count must be at least 350").required("Student count is required").test("no-leading-zeros", "", noLeadingZeros("Student Count"))
11000
+ studentCount: create$5().label("Student Count").nullable().transform((value, originalValue) => originalValue === "" ? null : value).typeError("Student count must be a number").min(
11001
+ SCHOOL_MIN_STUDENT_COUNT,
11002
+ `Student count must be at least ${SCHOOL_MIN_STUDENT_COUNT}`
11003
+ ).required("Student count is required").test("no-leading-zeros", "", noLeadingZeros("Student Count"))
11003
11004
  });
11004
11005
  var PKG = "@timardex/cluemart-shared";
11005
11006
  var IMAGE_EXTENSION = ".webp";
@@ -11091,6 +11092,17 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
11091
11092
  EnumActivity2["VIEW"] = "VIEW";
11092
11093
  return EnumActivity2;
11093
11094
  })(EnumActivity || {});
11095
+ var EnumGameStatus = /* @__PURE__ */ ((EnumGameStatus2) => {
11096
+ EnumGameStatus2["GAME_COMPLETED"] = "GAME_COMPLETED";
11097
+ EnumGameStatus2["GAME_IN_PROGRESS"] = "GAME_IN_PROGRESS";
11098
+ EnumGameStatus2["GAME_LEFT"] = "GAME_LEFT";
11099
+ EnumGameStatus2["GAME_STARTED"] = "GAME_STARTED";
11100
+ return EnumGameStatus2;
11101
+ })(EnumGameStatus || {});
11102
+ var EnumGameType = /* @__PURE__ */ ((EnumGameType2) => {
11103
+ EnumGameType2["DAILY_CLUE"] = "dailyClue";
11104
+ return EnumGameType2;
11105
+ })(EnumGameType || {});
11094
11106
 
11095
11107
  // src/mongoose/Notification.ts
11096
11108
  var import_mongoose2 = __toESM(require("mongoose"));
@@ -12467,6 +12479,9 @@ var AppSettingSchema = new MongooseSchema18(
12467
12479
  var AppSettingModel = import_mongoose19.default.models.AppSetting || import_mongoose19.default.model("AppSetting", AppSettingSchema);
12468
12480
 
12469
12481
  // src/mongoose/game/Game.ts
12482
+ var import_mongoose21 = __toESM(require("mongoose"));
12483
+
12484
+ // src/mongoose/game/utils.ts
12470
12485
  var import_mongoose20 = __toESM(require("mongoose"));
12471
12486
  var MongooseSchema19 = import_mongoose20.default.Schema;
12472
12487
  var schemaGameDate = new MongooseSchema19(
@@ -12476,29 +12491,24 @@ var schemaGameDate = new MongooseSchema19(
12476
12491
  },
12477
12492
  { _id: false }
12478
12493
  );
12479
- var schemaBaseGame = new MongooseSchema19(
12494
+ var schemaLetters = new MongooseSchema19(
12480
12495
  {
12481
- gameDate: { required: true, type: schemaGameDate },
12482
- gameSolution: { required: true, type: String },
12483
- gameType: {
12484
- enum: Object.values(EnumGameType),
12485
- required: false,
12486
- type: String
12487
- }
12496
+ collected: { required: false, type: [String] },
12497
+ solutionShuffled: { required: true, type: [String] }
12498
+ // todaysLetter and todaysPlacement is generated in the backend, so they are not required
12488
12499
  },
12489
12500
  { _id: false }
12490
12501
  );
12491
- var schemaLetters = new MongooseSchema19(
12502
+ var schemaDailyClueBaseGame = new MongooseSchema19(
12492
12503
  {
12493
- collected: { required: false, type: [String] },
12494
- shuffled: { required: true, type: [String] }
12495
- // todaysLetter and todaysPlacement is generated in the backend, so they are not required
12504
+ gameDate: { required: true, type: schemaGameDate },
12505
+ gameSolution: { required: true, type: String }
12496
12506
  },
12497
12507
  { _id: false }
12498
12508
  );
12499
- var schemaDailyClue = new MongooseSchema19(
12509
+ var schemaDailyClueGameData = new MongooseSchema19(
12500
12510
  {
12501
- gameFields: { required: true, type: schemaBaseGame },
12511
+ gameFields: { required: true, type: schemaDailyClueBaseGame },
12502
12512
  lastFoundDate: { default: null, required: false, type: Date },
12503
12513
  letterInfo: {
12504
12514
  required: true,
@@ -12509,8 +12519,11 @@ var schemaDailyClue = new MongooseSchema19(
12509
12519
  },
12510
12520
  { _id: false }
12511
12521
  );
12522
+
12523
+ // src/mongoose/game/Game.ts
12524
+ var MongooseSchema20 = import_mongoose21.default.Schema;
12512
12525
  var gameDataSchemas = {
12513
- [EnumGameType.DAILY_CLUE]: schemaDailyClue
12526
+ [EnumGameType.DAILY_CLUE]: schemaDailyClueGameData
12514
12527
  };
12515
12528
  var gameDataDefinition = Object.fromEntries(
12516
12529
  Object.entries(gameDataSchemas).map(([key, schema16]) => [
@@ -12518,7 +12531,7 @@ var gameDataDefinition = Object.fromEntries(
12518
12531
  { default: null, required: false, type: schema16 }
12519
12532
  ])
12520
12533
  );
12521
- var gameHistorySchema = new MongooseSchema19(
12534
+ var gameHistorySchema = new MongooseSchema20(
12522
12535
  {
12523
12536
  createdAt: { required: true, type: Date },
12524
12537
  gameDate: { required: true, type: schemaGameDate },
@@ -12536,7 +12549,7 @@ var gameHistorySchema = new MongooseSchema19(
12536
12549
  },
12537
12550
  { _id: false }
12538
12551
  );
12539
- var gameTypeSchema = new MongooseSchema19(
12552
+ var gameTypeSchema = new MongooseSchema20(
12540
12553
  {
12541
12554
  active: { default: true, required: true, type: Boolean },
12542
12555
  gameData: gameDataDefinition,
@@ -12549,7 +12562,7 @@ var gameTypeSchema = new MongooseSchema19(
12549
12562
  },
12550
12563
  { timestamps: true }
12551
12564
  );
12552
- var schema14 = new MongooseSchema19(
12565
+ var schema14 = new MongooseSchema20(
12553
12566
  {
12554
12567
  active: { default: false, required: true, type: Boolean },
12555
12568
  deletedAt: { default: null, required: false, type: Date },
@@ -12562,12 +12575,12 @@ var schema14 = new MongooseSchema19(
12562
12575
  },
12563
12576
  { timestamps: true }
12564
12577
  );
12565
- var GameModel = import_mongoose20.default.models.Game || import_mongoose20.default.model("Game", schema14);
12578
+ var GameModel = import_mongoose21.default.models.Game || import_mongoose21.default.model("Game", schema14);
12566
12579
 
12567
12580
  // src/mongoose/School.ts
12568
- var import_mongoose21 = __toESM(require("mongoose"));
12569
- var MongooseSchema20 = import_mongoose21.default.Schema;
12570
- var schema15 = new MongooseSchema20(
12581
+ var import_mongoose22 = __toESM(require("mongoose"));
12582
+ var MongooseSchema21 = import_mongoose22.default.Schema;
12583
+ var schema15 = new MongooseSchema21(
12571
12584
  {
12572
12585
  // New schools are active by default
12573
12586
  active: { default: true, required: true, type: Boolean },
@@ -12592,7 +12605,7 @@ var schema15 = new MongooseSchema20(
12592
12605
  },
12593
12606
  { timestamps: true }
12594
12607
  );
12595
- var SchoolModel = import_mongoose21.default.models.School || import_mongoose21.default.model("School", schema15);
12608
+ var SchoolModel = import_mongoose22.default.models.School || import_mongoose22.default.model("School", schema15);
12596
12609
 
12597
12610
  // src/service/updateAdStatus.ts
12598
12611
  async function updateAdStatuses() {
@@ -12719,12 +12732,12 @@ async function updateVendorBasedOnUserLicense(userId, licenceType) {
12719
12732
  }
12720
12733
 
12721
12734
  // src/service/objectIdToString.ts
12722
- var import_mongoose25 = __toESM(require("mongoose"));
12735
+ var import_mongoose26 = __toESM(require("mongoose"));
12723
12736
  function convertObjectIdsToStrings(obj) {
12724
12737
  if (obj === null || obj === void 0) {
12725
12738
  return obj;
12726
12739
  }
12727
- if (obj instanceof import_mongoose25.default.Types.ObjectId) {
12740
+ if (obj instanceof import_mongoose26.default.Types.ObjectId) {
12728
12741
  return obj.toString();
12729
12742
  }
12730
12743
  if (Array.isArray(obj)) {