@kipicore/dbcore 1.1.476 → 1.1.478

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,42 @@
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.addColumn('user_payouts', 'start_date', {
13
+ type: Sequelize.DATE,
14
+ allowNull: true,
15
+ }, { transaction });
16
+ await queryInterface.addColumn('user_payouts', 'end_date', {
17
+ type: Sequelize.DATE,
18
+ allowNull: true,
19
+ }, { transaction });
20
+ await queryInterface.dropTable('user_payout_details', { transaction });
21
+ await transaction.commit();
22
+ }
23
+ catch (error) {
24
+ await transaction.rollback();
25
+ throw error;
26
+ }
27
+ },
28
+ down: async (queryInterface) => {
29
+ const transaction = await queryInterface.sequelize.transaction();
30
+ try {
31
+ // Remove columns from user_payouts
32
+ await queryInterface.removeColumn('user_payouts', 'payout_details', { transaction });
33
+ await queryInterface.removeColumn('user_payouts', 'start_date', { transaction });
34
+ await queryInterface.removeColumn('user_payouts', 'end_date', { transaction });
35
+ await transaction.commit();
36
+ }
37
+ catch (error) {
38
+ await transaction.rollback();
39
+ throw error;
40
+ }
41
+ },
42
+ };
@@ -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';
@@ -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);
@@ -1,5 +1,13 @@
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;
@@ -9,5 +17,8 @@ export interface IUserPayoutModelAttributes extends IDefaultAttributes {
9
17
  totalPayableAmount?: number;
10
18
  totalPaidAmount?: number;
11
19
  type: USER_PAYOUT_TYPE;
20
+ payoutDetails?: IUserPayoutDetails[];
21
+ startDate?: Date;
22
+ endDate?: Date;
12
23
  lastCalculatedAt: Date;
13
24
  }
@@ -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.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.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 = exports.StudentLeaveRequestModel = void 0;
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");
@@ -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> {
@@ -11,6 +11,9 @@ declare class UserPayoutModel extends Model<IUserPayoutModelAttributes, TUserPay
11
11
  totalPayableAmount: number;
12
12
  totalPaidAmount: number;
13
13
  type: USER_PAYOUT_TYPE;
14
+ payoutDetails: IUserPayoutDetails[];
15
+ startDate: Date;
16
+ endDate: Date;
14
17
  createdBy: string;
15
18
  updatedBy: string;
16
19
  deletedBy: string;
@@ -82,6 +82,22 @@ UserPayoutModel.init({
82
82
  allowNull: false,
83
83
  defaultValue: app_1.USER_PAYOUT_TYPE.NONE,
84
84
  },
85
+ payoutDetails: {
86
+ type: sequelize_1.DataTypes.JSONB,
87
+ allowNull: true,
88
+ defaultValue: [],
89
+ field: 'payout_details',
90
+ },
91
+ startDate: {
92
+ type: sequelize_1.DataTypes.DATE,
93
+ allowNull: true,
94
+ field: 'start_date',
95
+ },
96
+ endDate: {
97
+ type: sequelize_1.DataTypes.DATE,
98
+ allowNull: true,
99
+ field: 'end_date',
100
+ },
85
101
  lastCalculatedAt: {
86
102
  type: sequelize_1.DataTypes.DATE,
87
103
  defaultValue: (0, date_fns_1.startOfToday)(),
@@ -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';
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@kipicore/dbcore",
3
- "version": "1.1.476",
3
+ "version": "1.1.478",
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",
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;
@@ -1,3 +0,0 @@
1
- import { Optional } from 'sequelize';
2
- import { IUserPayoutDetailsModelAttributes } from '../interfaces/userPayoutDetailsInterface';
3
- export type TUserPayoutDetailsModelCreationAttributes = Optional<IUserPayoutDetailsModelAttributes, 'id'>;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });