@kipicore/dbcore 1.1.475 → 1.1.477
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/20260425000004-create_payout_transaction_histories.js +12 -0
- package/dist/db/psql/migrations/20260425000007-add_academic_calendar_id_to_user_payouts.d.ts +2 -0
- package/dist/db/psql/migrations/20260425000007-add_academic_calendar_id_to_user_payouts.js +28 -0
- package/dist/db/psql/migrations/20260425000008-merge_user_payout_details.d.ts +2 -0
- package/dist/db/psql/migrations/20260425000008-merge_user_payout_details.js +32 -0
- package/dist/interfaces/index.d.ts +0 -1
- package/dist/interfaces/index.js +0 -1
- package/dist/interfaces/payoutTransactionHistoryInterface.d.ts +3 -0
- package/dist/interfaces/userPayoutInterface.d.ts +10 -0
- package/dist/models/psql/index.d.ts +0 -1
- package/dist/models/psql/index.js +2 -4
- package/dist/models/psql/loanEmiModel.js +5 -1
- package/dist/models/psql/payoutTransactionHistoryModel.d.ts +3 -0
- package/dist/models/psql/payoutTransactionHistoryModel.js +24 -1
- package/dist/models/psql/userLoanModel.js +5 -1
- package/dist/models/psql/userPayoutModel.d.ts +3 -1
- package/dist/models/psql/userPayoutModel.js +11 -0
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.js +0 -1
- package/dist/types/userPayoutType.d.ts +0 -4
- package/package.json +1 -1
- package/dist/interfaces/userPayoutDetailsInterface.d.ts +0 -14
- package/dist/interfaces/userPayoutDetailsInterface.js +0 -2
- package/dist/models/psql/userPayoutDetailsModel.d.ts +0 -22
- package/dist/models/psql/userPayoutDetailsModel.js +0 -81
- package/dist/types/userPayoutDetailsType.d.ts +0 -3
- package/dist/types/userPayoutDetailsType.js +0 -2
|
@@ -25,6 +25,10 @@ const up = async (queryInterface, Sequelize) => {
|
|
|
25
25
|
type: Sequelize.UUID,
|
|
26
26
|
allowNull: true,
|
|
27
27
|
},
|
|
28
|
+
user_payout_id: {
|
|
29
|
+
type: Sequelize.UUID,
|
|
30
|
+
allowNull: true,
|
|
31
|
+
},
|
|
28
32
|
total_amount: {
|
|
29
33
|
type: Sequelize.FLOAT,
|
|
30
34
|
allowNull: true,
|
|
@@ -40,6 +44,14 @@ const up = async (queryInterface, Sequelize) => {
|
|
|
40
44
|
allowNull: true,
|
|
41
45
|
defaultValue: [],
|
|
42
46
|
},
|
|
47
|
+
paid_date: {
|
|
48
|
+
type: Sequelize.DATE,
|
|
49
|
+
allowNull: true,
|
|
50
|
+
},
|
|
51
|
+
payout_date: {
|
|
52
|
+
type: Sequelize.DATE,
|
|
53
|
+
allowNull: true,
|
|
54
|
+
},
|
|
43
55
|
status: {
|
|
44
56
|
type: Sequelize.STRING,
|
|
45
57
|
allowNull: true,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
module.exports = {
|
|
3
|
+
up: async (queryInterface, Sequelize) => {
|
|
4
|
+
const transaction = await queryInterface.sequelize.transaction();
|
|
5
|
+
try {
|
|
6
|
+
await queryInterface.addColumn('user_payouts', 'academic_calendar_id', {
|
|
7
|
+
type: Sequelize.UUID,
|
|
8
|
+
allowNull: true,
|
|
9
|
+
}, { transaction });
|
|
10
|
+
await transaction.commit();
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
await transaction.rollback();
|
|
14
|
+
throw error;
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
down: async (queryInterface) => {
|
|
18
|
+
const transaction = await queryInterface.sequelize.transaction();
|
|
19
|
+
try {
|
|
20
|
+
await queryInterface.removeColumn('user_payouts', 'academic_calendar_id', { transaction });
|
|
21
|
+
await transaction.commit();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
await transaction.rollback();
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
module.exports = {
|
|
3
|
+
up: async (queryInterface, Sequelize) => {
|
|
4
|
+
const transaction = await queryInterface.sequelize.transaction();
|
|
5
|
+
try {
|
|
6
|
+
// Add payout_details to user_payouts
|
|
7
|
+
await queryInterface.addColumn('user_payouts', 'payout_details', {
|
|
8
|
+
type: Sequelize.JSONB,
|
|
9
|
+
allowNull: true,
|
|
10
|
+
defaultValue: [],
|
|
11
|
+
}, { transaction });
|
|
12
|
+
await queryInterface.dropTable('user_payout_details', { transaction });
|
|
13
|
+
await transaction.commit();
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
await transaction.rollback();
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
down: async (queryInterface) => {
|
|
21
|
+
const transaction = await queryInterface.sequelize.transaction();
|
|
22
|
+
try {
|
|
23
|
+
// Remove payout_details from user_payouts
|
|
24
|
+
await queryInterface.removeColumn('user_payouts', 'payout_details', { transaction });
|
|
25
|
+
await transaction.commit();
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
await transaction.rollback();
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
};
|
|
@@ -110,7 +110,6 @@ export * from './userInstituteMetaInterface';
|
|
|
110
110
|
export * from './userInterface';
|
|
111
111
|
export * from './userLeaveRequestInterface';
|
|
112
112
|
export * from './userMetaInterface';
|
|
113
|
-
export * from './userPayoutDetailsInterface';
|
|
114
113
|
export * from './userPayoutInterface';
|
|
115
114
|
export * from './userProjectAssessmentOptionInterface';
|
|
116
115
|
export * from './userRequiredStepsInterface';
|
package/dist/interfaces/index.js
CHANGED
|
@@ -126,7 +126,6 @@ __exportStar(require("./userInstituteMetaInterface"), exports);
|
|
|
126
126
|
__exportStar(require("./userInterface"), exports);
|
|
127
127
|
__exportStar(require("./userLeaveRequestInterface"), exports);
|
|
128
128
|
__exportStar(require("./userMetaInterface"), exports);
|
|
129
|
-
__exportStar(require("./userPayoutDetailsInterface"), exports);
|
|
130
129
|
__exportStar(require("./userPayoutInterface"), exports);
|
|
131
130
|
__exportStar(require("./userProjectAssessmentOptionInterface"), exports);
|
|
132
131
|
__exportStar(require("./userRequiredStepsInterface"), exports);
|
|
@@ -4,9 +4,12 @@ export interface IPayoutTransactionHistoryModelAttributes {
|
|
|
4
4
|
userId: string;
|
|
5
5
|
instituteId: string;
|
|
6
6
|
academicCalendarId: string;
|
|
7
|
+
userPayoutId: string;
|
|
7
8
|
totalAmount: number;
|
|
8
9
|
payableAmount: number;
|
|
9
10
|
additionalPayoutIds: string[];
|
|
11
|
+
paidDate?: Date;
|
|
12
|
+
payoutDate?: string;
|
|
10
13
|
status?: PAYOUT_STATUS;
|
|
11
14
|
createdBy?: string;
|
|
12
15
|
updatedBy?: string;
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import { IDefaultAttributes } from './commonInterface';
|
|
2
2
|
import { USER_PAYOUT_TYPE, USER_TYPES } from '../constants/app';
|
|
3
|
+
export interface IUserPayoutDetails {
|
|
4
|
+
subjectId?: string;
|
|
5
|
+
batchId?: string;
|
|
6
|
+
amountPerHour?: number;
|
|
7
|
+
payableAmount?: number;
|
|
8
|
+
percentage?: number;
|
|
9
|
+
type?: USER_PAYOUT_TYPE;
|
|
10
|
+
}
|
|
3
11
|
export interface IUserPayoutModelAttributes extends IDefaultAttributes {
|
|
4
12
|
id: string;
|
|
5
13
|
userId: string;
|
|
6
14
|
userType: USER_TYPES;
|
|
7
15
|
instituteId: string;
|
|
16
|
+
academicCalendarId?: string;
|
|
8
17
|
totalPayableAmount?: number;
|
|
9
18
|
totalPaidAmount?: number;
|
|
10
19
|
type: USER_PAYOUT_TYPE;
|
|
20
|
+
payoutDetails?: IUserPayoutDetails[];
|
|
11
21
|
lastCalculatedAt: Date;
|
|
12
22
|
}
|
|
@@ -83,7 +83,6 @@ export { default as UserHasStorageModel } from './userHasStorageModel';
|
|
|
83
83
|
export { default as UserHasSubjectFeeModel } from './userHasSubjectFeeModel';
|
|
84
84
|
export { default as UserLeaveRequestModel } from './userLeaveRequestModel';
|
|
85
85
|
export { default as UserModel } from './userModel';
|
|
86
|
-
export { default as UserPayoutDetailsModel } from './userPayoutDetailsModel';
|
|
87
86
|
export { default as UserPayoutModel } from './userPayoutModel';
|
|
88
87
|
export { default as UserProjectAssessmentOptionModel } from './userProjectAssessmentOptionModel';
|
|
89
88
|
export { default as UserRequiredStepsModel } from './userRequiredStepsModel';
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
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
|
-
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.
|
|
8
|
-
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 =
|
|
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.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');
|
|
@@ -260,8 +260,6 @@ var userLeaveRequestModel_1 = require("./userLeaveRequestModel");
|
|
|
260
260
|
Object.defineProperty(exports, "UserLeaveRequestModel", { enumerable: true, get: function () { return __importDefault(userLeaveRequestModel_1).default; } });
|
|
261
261
|
var userModel_1 = require("./userModel");
|
|
262
262
|
Object.defineProperty(exports, "UserModel", { enumerable: true, get: function () { return __importDefault(userModel_1).default; } });
|
|
263
|
-
var userPayoutDetailsModel_1 = require("./userPayoutDetailsModel");
|
|
264
|
-
Object.defineProperty(exports, "UserPayoutDetailsModel", { enumerable: true, get: function () { return __importDefault(userPayoutDetailsModel_1).default; } });
|
|
265
263
|
var userPayoutModel_1 = require("./userPayoutModel");
|
|
266
264
|
Object.defineProperty(exports, "UserPayoutModel", { enumerable: true, get: function () { return __importDefault(userPayoutModel_1).default; } });
|
|
267
265
|
var userProjectAssessmentOptionModel_1 = require("./userProjectAssessmentOptionModel");
|
|
@@ -21,9 +21,13 @@ class LoanEmiModel extends sequelize_1.Model {
|
|
|
21
21
|
foreignKey: { name: 'userLoanId', field: 'user_loan_id' },
|
|
22
22
|
as: 'userLoan',
|
|
23
23
|
});
|
|
24
|
+
UserLoanModel.hasMany(LoanEmiModel, {
|
|
25
|
+
foreignKey: { name: 'userLoanId', field: 'user_loan_id' },
|
|
26
|
+
as: 'loanEmiList',
|
|
27
|
+
});
|
|
24
28
|
LoanEmiModel.belongsTo(AcademicCalendarModel, {
|
|
25
29
|
foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id' },
|
|
26
|
-
as: '
|
|
30
|
+
as: 'loanAcademicCalendar',
|
|
27
31
|
});
|
|
28
32
|
}
|
|
29
33
|
}
|
|
@@ -7,9 +7,12 @@ declare class PayoutTransactionHistoryModel extends Model<IPayoutTransactionHist
|
|
|
7
7
|
userId: string;
|
|
8
8
|
instituteId: string;
|
|
9
9
|
academicCalendarId: string;
|
|
10
|
+
userPayoutId: string;
|
|
10
11
|
totalAmount: number;
|
|
11
12
|
payableAmount: number;
|
|
12
13
|
additionalPayoutIds: string[];
|
|
14
|
+
paidDate: Date;
|
|
15
|
+
payoutDate: Date;
|
|
13
16
|
status: PAYOUT_STATUS;
|
|
14
17
|
createdBy: string;
|
|
15
18
|
updatedBy: string;
|
|
@@ -4,7 +4,7 @@ const sequelize_1 = require("sequelize");
|
|
|
4
4
|
const index_1 = require("./index");
|
|
5
5
|
class PayoutTransactionHistoryModel extends sequelize_1.Model {
|
|
6
6
|
static associate(models) {
|
|
7
|
-
const { UserModel, InstituteModel, AcademicCalendarModel } = models;
|
|
7
|
+
const { UserModel, InstituteModel, AcademicCalendarModel, UserPayoutModel } = models;
|
|
8
8
|
PayoutTransactionHistoryModel.belongsTo(UserModel, {
|
|
9
9
|
foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
|
|
10
10
|
as: 'createdByUser',
|
|
@@ -29,6 +29,14 @@ class PayoutTransactionHistoryModel extends sequelize_1.Model {
|
|
|
29
29
|
foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id' },
|
|
30
30
|
as: 'academicCalendar',
|
|
31
31
|
});
|
|
32
|
+
PayoutTransactionHistoryModel.belongsTo(UserPayoutModel, {
|
|
33
|
+
foreignKey: { name: 'userPayoutId', field: 'user_payout_id' },
|
|
34
|
+
as: 'userPayout',
|
|
35
|
+
});
|
|
36
|
+
UserPayoutModel.hasMany(PayoutTransactionHistoryModel, {
|
|
37
|
+
foreignKey: { name: 'userPayoutId', field: 'user_payout_id' },
|
|
38
|
+
as: 'userPayoutHistoryList',
|
|
39
|
+
});
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
PayoutTransactionHistoryModel.init({
|
|
@@ -53,6 +61,11 @@ PayoutTransactionHistoryModel.init({
|
|
|
53
61
|
allowNull: true,
|
|
54
62
|
field: 'academic_calendar_id',
|
|
55
63
|
},
|
|
64
|
+
userPayoutId: {
|
|
65
|
+
type: sequelize_1.DataTypes.UUID,
|
|
66
|
+
allowNull: true,
|
|
67
|
+
field: 'user_payout_id',
|
|
68
|
+
},
|
|
56
69
|
totalAmount: {
|
|
57
70
|
type: sequelize_1.DataTypes.FLOAT,
|
|
58
71
|
allowNull: true,
|
|
@@ -71,6 +84,16 @@ PayoutTransactionHistoryModel.init({
|
|
|
71
84
|
defaultValue: [],
|
|
72
85
|
field: 'additional_payout_ids',
|
|
73
86
|
},
|
|
87
|
+
paidDate: {
|
|
88
|
+
type: sequelize_1.DataTypes.DATE,
|
|
89
|
+
allowNull: true,
|
|
90
|
+
field: 'paid_date',
|
|
91
|
+
},
|
|
92
|
+
payoutDate: {
|
|
93
|
+
type: sequelize_1.DataTypes.DATE,
|
|
94
|
+
allowNull: true,
|
|
95
|
+
field: 'payout_date',
|
|
96
|
+
},
|
|
74
97
|
status: {
|
|
75
98
|
type: sequelize_1.DataTypes.STRING,
|
|
76
99
|
allowNull: true,
|
|
@@ -31,7 +31,11 @@ class UserLoanModel extends sequelize_1.Model {
|
|
|
31
31
|
});
|
|
32
32
|
UserLoanModel.belongsTo(UserModel, {
|
|
33
33
|
foreignKey: { name: 'userId', field: 'user_id' },
|
|
34
|
-
as: '
|
|
34
|
+
as: 'loanUser',
|
|
35
|
+
});
|
|
36
|
+
UserModel.hasMany(UserLoanModel, {
|
|
37
|
+
foreignKey: { name: 'userId', field: 'user_id' },
|
|
38
|
+
as: 'userLoanList',
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
41
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Model } from 'sequelize';
|
|
2
|
-
import { IUserPayoutModelAttributes } from '../../interfaces/userPayoutInterface';
|
|
2
|
+
import { IUserPayoutDetails, IUserPayoutModelAttributes } from '../../interfaces/userPayoutInterface';
|
|
3
3
|
import { TUserPayoutModelCreationAttributes } from '../../types/userPayoutType';
|
|
4
4
|
import { USER_PAYOUT_TYPE, USER_TYPES } from '../../constants/app';
|
|
5
5
|
declare class UserPayoutModel extends Model<IUserPayoutModelAttributes, TUserPayoutModelCreationAttributes> {
|
|
@@ -7,9 +7,11 @@ declare class UserPayoutModel extends Model<IUserPayoutModelAttributes, TUserPay
|
|
|
7
7
|
userId: string;
|
|
8
8
|
userType: USER_TYPES;
|
|
9
9
|
instituteId: string;
|
|
10
|
+
academicCalendarId: string;
|
|
10
11
|
totalPayableAmount: number;
|
|
11
12
|
totalPaidAmount: number;
|
|
12
13
|
type: USER_PAYOUT_TYPE;
|
|
14
|
+
payoutDetails: IUserPayoutDetails[];
|
|
13
15
|
createdBy: string;
|
|
14
16
|
updatedBy: string;
|
|
15
17
|
deletedBy: string;
|
|
@@ -60,6 +60,11 @@ UserPayoutModel.init({
|
|
|
60
60
|
allowNull: false,
|
|
61
61
|
field: 'institute_id',
|
|
62
62
|
},
|
|
63
|
+
academicCalendarId: {
|
|
64
|
+
type: sequelize_1.DataTypes.UUID,
|
|
65
|
+
allowNull: true,
|
|
66
|
+
field: 'academic_calendar_id',
|
|
67
|
+
},
|
|
63
68
|
totalPayableAmount: {
|
|
64
69
|
type: sequelize_1.DataTypes.FLOAT,
|
|
65
70
|
allowNull: true,
|
|
@@ -77,6 +82,12 @@ UserPayoutModel.init({
|
|
|
77
82
|
allowNull: false,
|
|
78
83
|
defaultValue: app_1.USER_PAYOUT_TYPE.NONE,
|
|
79
84
|
},
|
|
85
|
+
payoutDetails: {
|
|
86
|
+
type: sequelize_1.DataTypes.JSONB,
|
|
87
|
+
allowNull: true,
|
|
88
|
+
defaultValue: [],
|
|
89
|
+
field: 'payout_details',
|
|
90
|
+
},
|
|
80
91
|
lastCalculatedAt: {
|
|
81
92
|
type: sequelize_1.DataTypes.DATE,
|
|
82
93
|
defaultValue: (0, date_fns_1.startOfToday)(),
|
package/dist/types/index.d.ts
CHANGED
|
@@ -101,7 +101,6 @@ export * from './userHasSubjectFeeType';
|
|
|
101
101
|
export * from './userInstituteMetaType';
|
|
102
102
|
export * from './userLeaveRequestType';
|
|
103
103
|
export * from './userMetaType';
|
|
104
|
-
export * from './userPayoutDetailsType';
|
|
105
104
|
export * from './userPayoutType';
|
|
106
105
|
export * from './userProjectAssessmentOptionType';
|
|
107
106
|
export * from './userRequiredStepsType';
|
package/dist/types/index.js
CHANGED
|
@@ -117,7 +117,6 @@ __exportStar(require("./userHasSubjectFeeType"), exports);
|
|
|
117
117
|
__exportStar(require("./userInstituteMetaType"), exports);
|
|
118
118
|
__exportStar(require("./userLeaveRequestType"), exports);
|
|
119
119
|
__exportStar(require("./userMetaType"), exports);
|
|
120
|
-
__exportStar(require("./userPayoutDetailsType"), exports);
|
|
121
120
|
__exportStar(require("./userPayoutType"), exports);
|
|
122
121
|
__exportStar(require("./userProjectAssessmentOptionType"), exports);
|
|
123
122
|
__exportStar(require("./userRequiredStepsType"), exports);
|
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
import { Optional } from 'sequelize';
|
|
2
2
|
import { IUserPayoutModelAttributes } from '../interfaces/userPayoutInterface';
|
|
3
|
-
import { TUserPayoutDetailsModelCreationAttributes } from './userPayoutDetailsType';
|
|
4
3
|
export type TUserPayoutModelCreationAttributes = Optional<IUserPayoutModelAttributes, 'id'>;
|
|
5
|
-
export type TUserPayoutWithDetails = IUserPayoutModelAttributes & {
|
|
6
|
-
userPayoutDetailsList: TUserPayoutDetailsModelCreationAttributes[];
|
|
7
|
-
};
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IDefaultAttributes } from './commonInterface';
|
|
2
|
-
import { USER_PAYOUT_TYPE } from '../constants/app';
|
|
3
|
-
export interface IUserPayoutDetailsModelAttributes extends IDefaultAttributes {
|
|
4
|
-
id: string;
|
|
5
|
-
subjectId: string;
|
|
6
|
-
batchId: string;
|
|
7
|
-
userPayoutId: string;
|
|
8
|
-
amountPerHour?: number;
|
|
9
|
-
payableAmount: number;
|
|
10
|
-
percentage?: number;
|
|
11
|
-
type: USER_PAYOUT_TYPE;
|
|
12
|
-
userId: string;
|
|
13
|
-
instituteId: string;
|
|
14
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Model } from 'sequelize';
|
|
2
|
-
import { IUserPayoutDetailsModelAttributes } from '../../interfaces/userPayoutDetailsInterface';
|
|
3
|
-
import { TUserPayoutDetailsModelCreationAttributes } from '../../types/userPayoutDetailsType';
|
|
4
|
-
import { USER_PAYOUT_TYPE } from '../../constants/app';
|
|
5
|
-
declare class UserPayoutDetailsModel extends Model<IUserPayoutDetailsModelAttributes, TUserPayoutDetailsModelCreationAttributes> {
|
|
6
|
-
id: string;
|
|
7
|
-
subjectId: string;
|
|
8
|
-
batchId: string;
|
|
9
|
-
userPayoutId: string;
|
|
10
|
-
amountPerHour?: number;
|
|
11
|
-
percentage?: number;
|
|
12
|
-
type: USER_PAYOUT_TYPE;
|
|
13
|
-
payableAmount: number;
|
|
14
|
-
createdBy: string;
|
|
15
|
-
updatedBy: string;
|
|
16
|
-
deletedBy: string;
|
|
17
|
-
readonly createdAt: Date;
|
|
18
|
-
readonly deletedAt: Date;
|
|
19
|
-
readonly updatedAt: Date;
|
|
20
|
-
static associate(models: any): void;
|
|
21
|
-
}
|
|
22
|
-
export default UserPayoutDetailsModel;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const sequelize_1 = require("sequelize");
|
|
4
|
-
const index_1 = require("./index");
|
|
5
|
-
const app_1 = require("../../constants/app");
|
|
6
|
-
class UserPayoutDetailsModel extends sequelize_1.Model {
|
|
7
|
-
static associate(models) {
|
|
8
|
-
const { UserModel, InstituteModel, BatchModel, InstituteEntityModel, UserPayoutModel } = models;
|
|
9
|
-
UserPayoutDetailsModel.belongsTo(UserModel, {
|
|
10
|
-
foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
|
|
11
|
-
as: 'createdByUser',
|
|
12
|
-
});
|
|
13
|
-
UserPayoutDetailsModel.belongsTo(UserModel, {
|
|
14
|
-
foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
|
|
15
|
-
as: 'updatedByUser',
|
|
16
|
-
});
|
|
17
|
-
UserPayoutDetailsModel.belongsTo(UserModel, {
|
|
18
|
-
foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
|
|
19
|
-
as: 'deletedByUser',
|
|
20
|
-
});
|
|
21
|
-
UserPayoutDetailsModel.belongsTo(UserModel, {
|
|
22
|
-
foreignKey: { name: 'userId' },
|
|
23
|
-
as: 'user',
|
|
24
|
-
});
|
|
25
|
-
UserModel.hasMany(UserPayoutDetailsModel, {
|
|
26
|
-
foreignKey: { name: 'userId' },
|
|
27
|
-
as: 'userHasPayoutDetailsList',
|
|
28
|
-
});
|
|
29
|
-
UserPayoutDetailsModel.belongsTo(InstituteModel, {
|
|
30
|
-
foreignKey: { name: 'instituteId' },
|
|
31
|
-
as: 'institute',
|
|
32
|
-
});
|
|
33
|
-
InstituteModel.hasMany(UserPayoutDetailsModel, {
|
|
34
|
-
foreignKey: { name: 'instituteId' },
|
|
35
|
-
as: 'instituteHasPayoutDetailsList',
|
|
36
|
-
});
|
|
37
|
-
UserPayoutDetailsModel.belongsTo(BatchModel, {
|
|
38
|
-
foreignKey: { name: 'batchId' },
|
|
39
|
-
as: 'batch',
|
|
40
|
-
});
|
|
41
|
-
BatchModel.hasMany(UserPayoutDetailsModel, {
|
|
42
|
-
foreignKey: { name: 'batchId' },
|
|
43
|
-
as: 'batchHasPayoutDetailsList',
|
|
44
|
-
});
|
|
45
|
-
UserPayoutDetailsModel.belongsTo(InstituteEntityModel, {
|
|
46
|
-
foreignKey: { name: 'subjectId' },
|
|
47
|
-
as: 'subject',
|
|
48
|
-
});
|
|
49
|
-
InstituteEntityModel.hasMany(UserPayoutDetailsModel, {
|
|
50
|
-
foreignKey: { name: 'subjectId' },
|
|
51
|
-
as: 'subjectHasPayoutDetailsList',
|
|
52
|
-
});
|
|
53
|
-
UserPayoutDetailsModel.belongsTo(UserPayoutModel, {
|
|
54
|
-
foreignKey: { name: 'userPayoutId' },
|
|
55
|
-
as: 'userPayout',
|
|
56
|
-
});
|
|
57
|
-
UserPayoutModel.hasMany(UserPayoutDetailsModel, {
|
|
58
|
-
foreignKey: { name: 'userPayoutId' },
|
|
59
|
-
as: 'userPayoutDetailsList',
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
UserPayoutDetailsModel.init({
|
|
64
|
-
id: { type: sequelize_1.DataTypes.UUID, defaultValue: sequelize_1.DataTypes.UUIDV4, allowNull: false, primaryKey: true },
|
|
65
|
-
subjectId: { type: sequelize_1.DataTypes.UUID, allowNull: false, field: 'subject_id' },
|
|
66
|
-
batchId: { type: sequelize_1.DataTypes.UUID, allowNull: false, field: 'batch_id' },
|
|
67
|
-
userPayoutId: { type: sequelize_1.DataTypes.UUID, allowNull: false, field: 'user_payout_id' },
|
|
68
|
-
payableAmount: { type: sequelize_1.DataTypes.FLOAT, allowNull: true, defaultValue: 0, field: 'payable_amount' },
|
|
69
|
-
amountPerHour: { type: sequelize_1.DataTypes.FLOAT, allowNull: true, defaultValue: 0, field: 'amount_per_hour' },
|
|
70
|
-
percentage: { type: sequelize_1.DataTypes.FLOAT, allowNull: true, defaultValue: 0, field: 'percentage' },
|
|
71
|
-
type: { type: sequelize_1.DataTypes.STRING, allowNull: false, defaultValue: app_1.USER_PAYOUT_TYPE.NONE },
|
|
72
|
-
userId: { type: sequelize_1.DataTypes.UUID, allowNull: false, field: 'user_id' },
|
|
73
|
-
instituteId: { type: sequelize_1.DataTypes.UUID, allowNull: false, field: 'institute_id' },
|
|
74
|
-
}, {
|
|
75
|
-
modelName: 'UserPayoutDetailsModel',
|
|
76
|
-
tableName: 'user_payout_details',
|
|
77
|
-
timestamps: true,
|
|
78
|
-
paranoid: true,
|
|
79
|
-
sequelize: index_1.sequelize,
|
|
80
|
-
});
|
|
81
|
-
exports.default = UserPayoutDetailsModel;
|