@kipicore/dbcore 1.1.571 → 1.1.573

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.
@@ -0,0 +1,2 @@
1
+ export function up(queryInterface: any, Sequelize: any): Promise<void>;
2
+ export function down(queryInterface: any): Promise<void>;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ const up = async (queryInterface, Sequelize) => {
3
+ const tableName = 'grace_marks';
4
+ const tableExists = await queryInterface
5
+ .describeTable(tableName)
6
+ .then(() => true)
7
+ .catch(() => false);
8
+ if (!tableExists) {
9
+ await queryInterface.createTable(tableName, {
10
+ id: {
11
+ type: Sequelize.UUID,
12
+ defaultValue: Sequelize.UUIDV4,
13
+ allowNull: false,
14
+ primaryKey: true,
15
+ },
16
+ academicCalendarId: {
17
+ type: Sequelize.UUID,
18
+ allowNull: true,
19
+ field: 'academic_calendar_id',
20
+ },
21
+ instituteId: {
22
+ type: Sequelize.UUID,
23
+ allowNull: true,
24
+ field: 'institute_id',
25
+ },
26
+ maxFailedSubject: {
27
+ type: Sequelize.INTEGER,
28
+ allowNull: true,
29
+ defaultValue: 0,
30
+ field: 'max_failed_subject',
31
+ },
32
+ maxGraceMarks: {
33
+ type: Sequelize.INTEGER,
34
+ allowNull: true,
35
+ defaultValue: 0,
36
+ field: 'max_grace_marks',
37
+ },
38
+ additionalMaxGraceMarks: {
39
+ type: Sequelize.INTEGER,
40
+ allowNull: true,
41
+ defaultValue: 0,
42
+ field: 'additional_max_grace_marks',
43
+ },
44
+ createdBy: {
45
+ type: Sequelize.UUID,
46
+ allowNull: true,
47
+ field: 'created_by',
48
+ },
49
+ updatedBy: {
50
+ type: Sequelize.UUID,
51
+ allowNull: true,
52
+ field: 'updated_by',
53
+ },
54
+ deletedBy: {
55
+ type: Sequelize.UUID,
56
+ allowNull: true,
57
+ field: 'deleted_by',
58
+ },
59
+ createdAt: {
60
+ type: Sequelize.DATE,
61
+ allowNull: false,
62
+ field: 'created_at',
63
+ },
64
+ updatedAt: {
65
+ type: Sequelize.DATE,
66
+ allowNull: false,
67
+ field: 'updated_at',
68
+ },
69
+ deletedAt: {
70
+ type: Sequelize.DATE,
71
+ allowNull: true,
72
+ field: 'deleted_at',
73
+ },
74
+ });
75
+ }
76
+ else {
77
+ const tableDefinition = await queryInterface.describeTable(tableName);
78
+ const columnsToAdd = {
79
+ id: {
80
+ type: Sequelize.UUID,
81
+ defaultValue: Sequelize.UUIDV4,
82
+ allowNull: false,
83
+ primaryKey: true,
84
+ },
85
+ academicCalendarId: {
86
+ type: Sequelize.UUID,
87
+ allowNull: true,
88
+ field: 'academic_calendar_id',
89
+ },
90
+ instituteId: {
91
+ type: Sequelize.UUID,
92
+ allowNull: true,
93
+ field: 'institute_id',
94
+ },
95
+ maxFailedSubject: {
96
+ type: Sequelize.INTEGER,
97
+ allowNull: true,
98
+ defaultValue: 0,
99
+ field: 'max_failed_subject',
100
+ },
101
+ maxGraceMarks: {
102
+ type: Sequelize.INTEGER,
103
+ allowNull: true,
104
+ defaultValue: 0,
105
+ field: 'max_grace_marks',
106
+ },
107
+ additionalMaxGraceMarks: {
108
+ type: Sequelize.INTEGER,
109
+ allowNull: true,
110
+ defaultValue: 0,
111
+ field: 'additional_max_grace_marks',
112
+ },
113
+ createdBy: {
114
+ type: Sequelize.UUID,
115
+ allowNull: true,
116
+ field: 'created_by',
117
+ },
118
+ updatedBy: {
119
+ type: Sequelize.UUID,
120
+ allowNull: true,
121
+ field: 'updated_by',
122
+ },
123
+ deletedBy: {
124
+ type: Sequelize.UUID,
125
+ allowNull: true,
126
+ field: 'deleted_by',
127
+ },
128
+ createdAt: {
129
+ type: Sequelize.DATE,
130
+ allowNull: false,
131
+ field: 'created_at',
132
+ },
133
+ updatedAt: {
134
+ type: Sequelize.DATE,
135
+ allowNull: false,
136
+ field: 'updated_at',
137
+ },
138
+ deletedAt: {
139
+ type: Sequelize.DATE,
140
+ allowNull: true,
141
+ field: 'deleted_at',
142
+ },
143
+ };
144
+ for (const column of Object.keys(columnsToAdd)) {
145
+ const columnToAdd = columnsToAdd[column];
146
+ const tableColumn = columnToAdd.field || column;
147
+ if (!tableDefinition[tableColumn]) {
148
+ await queryInterface.addColumn(tableName, tableColumn, columnToAdd);
149
+ }
150
+ }
151
+ }
152
+ };
153
+ const down = async (queryInterface) => {
154
+ const tableName = 'grace_marks';
155
+ const tableExists = await queryInterface
156
+ .describeTable(tableName)
157
+ .then(() => true)
158
+ .catch(() => false);
159
+ if (tableExists) {
160
+ await queryInterface.dropTable(tableName);
161
+ }
162
+ };
163
+ module.exports = {
164
+ up,
165
+ down,
166
+ };
@@ -0,0 +1,2 @@
1
+ export function up(queryInterface: any, Sequelize: any): Promise<void>;
2
+ export function down(queryInterface: any): Promise<void>;
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ const up = async (queryInterface, Sequelize) => {
3
+ const tableName = 'user_has_grace_marks';
4
+ const tableExists = await queryInterface
5
+ .describeTable(tableName)
6
+ .then(() => true)
7
+ .catch(() => false);
8
+ if (!tableExists) {
9
+ await queryInterface.createTable(tableName, {
10
+ id: {
11
+ type: Sequelize.UUID,
12
+ defaultValue: Sequelize.UUIDV4,
13
+ allowNull: false,
14
+ primaryKey: true,
15
+ },
16
+ academicCalendarId: {
17
+ type: Sequelize.UUID,
18
+ allowNull: true,
19
+ field: 'academic_calendar_id',
20
+ },
21
+ instituteId: {
22
+ type: Sequelize.UUID,
23
+ allowNull: true,
24
+ field: 'institute_id',
25
+ },
26
+ userId: {
27
+ type: Sequelize.UUID,
28
+ allowNull: true,
29
+ field: 'user_id',
30
+ },
31
+ subjectId: {
32
+ type: Sequelize.UUID,
33
+ allowNull: true,
34
+ field: 'subject_id',
35
+ },
36
+ graceMarks: {
37
+ type: Sequelize.INTEGER,
38
+ allowNull: true,
39
+ defaultValue: 0,
40
+ field: 'grace_marks',
41
+ },
42
+ additionalGraceMarks: {
43
+ type: Sequelize.INTEGER,
44
+ allowNull: true,
45
+ defaultValue: 0,
46
+ field: 'additional_grace_marks',
47
+ },
48
+ createdBy: {
49
+ type: Sequelize.UUID,
50
+ allowNull: true,
51
+ field: 'created_by',
52
+ },
53
+ updatedBy: {
54
+ type: Sequelize.UUID,
55
+ allowNull: true,
56
+ field: 'updated_by',
57
+ },
58
+ deletedBy: {
59
+ type: Sequelize.UUID,
60
+ allowNull: true,
61
+ field: 'deleted_by',
62
+ },
63
+ createdAt: {
64
+ type: Sequelize.DATE,
65
+ allowNull: false,
66
+ field: 'created_at',
67
+ },
68
+ updatedAt: {
69
+ type: Sequelize.DATE,
70
+ allowNull: false,
71
+ field: 'updated_at',
72
+ },
73
+ deletedAt: {
74
+ type: Sequelize.DATE,
75
+ allowNull: true,
76
+ field: 'deleted_at',
77
+ },
78
+ });
79
+ }
80
+ else {
81
+ const tableDefinition = await queryInterface.describeTable(tableName);
82
+ const columnsToAdd = {
83
+ id: {
84
+ type: Sequelize.UUID,
85
+ defaultValue: Sequelize.UUIDV4,
86
+ allowNull: false,
87
+ primaryKey: true,
88
+ },
89
+ academicCalendarId: {
90
+ type: Sequelize.UUID,
91
+ allowNull: true,
92
+ field: 'academic_calendar_id',
93
+ },
94
+ instituteId: {
95
+ type: Sequelize.UUID,
96
+ allowNull: true,
97
+ field: 'institute_id',
98
+ },
99
+ userId: {
100
+ type: Sequelize.UUID,
101
+ allowNull: true,
102
+ field: 'user_id',
103
+ },
104
+ subjectId: {
105
+ type: Sequelize.UUID,
106
+ allowNull: true,
107
+ field: 'subject_id',
108
+ },
109
+ graceMarks: {
110
+ type: Sequelize.INTEGER,
111
+ allowNull: true,
112
+ defaultValue: 0,
113
+ field: 'grace_marks',
114
+ },
115
+ additionalGraceMarks: {
116
+ type: Sequelize.INTEGER,
117
+ allowNull: true,
118
+ defaultValue: 0,
119
+ field: 'additional_grace_marks',
120
+ },
121
+ createdBy: {
122
+ type: Sequelize.UUID,
123
+ allowNull: true,
124
+ field: 'created_by',
125
+ },
126
+ updatedBy: {
127
+ type: Sequelize.UUID,
128
+ allowNull: true,
129
+ field: 'updated_by',
130
+ },
131
+ deletedBy: {
132
+ type: Sequelize.UUID,
133
+ allowNull: true,
134
+ field: 'deleted_by',
135
+ },
136
+ createdAt: {
137
+ type: Sequelize.DATE,
138
+ allowNull: false,
139
+ field: 'created_at',
140
+ },
141
+ updatedAt: {
142
+ type: Sequelize.DATE,
143
+ allowNull: false,
144
+ field: 'updated_at',
145
+ },
146
+ deletedAt: {
147
+ type: Sequelize.DATE,
148
+ allowNull: true,
149
+ field: 'deleted_at',
150
+ },
151
+ };
152
+ for (const column of Object.keys(columnsToAdd)) {
153
+ const columnToAdd = columnsToAdd[column];
154
+ const tableColumn = columnToAdd.field || column;
155
+ if (!tableDefinition[tableColumn]) {
156
+ await queryInterface.addColumn(tableName, tableColumn, columnToAdd);
157
+ }
158
+ }
159
+ }
160
+ };
161
+ const down = async (queryInterface) => {
162
+ const tableName = 'user_has_grace_marks';
163
+ const tableExists = await queryInterface
164
+ .describeTable(tableName)
165
+ .then(() => true)
166
+ .catch(() => false);
167
+ if (tableExists) {
168
+ await queryInterface.dropTable(tableName);
169
+ }
170
+ };
171
+ module.exports = {
172
+ up,
173
+ down,
174
+ };
@@ -39,4 +39,5 @@ export interface IExamModelAttributes extends IDefaultAttributes, Document {
39
39
  plannerSyncStatus?: PLANNER_SYNC_STATUS;
40
40
  publishedDate?: Date;
41
41
  academicCalendarId?: string;
42
+ isTomorrowNotificationSent?: boolean;
42
43
  }
