@kipicore/dbcore 1.1.673 → 1.1.675

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.
Files changed (178) hide show
  1. package/dist/commonValidator/commandValidator.d.ts +27 -0
  2. package/dist/commonValidator/commandValidator.js +225 -0
  3. package/dist/commonValidator/index.d.ts +3 -0
  4. package/dist/commonValidator/index.js +24 -0
  5. package/dist/commonValidator/joiCommonValidator.d.ts +12 -0
  6. package/dist/commonValidator/joiCommonValidator.js +47 -0
  7. package/dist/commonValidator/joiSchemaBuilder.d.ts +6 -0
  8. package/dist/commonValidator/joiSchemaBuilder.js +70 -0
  9. package/dist/configs/env.d.ts +2 -0
  10. package/dist/configs/env.js +4 -0
  11. package/dist/configs/index.d.ts +2 -0
  12. package/dist/configs/index.js +2 -0
  13. package/dist/configs/logger.d.ts +2 -0
  14. package/dist/configs/logger.js +44 -0
  15. package/dist/configs/redisConfig.d.ts +4 -0
  16. package/dist/configs/redisConfig.js +32 -0
  17. package/dist/constants/app.d.ts +20 -17
  18. package/dist/constants/app.js +31 -28
  19. package/dist/constants/errorMessages.d.ts +17 -0
  20. package/dist/constants/errorMessages.js +20 -1
  21. package/dist/constants/successMessages.d.ts +14 -0
  22. package/dist/constants/successMessages.js +17 -1
  23. package/dist/db/psql/migrations/20260714111425-change_status_enum_to_string_in_institutes.js +46 -0
  24. package/dist/db/psql/migrations/20260714131500-add_note_to_institutes.js +20 -0
  25. package/dist/db/psql/migrations/20260715150000-create-ai-model-keys.d.ts +2 -0
  26. package/dist/db/psql/migrations/20260715150000-create-ai-model-keys.js +156 -0
  27. package/dist/db/psql/migrations/20260717071354-add_type_to_categories.d.ts +2 -0
  28. package/dist/db/psql/migrations/20260717071354-add_type_to_categories.js +19 -0
  29. package/dist/db/psql/migrations/20260717072745-add_type_to_sub_categories.d.ts +2 -0
  30. package/dist/db/psql/migrations/20260717072745-add_type_to_sub_categories.js +19 -0
  31. package/dist/db/psql/migrations/20260717095051-add_status_to_users.d.ts +2 -0
  32. package/dist/db/psql/migrations/20260717095051-add_status_to_users.js +19 -0
  33. package/dist/db/psql/migrations/20260721000001-add-deleted-at-to-rms-maintenance-activities.d.ts +2 -0
  34. package/dist/db/psql/migrations/20260721000001-add-deleted-at-to-rms-maintenance-activities.js +12 -0
  35. package/dist/db/psql/migrations/20260721000002-change-uploaded-from-enum-to-string-in-file-storage.d.ts +2 -0
  36. package/dist/db/psql/migrations/20260721000002-change-uploaded-from-enum-to-string-in-file-storage.js +42 -0
  37. package/dist/db/psql/migrations/20260722130134-add_portfolio_theme_to_users.d.ts +2 -0
  38. package/dist/db/psql/migrations/20260722130134-add_portfolio_theme_to_users.js +22 -0
  39. package/dist/helpers/index.d.ts +3 -0
  40. package/dist/helpers/index.js +3 -0
  41. package/dist/helpers/sendEmail.d.ts +3 -0
  42. package/dist/helpers/sendEmail.js +117 -0
  43. package/dist/helpers/sendNotification.d.ts +4 -0
  44. package/dist/helpers/sendNotification.js +34 -0
  45. package/dist/helpers/sendSMS.d.ts +5 -0
  46. package/dist/helpers/sendSMS.js +34 -0
  47. package/dist/helpers/utils.d.ts +5 -3
  48. package/dist/helpers/utils.js +58 -31
  49. package/dist/index.d.ts +4 -0
  50. package/dist/index.js +4 -0
  51. package/dist/interfaces/aiModelKeysInterface.d.ts +15 -0
  52. package/dist/interfaces/categoriesInterface.d.ts +2 -1
  53. package/dist/interfaces/index.d.ts +1 -14
  54. package/dist/interfaces/index.js +1 -15
  55. package/dist/interfaces/instituteInterface.d.ts +1 -0
  56. package/dist/interfaces/subCategoriesInterface.d.ts +2 -1
  57. package/dist/interfaces/subscriptionPlanInterface.d.ts +2 -1
  58. package/dist/interfaces/userInterface.d.ts +3 -1
  59. package/dist/interfaces/vendorCompanyMetaInterface.d.ts +2 -1
  60. package/dist/models/mongodb/index.d.ts +0 -3
  61. package/dist/models/mongodb/index.js +1 -8
  62. package/dist/models/mongodb/productMetaModel.js +8 -0
  63. package/dist/models/mongodb/subscriptionPlanModel.js +5 -0
  64. package/dist/models/mongodb/vendorCompanyMetaModel.js +6 -1
  65. package/dist/models/psql/SubCategoriesModel.d.ts +2 -1
  66. package/dist/models/psql/SubCategoriesModel.js +5 -0
  67. package/dist/models/psql/aiModelKeysModel.d.ts +20 -0
  68. package/dist/models/psql/aiModelKeysModel.js +70 -0
  69. package/dist/models/psql/categoriesModel.d.ts +2 -1
  70. package/dist/models/psql/categoriesModel.js +5 -0
  71. package/dist/models/psql/fileStorageModel.js +3 -4
  72. package/dist/models/psql/index.d.ts +1 -11
  73. package/dist/models/psql/index.js +4 -25
  74. package/dist/models/psql/instituteModel.d.ts +1 -0
  75. package/dist/models/psql/instituteModel.js +5 -2
  76. package/dist/models/psql/userModel.d.ts +3 -1
  77. package/dist/models/psql/userModel.js +2 -0
  78. package/dist/queues/emailQueue.d.ts +3 -0
  79. package/dist/queues/emailQueue.js +22 -0
  80. package/dist/queues/emailWorker.d.ts +3 -0
  81. package/dist/queues/emailWorker.js +33 -0
  82. package/dist/queues/index.d.ts +2 -0
  83. package/dist/queues/index.js +18 -0
  84. package/dist/types/aiModelKeysType.d.ts +3 -0
  85. package/dist/types/commonType.d.ts +29 -1
  86. package/dist/types/index.d.ts +1 -14
  87. package/dist/types/index.js +1 -15
  88. package/package.json +11 -3
  89. package/dist/db/psql/migrations/20260714095754-create-arena-models.js +0 -642
  90. package/dist/db/psql/migrations/20260720092201-replace-facility-sports-with-sport-group-data.d.ts +0 -2
  91. package/dist/db/psql/migrations/20260720092201-replace-facility-sports-with-sport-group-data.js +0 -138
  92. package/dist/db/psql/migrations/20260722143500-create-school_has_sports.js +0 -71
  93. package/dist/interfaces/ageGroupInterface.d.ts +0 -12
  94. package/dist/interfaces/assessmentTestInterface.d.ts +0 -24
  95. package/dist/interfaces/equipmentInterface.d.ts +0 -10
  96. package/dist/interfaces/equipmentInterface.js +0 -2
  97. package/dist/interfaces/facilityMasterInterface.d.ts +0 -9
  98. package/dist/interfaces/facilityMasterInterface.js +0 -2
  99. package/dist/interfaces/schoolHasSportInterface.d.ts +0 -7
  100. package/dist/interfaces/schoolHasSportInterface.js +0 -2
  101. package/dist/interfaces/skillInterface.d.ts +0 -15
  102. package/dist/interfaces/skillInterface.js +0 -2
  103. package/dist/interfaces/sportCategoryInterface.d.ts +0 -9
  104. package/dist/interfaces/sportCategoryInterface.js +0 -2
  105. package/dist/interfaces/sportGroupDataInterface.d.ts +0 -7
  106. package/dist/interfaces/sportGroupDataInterface.js +0 -2
  107. package/dist/interfaces/sportInfoInterface.d.ts +0 -23
  108. package/dist/interfaces/sportInfoInterface.js +0 -2
  109. package/dist/interfaces/sportInterface.d.ts +0 -10
  110. package/dist/interfaces/sportInterface.js +0 -2
  111. package/dist/interfaces/sportRoleInterface.d.ts +0 -11
  112. package/dist/interfaces/sportRoleInterface.js +0 -2
  113. package/dist/interfaces/sportSubCategoryInterface.d.ts +0 -10
  114. package/dist/interfaces/sportSubCategoryInterface.js +0 -2
  115. package/dist/interfaces/studentSportTestInterface.d.ts +0 -20
  116. package/dist/interfaces/studentSportTestInterface.js +0 -2
  117. package/dist/interfaces/unitInterface.d.ts +0 -10
  118. package/dist/interfaces/unitInterface.js +0 -2
  119. package/dist/models/mongodb/assessmentTestModel.d.ts +0 -4
  120. package/dist/models/mongodb/assessmentTestModel.js +0 -72
  121. package/dist/models/mongodb/sportInfoModel.d.ts +0 -4
  122. package/dist/models/mongodb/sportInfoModel.js +0 -71
  123. package/dist/models/mongodb/studentSportTestModel.d.ts +0 -4
  124. package/dist/models/mongodb/studentSportTestModel.js +0 -68
  125. package/dist/models/psql/ageGroupModel.d.ts +0 -22
  126. package/dist/models/psql/ageGroupModel.js +0 -76
  127. package/dist/models/psql/equipmentModel.d.ts +0 -20
  128. package/dist/models/psql/equipmentModel.js +0 -57
  129. package/dist/models/psql/facilityMasterModel.d.ts +0 -18
  130. package/dist/models/psql/facilityMasterModel.js +0 -64
  131. package/dist/models/psql/schoolHasSportModel.d.ts +0 -17
  132. package/dist/models/psql/schoolHasSportModel.js +0 -76
  133. package/dist/models/psql/skillModel.d.ts +0 -25
  134. package/dist/models/psql/skillModel.js +0 -99
  135. package/dist/models/psql/sportCategoryModel.d.ts +0 -19
  136. package/dist/models/psql/sportCategoryModel.js +0 -53
  137. package/dist/models/psql/sportGroupDataModel.d.ts +0 -13
  138. package/dist/models/psql/sportGroupDataModel.js +0 -64
  139. package/dist/models/psql/sportModel.d.ts +0 -20
  140. package/dist/models/psql/sportModel.js +0 -58
  141. package/dist/models/psql/sportRoleModel.d.ts +0 -21
  142. package/dist/models/psql/sportRoleModel.js +0 -71
  143. package/dist/models/psql/sportSubCategoryModel.d.ts +0 -20
  144. package/dist/models/psql/sportSubCategoryModel.js +0 -75
  145. package/dist/models/psql/unitModel.d.ts +0 -20
  146. package/dist/models/psql/unitModel.js +0 -57
  147. package/dist/types/ageGroupType.d.ts +0 -2
  148. package/dist/types/ageGroupType.js +0 -2
  149. package/dist/types/assessmentTestType.d.ts +0 -2
  150. package/dist/types/assessmentTestType.js +0 -2
  151. package/dist/types/equipmentType.d.ts +0 -2
  152. package/dist/types/equipmentType.js +0 -2
  153. package/dist/types/facilityMasterType.d.ts +0 -3
  154. package/dist/types/facilityMasterType.js +0 -2
  155. package/dist/types/schoolHasSportType.d.ts +0 -2
  156. package/dist/types/schoolHasSportType.js +0 -2
  157. package/dist/types/skillType.d.ts +0 -2
  158. package/dist/types/skillType.js +0 -2
  159. package/dist/types/sportCategoryType.d.ts +0 -2
  160. package/dist/types/sportCategoryType.js +0 -2
  161. package/dist/types/sportGroupDataType.d.ts +0 -3
  162. package/dist/types/sportGroupDataType.js +0 -2
  163. package/dist/types/sportInfoType.d.ts +0 -2
  164. package/dist/types/sportInfoType.js +0 -2
  165. package/dist/types/sportRoleType.d.ts +0 -2
  166. package/dist/types/sportRoleType.js +0 -2
  167. package/dist/types/sportSubCategoryType.d.ts +0 -2
  168. package/dist/types/sportSubCategoryType.js +0 -2
  169. package/dist/types/sportType.d.ts +0 -2
  170. package/dist/types/sportType.js +0 -2
  171. package/dist/types/studentSportTestType.d.ts +0 -2
  172. package/dist/types/studentSportTestType.js +0 -2
  173. package/dist/types/unitType.d.ts +0 -2
  174. package/dist/types/unitType.js +0 -2
  175. /package/dist/db/psql/migrations/{20260714095754-create-arena-models.d.ts → 20260714111425-change_status_enum_to_string_in_institutes.d.ts} +0 -0
  176. /package/dist/db/psql/migrations/{20260722143500-create-school_has_sports.d.ts → 20260714131500-add_note_to_institutes.d.ts} +0 -0
  177. /package/dist/interfaces/{ageGroupInterface.js → aiModelKeysInterface.js} +0 -0
  178. /package/dist/{interfaces/assessmentTestInterface.js → types/aiModelKeysType.js} +0 -0
