@kipicore/dbcore 1.1.188 → 1.1.190
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/README.md +3 -0
- package/dist/constants/app.d.ts +7 -0
- package/dist/constants/app.js +12 -4
- package/dist/constants/errorMessages.d.ts +2 -1
- package/dist/constants/errorMessages.js +1 -0
- package/dist/db/psql/migrations/20260101103458-student_fee_collection.d.ts +2 -0
- package/dist/db/psql/migrations/20260101103458-student_fee_collection.js +218 -0
- package/dist/db/psql/migrations/20260102085140-student_histroy.d.ts +2 -0
- package/dist/db/psql/migrations/20260102085140-student_histroy.js +258 -0
- package/dist/db/psql/migrations/20260105053705-school_fee_terms.d.ts +2 -0
- package/dist/db/psql/migrations/20260105053705-school_fee_terms.js +192 -0
- package/dist/db/psql/migrations/20260105070348-student_feeType_collection.d.ts +2 -0
- package/dist/db/psql/migrations/20260105070348-student_feeType_collection.js +204 -0
- package/dist/interfaces/feeTypeInterface.d.ts +6 -1
- package/dist/interfaces/index.d.ts +4 -0
- package/dist/interfaces/index.js +4 -0
- package/dist/interfaces/schoolFee1Interface.d.ts +1 -6
- package/dist/interfaces/schoolFeeTermsInterface.d.ts +14 -0
- package/dist/interfaces/schoolFeeTermsInterface.js +2 -0
- package/dist/interfaces/studentFeeCollectionInterface.d.ts +18 -0
- package/dist/interfaces/studentFeeCollectionInterface.js +2 -0
- package/dist/interfaces/studentFeeHistoryInterface.d.ts +23 -0
- package/dist/interfaces/studentFeeHistoryInterface.js +2 -0
- package/dist/interfaces/studentFeeTypeCollectionInterface.d.ts +15 -0
- package/dist/interfaces/studentFeeTypeCollectionInterface.js +2 -0
- package/dist/models/mongodb/schoolFee1Model.js +24 -21
- package/dist/models/psql/feeTypeModel.d.ts +6 -1
- package/dist/models/psql/feeTypeModel.js +26 -11
- package/dist/models/psql/index.d.ts +4 -0
- package/dist/models/psql/index.js +9 -1
- package/dist/models/psql/schoolFeeTermsModel.d.ts +24 -0
- package/dist/models/psql/schoolFeeTermsModel.js +121 -0
- package/dist/models/psql/studentFeeCollectionModel.d.ts +29 -0
- package/dist/models/psql/studentFeeCollectionModel.js +152 -0
- package/dist/models/psql/studentFeeHistoryModel.d.ts +34 -0
- package/dist/models/psql/studentFeeHistoryModel.js +134 -0
- package/dist/models/psql/studentFeeTypeCollectionModel.d.ts +26 -0
- package/dist/models/psql/studentFeeTypeCollectionModel.js +96 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +4 -0
- package/dist/types/schoolFeeTermsType.d.ts +3 -0
- package/dist/types/schoolFeeTermsType.js +2 -0
- package/dist/types/studentFeeCollectionType.d.ts +3 -0
- package/dist/types/studentFeeCollectionType.js +2 -0
- package/dist/types/studentFeeHistoryType.d.ts +3 -0
- package/dist/types/studentFeeHistoryType.js +2 -0
- package/dist/types/studentFeeTypeCollectionType.d.ts +3 -0
- package/dist/types/studentFeeTypeCollectionType.js +2 -0
- package/package.json +3 -2
package/README.md
CHANGED
package/dist/constants/app.d.ts
CHANGED
|
@@ -153,6 +153,13 @@ export declare enum PAYMENT_TYPE {
|
|
|
153
153
|
CHEQUE = "CHEQUE",
|
|
154
154
|
UPI = "UPI"
|
|
155
155
|
}
|
|
156
|
+
export declare enum STUDENT_FEE_COLLECTION_STATUS {
|
|
157
|
+
PENDING = "PENDING",
|
|
158
|
+
COMPLETED = "COMPLETED",
|
|
159
|
+
LEFT = "LEFT",
|
|
160
|
+
SETTLE_UP = "SETTLE_UP",
|
|
161
|
+
CARRY_FORWARD = "CARRY_FORWARD"
|
|
162
|
+
}
|
|
156
163
|
export declare enum FEE_PAYMENT_STATUS {
|
|
157
164
|
PENDING = "PENDING",
|
|
158
165
|
COMPLETED = "COMPLETED",
|
package/dist/constants/app.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.PAYMENT_STATUS = exports.FEE_COLLECTION_TYPE = exports.BANK_ACCOUNT_TYPE = exports.STUDENT_LEAVE_TYPE = exports.STUDENT_LEAVE_STATUS = exports.CERTIFICATE_TYPE = exports.CERTIFICATE_FOR = exports.SHEET_TYPE = exports.COMPETITION_USER_ROLE = exports.RESULT_STATUS = exports.COMPETITION_STATUS = exports.STATUS_BY_PARENTS = exports.COMPETITION_TYPE = exports.CAMPUS_CARNIVAL_STATUS = exports.COMPETITION_TYPE_CATEGORY = exports.INCOME_EXPENSE_SOURCE = exports.INCOME_EXPENSE_TYPE = exports.APPOINTMENT_STATUS = exports.MAINTENANCE_MODULE_NAME = exports.MAINTENANCE_TYPE = exports.MAINTENANCE_MODE = exports.ASSIGN_FILE_TYPE = exports.LOST_FOUND_ITEM_STATUS = exports.FREE_SUBSCRIPTION_SEQUENCE = exports.INITIAL_FREE_STORAGE_IN_GB = exports.INITIAL_FREE_COIN = exports.PAYMENT_PROCESSING_CALLBACK_URL = exports.PAYMENT_PROCESSING_PAGE_URL = exports.PAYMENT_PROCESSING_STATUS_URL = exports.COIN_PURCHASE_GST_PERCENTAGE = exports.WALLET_TRANSACTION_VALID_DATE_FOR_OTP_IN_MINUTES = exports.WALLET_TRANSACTION_VALID_DATE_IN_MINUTES = exports.PAYMENT_METHODS = exports.PAYMENT_GATEWAY_TYPES = exports.JOB_ACTION = exports.ONE_GB_BYTES = exports.CHARGE_PER_TRANSACTION_ITEM_UNIT = exports.INSTITUTE_SUBSCRIPTION_PLAN_STATUS = exports.WALLET_TRANSACTION_USERS_TYPE = exports.WALLET_HISTORY_STATUS = exports.WALLET_HISTORY_ACTION = exports.WALLET_HISTORY_ITEM_TYPE = exports.WALLET_HISTORY_TYPE = exports.REPLACE_TEACHER_STATUS = exports.TEACHER_TYPE = exports.INVOICE_TYPE = exports.PURCHASE_STATUS = exports.COLUMN_LIST_TITLE = exports.INVOICE_PAYMENT_TYPE = void 0;
|
|
3
|
+
exports.NO_TYPE = exports.ADMISSION_TYPE = exports.INSTITUTE_ENTITY_TYPE_SEQUENCE = exports.INSTITUTE_ENTITY_TYPE_STATUS = exports.INSTITUTE_ENTITY_STATUS = exports.SCHOOL_SHIFT = exports.WORKIN_DAY_STATUS = exports.LEAVE_STATUS = exports.LEAVE = exports.LEAVE_TYPE = exports.OFFER_NAME = exports.OFFER_TYPE = exports.INSTITUTE_STATUS = exports.FEE_PAYMENT_STATUS = exports.STUDENT_FEE_COLLECTION_STATUS = exports.PAYMENT_TYPE = exports.FEE_TYPE_FREQUENCY = exports.FEE_REMINDER_SETTING_FREQUENCY = exports.FEE_REMINDER_SETTING_TYPE = exports.TERM_DURATION = exports.FEE_REMINDER_SETTING_STATUS = exports.GREETING_TYPE = exports.TRIP_TYPE = exports.USER_COURSE_STATUS = exports.COMMAN_STATUS = exports.TOKEN_TYPES = exports.USER_TYPES = exports.ACADEMIC_CALENDARS_TYPE = exports.RETURN_STATUS = exports.ASSIGN_TYPE = exports.GENDER = exports.SCHOOL_SUB_TYPE = exports.SCHOOL_TYPE = exports.ATTENDANCE_TYPE = exports.ATTENDANCE_STATUS = exports.USER_INVENTORY_ACTION = exports.INVENTORY_TYPE = exports.USER_STATUS = exports.PDF_MICRO_SERVICE_END_POINT = exports.MOBILE_VERIFICATION = exports.EMAIL_VERIFICATION = exports.PAGINATION_UPDATE_ORDER = exports.PAGINATION_ORDER = exports.DEFAULT_BATCH_TITLE = exports.DEFAULT_CLASS_ROOM_TITLE = exports.PAGINATION = exports.USER_INSTITUTE_META_STATUS_REJECTED_COUNT = exports.ONE_THOUSAND = exports.ONE_HUNDRED = exports.SIXTY = void 0;
|
|
4
|
+
exports.QDC_NAME = exports.USER_PAYOUT_TYPE = exports.PARENTS_CHILDREN_CURRENT = exports.CHAPTER_INDEX_FILE_TYPE = exports.FEE_HISTORY_STATUS = exports.USER_CHAPTER_INDEX_STATUS = exports.CHAPTER_INDEX_TYPE = exports.IMAGE__NAME = exports.INQUIRY_STATUS = exports.INQUIRY_REFERRED_BY = exports.EXAM_GROUP_STANDARD_RESULT = exports.EXAM_GROUP_STATUS = exports.SUBJECT_INDEX_TYPE = exports.LECTURE_SLOT_DURATION = exports.EXAM_ANSWER_SHEET_QUESTION_RESULT = exports.PAYMENT_TERMS_TYPE = exports.PAYMENT_TERMS_STATUS = exports.EXAM_ANSWER_SHEET_RESULT_TYPE = exports.EXAM_ANSWER_SHEET_RESULT_STATUS = exports.EXAM_ANSWER_SHEET_STATUS = exports.EXAM_VALID_ANSWER_TYPE = exports.EXAM_ANSWER_SELECTION_TYPE = exports.EXAM_STATUS = exports.COURSE_STATUS = exports.EXAM_MODE = exports.GREETING_STATUS = exports.USER_HAS_ANNOUCEMENT_STATUS = exports.ANNOUCEMENT_STATUS = exports.TYPE_OF_USER = exports.ANNOUCEMENT_SCHEDULE_TYPE = exports.APPROVE_REQUEST_STATUS = exports.APPROVE_REQUEST_TYPE = exports.TYPE_MANAGEMENT_STATUS = exports.TYPE_MANAGEMENT_TYPE = exports.FILE_TYPE = exports.ACADEMIC_CALENDARS_STATUS = exports.BANNER_TYPE = exports.APP_TYPE = exports.FEED_BACK_STATUS = exports.FEED_BACK_TYPE = exports.FACILITY_TYPE = exports.EMPLOYMENT_TYPE = exports.USER_INSTITUTE_META_STATUS = exports.USER_HAS_PARENT_STATUS = exports.GUARDIANS_USER_META_MODEL_STATUS = exports.DISABILITY_TYPE = exports.WORK_CATEGORY = exports.BLOG_STATUS = exports.WORK_TYPE = exports.USER_DETAILS = void 0;
|
|
5
|
+
exports.PDF_CHEQUE_STATUS = exports.LANGUAGES = exports.HOME_WORK_STATUS = exports.SOCKET_EVENTS = exports.SUBSCRIPTION_PLAN_FILES_TYPE = exports.VALID_CURRENCY = exports.SUBSCRIPTION_PLAN_CHARGE_INTERVAL = exports.DISCOUNT_TYPE = exports.CONTACT_FEED_BACK_TYPE = exports.PLANNER_SYNC_STATUS = exports.NOTIFICATION_ACTION = exports.NOTIFICATION_MODULE_TYPE = exports.NOTIFICATION_STATUS = exports.NOTIFICATION_TYPE = exports.PROJECT_ASSESSMENT_OPTION_STATUS = exports.USER_BOOK_ASSESSMENT_STATUS = exports.BOOK_ASSESSMENT_DATE_STATUS = exports.TASK_MANAGEMENT_STATUS = exports.USER_DETAILS_FILED = exports.DEVICE_TYPE = exports.templateKeyWord = exports.bankAccountRegexMap = exports.EMAIL_SUBJECTS = exports.PDF_TEMPLATES = exports.EMAIL_TEMPLATES = exports.PINCODE_API_URL = exports.APPLE_AUTH = exports.META_AUTH = exports.GOOGLE_AUTH = exports.API_URL = exports.DEFAULT_USER_LOGO = exports.DEFAULT_INSTITUTED_LOGO = exports.UPLOAD_PATH = exports.SVG_URL_PATH = exports.TO_DO_STATUS = exports.LECTURE_TITLE = exports.LECTURE_STATUS = exports.SCHOOL_INFORMATION_STEP = exports.CASTE = exports.RELIGION_CASTE = exports.NATIONALITY = exports.CATEGORY = exports.IS_PRINCIPAL = exports.FEE_TYPE = exports.BOOLEAN_STATUS = exports.PROPERTY_STATUS = exports.DESIGNATION_OF_PERSON = exports.TRUST_REGISTERED_UNDER = exports.TRUST_TYPE = exports.SVA_NAME = void 0;
|
|
6
|
+
exports.PAYMENT_STATUS = exports.FEE_COLLECTION_TYPE = exports.BANK_ACCOUNT_TYPE = exports.STUDENT_LEAVE_TYPE = exports.STUDENT_LEAVE_STATUS = exports.CERTIFICATE_TYPE = exports.CERTIFICATE_FOR = exports.SHEET_TYPE = exports.COMPETITION_USER_ROLE = exports.RESULT_STATUS = exports.COMPETITION_STATUS = exports.STATUS_BY_PARENTS = exports.COMPETITION_TYPE = exports.CAMPUS_CARNIVAL_STATUS = exports.COMPETITION_TYPE_CATEGORY = exports.INCOME_EXPENSE_SOURCE = exports.INCOME_EXPENSE_TYPE = exports.APPOINTMENT_STATUS = exports.MAINTENANCE_MODULE_NAME = exports.MAINTENANCE_TYPE = exports.MAINTENANCE_MODE = exports.ASSIGN_FILE_TYPE = exports.LOST_FOUND_ITEM_STATUS = exports.FREE_SUBSCRIPTION_SEQUENCE = exports.INITIAL_FREE_STORAGE_IN_GB = exports.INITIAL_FREE_COIN = exports.PAYMENT_PROCESSING_CALLBACK_URL = exports.PAYMENT_PROCESSING_PAGE_URL = exports.PAYMENT_PROCESSING_STATUS_URL = exports.COIN_PURCHASE_GST_PERCENTAGE = exports.WALLET_TRANSACTION_VALID_DATE_FOR_OTP_IN_MINUTES = exports.WALLET_TRANSACTION_VALID_DATE_IN_MINUTES = exports.PAYMENT_METHODS = exports.PAYMENT_GATEWAY_TYPES = exports.JOB_ACTION = exports.ONE_GB_BYTES = exports.CHARGE_PER_TRANSACTION_ITEM_UNIT = exports.INSTITUTE_SUBSCRIPTION_PLAN_STATUS = exports.WALLET_TRANSACTION_USERS_TYPE = exports.WALLET_HISTORY_STATUS = exports.WALLET_HISTORY_ACTION = exports.WALLET_HISTORY_ITEM_TYPE = exports.WALLET_HISTORY_TYPE = exports.REPLACE_TEACHER_STATUS = exports.TEACHER_TYPE = exports.INVOICE_TYPE = exports.PURCHASE_STATUS = exports.COLUMN_LIST_TITLE = exports.INVOICE_PAYMENT_TYPE = exports.PDF_CHEQUE_FREQUENCY = void 0;
|
|
7
7
|
const env_1 = require("../configs/env");
|
|
8
8
|
exports.SIXTY = 60;
|
|
9
9
|
exports.ONE_HUNDRED = 100;
|
|
@@ -190,6 +190,14 @@ var PAYMENT_TYPE;
|
|
|
190
190
|
PAYMENT_TYPE["CHEQUE"] = "CHEQUE";
|
|
191
191
|
PAYMENT_TYPE["UPI"] = "UPI";
|
|
192
192
|
})(PAYMENT_TYPE || (exports.PAYMENT_TYPE = PAYMENT_TYPE = {}));
|
|
193
|
+
var STUDENT_FEE_COLLECTION_STATUS;
|
|
194
|
+
(function (STUDENT_FEE_COLLECTION_STATUS) {
|
|
195
|
+
STUDENT_FEE_COLLECTION_STATUS["PENDING"] = "PENDING";
|
|
196
|
+
STUDENT_FEE_COLLECTION_STATUS["COMPLETED"] = "COMPLETED";
|
|
197
|
+
STUDENT_FEE_COLLECTION_STATUS["LEFT"] = "LEFT";
|
|
198
|
+
STUDENT_FEE_COLLECTION_STATUS["SETTLE_UP"] = "SETTLE_UP";
|
|
199
|
+
STUDENT_FEE_COLLECTION_STATUS["CARRY_FORWARD"] = "CARRY_FORWARD";
|
|
200
|
+
})(STUDENT_FEE_COLLECTION_STATUS || (exports.STUDENT_FEE_COLLECTION_STATUS = STUDENT_FEE_COLLECTION_STATUS = {}));
|
|
193
201
|
var FEE_PAYMENT_STATUS;
|
|
194
202
|
(function (FEE_PAYMENT_STATUS) {
|
|
195
203
|
FEE_PAYMENT_STATUS["PENDING"] = "PENDING";
|
|
@@ -43,7 +43,8 @@ export declare enum USER_ERROR_MESSAGES {
|
|
|
43
43
|
INVALID_DATA = "Invalid data provided for user operation.",
|
|
44
44
|
DELETE_FAIL_HAS_INSTITUTE_JOINED = "Unable to delete account: user data linked with existing institute.",
|
|
45
45
|
UPDATE_YOUR_PROFILE = "Invalid Request Please Update Your Profile , In Profile Have not Request Subject",
|
|
46
|
-
UID_NO_EXITS = "Given Uid No already exits"
|
|
46
|
+
UID_NO_EXITS = "Given Uid No already exits",
|
|
47
|
+
PASSWORD_NOT_EXIST = "Account created using social account.You have to set password for login with password!"
|
|
47
48
|
}
|
|
48
49
|
export declare const USER_FEE_TYPE_ACCOUNT_ERROR_MESSAGES: {
|
|
49
50
|
NOT_FOUND: string;
|
|
@@ -51,6 +51,7 @@ var USER_ERROR_MESSAGES;
|
|
|
51
51
|
USER_ERROR_MESSAGES["DELETE_FAIL_HAS_INSTITUTE_JOINED"] = "Unable to delete account: user data linked with existing institute.";
|
|
52
52
|
USER_ERROR_MESSAGES["UPDATE_YOUR_PROFILE"] = "Invalid Request Please Update Your Profile , In Profile Have not Request Subject";
|
|
53
53
|
USER_ERROR_MESSAGES["UID_NO_EXITS"] = "Given Uid No already exits";
|
|
54
|
+
USER_ERROR_MESSAGES["PASSWORD_NOT_EXIST"] = "Account created using social account.You have to set password for login with password!";
|
|
54
55
|
})(USER_ERROR_MESSAGES || (exports.USER_ERROR_MESSAGES = USER_ERROR_MESSAGES = {}));
|
|
55
56
|
exports.USER_FEE_TYPE_ACCOUNT_ERROR_MESSAGES = {
|
|
56
57
|
NOT_FOUND: 'User fee type account record not found.',
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const up = async (queryInterface, Sequelize) => {
|
|
3
|
+
const tableName = 'student_fee_collection';
|
|
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
|
+
userId: {
|
|
17
|
+
type: Sequelize.UUID,
|
|
18
|
+
allowNull: true,
|
|
19
|
+
field: 'user_id',
|
|
20
|
+
},
|
|
21
|
+
academicCalendarId: {
|
|
22
|
+
type: Sequelize.UUID,
|
|
23
|
+
allowNull: true,
|
|
24
|
+
field: 'academic_calendar_id',
|
|
25
|
+
},
|
|
26
|
+
instituteId: {
|
|
27
|
+
type: Sequelize.UUID,
|
|
28
|
+
allowNull: true,
|
|
29
|
+
field: 'institute_id',
|
|
30
|
+
},
|
|
31
|
+
oldId: {
|
|
32
|
+
type: Sequelize.UUID,
|
|
33
|
+
allowNull: true,
|
|
34
|
+
field: 'old_id',
|
|
35
|
+
},
|
|
36
|
+
status: {
|
|
37
|
+
type: Sequelize.STRING,
|
|
38
|
+
allowNull: true,
|
|
39
|
+
defaultValue: 'PENDING',
|
|
40
|
+
},
|
|
41
|
+
oldPendingAmount: {
|
|
42
|
+
type: Sequelize.INTEGER,
|
|
43
|
+
allowNull: true,
|
|
44
|
+
defaultValue: 0,
|
|
45
|
+
field: 'old_pending_amount',
|
|
46
|
+
},
|
|
47
|
+
discount: {
|
|
48
|
+
type: Sequelize.INTEGER,
|
|
49
|
+
allowNull: true,
|
|
50
|
+
defaultValue: 0,
|
|
51
|
+
},
|
|
52
|
+
settleUpFee: {
|
|
53
|
+
type: Sequelize.INTEGER,
|
|
54
|
+
allowNull: true,
|
|
55
|
+
defaultValue: 0,
|
|
56
|
+
field: 'settle_up_fee',
|
|
57
|
+
},
|
|
58
|
+
paidFee: {
|
|
59
|
+
type: Sequelize.INTEGER,
|
|
60
|
+
allowNull: true,
|
|
61
|
+
defaultValue: 0,
|
|
62
|
+
field: 'paid_fee',
|
|
63
|
+
},
|
|
64
|
+
totalFee: {
|
|
65
|
+
type: Sequelize.INTEGER,
|
|
66
|
+
allowNull: true,
|
|
67
|
+
defaultValue: 0,
|
|
68
|
+
field: 'total_fee',
|
|
69
|
+
},
|
|
70
|
+
collectionDependedId: {
|
|
71
|
+
type: Sequelize.STRING,
|
|
72
|
+
allowNull: true,
|
|
73
|
+
field: 'collection_depended_id',
|
|
74
|
+
},
|
|
75
|
+
carryForwardTo: {
|
|
76
|
+
type: Sequelize.UUID,
|
|
77
|
+
allowNull: true,
|
|
78
|
+
field: 'carry_forward_to',
|
|
79
|
+
},
|
|
80
|
+
carryForwardFee: {
|
|
81
|
+
type: Sequelize.INTEGER,
|
|
82
|
+
allowNull: true,
|
|
83
|
+
defaultValue: 0,
|
|
84
|
+
field: 'carry_forward_fee',
|
|
85
|
+
},
|
|
86
|
+
createdAt: {
|
|
87
|
+
type: Sequelize.DATE,
|
|
88
|
+
allowNull: false,
|
|
89
|
+
defaultValue: Sequelize.NOW,
|
|
90
|
+
field: 'created_at',
|
|
91
|
+
},
|
|
92
|
+
updatedAt: {
|
|
93
|
+
type: Sequelize.DATE,
|
|
94
|
+
allowNull: false,
|
|
95
|
+
defaultValue: Sequelize.NOW,
|
|
96
|
+
field: 'updated_at',
|
|
97
|
+
},
|
|
98
|
+
deletedAt: {
|
|
99
|
+
type: Sequelize.DATE,
|
|
100
|
+
allowNull: true,
|
|
101
|
+
field: 'deleted_at',
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const tableDefinition = await queryInterface.describeTable(tableName);
|
|
107
|
+
const columnsToAdd = {
|
|
108
|
+
userId: {
|
|
109
|
+
type: Sequelize.UUID,
|
|
110
|
+
allowNull: true,
|
|
111
|
+
field: 'user_id',
|
|
112
|
+
},
|
|
113
|
+
academicCalendarId: {
|
|
114
|
+
type: Sequelize.UUID,
|
|
115
|
+
allowNull: true,
|
|
116
|
+
field: 'academic_calendar_id',
|
|
117
|
+
},
|
|
118
|
+
instituteId: {
|
|
119
|
+
type: Sequelize.UUID,
|
|
120
|
+
allowNull: true,
|
|
121
|
+
field: 'institute_id',
|
|
122
|
+
},
|
|
123
|
+
oldId: {
|
|
124
|
+
type: Sequelize.UUID,
|
|
125
|
+
allowNull: true,
|
|
126
|
+
field: 'old_id',
|
|
127
|
+
},
|
|
128
|
+
status: {
|
|
129
|
+
type: Sequelize.STRING,
|
|
130
|
+
allowNull: true,
|
|
131
|
+
defaultValue: 'PENDING',
|
|
132
|
+
},
|
|
133
|
+
oldPendingAmount: {
|
|
134
|
+
type: Sequelize.INTEGER,
|
|
135
|
+
allowNull: true,
|
|
136
|
+
defaultValue: 0,
|
|
137
|
+
field: 'old_pending_amount',
|
|
138
|
+
},
|
|
139
|
+
discount: {
|
|
140
|
+
type: Sequelize.INTEGER,
|
|
141
|
+
allowNull: true,
|
|
142
|
+
defaultValue: 0,
|
|
143
|
+
},
|
|
144
|
+
settleUpFee: {
|
|
145
|
+
type: Sequelize.INTEGER,
|
|
146
|
+
allowNull: true,
|
|
147
|
+
defaultValue: 0,
|
|
148
|
+
field: 'settle_up_fee',
|
|
149
|
+
},
|
|
150
|
+
paidFee: {
|
|
151
|
+
type: Sequelize.INTEGER,
|
|
152
|
+
allowNull: true,
|
|
153
|
+
defaultValue: 0,
|
|
154
|
+
field: 'paid_fee',
|
|
155
|
+
},
|
|
156
|
+
totalFee: {
|
|
157
|
+
type: Sequelize.INTEGER,
|
|
158
|
+
allowNull: true,
|
|
159
|
+
defaultValue: 0,
|
|
160
|
+
field: 'total_fee',
|
|
161
|
+
},
|
|
162
|
+
collectionDependedId: {
|
|
163
|
+
type: Sequelize.STRING,
|
|
164
|
+
allowNull: true,
|
|
165
|
+
field: 'collection_depended_id',
|
|
166
|
+
},
|
|
167
|
+
carryForwardTo: {
|
|
168
|
+
type: Sequelize.UUID,
|
|
169
|
+
allowNull: true,
|
|
170
|
+
field: 'carry_forward_to',
|
|
171
|
+
},
|
|
172
|
+
carryForwardFee: {
|
|
173
|
+
type: Sequelize.INTEGER,
|
|
174
|
+
allowNull: true,
|
|
175
|
+
defaultValue: 0,
|
|
176
|
+
field: 'carry_forward_fee',
|
|
177
|
+
},
|
|
178
|
+
createdAt: {
|
|
179
|
+
type: Sequelize.DATE,
|
|
180
|
+
allowNull: false,
|
|
181
|
+
defaultValue: Sequelize.NOW,
|
|
182
|
+
field: 'created_at',
|
|
183
|
+
},
|
|
184
|
+
updatedAt: {
|
|
185
|
+
type: Sequelize.DATE,
|
|
186
|
+
allowNull: false,
|
|
187
|
+
defaultValue: Sequelize.NOW,
|
|
188
|
+
field: 'updated_at',
|
|
189
|
+
},
|
|
190
|
+
deletedAt: {
|
|
191
|
+
type: Sequelize.DATE,
|
|
192
|
+
allowNull: true,
|
|
193
|
+
field: 'deleted_at',
|
|
194
|
+
},
|
|
195
|
+
};
|
|
196
|
+
for (const column of Object.keys(columnsToAdd)) {
|
|
197
|
+
const columnToAdd = columnsToAdd[column];
|
|
198
|
+
const tableColumn = columnToAdd.field || column;
|
|
199
|
+
if (!tableDefinition[tableColumn]) {
|
|
200
|
+
await queryInterface.addColumn(tableName, tableColumn, columnToAdd);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
const down = async (queryInterface) => {
|
|
206
|
+
const tableName = 'student_fee_collection';
|
|
207
|
+
const tableExists = await queryInterface
|
|
208
|
+
.describeTable(tableName)
|
|
209
|
+
.then(() => true)
|
|
210
|
+
.catch(() => false);
|
|
211
|
+
if (tableExists) {
|
|
212
|
+
await queryInterface.dropTable(tableName);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
module.exports = {
|
|
216
|
+
up,
|
|
217
|
+
down,
|
|
218
|
+
};
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const up = async (queryInterface, Sequelize) => {
|
|
3
|
+
const tableName = 'student_fee_history';
|
|
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: true,
|
|
14
|
+
primaryKey: true,
|
|
15
|
+
},
|
|
16
|
+
instituteId: {
|
|
17
|
+
type: Sequelize.UUID,
|
|
18
|
+
allowNull: true,
|
|
19
|
+
field: 'institute_id',
|
|
20
|
+
},
|
|
21
|
+
userId: {
|
|
22
|
+
type: Sequelize.UUID,
|
|
23
|
+
allowNull: true,
|
|
24
|
+
field: 'user_id',
|
|
25
|
+
},
|
|
26
|
+
academicCalendarId: {
|
|
27
|
+
type: Sequelize.UUID,
|
|
28
|
+
allowNull: true,
|
|
29
|
+
field: 'academic_calendar_id',
|
|
30
|
+
},
|
|
31
|
+
parentHistoryId: {
|
|
32
|
+
type: Sequelize.UUID,
|
|
33
|
+
allowNull: true,
|
|
34
|
+
field: 'parent_history_id',
|
|
35
|
+
},
|
|
36
|
+
paymentType: {
|
|
37
|
+
type: Sequelize.STRING,
|
|
38
|
+
allowNull: true,
|
|
39
|
+
},
|
|
40
|
+
paidFee: {
|
|
41
|
+
type: Sequelize.INTEGER,
|
|
42
|
+
allowNull: true,
|
|
43
|
+
},
|
|
44
|
+
status: {
|
|
45
|
+
type: Sequelize.STRING,
|
|
46
|
+
allowNull: true,
|
|
47
|
+
defaultValue: 'COMPLETED',
|
|
48
|
+
},
|
|
49
|
+
feeTypeId: {
|
|
50
|
+
type: Sequelize.ARRAY(Sequelize.STRING),
|
|
51
|
+
allowNull: true,
|
|
52
|
+
defaultValue: [],
|
|
53
|
+
field: 'fee_type_id',
|
|
54
|
+
},
|
|
55
|
+
bankAccountId: {
|
|
56
|
+
type: Sequelize.UUID,
|
|
57
|
+
allowNull: true,
|
|
58
|
+
field: 'bank_account_id',
|
|
59
|
+
},
|
|
60
|
+
invoicePdf: {
|
|
61
|
+
type: Sequelize.UUID,
|
|
62
|
+
allowNull: true,
|
|
63
|
+
field: 'invoice_pdf',
|
|
64
|
+
},
|
|
65
|
+
invoiceNumber: {
|
|
66
|
+
type: Sequelize.STRING,
|
|
67
|
+
allowNull: true,
|
|
68
|
+
field: 'invoice_number',
|
|
69
|
+
},
|
|
70
|
+
feeHistoryConfigId: {
|
|
71
|
+
type: Sequelize.STRING,
|
|
72
|
+
allowNull: true,
|
|
73
|
+
field: 'fee_history_config_id',
|
|
74
|
+
},
|
|
75
|
+
note: {
|
|
76
|
+
type: Sequelize.STRING,
|
|
77
|
+
allowNull: true,
|
|
78
|
+
field: 'note',
|
|
79
|
+
},
|
|
80
|
+
studentFeeCollectionId: {
|
|
81
|
+
type: Sequelize.UUID,
|
|
82
|
+
allowNull: true,
|
|
83
|
+
field: 'student_fee_collection_id',
|
|
84
|
+
},
|
|
85
|
+
paidDate: {
|
|
86
|
+
type: Sequelize.DATE,
|
|
87
|
+
allowNull: true,
|
|
88
|
+
defaultValue: Sequelize.NOW,
|
|
89
|
+
field: 'paid_date',
|
|
90
|
+
},
|
|
91
|
+
upiId: {
|
|
92
|
+
type: Sequelize.STRING,
|
|
93
|
+
allowNull: true,
|
|
94
|
+
field: 'upi_id',
|
|
95
|
+
},
|
|
96
|
+
bankName: {
|
|
97
|
+
type: Sequelize.STRING,
|
|
98
|
+
allowNull: true,
|
|
99
|
+
field: 'bank_name',
|
|
100
|
+
},
|
|
101
|
+
chequeNo: {
|
|
102
|
+
type: Sequelize.STRING,
|
|
103
|
+
allowNull: true,
|
|
104
|
+
field: 'cheque_no',
|
|
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: {
|
|
129
|
+
type: Sequelize.UUID,
|
|
130
|
+
allowNull: true,
|
|
131
|
+
field: 'institute_id',
|
|
132
|
+
},
|
|
133
|
+
userId: {
|
|
134
|
+
type: Sequelize.UUID,
|
|
135
|
+
allowNull: true,
|
|
136
|
+
field: 'user_id',
|
|
137
|
+
},
|
|
138
|
+
academicCalendarId: {
|
|
139
|
+
type: Sequelize.UUID,
|
|
140
|
+
allowNull: true,
|
|
141
|
+
field: 'academic_calendar_id',
|
|
142
|
+
},
|
|
143
|
+
parentHistoryId: {
|
|
144
|
+
type: Sequelize.UUID,
|
|
145
|
+
allowNull: true,
|
|
146
|
+
field: 'parent_history_id',
|
|
147
|
+
},
|
|
148
|
+
paymentType: {
|
|
149
|
+
type: Sequelize.STRING,
|
|
150
|
+
allowNull: true,
|
|
151
|
+
},
|
|
152
|
+
paidFee: {
|
|
153
|
+
type: Sequelize.INTEGER,
|
|
154
|
+
allowNull: true,
|
|
155
|
+
},
|
|
156
|
+
status: {
|
|
157
|
+
type: Sequelize.STRING,
|
|
158
|
+
allowNull: true,
|
|
159
|
+
defaultValue: 'COMPLETED',
|
|
160
|
+
},
|
|
161
|
+
feeTypeId: {
|
|
162
|
+
type: Sequelize.ARRAY(Sequelize.STRING),
|
|
163
|
+
allowNull: true,
|
|
164
|
+
defaultValue: [],
|
|
165
|
+
field: 'fee_type_id',
|
|
166
|
+
},
|
|
167
|
+
bankAccountId: {
|
|
168
|
+
type: Sequelize.UUID,
|
|
169
|
+
allowNull: true,
|
|
170
|
+
field: 'bank_account_id',
|
|
171
|
+
},
|
|
172
|
+
invoicePdf: {
|
|
173
|
+
type: Sequelize.UUID,
|
|
174
|
+
allowNull: true,
|
|
175
|
+
field: 'invoice_pdf',
|
|
176
|
+
},
|
|
177
|
+
invoiceNumber: {
|
|
178
|
+
type: Sequelize.STRING,
|
|
179
|
+
allowNull: true,
|
|
180
|
+
field: 'invoice_number',
|
|
181
|
+
},
|
|
182
|
+
feeHistoryConfigId: {
|
|
183
|
+
type: Sequelize.STRING,
|
|
184
|
+
allowNull: true,
|
|
185
|
+
field: 'fee_history_config_id',
|
|
186
|
+
},
|
|
187
|
+
note: {
|
|
188
|
+
type: Sequelize.STRING,
|
|
189
|
+
allowNull: true,
|
|
190
|
+
field: 'note',
|
|
191
|
+
},
|
|
192
|
+
studentFeeCollectionId: {
|
|
193
|
+
type: Sequelize.UUID,
|
|
194
|
+
allowNull: true,
|
|
195
|
+
field: 'student_fee_collection_id',
|
|
196
|
+
},
|
|
197
|
+
paidDate: {
|
|
198
|
+
type: Sequelize.DATE,
|
|
199
|
+
allowNull: true,
|
|
200
|
+
defaultValue: Sequelize.NOW,
|
|
201
|
+
field: 'paid_date',
|
|
202
|
+
},
|
|
203
|
+
upiId: {
|
|
204
|
+
type: Sequelize.STRING,
|
|
205
|
+
allowNull: true,
|
|
206
|
+
field: 'upi_id',
|
|
207
|
+
},
|
|
208
|
+
bankName: {
|
|
209
|
+
type: Sequelize.STRING,
|
|
210
|
+
allowNull: true,
|
|
211
|
+
field: 'bank_name',
|
|
212
|
+
},
|
|
213
|
+
chequeNo: {
|
|
214
|
+
type: Sequelize.STRING,
|
|
215
|
+
allowNull: true,
|
|
216
|
+
field: 'cheque_no',
|
|
217
|
+
},
|
|
218
|
+
createdAt: {
|
|
219
|
+
type: Sequelize.DATE,
|
|
220
|
+
allowNull: false,
|
|
221
|
+
defaultValue: Sequelize.NOW,
|
|
222
|
+
field: 'created_at',
|
|
223
|
+
},
|
|
224
|
+
updatedAt: {
|
|
225
|
+
type: Sequelize.DATE,
|
|
226
|
+
allowNull: false,
|
|
227
|
+
defaultValue: Sequelize.NOW,
|
|
228
|
+
field: 'updated_at',
|
|
229
|
+
},
|
|
230
|
+
deletedAt: {
|
|
231
|
+
type: Sequelize.DATE,
|
|
232
|
+
allowNull: true,
|
|
233
|
+
field: 'deleted_at',
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
for (const column of Object.keys(columnsToAdd)) {
|
|
237
|
+
const columnToAdd = columnsToAdd[column];
|
|
238
|
+
const tableColumn = columnToAdd.field || column;
|
|
239
|
+
if (!tableDefinition[tableColumn]) {
|
|
240
|
+
await queryInterface.addColumn(tableName, tableColumn, columnToAdd);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
const down = async (queryInterface) => {
|
|
246
|
+
const tableName = 'student_fee_history';
|
|
247
|
+
const tableExists = await queryInterface
|
|
248
|
+
.describeTable(tableName)
|
|
249
|
+
.then(() => true)
|
|
250
|
+
.catch(() => false);
|
|
251
|
+
if (tableExists) {
|
|
252
|
+
await queryInterface.dropTable(tableName);
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
module.exports = {
|
|
256
|
+
up,
|
|
257
|
+
down,
|
|
258
|
+
};
|