@@ -0,0 +1,9 @@
1
+ import { IDefaultAttributes } from './commonInterface';
2
+ export interface IGraceMarksModelAttributes extends IDefaultAttributes {
3
+ id: string;
4
+ academicCalendarId: string;
5
+ instituteId: string;
6
+ maxFailedSubject: number;
7
+ maxGraceMarks: number;
8
+ additionalMaxGraceMarks: number;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -208,3 +208,5 @@ export * from './pastYearRecordTopperInterface';
208
208
  export * from './onlineLectureInterface';
209
209
  export * from './dynamicVariableInterface';
210
210
  export * from './dynamicVariableLabelInterface';
211
+ export * from './graceMarksInterface';
212
+ export * from './userHasGraceMarksInterface';
@@ -224,3 +224,5 @@ __exportStar(require("./pastYearRecordTopperInterface"), exports);
224
224
  __exportStar(require("./onlineLectureInterface"), exports);
225
225
  __exportStar(require("./dynamicVariableInterface"), exports);
226
226
  __exportStar(require("./dynamicVariableLabelInterface"), exports);
227
+ __exportStar(require("./graceMarksInterface"), exports);
228
+ __exportStar(require("./userHasGraceMarksInterface"), exports);
@@ -0,0 +1,10 @@
1
+ import { IDefaultAttributes } from './commonInterface';
2
+ export interface IUserHasGraceMarksModelAttributes extends IDefaultAttributes {
3
+ id: string;
4
+ academicCalendarId: string;
5
+ instituteId: string;
6
+ userId: string;
7
+ subjectId: string;
8
+ graceMarks: number;
9
+ additionalGraceMarks: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -203,6 +203,11 @@ const examModelSchema = new mongoose_1.Schema({
203
203
  type: String,
204
204
  required: false,
205
205
  },
206
+ isTomorrowNotificationSent: {
207
+ type: Boolean,
208
+ required: false,
209
+ default: false,
210
+ },
206
211
  }, {
207
212
  timestamps: true,
208
213
  versionKey: false,
@@ -0,0 +1,19 @@
1
+ import { Model } from 'sequelize';
2
+ import { IGraceMarksModelAttributes } from '../../interfaces';
3
+ import { TGraceMarksModelCreationAttributes } from '../../types';
4
+ declare class GraceMarksModel extends Model<IGraceMarksModelAttributes, TGraceMarksModelCreationAttributes> {
5
+ id: string;
6
+ academicCalendarId: string;
7
+ instituteId: string;
8
+ maxFailedSubject: number;
9
+ maxGraceMarks: number;
10
+ additionalMaxGraceMarks: number;
11
+ createdBy: string;
12
+ updatedBy: string;
13
+ deletedBy: string;
14
+ readonly createdAt: Date;
15
+ readonly updatedAt: Date;
16
+ readonly deletedAt?: Date;
17
+ static associate(models: any): void;
18
+ }
19
+ export default GraceMarksModel;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ class GraceMarksModel extends sequelize_1.Model {
6
+ static associate(models) {
7
+ const { UserModel, InstituteModel, AcademicCalendarModel } = models;
8
+ GraceMarksModel.belongsTo(UserModel, {
9
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
10
+ as: 'createdByUser',
11
+ });
12
+ GraceMarksModel.belongsTo(UserModel, {
13
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
14
+ as: 'updatedByUser',
15
+ });
16
+ GraceMarksModel.belongsTo(UserModel, {
17
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
18
+ as: 'deletedByUser',
19
+ });
20
+ GraceMarksModel.belongsTo(AcademicCalendarModel, {
21
+ foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id', allowNull: true },
22
+ as: 'academicCalendar',
23
+ });
24
+ AcademicCalendarModel.hasMany(GraceMarksModel, {
25
+ foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id', allowNull: true },
26
+ as: 'graceMarks',
27
+ });
28
+ GraceMarksModel.belongsTo(InstituteModel, {
29
+ foreignKey: { name: 'instituteId', field: 'institute_id', allowNull: false },
30
+ as: 'institute',
31
+ });
32
+ InstituteModel.hasMany(GraceMarksModel, {
33
+ foreignKey: { name: 'instituteId', field: 'institute_id', allowNull: false },
34
+ as: 'graceMarks',
35
+ });
36
+ }
37
+ }
38
+ GraceMarksModel.init({
39
+ id: {
40
+ type: sequelize_1.DataTypes.UUID,
41
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
42
+ allowNull: false,
43
+ primaryKey: true,
44
+ },
45
+ academicCalendarId: {
46
+ type: sequelize_1.DataTypes.UUID,
47
+ allowNull: true,
48
+ field: 'academic_calendar_id',
49
+ },
50
+ instituteId: {
51
+ type: sequelize_1.DataTypes.UUID,
52
+ allowNull: true,
53
+ field: 'institute_id',
54
+ },
55
+ maxFailedSubject: {
56
+ type: sequelize_1.DataTypes.INTEGER,
57
+ allowNull: true,
58
+ defaultValue: 0,
59
+ field: 'max_failed_subject',
60
+ },
61
+ maxGraceMarks: {
62
+ type: sequelize_1.DataTypes.INTEGER,
63
+ allowNull: true,
64
+ defaultValue: 0,
65
+ field: 'max_grace_marks',
66
+ },
67
+ additionalMaxGraceMarks: {
68
+ type: sequelize_1.DataTypes.INTEGER,
69
+ allowNull: true,
70
+ defaultValue: 0,
71
+ field: 'additional_max_grace_marks',
72
+ },
73
+ }, {
74
+ modelName: 'GraceMarksModel',
75
+ tableName: 'grace_marks',
76
+ timestamps: true,
77
+ paranoid: true,
78
+ sequelize: index_1.sequelize,
79
+ });
80
+ exports.default = GraceMarksModel;
@@ -139,3 +139,5 @@ export { default as FeeSubmissionTrackModel } from './feeSubmissionTrackModel';
139
139
  export { default as CertificateRequestModel } from './certificateRequestModel';
140
140
  export { default as DynamicVariableModel } from './dynamicVariableModel';
141
141
  export { default as DynamicVariableLabelModel } from './dynamicVariableLabelModel';
142
+ export { default as GraceMarksModel } from './graceMarksModel';
143
+ export { default as UserHasGraceMarksModel } from './userHasGraceMarksModel';
@@ -5,7 +5,7 @@ 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.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;
8
+ exports.UserHasGraceMarksModel = exports.GraceMarksModel = 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
9
  const sequelize_1 = require("sequelize");
10
10
  Object.defineProperty(exports, "Sequelize", { enumerable: true, get: function () { return sequelize_1.Sequelize; } });
11
11
  const postgresConfig = require('../../configs/postgresConfig');
@@ -372,3 +372,7 @@ var dynamicVariableModel_1 = require("./dynamicVariableModel");
372
372
  Object.defineProperty(exports, "DynamicVariableModel", { enumerable: true, get: function () { return __importDefault(dynamicVariableModel_1).default; } });
373
373
  var dynamicVariableLabelModel_1 = require("./dynamicVariableLabelModel");
374
374
  Object.defineProperty(exports, "DynamicVariableLabelModel", { enumerable: true, get: function () { return __importDefault(dynamicVariableLabelModel_1).default; } });
375
+ var graceMarksModel_1 = require("./graceMarksModel");
376
+ Object.defineProperty(exports, "GraceMarksModel", { enumerable: true, get: function () { return __importDefault(graceMarksModel_1).default; } });
377
+ var userHasGraceMarksModel_1 = require("./userHasGraceMarksModel");
378
+ Object.defineProperty(exports, "UserHasGraceMarksModel", { enumerable: true, get: function () { return __importDefault(userHasGraceMarksModel_1).default; } });
@@ -0,0 +1,20 @@
1
+ import { Model } from 'sequelize';
2
+ import { IUserHasGraceMarksModelAttributes } from '../../interfaces';
3
+ import { TUserHasGraceMarksModelCreationAttributes } from '../../types';
4
+ declare class UserHasGraceMarksModel extends Model<IUserHasGraceMarksModelAttributes, TUserHasGraceMarksModelCreationAttributes> {
5
+ id: string;
6
+ academicCalendarId: string;
7
+ instituteId: string;
8
+ userId: string;
9
+ subjectId: string;
10
+ graceMarks: number;
11
+ additionalGraceMarks: 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 UserHasGraceMarksModel;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ class UserHasGraceMarksModel extends sequelize_1.Model {
6
+ static associate(models) {
7
+ const { UserModel, InstituteModel, AcademicCalendarModel, InstituteEntityModel } = models;
8
+ UserHasGraceMarksModel.belongsTo(UserModel, {
9
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
10
+ as: 'createdByUser',
11
+ });
12
+ UserHasGraceMarksModel.belongsTo(UserModel, {
13
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
14
+ as: 'updatedByUser',
15
+ });
16
+ UserHasGraceMarksModel.belongsTo(UserModel, {
17
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
18
+ as: 'deletedByUser',
19
+ });
20
+ UserHasGraceMarksModel.belongsTo(UserModel, {
21
+ foreignKey: { name: 'userId', field: 'user_id', allowNull: true },
22
+ as: 'user',
23
+ });
24
+ UserModel.hasMany(UserHasGraceMarksModel, {
25
+ foreignKey: { name: 'userId', field: 'user_id', allowNull: true },
26
+ as: 'userGraceMarks',
27
+ });
28
+ UserHasGraceMarksModel.belongsTo(InstituteEntityModel, {
29
+ foreignKey: { name: 'subjectId', field: 'subject_id', allowNull: true },
30
+ as: 'subjectEntity',
31
+ });
32
+ InstituteEntityModel.hasMany(UserHasGraceMarksModel, {
33
+ foreignKey: { name: 'subjectId', field: 'subject_id', allowNull: true },
34
+ as: 'subjectGraceMarks',
35
+ });
36
+ UserHasGraceMarksModel.belongsTo(AcademicCalendarModel, {
37
+ foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id', allowNull: true },
38
+ as: 'academicCalendar',
39
+ });
40
+ AcademicCalendarModel.hasMany(UserHasGraceMarksModel, {
41
+ foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id', allowNull: true },
42
+ as: 'userGraceMarks',
43
+ });
44
+ UserHasGraceMarksModel.belongsTo(InstituteModel, {
45
+ foreignKey: { name: 'instituteId', field: 'institute_id', allowNull: false },
46
+ as: 'institute',
47
+ });
48
+ InstituteModel.hasMany(UserHasGraceMarksModel, {
49
+ foreignKey: { name: 'instituteId', field: 'institute_id', allowNull: false },
50
+ as: 'userGraceMarks',
51
+ });
52
+ }
53
+ }
54
+ UserHasGraceMarksModel.init({
55
+ id: {
56
+ type: sequelize_1.DataTypes.UUID,
57
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
58
+ allowNull: false,
59
+ primaryKey: true,
60
+ },
61
+ academicCalendarId: {
62
+ type: sequelize_1.DataTypes.UUID,
63
+ allowNull: true,
64
+ field: 'academic_calendar_id',
65
+ },
66
+ instituteId: {
67
+ type: sequelize_1.DataTypes.UUID,
68
+ allowNull: true,
69
+ field: 'institute_id',
70
+ },
71
+ userId: {
72
+ type: sequelize_1.DataTypes.UUID,
73
+ allowNull: true,
74
+ field: 'user_id',
75
+ },
76
+ subjectId: {
77
+ type: sequelize_1.DataTypes.UUID,
78
+ allowNull: true,
79
+ field: 'subject_id',
80
+ },
81
+ graceMarks: {
82
+ type: sequelize_1.DataTypes.INTEGER,
83
+ allowNull: true,
84
+ defaultValue: 0,
85
+ field: 'grace_marks',
86
+ },
87
+ additionalGraceMarks: {
88
+ type: sequelize_1.DataTypes.INTEGER,
89
+ allowNull: true,
90
+ defaultValue: 0,
91
+ field: 'additional_grace_marks',
92
+ },
93
+ }, {
94
+ modelName: 'UserHasGraceMarksModel',
95
+ tableName: 'user_has_grace_marks',
96
+ timestamps: true,
97
+ paranoid: true,
98
+ sequelize: index_1.sequelize,
99
+ });
100
+ exports.default = UserHasGraceMarksModel;
@@ -0,0 +1,3 @@
1
+ import { Optional } from 'sequelize';
2
+ import { IGraceMarksModelAttributes } from '../interfaces';
3
+ export type TGraceMarksModelCreationAttributes = Optional<IGraceMarksModelAttributes, 'id'>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -198,3 +198,5 @@ export * from './pastYearRecordTopperType';
198
198
  export * from './onlineLectureType';
199
199
  export * from './dynamicVariableType';
200
200
  export * from './dynamicVariableLabelType';
201
+ export * from './graceMarksType';
202
+ export * from './userHasGraceMarksType';
@@ -214,3 +214,5 @@ __exportStar(require("./pastYearRecordTopperType"), exports);
214
214
  __exportStar(require("./onlineLectureType"), exports);
215
215
  __exportStar(require("./dynamicVariableType"), exports);
216
216
  __exportStar(require("./dynamicVariableLabelType"), exports);
217
+ __exportStar(require("./graceMarksType"), exports);
218
+ __exportStar(require("./userHasGraceMarksType"), exports);
@@ -0,0 +1,3 @@
1
+ import { Optional } from 'sequelize';
2
+ import { IUserHasGraceMarksModelAttributes } from '../interfaces';
3
+ export type TUserHasGraceMarksModelCreationAttributes = Optional<IUserHasGraceMarksModelAttributes, 'id'>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kipicore/dbcore",
3
- "version": "1.1.571",
3
+ "version": "1.1.573",
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",