@@ -83,6 +83,14 @@ const ProductMetaSchema = new mongoose_1.Schema({
83
83
  enum: Object.values(constants_1.PRODUCT_META_STATUS),
84
84
  default: constants_1.PRODUCT_META_STATUS.ACTIVE,
85
85
  },
86
+ description: {
87
+ type: String,
88
+ required: false,
89
+ },
90
+ shortDescription: {
91
+ type: String,
92
+ required: false,
93
+ },
86
94
  createdBy: {
87
95
  type: String,
88
96
  },
@@ -153,6 +153,11 @@ const subscriptionPlanModelSchema = new mongoose_1.Schema({
153
153
  type: Number,
154
154
  required: false,
155
155
  },
156
+ sellStatus: {
157
+ type: String,
158
+ default: app_1.PLAN_SELL_STATUS.AVAILABLE,
159
+ required: false,
160
+ },
156
161
  }, {
157
162
  timestamps: true,
158
163
  versionKey: false,
@@ -137,7 +137,7 @@ const vendorCompanyMetaSchema = new mongoose_1.Schema({
137
137
  },
138
138
  address2: {
139
139
  type: String,
140
- required: true,
140
+ required: false,
141
141
  },
142
142
  area: {
143
143
  type: String,
@@ -185,6 +185,11 @@ const vendorCompanyMetaSchema = new mongoose_1.Schema({
185
185
  enum: Object.values(constants_1.VENDOR_COMPANY_META_STATUS),
186
186
  default: constants_1.VENDOR_COMPANY_META_STATUS.PENDING,
187
187
  },
188
+ isActive: {
189
+ type: Boolean,
190
+ required: false,
191
+ default: true
192
+ },
188
193
  createdBy: {
189
194
  type: String,
190
195
  },
@@ -1,12 +1,13 @@
1
1
  import { Model } from 'sequelize';
2
2
  import { ISubCategoriesModelAttributes } from '../../interfaces/subCategoriesInterface';
3
3
  import { TSubCategoriesModelCreationAttributes } from '../../types/subCategoryType';
4
- import { COMMAN_STATUS } from '../../constants/app';
4
+ import { CATEGORY_TYPE, COMMAN_STATUS } from '../../constants/app';
5
5
  declare class SubCategoriesModel extends Model<ISubCategoriesModelAttributes, TSubCategoriesModelCreationAttributes> {
6
6
  id: string;
7
7
  name: string;
8
8
  status: COMMAN_STATUS;
9
9
  instituteId?: string;
10
+ type?: CATEGORY_TYPE;
10
11
  createdBy: string;
11
12
  updatedBy: string;
12
13
  deletedBy: string;
@@ -90,6 +90,11 @@ SubCategoriesModel.init({
90
90
  allowNull: true,
91
91
  defaultValue: app_1.COMMAN_STATUS.ACTIVE,
92
92
  },
93
+ type: {
94
+ type: sequelize_1.DataTypes.STRING,
95
+ allowNull: true,
96
+ defaultValue: app_1.CATEGORY_TYPE.INVENTORY,
97
+ }
93
98
  }, {
94
99
  modelName: 'SubCategoriesModel',
95
100
  tableName: 'sub_categories',
@@ -0,0 +1,20 @@
1
+ import { Model } from 'sequelize';
2
+ import { AI_MODEL_KEYS, AI_MODEL_KEY_TYPES } from '../../constants';
3
+ import { IAiModelKeyAttributes } from '../../interfaces/aiModelKeysInterface';
4
+ import { TAiModelKeyCreationAttributes } from '../../types/aiModelKeysType';
5
+ declare class AiModelKeyModel extends Model<IAiModelKeyAttributes, TAiModelKeyCreationAttributes> {
6
+ id: string;
7
+ key: AI_MODEL_KEYS;
8
+ hasValue: string;
9
+ type: AI_MODEL_KEY_TYPES;
10
+ description: string;
11
+ version: number;
12
+ createdBy?: string;
13
+ updatedBy?: string;
14
+ deletedBy?: string;
15
+ readonly createdAt?: Date;
16
+ readonly updatedAt?: Date;
17
+ readonly deletedAt?: Date;
18
+ static associate(models: any): void;
19
+ }
20
+ export default AiModelKeyModel;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ class AiModelKeyModel extends sequelize_1.Model {
6
+ static associate(models) {
7
+ const { UserModel } = models;
8
+ AiModelKeyModel.belongsTo(UserModel, {
9
+ foreignKey: {
10
+ name: 'createdBy',
11
+ allowNull: true,
12
+ field: 'created_by',
13
+ },
14
+ as: 'createdByUser',
15
+ });
16
+ AiModelKeyModel.belongsTo(UserModel, {
17
+ foreignKey: {
18
+ name: 'updatedBy',
19
+ allowNull: true,
20
+ field: 'updated_by',
21
+ },
22
+ as: 'updatedByUser',
23
+ });
24
+ AiModelKeyModel.belongsTo(UserModel, {
25
+ foreignKey: {
26
+ name: 'deletedBy',
27
+ allowNull: true,
28
+ field: 'deleted_by',
29
+ },
30
+ as: 'deletedByUser',
31
+ });
32
+ }
33
+ }
34
+ AiModelKeyModel.init({
35
+ id: {
36
+ type: sequelize_1.DataTypes.UUID,
37
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
38
+ primaryKey: true,
39
+ allowNull: false,
40
+ },
41
+ key: {
42
+ type: sequelize_1.DataTypes.STRING,
43
+ allowNull: false,
44
+ unique: true,
45
+ },
46
+ hasValue: {
47
+ type: sequelize_1.DataTypes.STRING,
48
+ allowNull: false,
49
+ field: 'has_value',
50
+ },
51
+ type: {
52
+ type: sequelize_1.DataTypes.STRING,
53
+ allowNull: false,
54
+ },
55
+ description: {
56
+ type: sequelize_1.DataTypes.TEXT,
57
+ allowNull: false,
58
+ },
59
+ version: {
60
+ type: sequelize_1.DataTypes.INTEGER,
61
+ allowNull: false,
62
+ defaultValue: 1,
63
+ },
64
+ }, {
65
+ sequelize: index_1.sequelize,
66
+ modelName: 'AiModelKeyModel',
67
+ tableName: 'ai_model_keys',
68
+ timestamps: true,
69
+ });
70
+ exports.default = AiModelKeyModel;
@@ -1,12 +1,13 @@
1
1
  import { Model } from 'sequelize';
2
2
  import { ICategoriesModelAttributes } from '../../interfaces/categoriesInterface';
3
3
  import { TCategoriesModelCreationAttributes } from '../../types/categoriesType';
4
- import { COMMAN_STATUS } from '../../constants/app';
4
+ import { CATEGORY_TYPE, COMMAN_STATUS } from '../../constants/app';
5
5
  export declare class CategoriesModel extends Model<ICategoriesModelAttributes, TCategoriesModelCreationAttributes> {
6
6
  id: string;
7
7
  name: string;
8
8
  status: COMMAN_STATUS;
9
9
  instituteId?: string;
10
+ type?: CATEGORY_TYPE;
10
11
  createdBy: string;
11
12
  updatedBy: string;
12
13
  deletedBy: string;
@@ -51,6 +51,11 @@ CategoriesModel.init({
51
51
  allowNull: false,
52
52
  defaultValue: app_1.COMMAN_STATUS.ACTIVE,
53
53
  },
54
+ type: {
55
+ type: sequelize_1.DataTypes.STRING,
56
+ allowNull: true,
57
+ defaultValue: app_1.CATEGORY_TYPE.INVENTORY,
58
+ },
54
59
  }, {
55
60
  modelName: 'CategoriesModel',
56
61
  tableName: 'categories',
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const sequelize_1 = require("sequelize");
4
4
  const index_1 = require("./index");
5
- const app_1 = require("../../constants/app");
6
5
  class FileStorageModel extends sequelize_1.Model {
7
6
  static associate(models) {
8
7
  const { UserModel, UserDirectoryModel } = models;
@@ -72,9 +71,9 @@ FileStorageModel.init({
72
71
  allowNull: true,
73
72
  },
74
73
  uploadedFrom: {
75
- type: sequelize_1.DataTypes.ENUM,
76
- values: Object.values(app_1.APP_TYPE),
77
- allowNull: false,
74
+ type: sequelize_1.DataTypes.STRING,
75
+ field: 'uploaded_from',
76
+ allowNull: true,
78
77
  },
79
78
  instituteId: {
80
79
  type: sequelize_1.DataTypes.UUID,
@@ -140,6 +140,7 @@ export { default as CertificateRequestModel } from './certificateRequestModel';
140
140
  export { default as DynamicVariableModel } from './dynamicVariableModel';
141
141
  export { default as DynamicVariableLabelModel } from './dynamicVariableLabelModel';
142
142
  export { default as ModuleDocsModel } from './moduleDocsModel';
143
+ export { default as AiModelKeyModel } from './aiModelKeysModel';
143
144
  export { default as RmsDepartmentModel } from './rmsDepartmentModel';
144
145
  export { default as RmsLocationModel } from './rmsLocationModel';
145
146
  export { default as RmsResourceModel } from './rmsResourceModel';
@@ -175,14 +176,3 @@ export { default as AccountLedgerModel } from './accountLedgerModel';
175
176
  export { default as AccountLedgerOpeningModel } from './accountLedgerOpeningModel';
176
177
  export { default as AccountCostCenterModel } from './accountCostCenterModel';
177
178
  export { default as AccountVoucherTypeModel } from './accountVoucherTypeModel';
178
- export { default as SportModel } from './sportModel';
179
- export { default as SportCategoryModel } from './sportCategoryModel';
180
- export { default as SportSubCategoryModel } from './sportSubCategoryModel';
181
- export { default as SportRoleModel } from './sportRoleModel';
182
- export { default as EquipmentModel } from './equipmentModel';
183
- export { default as FacilityMasterModel } from './facilityMasterModel';
184
- export { default as SportGroupDataModel } from './sportGroupDataModel';
185
- export { default as UnitModel } from './unitModel';
186
- export { default as SkillModel } from './skillModel';
187
- export { default as AgeGroupModel } from './ageGroupModel';
188
- export { default as SchoolHasSportModel } from './schoolHasSportModel';
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProjectAssessmentOptionModel = exports.ProductModel = exports.PincodeModel = exports.PdcHistoryModel = exports.PdcChequeModel = exports.OfferModel = exports.ModuleModel = exports.ModuleFeatureModel = exports.MasterLeaveModel = exports.LectureModel = exports.LectureHistoryModel = exports.InventoryModel = exports.InventoryHistoryModel = exports.InstituteSubscriptionPlanModel = exports.InstituteModel = exports.InstituteEntityTypeModel = exports.InstituteEntityModel = exports.HomeWorkModel = exports.GreetingsModel = exports.FloorManagementModel = exports.FileStorageModel = exports.FeeReminderSettingModel = exports.FeeReminderModel = exports.FeatureActionModel = exports.FacilityModel = exports.EntityGroupModel = exports.DriverModel = exports.CourseModel = exports.CourseHasVisitorsModel = exports.CountryModel = exports.ContactFeedBackModel = exports.CoinPurchaseOfferModel = exports.CloudStorageModel = exports.ClassRoomModel = exports.CityModel = exports.CategoriesModel = exports.BookAssessmentDateModel = exports.BatchSubjectProjectAssessmentModel = exports.BatchSubjectBookAssessmentModel = exports.BatchModel = exports.BannerModel = exports.BankAccountDetailsModel = exports.AreaModel = exports.AnnouncementModel = exports.AccountHasReceiptDetailsModel = exports.AcademicCalendarModel = exports.SubCategoriesModel = exports.Sequelize = exports.db = exports.sequelize = void 0;
7
7
  exports.StudentLeaveRequestModel = exports.CloneListModel = exports.IncomeExpenseModel = exports.MaintenanceModel = exports.WorkOffDaysModel = exports.EntityWiseCalendarModel = exports.CampusModel = exports.LostFoundItemModel = exports.WorkingShiftModel = exports.WorkingDayModel = exports.WalletModel = exports.WalletHistoryModel = exports.VendorManagementModel = exports.VehicleModel = exports.UserRequiredStepsModel = exports.UserProjectAssessmentOptionModel = exports.UserPayoutModel = exports.UserModel = exports.UserLeaveRequestModel = exports.UserHasSubjectFeeModel = exports.UserHasStorageModel = exports.UserHasRollNumberModel = exports.UserHasRoleModel = exports.UserHasParentModel = exports.UserHasOfferModel = exports.UserHasLeaveModel = exports.UserHasLeaveHistoryModel = exports.UserHasInventoryModel = exports.UserHasInventoryHistoryModel = exports.UserHasHomeWorkModel = exports.UserHasFileModel = exports.UserHasDeviceModel = exports.UserHasCourseModel = exports.UserHasBatchModel = exports.UserHasAnnouncementModel = exports.UserBookAssessmentModel = exports.TypeManagementModel = exports.TripModel = exports.TokenModel = exports.ToDoModel = exports.TestimonialModel = exports.SyllabusModel = exports.SubjectHasPayFeeHistoryModel = exports.SubjectHasFeeModel = exports.StateModel = exports.SlotModel = exports.SendNotificationModel = exports.SchoolOfferModel = exports.RulesRegulationModel = exports.RoleModel = void 0;
8
- exports.RmsPurchaseOrderModel = exports.RmsPurchaseRequestItemModel = exports.RmsPurchaseRequestModel = exports.RmsVendorDocumentModel = exports.RmsVendorModel = exports.RmsStockTransactionModel = exports.RmsStockModel = exports.RmsResourceModel = exports.RmsLocationModel = exports.RmsDepartmentModel = exports.ModuleDocsModel = exports.DynamicVariableLabelModel = exports.DynamicVariableModel = exports.CertificateRequestModel = exports.FeeSubmissionTrackModel = exports.UserHasFeeSubmissionModel = exports.AssignSubjectModel = exports.InstitutePartnersModel = exports.InstituteOwnershipHistoryModel = exports.UserHasPenaltyHistoryModel = exports.PastYearRecordModel = exports.PayoutTransactionHistoryModel = exports.AdditionalPayoutModel = exports.LoanEmiModel = exports.UserLoanModel = exports.NoticeboardModel = exports.UserPermissionModel = exports.RoleManagementModel = exports.PermissionModel = exports.DesignationModel = exports.AdditionalPayoutTypeModel = exports.VisitorBookModel = exports.PostalDispatchModel = exports.CallRegisterModel = exports.UserHasOfferAndDiscountModel = exports.UserAcceptedTermsAndCondition = exports.SubjectInternalMarkModel = exports.InternalMarkModel = exports.TermsAndConditionModel = exports.FeeType1Model = exports.StudentFeeTermsModel = exports.UserHasPenaltyModel = exports.PenaltyModel = exports.ClassRoomCollectionModel = exports.ClassRoomEventModel = exports.StudentFeeTypeCollectionModel = exports.SchoolFeeTermsModel = exports.StudentFeeHistoryModel = exports.StudentFeeCollectionModel = exports.UserDirectoryModel = void 0;
9
- exports.SchoolHasSportModel = exports.AgeGroupModel = exports.SkillModel = exports.UnitModel = exports.SportGroupDataModel = exports.FacilityMasterModel = exports.EquipmentModel = exports.SportRoleModel = exports.SportSubCategoryModel = exports.SportCategoryModel = exports.SportModel = exports.AccountVoucherTypeModel = exports.AccountCostCenterModel = exports.AccountLedgerOpeningModel = exports.AccountLedgerModel = exports.AccountGroupModel = exports.AccountNumberSequenceModel = exports.AccountPeriodLockModel = exports.AccountFinancialYearModel = exports.RmsExpenseEntryModel = exports.RmsBudgetModel = exports.RmsFacilityBookingModel = exports.RmsFacilityModel = exports.RmsMaintenanceActivityModel = exports.RmsMaintenanceTicketModel = exports.RefundCollectionModule = exports.RmsAssetTransactionModel = exports.RmsStorageSlotModel = exports.RmsStorageRackModel = exports.UserHasGraceMarksModel = exports.GraceMarksModel = exports.RmsAssetModel = exports.RmsGrnItemTransactionModel = exports.RmsGrnItemModel = exports.RmsGrnModel = exports.RmsPurchaseOrderItemModel = void 0;
8
+ exports.RmsPurchaseRequestItemModel = exports.RmsPurchaseRequestModel = exports.RmsVendorDocumentModel = exports.RmsVendorModel = exports.RmsStockTransactionModel = exports.RmsStockModel = exports.RmsResourceModel = exports.RmsLocationModel = exports.RmsDepartmentModel = exports.AiModelKeyModel = exports.ModuleDocsModel = exports.DynamicVariableLabelModel = exports.DynamicVariableModel = exports.CertificateRequestModel = exports.FeeSubmissionTrackModel = exports.UserHasFeeSubmissionModel = exports.AssignSubjectModel = exports.InstitutePartnersModel = exports.InstituteOwnershipHistoryModel = exports.UserHasPenaltyHistoryModel = exports.PastYearRecordModel = exports.PayoutTransactionHistoryModel = exports.AdditionalPayoutModel = exports.LoanEmiModel = exports.UserLoanModel = exports.NoticeboardModel = exports.UserPermissionModel = exports.RoleManagementModel = exports.PermissionModel = exports.DesignationModel = exports.AdditionalPayoutTypeModel = exports.VisitorBookModel = exports.PostalDispatchModel = exports.CallRegisterModel = exports.UserHasOfferAndDiscountModel = exports.UserAcceptedTermsAndCondition = exports.SubjectInternalMarkModel = exports.InternalMarkModel = exports.TermsAndConditionModel = exports.FeeType1Model = exports.StudentFeeTermsModel = exports.UserHasPenaltyModel = exports.PenaltyModel = exports.ClassRoomCollectionModel = exports.ClassRoomEventModel = exports.StudentFeeTypeCollectionModel = exports.SchoolFeeTermsModel = exports.StudentFeeHistoryModel = exports.StudentFeeCollectionModel = exports.UserDirectoryModel = void 0;
9
+ exports.AccountVoucherTypeModel = exports.AccountCostCenterModel = exports.AccountLedgerOpeningModel = exports.AccountLedgerModel = exports.AccountGroupModel = exports.AccountNumberSequenceModel = exports.AccountPeriodLockModel = exports.AccountFinancialYearModel = exports.RmsExpenseEntryModel = exports.RmsBudgetModel = exports.RmsFacilityBookingModel = exports.RmsFacilityModel = exports.RmsMaintenanceActivityModel = exports.RmsMaintenanceTicketModel = exports.RefundCollectionModule = exports.RmsAssetTransactionModel = exports.RmsStorageSlotModel = exports.RmsStorageRackModel = exports.UserHasGraceMarksModel = exports.GraceMarksModel = exports.RmsAssetModel = exports.RmsGrnItemTransactionModel = exports.RmsGrnItemModel = exports.RmsGrnModel = exports.RmsPurchaseOrderItemModel = exports.RmsPurchaseOrderModel = void 0;
10
10
  const sequelize_1 = require("sequelize");
11
11
  Object.defineProperty(exports, "Sequelize", { enumerable: true, get: function () { return sequelize_1.Sequelize; } });
12
12
  const postgresConfig = require('../../configs/postgresConfig');
@@ -375,6 +375,8 @@ var dynamicVariableLabelModel_1 = require("./dynamicVariableLabelModel");
375
375
  Object.defineProperty(exports, "DynamicVariableLabelModel", { enumerable: true, get: function () { return __importDefault(dynamicVariableLabelModel_1).default; } });
376
376
  var moduleDocsModel_1 = require("./moduleDocsModel");
377
377
  Object.defineProperty(exports, "ModuleDocsModel", { enumerable: true, get: function () { return __importDefault(moduleDocsModel_1).default; } });
378
+ var aiModelKeysModel_1 = require("./aiModelKeysModel");
379
+ Object.defineProperty(exports, "AiModelKeyModel", { enumerable: true, get: function () { return __importDefault(aiModelKeysModel_1).default; } });
378
380
  // RMS Models
379
381
  var rmsDepartmentModel_1 = require("./rmsDepartmentModel");
380
382
  Object.defineProperty(exports, "RmsDepartmentModel", { enumerable: true, get: function () { return __importDefault(rmsDepartmentModel_1).default; } });
@@ -446,26 +448,3 @@ var accountCostCenterModel_1 = require("./accountCostCenterModel");
446
448
  Object.defineProperty(exports, "AccountCostCenterModel", { enumerable: true, get: function () { return __importDefault(accountCostCenterModel_1).default; } });
447
449
  var accountVoucherTypeModel_1 = require("./accountVoucherTypeModel");
448
450
  Object.defineProperty(exports, "AccountVoucherTypeModel", { enumerable: true, get: function () { return __importDefault(accountVoucherTypeModel_1).default; } });
449
- // Arena Module
450
- var sportModel_1 = require("./sportModel");
451
- Object.defineProperty(exports, "SportModel", { enumerable: true, get: function () { return __importDefault(sportModel_1).default; } });
452
- var sportCategoryModel_1 = require("./sportCategoryModel");
453
- Object.defineProperty(exports, "SportCategoryModel", { enumerable: true, get: function () { return __importDefault(sportCategoryModel_1).default; } });
454
- var sportSubCategoryModel_1 = require("./sportSubCategoryModel");
455
- Object.defineProperty(exports, "SportSubCategoryModel", { enumerable: true, get: function () { return __importDefault(sportSubCategoryModel_1).default; } });
456
- var sportRoleModel_1 = require("./sportRoleModel");
457
- Object.defineProperty(exports, "SportRoleModel", { enumerable: true, get: function () { return __importDefault(sportRoleModel_1).default; } });
458
- var equipmentModel_1 = require("./equipmentModel");
459
- Object.defineProperty(exports, "EquipmentModel", { enumerable: true, get: function () { return __importDefault(equipmentModel_1).default; } });
460
- var facilityMasterModel_1 = require("./facilityMasterModel");
461
- Object.defineProperty(exports, "FacilityMasterModel", { enumerable: true, get: function () { return __importDefault(facilityMasterModel_1).default; } });
462
- var sportGroupDataModel_1 = require("./sportGroupDataModel");
463
- Object.defineProperty(exports, "SportGroupDataModel", { enumerable: true, get: function () { return __importDefault(sportGroupDataModel_1).default; } });
464
- var unitModel_1 = require("./unitModel");
465
- Object.defineProperty(exports, "UnitModel", { enumerable: true, get: function () { return __importDefault(unitModel_1).default; } });
466
- var skillModel_1 = require("./skillModel");
467
- Object.defineProperty(exports, "SkillModel", { enumerable: true, get: function () { return __importDefault(skillModel_1).default; } });
468
- var ageGroupModel_1 = require("./ageGroupModel");
469
- Object.defineProperty(exports, "AgeGroupModel", { enumerable: true, get: function () { return __importDefault(ageGroupModel_1).default; } });
470
- var schoolHasSportModel_1 = require("./schoolHasSportModel");
471
- Object.defineProperty(exports, "SchoolHasSportModel", { enumerable: true, get: function () { return __importDefault(schoolHasSportModel_1).default; } });
@@ -43,6 +43,7 @@ declare class InstituteModel extends Model<IInstituteAttributes, TInstituteCreat
43
43
  mobileVerification?: MOBILE_VERIFICATION;
44
44
  partnersIds?: string[];
45
45
  isPlayHouse: boolean;
46
+ note?: string;
46
47
  createdBy: string;
47
48
  updatedBy: string;
48
49
  deletedBy: string;
@@ -65,10 +65,9 @@ InstituteModel.init({
65
65
  name: { type: sequelize_1.DataTypes.STRING(100), allowNull: false },
66
66
  email: { type: sequelize_1.DataTypes.STRING(50), allowNull: false },
67
67
  status: {
68
- type: sequelize_1.DataTypes.ENUM,
68
+ type: sequelize_1.DataTypes.STRING,
69
69
  allowNull: false,
70
70
  defaultValue: app_1.INSTITUTE_STATUS.ACTIVE,
71
- values: Object.values(app_1.INSTITUTE_STATUS),
72
71
  },
73
72
  type: {
74
73
  type: sequelize_1.DataTypes.ENUM,
@@ -154,6 +153,10 @@ InstituteModel.init({
154
153
  defaultValue: false,
155
154
  allowNull: true,
156
155
  },
156
+ note: {
157
+ type: sequelize_1.DataTypes.STRING,
158
+ allowNull: true,
159
+ },
157
160
  }, {
158
161
  modelName: 'InstituteModel',
159
162
  tableName: 'institutes',
@@ -1,5 +1,5 @@
1
1
  import { Model } from 'sequelize';
2
- import { APP_TYPE, EMAIL_VERIFICATION, MOBILE_VERIFICATION, USER_TYPES } from '../../constants/app';
2
+ import { APP_TYPE, EMAIL_VERIFICATION, MOBILE_VERIFICATION, USER_STATUS, USER_TYPES } from '../../constants/app';
3
3
  import { IUserAttributes } from '../../interfaces/userInterface';
4
4
  import { TUserCreationAttributes } from '../../types/userType';
5
5
  declare class UserModel extends Model<IUserAttributes, TUserCreationAttributes> implements IUserAttributes {
@@ -44,6 +44,8 @@ declare class UserModel extends Model<IUserAttributes, TUserCreationAttributes>
44
44
  district?: string;
45
45
  area?: string;
46
46
  taluka?: string;
47
+ status?: USER_STATUS;
48
+ portfolioTheme?: string;
47
49
  readonly createdAt: Date;
48
50
  readonly deletedAt: string;
49
51
  readonly updatedAt: Date;
@@ -186,6 +186,8 @@ UserModel.init({
186
186
  medications: { type: sequelize_1.DataTypes.STRING, allowNull: true, field: 'medications' },
187
187
  relation: { type: sequelize_1.DataTypes.STRING, allowNull: true },
188
188
  taluka: { type: sequelize_1.DataTypes.STRING, allowNull: true },
189
+ status: { type: sequelize_1.DataTypes.STRING, allowNull: true, defaultValue: app_1.USER_STATUS.ACTIVE },
190
+ portfolioTheme: { type: sequelize_1.DataTypes.STRING, allowNull: true, field: 'portfolio_theme' }
189
191
  }, {
190
192
  modelName: 'UserModel',
191
193
  tableName: 'users',
@@ -0,0 +1,3 @@
1
+ import { Queue } from 'bullmq';
2
+ export declare const EMAIL_QUEUE_NAME = "email-queue";
3
+ export declare const emailQueue: Queue<any, any, string, any, any, string>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.emailQueue = exports.EMAIL_QUEUE_NAME = void 0;
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ const bullmq_1 = require("bullmq");
9
+ const redisConfig_1 = __importDefault(require("../configs/redisConfig"));
10
+ exports.EMAIL_QUEUE_NAME = 'email-queue';
11
+ exports.emailQueue = new bullmq_1.Queue(exports.EMAIL_QUEUE_NAME, {
12
+ connection: redisConfig_1.default,
13
+ defaultJobOptions: {
14
+ attempts: 3,
15
+ backoff: {
16
+ type: 'exponential',
17
+ delay: 1000,
18
+ },
19
+ removeOnComplete: true,
20
+ removeOnFail: false,
21
+ },
22
+ });
@@ -0,0 +1,3 @@
1
+ import { Worker } from 'bullmq';
2
+ import { IEmailOptions } from '../index';
3
+ export declare const emailWorker: Worker<IEmailOptions, any, string>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.emailWorker = void 0;
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ const bullmq_1 = require("bullmq");
9
+ const redisConfig_1 = __importDefault(require("../configs/redisConfig"));
10
+ const sendEmail_1 = require("../helpers/sendEmail");
11
+ const logger_1 = require("../configs/logger");
12
+ const emailQueue_1 = require("./emailQueue");
13
+ exports.emailWorker = new bullmq_1.Worker(emailQueue_1.EMAIL_QUEUE_NAME, async (job) => {
14
+ const emailOptions = job.data;
15
+ logger_1.logger.info(`Processing email job ${job.id} to ${emailOptions.to}`);
16
+ try {
17
+ await (0, sendEmail_1.sendEmailDirect)(emailOptions);
18
+ logger_1.logger.info(`Email job ${job.id} sent successfully`);
19
+ }
20
+ catch (error) {
21
+ logger_1.logger.error(`Failed to send email job ${job.id}:`, error);
22
+ throw error;
23
+ }
24
+ }, {
25
+ connection: redisConfig_1.default,
26
+ concurrency: 5,
27
+ });
28
+ exports.emailWorker.on('completed', job => {
29
+ logger_1.logger.info(`Job ${job.id} completed successfully`);
30
+ });
31
+ exports.emailWorker.on('failed', (job, err) => {
32
+ logger_1.logger.error(`Job ${job?.id} failed with error: ${err.message}`);
33
+ });
@@ -0,0 +1,2 @@
1
+ export * from './emailQueue';
2
+ export * from './emailWorker';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./emailQueue"), exports);
18
+ __exportStar(require("./emailWorker"), exports);
@@ -0,0 +1,3 @@
1
+ import { Optional } from 'sequelize';
2
+ import { IAiModelKeyAttributes } from '../interfaces/aiModelKeysInterface';
3
+ export type TAiModelKeyCreationAttributes = Optional<IAiModelKeyAttributes, 'id' | 'version' | 'createdBy' | 'updatedBy' | 'deletedBy' | 'createdAt' | 'updatedAt' | 'deletedAt'>;
@@ -1,3 +1,13 @@
1
+ import Joi from 'joi';
2
+ import { APP_TYPE } from '../constants/app';
3
+ export type TCustomHeaders = {
4
+ appType?: APP_TYPE;
5
+ token?: string;
6
+ deviceId?: string;
7
+ deviceToken?: string;
8
+ academicCalendarId?: string;
9
+ instituteId?: string;
10
+ };
1
11
  export type TPaginationOptions<T> = {
2
12
  limit: number | undefined;
3
13
  totalRecords: number;
@@ -5,5 +15,23 @@ export type TPaginationOptions<T> = {
5
15
  hasPreviousPage: boolean;
6
16
  hasNextPage: boolean;
7
17
  currentPage: number;
8
- recordList: T[];
18
+ recordList?: T[];
19
+ };
20
+ export type SchemaRules<TField> = {
21
+ required?: TField[];
22
+ optional?: TField[];
23
+ allowNull?: TField[];
24
+ forbidden?: TField[];
25
+ singleOrArray?: TField[];
26
+ singleOrArrayOrNull?: TField[];
27
+ customFields?: Record<string, Joi.Schema>;
28
+ nestedRequired?: string[];
9
29
  };
30
+ export interface CrudValidatorRules<TField> {
31
+ create?: SchemaRules<TField>;
32
+ update?: SchemaRules<TField>;
33
+ getAll?: SchemaRules<TField>;
34
+ getAllWithPagination?: SchemaRules<TField>;
35
+ getById?: SchemaRules<TField>;
36
+ delete?: SchemaRules<TField>;
37
+ }
@@ -233,6 +233,7 @@ export * from './userFinalResultType';
233
233
  export * from './refundType';
234
234
  export * from './kipiverseContactFormType';
235
235
  export * from './moduleDocsType';
236
+ export * from './aiModelKeysType';
236
237
  export * from './accountFinancialYearType';
237
238
  export * from './accountPeriodLockType';
238
239
  export * from './accountNumberSequenceType';
@@ -243,17 +244,3 @@ export * from './accountCostCenterType';
243
244
  export * from './accountVoucherTypeType';
244
245
  export * from './vendorCompanyMetaType';
245
246
  export * from './productMetaType';
246
- export * from './sportType';
247
- export * from './sportCategoryType';
248
- export * from './sportSubCategoryType';
249
- export * from './sportRoleType';
250
- export * from './equipmentType';
251
- export * from './facilityMasterType';
252
- export * from './sportGroupDataType';
253
- export * from './unitType';
254
- export * from './skillType';
255
- export * from './ageGroupType';
256
- export * from './assessmentTestType';
257
- export * from './sportInfoType';
258
- export * from './schoolHasSportType';
259
- export * from './studentSportTestType';
@@ -249,6 +249,7 @@ __exportStar(require("./userFinalResultType"), exports);
249
249
  __exportStar(require("./refundType"), exports);
250
250
  __exportStar(require("./kipiverseContactFormType"), exports);
251
251
  __exportStar(require("./moduleDocsType"), exports);
252
+ __exportStar(require("./aiModelKeysType"), exports);
252
253
  __exportStar(require("./accountFinancialYearType"), exports);
253
254
  __exportStar(require("./accountPeriodLockType"), exports);
254
255
  __exportStar(require("./accountNumberSequenceType"), exports);
@@ -259,18 +260,3 @@ __exportStar(require("./accountCostCenterType"), exports);
259
260
  __exportStar(require("./accountVoucherTypeType"), exports);
260
261
  __exportStar(require("./vendorCompanyMetaType"), exports);
261
262
  __exportStar(require("./productMetaType"), exports);
262
- // Arena Module
263
- __exportStar(require("./sportType"), exports);
264
- __exportStar(require("./sportCategoryType"), exports);
265
- __exportStar(require("./sportSubCategoryType"), exports);
266
- __exportStar(require("./sportRoleType"), exports);
267
- __exportStar(require("./equipmentType"), exports);
268
- __exportStar(require("./facilityMasterType"), exports);
269
- __exportStar(require("./sportGroupDataType"), exports);
270
- __exportStar(require("./unitType"), exports);
271
- __exportStar(require("./skillType"), exports);
272
- __exportStar(require("./ageGroupType"), exports);
273
- __exportStar(require("./assessmentTestType"), exports);
274
- __exportStar(require("./sportInfoType"), exports);
275
- __exportStar(require("./schoolHasSportType"), exports);
276
- __exportStar(require("./studentSportTestType"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kipicore/dbcore",
3
- "version": "1.1.673",
3
+ "version": "1.1.675",
4
4
  "description": "Reusable DB core package with Postgres, MongoDB, models, services, interfaces, and types",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
@@ -44,16 +44,24 @@
44
44
  "@aws-sdk/client-sts": "^3.1017.0",
45
45
  "@aws-sdk/s3-request-presigner": "^3.895.0",
46
46
  "axios": "^1.12.2",
47
+ "bullmq": "^5.80.9",
47
48
  "date-fns": "^4.1.0",
48
49
  "dotenv": "^17.2.2",
50
+ "ejs": "^3.1.10",
51
+ "firebase-admin": "^13.4.0",
52
+ "ioredis": "^5.11.1",
49
53
  "joi": "^18.0.1",
50
54
  "mongoose": "^8.5.2",
51
55
  "pg": "^8.12.0",
52
56
  "sequelize": "^6.37.3",
53
- "uuid": "^8.3.2"
57
+ "uuid": "^8.3.2",
58
+ "winston": "^3.19.0",
59
+ "winston-daily-rotate-file": "^5.0.0"
54
60
  },
55
61
  "devDependencies": {
56
62
  "@eslint/js": "^9.17.0",
63
+ "@types/ejs": "^3.1.5",
64
+ "@types/express": "^5.0.6",
57
65
  "@types/mongoose": "^5.11.97",
58
66
  "@types/node": "^24.5.2",
59
67
  "@types/sequelize": "^4.28.14",
@@ -72,4 +80,4 @@
72
80
  "LICENSE",
73
81
  ".sequelizerc"
74
82
  ]
75
- }
83
+ }