@kipicore/dbcore 1.1.273 → 1.1.275
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.
- package/dist/constants/app.js +0 -4
- package/dist/helpers/utils.js +0 -1
- package/dist/interfaces/userInstituteMetaInterface.d.ts +1 -0
- package/dist/models/mongodb/examGroupModel.js +17 -4
- package/dist/models/mongodb/examHasAnswerSheetModel.js +2 -2
- package/dist/models/mongodb/index.js +1 -0
- package/dist/models/mongodb/plugin/transformIdInResponsePlugin.js +0 -1
- package/dist/models/mongodb/subjectIndexModel.js +0 -1
- package/dist/models/mongodb/userInstituteMetaModel.js +4 -0
- package/dist/models/psql/batchSubjectBookAssessmentModel.js +1 -1
- package/dist/models/psql/feeHistoryModel.js +2 -2
- package/dist/models/psql/feesCollectionModel.js +1 -0
- package/dist/models/psql/index.js +0 -1
- package/dist/models/psql/studentFeeHistoryModel.js +1 -0
- package/dist/models/psql/userHasHomeWorkModel.js +1 -1
- package/dist/models/psql/userHasParentModel.js +1 -0
- package/dist/models/psql/userModel.js +1 -1
- package/dist/models/psql/userPayoutModel.js +2 -1
- package/dist/models/psql/walletModel.js +2 -2
- package/dist/services/Concrete/mongooseCommonService.js +1 -3
- package/package.json +1 -1
package/dist/constants/app.js
CHANGED
|
@@ -787,7 +787,6 @@ exports.META_AUTH = {
|
|
|
787
787
|
TOKEN_URL: 'https://graph.facebook.com/v21.0/oauth/access_token',
|
|
788
788
|
USER_PROFILE_URL: 'https://graph.facebook.com/v21.0/me',
|
|
789
789
|
};
|
|
790
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
791
790
|
exports.APPLE_AUTH = {
|
|
792
791
|
CLIENT_ID: env_1.ENV_VARIABLE.APPLE_CLIENT_ID,
|
|
793
792
|
TEAM_ID: env_1.ENV_VARIABLE.APPLE_TEAM_ID,
|
|
@@ -874,7 +873,6 @@ exports.templateKeyWord = [
|
|
|
874
873
|
{
|
|
875
874
|
keyWord: '@studentName',
|
|
876
875
|
name: '[student name]',
|
|
877
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
878
876
|
value: (data) => {
|
|
879
877
|
return `${data.firstName} ${data.lastName}`;
|
|
880
878
|
},
|
|
@@ -882,7 +880,6 @@ exports.templateKeyWord = [
|
|
|
882
880
|
{
|
|
883
881
|
name: '[amount]',
|
|
884
882
|
keyWord: '@amount',
|
|
885
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
886
883
|
value: (data) => {
|
|
887
884
|
return data.amount;
|
|
888
885
|
},
|
|
@@ -890,7 +887,6 @@ exports.templateKeyWord = [
|
|
|
890
887
|
{
|
|
891
888
|
name: '[due date]',
|
|
892
889
|
keyWord: '@dueDate',
|
|
893
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
894
890
|
value: (data) => {
|
|
895
891
|
return data.dueDate;
|
|
896
892
|
},
|
package/dist/helpers/utils.js
CHANGED
|
@@ -43,7 +43,6 @@ exports.assignNonNull = assignNonNull;
|
|
|
43
43
|
exports.isUserSchoolInfoUpdate = isUserSchoolInfoUpdate;
|
|
44
44
|
exports.chunkArray = chunkArray;
|
|
45
45
|
exports.extractFromObject = extractFromObject;
|
|
46
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
47
46
|
const fs_1 = __importDefault(require("fs"));
|
|
48
47
|
const dateFunction = __importStar(require("date-fns"));
|
|
49
48
|
const app_1 = require("../constants/app");
|
|
@@ -148,6 +148,7 @@ const examGroupModelSchema = new mongoose_1.Schema({
|
|
|
148
148
|
});
|
|
149
149
|
const createOrUpdateHook = async (examGroup) => {
|
|
150
150
|
try {
|
|
151
|
+
await validateStandardDateConflict(examGroup);
|
|
151
152
|
if (examGroup.instituteId) {
|
|
152
153
|
const institute = await instituteModel_1.default.findOne({
|
|
153
154
|
where: {
|
|
@@ -267,10 +268,22 @@ const createOrUpdateHook = async (examGroup) => {
|
|
|
267
268
|
throw err;
|
|
268
269
|
}
|
|
269
270
|
};
|
|
271
|
+
const validateStandardDateConflict = async (examGroup) => {
|
|
272
|
+
const conflict = await ExamGroupModel.findOne({
|
|
273
|
+
instituteId: examGroup.instituteId,
|
|
274
|
+
...(examGroup.id && { id: { $ne: examGroup.id } }),
|
|
275
|
+
standards: { $in: examGroup.standards },
|
|
276
|
+
startDate: { $lte: examGroup.endDate },
|
|
277
|
+
endDate: { $gte: examGroup.startDate },
|
|
278
|
+
}).lean();
|
|
279
|
+
if (conflict) {
|
|
280
|
+
throw new Error(`Another exam group "${conflict.title}" already exists for selected standard(s) in this date range`);
|
|
281
|
+
}
|
|
282
|
+
};
|
|
270
283
|
examGroupModelSchema.pre('save', async function (next) {
|
|
271
|
-
const
|
|
284
|
+
const examGroup = this;
|
|
272
285
|
try {
|
|
273
|
-
await createOrUpdateHook(
|
|
286
|
+
await createOrUpdateHook(examGroup);
|
|
274
287
|
next();
|
|
275
288
|
}
|
|
276
289
|
catch (error) {
|
|
@@ -278,9 +291,9 @@ examGroupModelSchema.pre('save', async function (next) {
|
|
|
278
291
|
}
|
|
279
292
|
});
|
|
280
293
|
examGroupModelSchema.pre('updateMany', async function (next) {
|
|
281
|
-
const
|
|
294
|
+
const examGroup = this.getUpdate();
|
|
282
295
|
try {
|
|
283
|
-
await createOrUpdateHook(
|
|
296
|
+
await createOrUpdateHook(examGroup);
|
|
284
297
|
next();
|
|
285
298
|
}
|
|
286
299
|
catch (error) {
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
6
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
7
|
const transformNestedDocs = (doc) => {
|
|
9
8
|
if (!doc || typeof doc !== 'object') {
|
|
@@ -36,7 +36,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
40
39
|
const mongoose_1 = __importStar(require("mongoose"));
|
|
41
40
|
const app_1 = require("../../constants/app");
|
|
42
41
|
const utils_1 = require("../../helpers/utils");
|
|
@@ -5,7 +5,7 @@ const sequelize_1 = require("sequelize");
|
|
|
5
5
|
const index_1 = require("./index");
|
|
6
6
|
class BatchSubjectBookAssessmentModel extends sequelize_1.Model {
|
|
7
7
|
static associate(models) {
|
|
8
|
-
const { InstituteModel, UserModel, BatchModel, TypeManagementModel, InstituteEntityModel, AcademicCalendarModel
|
|
8
|
+
const { InstituteModel, UserModel, BatchModel, TypeManagementModel, InstituteEntityModel, AcademicCalendarModel } = models;
|
|
9
9
|
BatchSubjectBookAssessmentModel.belongsTo(InstituteModel, {
|
|
10
10
|
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
11
11
|
as: 'subjectBookAssessmentInstitute',
|
|
@@ -11,7 +11,7 @@ const errorMessages_1 = require("../../constants/errorMessages");
|
|
|
11
11
|
const userInstituteMetaModel_1 = __importDefault(require("../mongodb/userInstituteMetaModel"));
|
|
12
12
|
class FeeHistoryModel extends sequelize_1.Model {
|
|
13
13
|
static associate(models) {
|
|
14
|
-
const { UserModel, InstituteModel, SchoolFeeCollectionModel, FeesCollectionModel, FileStorageModel, BankAccountDetailsModel,
|
|
14
|
+
const { UserModel, InstituteModel, SchoolFeeCollectionModel, FeesCollectionModel, FileStorageModel, BankAccountDetailsModel, AcademicCalendarModel, } = models;
|
|
15
15
|
FeeHistoryModel.belongsTo(FeesCollectionModel, {
|
|
16
16
|
foreignKey: { name: 'feeCollectionId', field: 'fee_collection_id', allowNull: true },
|
|
17
17
|
as: 'feeHistoryFeeCollection',
|
|
@@ -90,7 +90,7 @@ class FeeHistoryModel extends sequelize_1.Model {
|
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
static addHooks(models) {
|
|
93
|
-
const { FileStorageModel
|
|
93
|
+
const { FileStorageModel } = models;
|
|
94
94
|
const subjectWiserFeePay = async (instituteId, feeCollectionId, paidFee, userId, academicCalendarId) => {
|
|
95
95
|
const { InstituteEntityModel, UserHasSubjectFeeModel, FeesCollectionModel, SubjectHasPayFeeHistory } = models;
|
|
96
96
|
const userInstituteMeta = await userInstituteMetaModel_1.default.findOne({
|
|
@@ -5,6 +5,7 @@ const index_1 = require("./index");
|
|
|
5
5
|
const app_1 = require("../../constants/app");
|
|
6
6
|
const errorMessages_1 = require("../../constants/errorMessages");
|
|
7
7
|
class FeesCollectionModel extends sequelize_1.Model {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
9
|
static addHooks(models) {
|
|
9
10
|
const beforeCreateOrUpdateHook = async (feeCollection) => {
|
|
10
11
|
let existingRecord = null;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
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.FeesCollectionModel = exports.FeeTypeModel = exports.FeeTypeHasTermsModel = exports.FeeReminderSettingModel = exports.FeeReminderModel = exports.FeeHistoryModel = exports.FeeHistoryDetailsModel = 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.VendorManagementModel = exports.VehicleModel = exports.UserRequiredStepsModel = exports.UserProjectAssessmentOptionModel = exports.UserPayoutModel = exports.UserPayoutHistoryModel = exports.UserPayoutDetailsModel = 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.UserHasFeeTermsModel = exports.UserHasDeviceModel = exports.UserHasCourseModel = exports.UserHasBatchModel = exports.UserHasAnnouncementModel = exports.UserFeeTypeModel = exports.UserFeeTypeByAccountModel = 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.SchoolFeeCollectionModel = exports.RulesRegulationModel = exports.RoleModel = exports.ProjectAssessmentOptionModel = exports.ProductModel = exports.PincodeModel = exports.PdcHistoryModel = exports.PdcChequeModel = exports.PaymentTermsModel = void 0;
|
|
8
8
|
exports.TermsAndConditionModel = exports.FeeType1Model = exports.StudentFeeTermsModel = exports.UserHasPenaltyModel = exports.PenaltyModel = exports.ClassRoomCollectionModel = exports.ClassRoomEventModel = exports.StudentFeeTypeCollectionModel = exports.SchoolFeeTermsModel = exports.StudentFeeHistoryModel = exports.StudentFeeCollectionModel = exports.UserDirectoryModel = exports.StudentLeaveRequestModel = exports.CloneListModel = exports.IncomeExpenseModel = exports.MaintenanceModel = exports.AdvertisementModel = exports.WorkOffDaysModel = exports.EntityWiseCalendarModel = exports.CampusModel = exports.LostFoundItemModel = exports.WorkingShiftModel = exports.WorkingDayModel = exports.WalletModel = exports.WalletHistoryModel = void 0;
|
|
9
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
9
|
const sequelize_1 = require("sequelize");
|
|
11
10
|
Object.defineProperty(exports, "Sequelize", { enumerable: true, get: function () { return sequelize_1.Sequelize; } });
|
|
12
11
|
const postgresConfig = require('../../configs/postgresConfig');
|
|
@@ -100,6 +100,7 @@ class StudentFeeHistoryModel extends sequelize_1.Model {
|
|
|
100
100
|
as: 'batchStudentHistory',
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
103
104
|
static addHooks(models) {
|
|
104
105
|
StudentFeeHistoryModel.beforeCreate(async (feeCollection) => {
|
|
105
106
|
if (feeCollection.paidFee) {
|
|
@@ -5,7 +5,7 @@ const index_1 = require("./index");
|
|
|
5
5
|
const app_1 = require("../../constants/app");
|
|
6
6
|
class UserHasHomeWorkModel extends sequelize_1.Model {
|
|
7
7
|
static associate(models) {
|
|
8
|
-
const { UserModel, InstituteModel,
|
|
8
|
+
const { UserModel, InstituteModel, HomeWorkModel, AcademicCalendarModel } = models;
|
|
9
9
|
UserHasHomeWorkModel.belongsTo(InstituteModel, {
|
|
10
10
|
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
11
11
|
as: 'homeWorkHasInstitute',
|
|
@@ -35,6 +35,7 @@ class UserHasParentModel extends sequelize_1.Model {
|
|
|
35
35
|
as: 'deletedByUser',
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
39
|
static addHooks(models) {
|
|
39
40
|
UserHasParentModel.addHook('beforeFind', (options) => {
|
|
40
41
|
if (!Object.prototype.hasOwnProperty.call(options.where, 'isDeleted')) {
|
|
@@ -10,7 +10,7 @@ const uniqueNumberCounterModel_1 = __importDefault(require("../mongodb/uniqueNum
|
|
|
10
10
|
const utils_1 = require("../../helpers/utils");
|
|
11
11
|
class UserModel extends sequelize_1.Model {
|
|
12
12
|
static associate(models) {
|
|
13
|
-
const { CountryModel, StateModel, CityModel, TokenModel, UserModel
|
|
13
|
+
const { CountryModel, StateModel, CityModel, TokenModel, UserModel } = models;
|
|
14
14
|
UserModel.belongsTo(CountryModel, { foreignKey: 'country' });
|
|
15
15
|
UserModel.belongsTo(StateModel, { foreignKey: 'state' });
|
|
16
16
|
UserModel.belongsTo(CityModel, { foreignKey: 'city' });
|
|
@@ -7,7 +7,7 @@ const date_fns_1 = require("date-fns");
|
|
|
7
7
|
const utils_1 = require("../../helpers/utils");
|
|
8
8
|
class UserPayoutModel extends sequelize_1.Model {
|
|
9
9
|
static associate(models) {
|
|
10
|
-
const { UserModel, InstituteModel
|
|
10
|
+
const { UserModel, InstituteModel } = models;
|
|
11
11
|
UserPayoutModel.belongsTo(UserModel, {
|
|
12
12
|
foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
|
|
13
13
|
as: 'createdByUser',
|
|
@@ -196,6 +196,7 @@ class UserPayoutModel extends sequelize_1.Model {
|
|
|
196
196
|
});
|
|
197
197
|
await transaction.commit();
|
|
198
198
|
return userPayoutList;
|
|
199
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
199
200
|
}
|
|
200
201
|
catch (err) {
|
|
201
202
|
await transaction.rollback();
|
|
@@ -5,7 +5,7 @@ const index_1 = require("./index");
|
|
|
5
5
|
const app_1 = require("../../constants/app");
|
|
6
6
|
class WalletModel extends sequelize_1.Model {
|
|
7
7
|
static associate(models) {
|
|
8
|
-
const { UserModel
|
|
8
|
+
const { UserModel } = models;
|
|
9
9
|
WalletModel.hasMany(UserModel, {
|
|
10
10
|
foreignKey: 'uuid',
|
|
11
11
|
sourceKey: 'uuid',
|
|
@@ -44,7 +44,7 @@ WalletModel.init({
|
|
|
44
44
|
type: sequelize_1.DataTypes.UUID,
|
|
45
45
|
primaryKey: true,
|
|
46
46
|
allowNull: false,
|
|
47
|
-
defaultValue: sequelize_1.DataTypes.UUIDV4
|
|
47
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
48
48
|
},
|
|
49
49
|
coin: {
|
|
50
50
|
type: sequelize_1.DataTypes.FLOAT,
|
|
@@ -89,9 +89,7 @@ class MongooseCommonService {
|
|
|
89
89
|
return createdDoc;
|
|
90
90
|
}
|
|
91
91
|
async bulkCreate(createData, options = {}) {
|
|
92
|
-
return this.model.create(
|
|
93
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
94
|
-
createData.map((data) => {
|
|
92
|
+
return this.model.create(createData.map((data) => {
|
|
95
93
|
data.createdBy = options.userId;
|
|
96
94
|
return data;
|
|
97
95
|
}), { ...options, ordered: true });
|
package/package.json
CHANGED