@kipicore/dbcore 1.1.199 → 1.1.201
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/db/psql/migrations/20260106101359-update_model_of_user_fee_type_11.d.ts +2 -0
- package/dist/db/psql/migrations/20260106101359-update_model_of_user_fee_type_11.js +39 -0
- package/dist/db/psql/migrations/20260107095840-add_title.d.ts +2 -0
- package/dist/db/psql/migrations/20260107095840-add_title.js +31 -0
- package/dist/db/psql/migrations/20260108062722-student_terms.d.ts +2 -0
- package/dist/db/psql/migrations/20260108062722-student_terms.js +199 -0
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/schoolFee1Interface.d.ts +1 -0
- package/dist/interfaces/schoolFeeTermsInterface.d.ts +2 -0
- package/dist/interfaces/studentFeeTermsInterface.d.ts +21 -0
- package/dist/interfaces/studentFeeTermsInterface.js +2 -0
- package/dist/models/mongodb/schoolFee1Model.js +5 -0
- package/dist/models/psql/index.d.ts +1 -0
- package/dist/models/psql/index.js +3 -1
- package/dist/models/psql/schoolFeeTermsModel.d.ts +2 -0
- package/dist/models/psql/schoolFeeTermsModel.js +9 -0
- package/dist/models/psql/studentFeeTermsModel.d.ts +31 -0
- package/dist/models/psql/studentFeeTermsModel.js +170 -0
- package/dist/models/psql/userFeeTypeModel.js +2 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/studentFeeTermsType.d.ts +3 -0
- package/dist/types/studentFeeTermsType.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const up = async (queryInterface, Sequelize) => {
|
|
3
|
+
const table = await queryInterface.describeTable('user_fee_types');
|
|
4
|
+
// grNumber → allow null
|
|
5
|
+
if (table.gr_number && table.gr_number.allowNull === false) {
|
|
6
|
+
await queryInterface.changeColumn('user_fee_types', 'gr_number', {
|
|
7
|
+
type: Sequelize.STRING,
|
|
8
|
+
allowNull: true,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
// rollNumber → allow null
|
|
12
|
+
if (table.roll_number && table.roll_number.allowNull === false) {
|
|
13
|
+
await queryInterface.changeColumn('user_fee_types', 'roll_number', {
|
|
14
|
+
type: Sequelize.STRING,
|
|
15
|
+
allowNull: true,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const down = async (queryInterface, Sequelize) => {
|
|
20
|
+
const table = await queryInterface.describeTable('user_fee_types');
|
|
21
|
+
// rollback grNumber
|
|
22
|
+
if (table.gr_number) {
|
|
23
|
+
await queryInterface.changeColumn('user_fee_types', 'gr_number', {
|
|
24
|
+
type: Sequelize.STRING,
|
|
25
|
+
allowNull: false,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
// rollback rollNumber
|
|
29
|
+
if (table.roll_number) {
|
|
30
|
+
await queryInterface.changeColumn('user_fee_types', 'roll_number', {
|
|
31
|
+
type: Sequelize.STRING,
|
|
32
|
+
allowNull: false,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
module.exports = {
|
|
37
|
+
up,
|
|
38
|
+
down,
|
|
39
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const up = async (queryInterface, Sequelize) => {
|
|
3
|
+
const table = await queryInterface.describeTable('school_fee_terms');
|
|
4
|
+
if (!table.title) {
|
|
5
|
+
await queryInterface.addColumn('school_fee_terms', 'title', {
|
|
6
|
+
type: Sequelize.STRING,
|
|
7
|
+
defaultValue: null,
|
|
8
|
+
allowNull: true,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (!table.school_fee_id) {
|
|
12
|
+
await queryInterface.addColumn('school_fee_terms', 'school_fee_id', {
|
|
13
|
+
type: Sequelize.UUID,
|
|
14
|
+
defaultValue: null,
|
|
15
|
+
allowNull: true,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const down = async (queryInterface, Sequelize) => {
|
|
20
|
+
const table = await queryInterface.describeTable('school_fee_terms');
|
|
21
|
+
if (table.title) {
|
|
22
|
+
await queryInterface.removeColumn('school_fee_terms', 'title');
|
|
23
|
+
}
|
|
24
|
+
if (table.school_fee_id) {
|
|
25
|
+
await queryInterface.removeColumn('school_fee_terms', 'school_fee_id');
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
module.exports = {
|
|
29
|
+
up,
|
|
30
|
+
down,
|
|
31
|
+
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const up = async (queryInterface, Sequelize) => {
|
|
3
|
+
const tableName = 'student_fee_terms';
|
|
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
|
+
instituteId: {
|
|
17
|
+
type: Sequelize.UUID,
|
|
18
|
+
allowNull: true,
|
|
19
|
+
field: 'institute_id',
|
|
20
|
+
},
|
|
21
|
+
academicCalendarId: {
|
|
22
|
+
type: Sequelize.UUID,
|
|
23
|
+
allowNull: true,
|
|
24
|
+
field: 'academic_calendar_id',
|
|
25
|
+
},
|
|
26
|
+
stdId: {
|
|
27
|
+
type: Sequelize.UUID,
|
|
28
|
+
allowNull: true,
|
|
29
|
+
field: 'std_id',
|
|
30
|
+
},
|
|
31
|
+
studentFeeCollectionId: {
|
|
32
|
+
type: Sequelize.UUID,
|
|
33
|
+
allowNull: true,
|
|
34
|
+
field: 'student_fee_collection_id',
|
|
35
|
+
},
|
|
36
|
+
feeTypeId: {
|
|
37
|
+
type: Sequelize.UUID,
|
|
38
|
+
allowNull: true,
|
|
39
|
+
field: 'fee_type_id',
|
|
40
|
+
},
|
|
41
|
+
schoolFeeId: {
|
|
42
|
+
type: Sequelize.STRING,
|
|
43
|
+
allowNull: true,
|
|
44
|
+
field: 'school_fee_id',
|
|
45
|
+
},
|
|
46
|
+
userId: {
|
|
47
|
+
type: Sequelize.UUID,
|
|
48
|
+
allowNull: true,
|
|
49
|
+
field: 'user_id',
|
|
50
|
+
},
|
|
51
|
+
amount: {
|
|
52
|
+
type: Sequelize.INTEGER,
|
|
53
|
+
allowNull: true,
|
|
54
|
+
},
|
|
55
|
+
paidAmount: {
|
|
56
|
+
type: Sequelize.INTEGER,
|
|
57
|
+
allowNull: true,
|
|
58
|
+
field: 'paid_amount',
|
|
59
|
+
},
|
|
60
|
+
date: {
|
|
61
|
+
type: Sequelize.DATE,
|
|
62
|
+
allowNull: true,
|
|
63
|
+
},
|
|
64
|
+
startDate: {
|
|
65
|
+
type: Sequelize.DATE,
|
|
66
|
+
allowNull: true,
|
|
67
|
+
field: 'start_date',
|
|
68
|
+
},
|
|
69
|
+
oldId: {
|
|
70
|
+
type: Sequelize.STRING,
|
|
71
|
+
allowNull: true,
|
|
72
|
+
field: 'old_id',
|
|
73
|
+
},
|
|
74
|
+
title: {
|
|
75
|
+
type: Sequelize.STRING,
|
|
76
|
+
allowNull: true,
|
|
77
|
+
},
|
|
78
|
+
termsDependedId: {
|
|
79
|
+
type: Sequelize.STRING,
|
|
80
|
+
allowNull: true,
|
|
81
|
+
field: 'terms_depended_id',
|
|
82
|
+
},
|
|
83
|
+
frequency: {
|
|
84
|
+
type: Sequelize.STRING,
|
|
85
|
+
allowNull: true,
|
|
86
|
+
},
|
|
87
|
+
status: {
|
|
88
|
+
type: Sequelize.STRING,
|
|
89
|
+
allowNull: true,
|
|
90
|
+
},
|
|
91
|
+
createdBy: {
|
|
92
|
+
type: Sequelize.UUID,
|
|
93
|
+
allowNull: true,
|
|
94
|
+
field: 'created_by',
|
|
95
|
+
},
|
|
96
|
+
updatedBy: {
|
|
97
|
+
type: Sequelize.UUID,
|
|
98
|
+
allowNull: true,
|
|
99
|
+
field: 'updated_by',
|
|
100
|
+
},
|
|
101
|
+
deletedBy: {
|
|
102
|
+
type: Sequelize.UUID,
|
|
103
|
+
allowNull: true,
|
|
104
|
+
field: 'deleted_by',
|
|
105
|
+
},
|
|
106
|
+
createdAt: {
|
|
107
|
+
type: Sequelize.DATE,
|
|
108
|
+
allowNull: false,
|
|
109
|
+
defaultValue: Sequelize.NOW,
|
|
110
|
+
field: 'created_at',
|
|
111
|
+
},
|
|
112
|
+
updatedAt: {
|
|
113
|
+
type: Sequelize.DATE,
|
|
114
|
+
allowNull: false,
|
|
115
|
+
defaultValue: Sequelize.NOW,
|
|
116
|
+
field: 'updated_at',
|
|
117
|
+
},
|
|
118
|
+
deletedAt: {
|
|
119
|
+
type: Sequelize.DATE,
|
|
120
|
+
allowNull: true,
|
|
121
|
+
field: 'deleted_at',
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const tableDefinition = await queryInterface.describeTable(tableName);
|
|
127
|
+
const columnsToAdd = {
|
|
128
|
+
instituteId: { type: Sequelize.UUID, allowNull: true, field: 'institute_id' },
|
|
129
|
+
academicCalendarId: { type: Sequelize.UUID, allowNull: true, field: 'academic_calendar_id' },
|
|
130
|
+
stdId: { type: Sequelize.UUID, allowNull: true, field: 'std_id' },
|
|
131
|
+
studentFeeCollectionId: { type: Sequelize.UUID, allowNull: true, field: 'student_fee_collection_id' },
|
|
132
|
+
feeTypeId: { type: Sequelize.UUID, allowNull: true, field: 'fee_type_id' },
|
|
133
|
+
schoolFeeId: { type: Sequelize.STRING, allowNull: true, field: 'school_fee_id' },
|
|
134
|
+
userId: { type: Sequelize.UUID, allowNull: true, field: 'user_id' },
|
|
135
|
+
amount: { type: Sequelize.INTEGER, allowNull: true },
|
|
136
|
+
paidAmount: { type: Sequelize.INTEGER, allowNull: true, field: 'paid_amount' },
|
|
137
|
+
date: { type: Sequelize.DATE, allowNull: true },
|
|
138
|
+
startDate: { type: Sequelize.DATE, allowNull: true, field: 'start_date' },
|
|
139
|
+
oldId: { type: Sequelize.STRING, allowNull: true, field: 'old_id' },
|
|
140
|
+
title: { type: Sequelize.STRING, allowNull: true },
|
|
141
|
+
termsDependedId: { type: Sequelize.STRING, allowNull: true, field: 'terms_depended_id' },
|
|
142
|
+
frequency: { type: Sequelize.STRING, allowNull: true },
|
|
143
|
+
status: { type: Sequelize.STRING, allowNull: true },
|
|
144
|
+
createdBy: {
|
|
145
|
+
type: Sequelize.UUID,
|
|
146
|
+
allowNull: true,
|
|
147
|
+
field: 'created_by',
|
|
148
|
+
},
|
|
149
|
+
updatedBy: {
|
|
150
|
+
type: Sequelize.UUID,
|
|
151
|
+
allowNull: true,
|
|
152
|
+
field: 'updated_by',
|
|
153
|
+
},
|
|
154
|
+
deletedBy: {
|
|
155
|
+
type: Sequelize.UUID,
|
|
156
|
+
allowNull: true,
|
|
157
|
+
field: 'deleted_by',
|
|
158
|
+
},
|
|
159
|
+
createdAt: {
|
|
160
|
+
type: Sequelize.DATE,
|
|
161
|
+
allowNull: false,
|
|
162
|
+
defaultValue: Sequelize.NOW,
|
|
163
|
+
field: 'created_at',
|
|
164
|
+
},
|
|
165
|
+
updatedAt: {
|
|
166
|
+
type: Sequelize.DATE,
|
|
167
|
+
allowNull: false,
|
|
168
|
+
defaultValue: Sequelize.NOW,
|
|
169
|
+
field: 'updated_at',
|
|
170
|
+
},
|
|
171
|
+
deletedAt: {
|
|
172
|
+
type: Sequelize.DATE,
|
|
173
|
+
allowNull: true,
|
|
174
|
+
field: 'deleted_at',
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
for (const key of Object.keys(columnsToAdd)) {
|
|
178
|
+
const column = columnsToAdd[key];
|
|
179
|
+
const columnName = column.field || key;
|
|
180
|
+
if (!tableDefinition[columnName]) {
|
|
181
|
+
await queryInterface.addColumn(tableName, columnName, column);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
const down = async (queryInterface) => {
|
|
187
|
+
const tableName = 'student_fee_terms';
|
|
188
|
+
const tableExists = await queryInterface
|
|
189
|
+
.describeTable(tableName)
|
|
190
|
+
.then(() => true)
|
|
191
|
+
.catch(() => false);
|
|
192
|
+
if (tableExists) {
|
|
193
|
+
await queryInterface.dropTable(tableName);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
module.exports = {
|
|
197
|
+
up,
|
|
198
|
+
down,
|
|
199
|
+
};
|
package/dist/interfaces/index.js
CHANGED
|
@@ -189,3 +189,4 @@ __exportStar(require("./classRoomEventInterface"), exports);
|
|
|
189
189
|
__exportStar(require("./classRoomCollectionInterface"), exports);
|
|
190
190
|
__exportStar(require("./penaltyInterface"), exports);
|
|
191
191
|
__exportStar(require("./userHasPenaltyInterface"), exports);
|
|
192
|
+
__exportStar(require("./studentFeeTermsInterface"), exports);
|
|
@@ -6,9 +6,11 @@ export interface ISchoolFeeTermsModelAttributes extends IDefaultAttributes {
|
|
|
6
6
|
academicCalendarId: string;
|
|
7
7
|
stdId: string;
|
|
8
8
|
feeTypeId: string;
|
|
9
|
+
title: string;
|
|
9
10
|
frequency: PAYMENT_TERMS_TYPE;
|
|
10
11
|
amount: number;
|
|
11
12
|
date: Date;
|
|
12
13
|
oldId?: string;
|
|
13
14
|
termsDependedId: string;
|
|
15
|
+
schoolFeeId: string;
|
|
14
16
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PAYMENT_TERMS_STATUS, PAYMENT_TERMS_TYPE } from '../constants';
|
|
2
|
+
import { IDefaultAttributes } from './commonInterface';
|
|
3
|
+
export interface IStudentFeeTermsModelAttributes extends IDefaultAttributes {
|
|
4
|
+
id: string;
|
|
5
|
+
instituteId: string;
|
|
6
|
+
academicCalendarId: string;
|
|
7
|
+
stdId: string;
|
|
8
|
+
feeTypeId: string;
|
|
9
|
+
frequency: PAYMENT_TERMS_TYPE;
|
|
10
|
+
title: string;
|
|
11
|
+
amount: number;
|
|
12
|
+
oldId?: string;
|
|
13
|
+
termsDependedId: string;
|
|
14
|
+
schoolFeeId: string;
|
|
15
|
+
date?: Date;
|
|
16
|
+
startDate: Date;
|
|
17
|
+
paidAmount: number;
|
|
18
|
+
status: PAYMENT_TERMS_STATUS;
|
|
19
|
+
userId: string;
|
|
20
|
+
studentFeeCollectionId: string;
|
|
21
|
+
}
|
|
@@ -122,3 +122,4 @@ export { default as ClassRoomEventModel } from './classRoomEvent';
|
|
|
122
122
|
export { default as ClassRoomCollectionModel } from './classRoomCollectionModel';
|
|
123
123
|
export { default as PenaltyModel } from './penaltyModel';
|
|
124
124
|
export { default as UserHasPenaltyModel } from './userHasPenaltyModel';
|
|
125
|
+
export { default as StudentFeeTermsModel } from './studentFeeTermsModel';
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
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
|
-
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;
|
|
8
|
+
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
9
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
10
|
const sequelize_1 = require("sequelize");
|
|
11
11
|
Object.defineProperty(exports, "Sequelize", { enumerable: true, get: function () { return sequelize_1.Sequelize; } });
|
|
@@ -339,3 +339,5 @@ var penaltyModel_1 = require("./penaltyModel");
|
|
|
339
339
|
Object.defineProperty(exports, "PenaltyModel", { enumerable: true, get: function () { return __importDefault(penaltyModel_1).default; } });
|
|
340
340
|
var userHasPenaltyModel_1 = require("./userHasPenaltyModel");
|
|
341
341
|
Object.defineProperty(exports, "UserHasPenaltyModel", { enumerable: true, get: function () { return __importDefault(userHasPenaltyModel_1).default; } });
|
|
342
|
+
var studentFeeTermsModel_1 = require("./studentFeeTermsModel");
|
|
343
|
+
Object.defineProperty(exports, "StudentFeeTermsModel", { enumerable: true, get: function () { return __importDefault(studentFeeTermsModel_1).default; } });
|
|
@@ -7,7 +7,9 @@ export declare class SchoolFeeTermsModel extends Model<ISchoolFeeTermsModelAttri
|
|
|
7
7
|
instituteId: string;
|
|
8
8
|
academicCalendarId: string;
|
|
9
9
|
stdId: string;
|
|
10
|
+
title: string;
|
|
10
11
|
feeTypeId: string;
|
|
12
|
+
schoolFeeId: string;
|
|
11
13
|
frequency: PAYMENT_TERMS_TYPE;
|
|
12
14
|
amount: number;
|
|
13
15
|
date: Date;
|
|
@@ -88,6 +88,11 @@ SchoolFeeTermsModel.init({
|
|
|
88
88
|
field: 'fee_type_id',
|
|
89
89
|
allowNull: true,
|
|
90
90
|
},
|
|
91
|
+
schoolFeeId: {
|
|
92
|
+
type: sequelize_1.DataTypes.STRING,
|
|
93
|
+
field: 'school_fee_id',
|
|
94
|
+
allowNull: true,
|
|
95
|
+
},
|
|
91
96
|
amount: {
|
|
92
97
|
type: sequelize_1.DataTypes.INTEGER,
|
|
93
98
|
field: 'amount',
|
|
@@ -103,6 +108,10 @@ SchoolFeeTermsModel.init({
|
|
|
103
108
|
field: 'old_id',
|
|
104
109
|
allowNull: true,
|
|
105
110
|
},
|
|
111
|
+
title: {
|
|
112
|
+
type: sequelize_1.DataTypes.STRING,
|
|
113
|
+
allowNull: true,
|
|
114
|
+
},
|
|
106
115
|
termsDependedId: {
|
|
107
116
|
type: sequelize_1.DataTypes.STRING,
|
|
108
117
|
field: 'terms_depended_id',
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Model } from 'sequelize';
|
|
2
|
+
import { IStudentFeeTermsModelAttributes } from '../../interfaces/studentFeeTermsInterface';
|
|
3
|
+
import { PAYMENT_TERMS_STATUS, PAYMENT_TERMS_TYPE } from '../../constants';
|
|
4
|
+
import { TStudentFeeTermsModelCreationAttributes } from '../../types/studentFeeTermsType';
|
|
5
|
+
export declare class StudentFeeTermsModel extends Model<IStudentFeeTermsModelAttributes, TStudentFeeTermsModelCreationAttributes> {
|
|
6
|
+
id: string;
|
|
7
|
+
instituteId: string;
|
|
8
|
+
academicCalendarId: string;
|
|
9
|
+
stdId: string;
|
|
10
|
+
feeTypeId: string;
|
|
11
|
+
frequency: PAYMENT_TERMS_TYPE;
|
|
12
|
+
title: string;
|
|
13
|
+
amount: number;
|
|
14
|
+
oldId?: string;
|
|
15
|
+
termsDependedId: string;
|
|
16
|
+
schoolFeeId: string;
|
|
17
|
+
date?: Date;
|
|
18
|
+
startDate: Date;
|
|
19
|
+
paidAmount: number;
|
|
20
|
+
status: PAYMENT_TERMS_STATUS;
|
|
21
|
+
userId: string;
|
|
22
|
+
studentFeeCollectionId: string;
|
|
23
|
+
createdBy: string;
|
|
24
|
+
updatedBy: string;
|
|
25
|
+
deletedBy: string;
|
|
26
|
+
readonly createdAt: Date;
|
|
27
|
+
readonly updatedAt: Date;
|
|
28
|
+
readonly deletedAt: string;
|
|
29
|
+
static associate(models: any): void;
|
|
30
|
+
}
|
|
31
|
+
export default StudentFeeTermsModel;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StudentFeeTermsModel = void 0;
|
|
4
|
+
const sequelize_1 = require("sequelize");
|
|
5
|
+
const index_1 = require("./index");
|
|
6
|
+
class StudentFeeTermsModel extends sequelize_1.Model {
|
|
7
|
+
static associate(models) {
|
|
8
|
+
const { UserModel, InstituteModel, AcademicCalendarModel, FeeTypeModel, InstituteEntityModel, SchoolFeeCollectionModel } = models;
|
|
9
|
+
StudentFeeTermsModel.belongsTo(StudentFeeTermsModel, {
|
|
10
|
+
foreignKey: { name: 'oldId', field: 'old_id', allowNull: true },
|
|
11
|
+
as: 'studentOldFeeTerms',
|
|
12
|
+
});
|
|
13
|
+
StudentFeeTermsModel.hasMany(StudentFeeTermsModel, {
|
|
14
|
+
foreignKey: { name: 'oldId', field: 'old_id', allowNull: true },
|
|
15
|
+
as: 'studentTermsHasOldTerms',
|
|
16
|
+
});
|
|
17
|
+
StudentFeeTermsModel.belongsTo(FeeTypeModel, {
|
|
18
|
+
foreignKey: { name: 'feeTypeId', field: 'fee_type_id', allowNull: true },
|
|
19
|
+
as: 'studentFeeTermsFeeType',
|
|
20
|
+
});
|
|
21
|
+
FeeTypeModel.hasMany(StudentFeeTermsModel, {
|
|
22
|
+
foreignKey: { name: 'feeTypeId', field: 'fee_type_id', allowNull: true },
|
|
23
|
+
as: 'studentTermsHasFeeType',
|
|
24
|
+
});
|
|
25
|
+
StudentFeeTermsModel.belongsTo(SchoolFeeCollectionModel, {
|
|
26
|
+
foreignKey: { name: 'studentFeeCollectionId', field: 'student_fee_collection_id', allowNull: true },
|
|
27
|
+
as: 'studentFeeTermsCollection',
|
|
28
|
+
});
|
|
29
|
+
SchoolFeeCollectionModel.hasMany(StudentFeeTermsModel, {
|
|
30
|
+
foreignKey: { name: 'studentFeeCollectionId', field: 'student_fee_collection_id', allowNull: true },
|
|
31
|
+
as: 'studentTermsHasFeeCollection',
|
|
32
|
+
});
|
|
33
|
+
StudentFeeTermsModel.belongsTo(UserModel, {
|
|
34
|
+
foreignKey: { name: 'userId', field: 'user_id', allowNull: true },
|
|
35
|
+
as: 'studentFeeTermsUser',
|
|
36
|
+
});
|
|
37
|
+
UserModel.hasMany(StudentFeeTermsModel, {
|
|
38
|
+
foreignKey: { name: 'userId', field: 'user_id', allowNull: true },
|
|
39
|
+
as: 'studentTermsHasFeeUser',
|
|
40
|
+
});
|
|
41
|
+
StudentFeeTermsModel.belongsTo(InstituteModel, {
|
|
42
|
+
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
43
|
+
as: 'studentFeeTermsInstitute',
|
|
44
|
+
});
|
|
45
|
+
InstituteModel.hasMany(StudentFeeTermsModel, {
|
|
46
|
+
foreignKey: 'instituteId',
|
|
47
|
+
as: 'instituteHasStudentFeeTerms',
|
|
48
|
+
});
|
|
49
|
+
StudentFeeTermsModel.belongsTo(AcademicCalendarModel, {
|
|
50
|
+
foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id' },
|
|
51
|
+
as: 'studentFeeTermsAcaCal',
|
|
52
|
+
});
|
|
53
|
+
AcademicCalendarModel.hasMany(StudentFeeTermsModel, {
|
|
54
|
+
foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id' },
|
|
55
|
+
as: 'acaCalStudentFeeTerms',
|
|
56
|
+
});
|
|
57
|
+
StudentFeeTermsModel.belongsTo(InstituteEntityModel, {
|
|
58
|
+
foreignKey: { name: 'stdId', field: 'std_id' },
|
|
59
|
+
as: 'studentFeeTermsStd',
|
|
60
|
+
});
|
|
61
|
+
InstituteEntityModel.hasMany(StudentFeeTermsModel, {
|
|
62
|
+
foreignKey: { name: 'stdId', field: 'std_id' },
|
|
63
|
+
as: 'stdHasStudentFeeTerms',
|
|
64
|
+
});
|
|
65
|
+
StudentFeeTermsModel.belongsTo(UserModel, {
|
|
66
|
+
foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
|
|
67
|
+
as: 'createdByUser',
|
|
68
|
+
});
|
|
69
|
+
StudentFeeTermsModel.belongsTo(UserModel, {
|
|
70
|
+
foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
|
|
71
|
+
as: 'updatedByUser',
|
|
72
|
+
});
|
|
73
|
+
StudentFeeTermsModel.belongsTo(UserModel, {
|
|
74
|
+
foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
|
|
75
|
+
as: 'deletedByUser',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.StudentFeeTermsModel = StudentFeeTermsModel;
|
|
80
|
+
StudentFeeTermsModel.init({
|
|
81
|
+
id: {
|
|
82
|
+
type: sequelize_1.DataTypes.UUID,
|
|
83
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
84
|
+
allowNull: true,
|
|
85
|
+
primaryKey: true,
|
|
86
|
+
},
|
|
87
|
+
instituteId: {
|
|
88
|
+
type: sequelize_1.DataTypes.UUID,
|
|
89
|
+
field: 'institute_id',
|
|
90
|
+
allowNull: true,
|
|
91
|
+
},
|
|
92
|
+
academicCalendarId: {
|
|
93
|
+
type: sequelize_1.DataTypes.UUID,
|
|
94
|
+
field: 'academic_calendar_id',
|
|
95
|
+
allowNull: true,
|
|
96
|
+
},
|
|
97
|
+
stdId: {
|
|
98
|
+
type: sequelize_1.DataTypes.UUID,
|
|
99
|
+
field: 'std_id',
|
|
100
|
+
allowNull: true,
|
|
101
|
+
},
|
|
102
|
+
studentFeeCollectionId: {
|
|
103
|
+
type: sequelize_1.DataTypes.UUID,
|
|
104
|
+
field: 'student_fee_collection_id',
|
|
105
|
+
allowNull: true,
|
|
106
|
+
},
|
|
107
|
+
feeTypeId: {
|
|
108
|
+
type: sequelize_1.DataTypes.UUID,
|
|
109
|
+
field: 'fee_type_id',
|
|
110
|
+
allowNull: true,
|
|
111
|
+
},
|
|
112
|
+
schoolFeeId: {
|
|
113
|
+
type: sequelize_1.DataTypes.STRING,
|
|
114
|
+
field: 'school_fee_id',
|
|
115
|
+
allowNull: true,
|
|
116
|
+
},
|
|
117
|
+
userId: {
|
|
118
|
+
type: sequelize_1.DataTypes.UUID,
|
|
119
|
+
field: 'user_id',
|
|
120
|
+
allowNull: true,
|
|
121
|
+
},
|
|
122
|
+
amount: {
|
|
123
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
124
|
+
field: 'amount',
|
|
125
|
+
allowNull: true,
|
|
126
|
+
},
|
|
127
|
+
paidAmount: {
|
|
128
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
129
|
+
field: 'paid_amount',
|
|
130
|
+
allowNull: true,
|
|
131
|
+
},
|
|
132
|
+
date: {
|
|
133
|
+
type: sequelize_1.DataTypes.DATE,
|
|
134
|
+
field: 'date',
|
|
135
|
+
allowNull: true,
|
|
136
|
+
},
|
|
137
|
+
startDate: {
|
|
138
|
+
type: sequelize_1.DataTypes.DATE,
|
|
139
|
+
field: 'start_date',
|
|
140
|
+
allowNull: true,
|
|
141
|
+
},
|
|
142
|
+
oldId: {
|
|
143
|
+
type: sequelize_1.DataTypes.STRING,
|
|
144
|
+
field: 'old_id',
|
|
145
|
+
allowNull: true,
|
|
146
|
+
},
|
|
147
|
+
title: {
|
|
148
|
+
type: sequelize_1.DataTypes.STRING,
|
|
149
|
+
allowNull: true,
|
|
150
|
+
},
|
|
151
|
+
termsDependedId: {
|
|
152
|
+
type: sequelize_1.DataTypes.STRING,
|
|
153
|
+
field: 'terms_depended_id',
|
|
154
|
+
allowNull: true,
|
|
155
|
+
},
|
|
156
|
+
frequency: {
|
|
157
|
+
type: sequelize_1.DataTypes.STRING,
|
|
158
|
+
allowNull: true,
|
|
159
|
+
},
|
|
160
|
+
status: {
|
|
161
|
+
type: sequelize_1.DataTypes.STRING,
|
|
162
|
+
allowNull: true,
|
|
163
|
+
},
|
|
164
|
+
}, {
|
|
165
|
+
modelName: 'StudentFeeTermsModel',
|
|
166
|
+
tableName: 'student_fee_terms',
|
|
167
|
+
timestamps: true,
|
|
168
|
+
sequelize: index_1.sequelize,
|
|
169
|
+
});
|
|
170
|
+
exports.default = StudentFeeTermsModel;
|
|
@@ -155,11 +155,11 @@ UserFeeTypeModel.init({
|
|
|
155
155
|
},
|
|
156
156
|
grNumber: {
|
|
157
157
|
type: sequelize_1.DataTypes.STRING,
|
|
158
|
-
allowNull:
|
|
158
|
+
allowNull: true,
|
|
159
159
|
},
|
|
160
160
|
rollNumber: {
|
|
161
161
|
type: sequelize_1.DataTypes.STRING,
|
|
162
|
-
allowNull:
|
|
162
|
+
allowNull: true,
|
|
163
163
|
},
|
|
164
164
|
feeCollectionAccountId: {
|
|
165
165
|
type: sequelize_1.DataTypes.UUID,
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
|
@@ -180,3 +180,4 @@ __exportStar(require("./classRoomEventType"), exports);
|
|
|
180
180
|
__exportStar(require("./classRoomCollectionType"), exports);
|
|
181
181
|
__exportStar(require("./penaltyType"), exports);
|
|
182
182
|
__exportStar(require("./userHasPenaltyType"), exports);
|
|
183
|
+
__exportStar(require("./studentFeeTermsType"), exports);
|
package/package.json
CHANGED