@kipicore/dbcore 1.1.452 → 1.1.454

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.
Files changed (45) hide show
  1. package/dist/constants/app.d.ts +5 -0
  2. package/dist/constants/app.js +7 -1
  3. package/dist/constants/errorMessages.d.ts +27 -0
  4. package/dist/constants/errorMessages.js +32 -1
  5. package/dist/constants/successMessages.d.ts +24 -0
  6. package/dist/constants/successMessages.js +29 -1
  7. package/dist/db/psql/migrations/20260420125945-role_management.d.ts +2 -0
  8. package/dist/db/psql/migrations/20260420125945-role_management.js +176 -0
  9. package/dist/db/psql/migrations/20260420131354-create-permission.d.ts +2 -0
  10. package/dist/db/psql/migrations/20260420131354-create-permission.js +140 -0
  11. package/dist/db/psql/migrations/20260420133216-user_has_permission.d.ts +2 -0
  12. package/dist/db/psql/migrations/20260420133216-user_has_permission.js +140 -0
  13. package/dist/interfaces/index.d.ts +4 -0
  14. package/dist/interfaces/index.js +4 -0
  15. package/dist/interfaces/permissionsInterface.d.ts +11 -0
  16. package/dist/interfaces/permissionsInterface.js +2 -0
  17. package/dist/interfaces/roleHasPermissionInterface.d.ts +7 -0
  18. package/dist/interfaces/roleHasPermissionInterface.js +2 -0
  19. package/dist/interfaces/roleManagementInterface.d.ts +13 -0
  20. package/dist/interfaces/roleManagementInterface.js +2 -0
  21. package/dist/interfaces/userHasPermissionInterface.d.ts +8 -0
  22. package/dist/interfaces/userHasPermissionInterface.js +2 -0
  23. package/dist/models/mongodb/index.d.ts +1 -0
  24. package/dist/models/mongodb/index.js +3 -1
  25. package/dist/models/mongodb/roleHasPermissionModel.d.ts +4 -0
  26. package/dist/models/mongodb/roleHasPermissionModel.js +49 -0
  27. package/dist/models/psql/index.d.ts +3 -0
  28. package/dist/models/psql/index.js +7 -1
  29. package/dist/models/psql/permissionsModel.d.ts +21 -0
  30. package/dist/models/psql/permissionsModel.js +75 -0
  31. package/dist/models/psql/roleManagementModel.d.ts +22 -0
  32. package/dist/models/psql/roleManagementModel.js +113 -0
  33. package/dist/models/psql/userHasPermissionModel.d.ts +18 -0
  34. package/dist/models/psql/userHasPermissionModel.js +95 -0
  35. package/dist/types/index.d.ts +4 -0
  36. package/dist/types/index.js +4 -0
  37. package/dist/types/permissionsType.d.ts +2 -0
  38. package/dist/types/permissionsType.js +2 -0
  39. package/dist/types/roleHasPermissionType.d.ts +2 -0
  40. package/dist/types/roleHasPermissionType.js +2 -0
  41. package/dist/types/roleManagementType.d.ts +3 -0
  42. package/dist/types/roleManagementType.js +2 -0
  43. package/dist/types/userHasPermissionType.d.ts +3 -0
  44. package/dist/types/userHasPermissionType.js +2 -0
  45. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ const up = async (queryInterface, Sequelize) => {
3
+ const tableName = 'user_permissions';
4
+ const tableExists = await queryInterface
5
+ .describeTable(tableName)
6
+ .then(() => true)
7
+ .catch(() => false);
8
+ if (!tableExists) {
9
+ await queryInterface.createTable(tableName, {
10
+ id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, allowNull: false, primaryKey: true },
11
+ userId: {
12
+ type: Sequelize.UUID,
13
+ allowNull: true,
14
+ field: 'user_id',
15
+ },
16
+ roleId: {
17
+ type: Sequelize.UUID,
18
+ allowNull: true,
19
+ field: 'role_id',
20
+ },
21
+ instituteId: {
22
+ type: Sequelize.UUID,
23
+ allowNull: true,
24
+ field: 'institute_id',
25
+ },
26
+ academicCalendarId: {
27
+ type: Sequelize.UUID,
28
+ allowNull: true,
29
+ field: 'academic_calendar_id',
30
+ },
31
+ createdBy: {
32
+ type: Sequelize.UUID,
33
+ allowNull: true,
34
+ field: 'created_by',
35
+ },
36
+ updatedBy: {
37
+ type: Sequelize.UUID,
38
+ allowNull: true,
39
+ field: 'updated_by',
40
+ },
41
+ deletedBy: {
42
+ type: Sequelize.UUID,
43
+ allowNull: true,
44
+ field: 'deleted_by',
45
+ },
46
+ createdAt: {
47
+ type: Sequelize.DATE,
48
+ allowNull: false,
49
+ field: 'created_at',
50
+ },
51
+ updatedAt: {
52
+ type: Sequelize.DATE,
53
+ allowNull: false,
54
+ field: 'updated_at',
55
+ },
56
+ deletedAt: {
57
+ type: Sequelize.DATE,
58
+ allowNull: true,
59
+ field: 'deleted_at',
60
+ },
61
+ });
62
+ }
63
+ else {
64
+ const tableDefinition = await queryInterface.describeTable(tableName);
65
+ const columnsToAdd = {
66
+ id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, allowNull: false, primaryKey: true },
67
+ userId: {
68
+ type: Sequelize.UUID,
69
+ allowNull: true,
70
+ field: 'user_id',
71
+ },
72
+ roleId: {
73
+ type: Sequelize.UUID,
74
+ allowNull: true,
75
+ field: 'role_id',
76
+ },
77
+ instituteId: {
78
+ type: Sequelize.UUID,
79
+ allowNull: true,
80
+ field: 'institute_id',
81
+ },
82
+ academicCalendarId: {
83
+ type: Sequelize.UUID,
84
+ allowNull: true,
85
+ field: 'academic_calendar_id',
86
+ },
87
+ createdBy: {
88
+ type: Sequelize.UUID,
89
+ allowNull: true,
90
+ field: 'created_by',
91
+ },
92
+ updatedBy: {
93
+ type: Sequelize.UUID,
94
+ allowNull: true,
95
+ field: 'updated_by',
96
+ },
97
+ deletedBy: {
98
+ type: Sequelize.UUID,
99
+ allowNull: true,
100
+ field: 'deleted_by',
101
+ },
102
+ createdAt: {
103
+ type: Sequelize.DATE,
104
+ allowNull: false,
105
+ field: 'created_at',
106
+ },
107
+ updatedAt: {
108
+ type: Sequelize.DATE,
109
+ allowNull: false,
110
+ field: 'updated_at',
111
+ },
112
+ deletedAt: {
113
+ type: Sequelize.DATE,
114
+ allowNull: true,
115
+ field: 'deleted_at',
116
+ },
117
+ };
118
+ for (const column of Object.keys(columnsToAdd)) {
119
+ const columnToAdd = columnsToAdd[column];
120
+ const tableColumn = columnToAdd.field || column;
121
+ if (!tableDefinition[tableColumn]) {
122
+ await queryInterface.addColumn(tableName, tableColumn, columnToAdd);
123
+ }
124
+ }
125
+ }
126
+ };
127
+ const down = async (queryInterface) => {
128
+ const tableName = 'user_permissions';
129
+ const tableExists = await queryInterface
130
+ .describeTable(tableName)
131
+ .then(() => true)
132
+ .catch(() => false);
133
+ if (tableExists) {
134
+ await queryInterface.dropTable(tableName);
135
+ }
136
+ };
137
+ module.exports = {
138
+ up,
139
+ down,
140
+ };
@@ -187,3 +187,7 @@ export * from './designationInterface';
187
187
  export * from './communityGroupInterface';
188
188
  export * from './communityGroupMemberInterface';
189
189
  export * from './communityMessageInterface';
190
+ export * from './permissionsInterface';
191
+ export * from './roleHasPermissionInterface';
192
+ export * from './userHasPermissionInterface';
193
+ export * from './roleInterface';
@@ -203,3 +203,7 @@ __exportStar(require("./designationInterface"), exports);
203
203
  __exportStar(require("./communityGroupInterface"), exports);
204
204
  __exportStar(require("./communityGroupMemberInterface"), exports);
205
205
  __exportStar(require("./communityMessageInterface"), exports);
206
+ __exportStar(require("./permissionsInterface"), exports);
207
+ __exportStar(require("./roleHasPermissionInterface"), exports);
208
+ __exportStar(require("./userHasPermissionInterface"), exports);
209
+ __exportStar(require("./roleInterface"), exports);
@@ -0,0 +1,11 @@
1
+ import { APP_TYPE, PERMISSION_TYPE } from '../constants/app';
2
+ import { IDefaultAttributes } from './commonInterface';
3
+ export interface IPermissionAttributes extends IDefaultAttributes {
4
+ id: string;
5
+ title: string;
6
+ description: string;
7
+ type: PERMISSION_TYPE;
8
+ permissionId: string;
9
+ code: string;
10
+ appType: APP_TYPE;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { Document } from 'mongoose';
2
+ import { IDefaultAttributes } from './commonInterface';
3
+ export interface IRoleHasPermissionModelAttributes extends IDefaultAttributes, Document {
4
+ id: string;
5
+ roleId: string;
6
+ permissionIds: string[];
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { APP_TYPE, USER_TYPES } from '../constants';
2
+ import { IDefaultAttributes } from './commonInterface';
3
+ export interface IRoleManagementAttributes extends IDefaultAttributes {
4
+ id: string;
5
+ title: string;
6
+ description?: string;
7
+ userType: USER_TYPES;
8
+ appType: APP_TYPE;
9
+ instituteId?: string;
10
+ academicCalendarId?: string;
11
+ isDefault: boolean;
12
+ masterId?: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { IDefaultAttributes } from './commonInterface';
2
+ export interface IUserHasPermissionModelCreation extends IDefaultAttributes {
3
+ id: string;
4
+ userId: string;
5
+ roleId: string;
6
+ instituteId: string;
7
+ academicCalendarId: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -65,3 +65,4 @@ export { default as OfferAndDiscountModel } from './offerAndDiscountModel';
65
65
  export { default as CommunityGroupModel } from './communityGroupModel';
66
66
  export { default as CommunityGroupMemberModel } from './communityGroupMemberModel';
67
67
  export { default as CommunityMessageModel } from './communityMessageModel';
68
+ export { default as RoleHasPermissionModel } from './roleHasPermissionModel';
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PollSelectionModel = exports.CreatePollModel = exports.SheetFieldMappingModel = exports.FileUploadUserDetails = exports.CompetitionUsersModel = exports.CompetitionGroupModel = exports.CompetitionModel = exports.CampusCarnivalModel = exports.AppointmentHistoryModel = exports.AppointmentModel = exports.SeatingArrangementModel = exports.AssignFileModel = exports.ThemeModel = exports.BDayWishModel = exports.AdditionalDetailModel = exports.CanteenModel = exports.WalletTransactionModel = exports.VideoAnalystModel = exports.UserSchoolMetaModel = exports.UserInstituteMetaModel = exports.UserDetailsModel = exports.UniqueNumberCounterModel = exports.TaskManagementModel = exports.SubscriptionPlanModel = exports.SubjectIndexModel = exports.ReplaceTeacherModel = exports.PlannerModel = exports.PhotosGalleryModel = exports.JobApplyModel = exports.InvoiceModel = exports.InquiryModel = exports.InformationSupportModel = exports.HolidayModel = exports.GenerateIdCardModel = exports.FeedBackModel = exports.FeeReminderTypeModel = exports.ExamModel = exports.ExamHasAnswerSheetModel = exports.ExamGroupModel = exports.EventModel = exports.DashboardManagementModel = exports.DailyBookModel = exports.ColumnModel = exports.CertificatesManagementModel = exports.CertificatesHistoryModel = exports.CareerModel = exports.BlogModel = exports.AttendanceModel = exports.ApprovalRequestModel = exports.connectMongoDb = void 0;
7
- exports.CommunityMessageModel = exports.CommunityGroupMemberModel = exports.CommunityGroupModel = exports.OfferAndDiscountModel = exports.SubscriptionConfigurationModel = exports.ModulePriceModel = exports.PdcChequeConfigurationModel = exports.FinalMarkSheetModel = exports.MarkSheetConfigurationModel = exports.AppAnalyticsEventModel = exports.GrantAndDonationModel = exports.TicketRaiseModel = exports.EducationOfficerModel = exports.InstituteFeeModel = exports.SchoolFee1Model = exports.FeeConfigModel = exports.EventTemplatesModel = void 0;
7
+ exports.RoleHasPermissionModel = exports.CommunityMessageModel = exports.CommunityGroupMemberModel = exports.CommunityGroupModel = exports.OfferAndDiscountModel = exports.SubscriptionConfigurationModel = exports.ModulePriceModel = exports.PdcChequeConfigurationModel = exports.FinalMarkSheetModel = exports.MarkSheetConfigurationModel = exports.AppAnalyticsEventModel = exports.GrantAndDonationModel = exports.TicketRaiseModel = exports.EducationOfficerModel = exports.InstituteFeeModel = exports.SchoolFee1Model = exports.FeeConfigModel = exports.EventTemplatesModel = void 0;
8
8
  const mongoose_1 = __importDefault(require("mongoose"));
9
9
  const env_1 = require("../../configs/env");
10
10
  const transformIdInQueryPlugin_1 = __importDefault(require("./plugin/transformIdInQueryPlugin"));
@@ -157,3 +157,5 @@ var communityGroupMemberModel_1 = require("./communityGroupMemberModel");
157
157
  Object.defineProperty(exports, "CommunityGroupMemberModel", { enumerable: true, get: function () { return __importDefault(communityGroupMemberModel_1).default; } });
158
158
  var communityMessageModel_1 = require("./communityMessageModel");
159
159
  Object.defineProperty(exports, "CommunityMessageModel", { enumerable: true, get: function () { return __importDefault(communityMessageModel_1).default; } });
160
+ var roleHasPermissionModel_1 = require("./roleHasPermissionModel");
161
+ Object.defineProperty(exports, "RoleHasPermissionModel", { enumerable: true, get: function () { return __importDefault(roleHasPermissionModel_1).default; } });
@@ -0,0 +1,4 @@
1
+ import { Model } from 'mongoose';
2
+ import { IRoleHasPermissionModelAttributes } from '../../interfaces/roleHasPermissionInterface';
3
+ declare const RoleHasPermissionModel: Model<IRoleHasPermissionModelAttributes>;
4
+ export default RoleHasPermissionModel;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const mongoose_1 = __importStar(require("mongoose"));
37
+ const roleHasPermissionSchema = new mongoose_1.Schema({
38
+ roleId: {
39
+ type: String,
40
+ },
41
+ permissionIds: {
42
+ type: [String],
43
+ },
44
+ }, {
45
+ timestamps: true,
46
+ versionKey: false,
47
+ });
48
+ const RoleHasPermissionModel = mongoose_1.default.model('roleHasPermission', roleHasPermissionSchema);
49
+ exports.default = RoleHasPermissionModel;
@@ -124,3 +124,6 @@ export { default as PostalDispatchModel } from './postalDispatchModel';
124
124
  export { default as VisitorBookModel } from './visitorBookModel';
125
125
  export { default as AdditionalPayoutTypeModel } from './additionalPayoutTypeModel';
126
126
  export { default as DesignationModel } from './designationModel';
127
+ export { default as PermissionModel } from './permissionsModel';
128
+ export { default as RoleManagementModel } from './roleManagementModel';
129
+ export { default as UserPermissionModel } from './userHasPermissionModel';
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProjectAssessmentOptionModel = exports.ProductModel = exports.PincodeModel = exports.PdcHistoryModel = exports.PdcChequeModel = exports.OfferModel = exports.ModuleModel = exports.ModuleFeatureModel = exports.MasterLeaveModel = exports.LectureModel = exports.LectureHistoryModel = exports.InventoryModel = exports.InventoryHistoryModel = exports.InstituteSubscriptionPlanModel = exports.InstituteModel = exports.InstituteEntityTypeModel = exports.InstituteEntityModel = exports.HomeWorkModel = exports.GreetingsModel = exports.FloorManagementModel = exports.FileStorageModel = exports.FeeReminderSettingModel = exports.FeeReminderModel = exports.FeatureActionModel = exports.FacilityModel = exports.EntityGroupModel = exports.DriverModel = exports.CourseModel = exports.CourseHasVisitorsModel = exports.CountryModel = exports.ContactFeedBackModel = exports.CoinPurchaseOfferModel = exports.CloudStorageModel = exports.ClassRoomModel = exports.CityModel = exports.CategoriesModel = exports.BookAssessmentDateModel = exports.BatchSubjectProjectAssessmentModel = exports.BatchSubjectBookAssessmentModel = exports.BatchModel = exports.BannerModel = exports.BankAccountDetailsModel = exports.AreaModel = exports.AnnouncementModel = exports.AccountHasReceiptDetailsModel = exports.AcademicCalendarModel = exports.SubCategoriesModel = exports.Sequelize = exports.db = exports.sequelize = void 0;
7
7
  exports.MaintenanceModel = exports.AdvertisementModel = 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.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.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.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 = exports.CloneListModel = exports.IncomeExpenseModel = void 0;
8
+ 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 = exports.CloneListModel = exports.IncomeExpenseModel = 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');
@@ -342,3 +342,9 @@ var additionalPayoutTypeModel_1 = require("./additionalPayoutTypeModel");
342
342
  Object.defineProperty(exports, "AdditionalPayoutTypeModel", { enumerable: true, get: function () { return __importDefault(additionalPayoutTypeModel_1).default; } });
343
343
  var designationModel_1 = require("./designationModel");
344
344
  Object.defineProperty(exports, "DesignationModel", { enumerable: true, get: function () { return __importDefault(designationModel_1).default; } });
345
+ var permissionsModel_1 = require("./permissionsModel");
346
+ Object.defineProperty(exports, "PermissionModel", { enumerable: true, get: function () { return __importDefault(permissionsModel_1).default; } });
347
+ var roleManagementModel_1 = require("./roleManagementModel");
348
+ Object.defineProperty(exports, "RoleManagementModel", { enumerable: true, get: function () { return __importDefault(roleManagementModel_1).default; } });
349
+ var userHasPermissionModel_1 = require("./userHasPermissionModel");
350
+ Object.defineProperty(exports, "UserPermissionModel", { enumerable: true, get: function () { return __importDefault(userHasPermissionModel_1).default; } });
@@ -0,0 +1,21 @@
1
+ import { Model } from 'sequelize';
2
+ import { PERMISSION_TYPE } from '../../constants/app';
3
+ import { IPermissionAttributes } from '../../interfaces';
4
+ import { TPermissionCreationAttributes } from '../../types';
5
+ declare class PermissionModel extends Model<IPermissionAttributes, TPermissionCreationAttributes> {
6
+ id: string;
7
+ title: string;
8
+ description: string;
9
+ type: PERMISSION_TYPE;
10
+ permissionId: string;
11
+ code: string;
12
+ appType: string;
13
+ createdBy: string;
14
+ updatedBy: string;
15
+ deletedBy: string;
16
+ readonly createdAt: Date;
17
+ readonly deletedAt: string;
18
+ readonly updatedAt: Date;
19
+ static associate(models: any): void;
20
+ }
21
+ export default PermissionModel;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ class PermissionModel extends sequelize_1.Model {
6
+ static associate(models) {
7
+ const { UserModel, InstituteEntityTypeModel, InstituteModel } = models;
8
+ PermissionModel.belongsTo(UserModel, {
9
+ foreignKey: {
10
+ name: 'createdBy',
11
+ allowNull: true,
12
+ field: 'created_by',
13
+ },
14
+ as: 'createdByUser',
15
+ });
16
+ PermissionModel.belongsTo(UserModel, {
17
+ foreignKey: {
18
+ name: 'updatedBy',
19
+ allowNull: true,
20
+ field: 'updated_by',
21
+ },
22
+ as: 'updatedByUser',
23
+ });
24
+ PermissionModel.belongsTo(UserModel, {
25
+ foreignKey: {
26
+ name: 'deletedBy',
27
+ allowNull: true,
28
+ field: 'deleted_by',
29
+ },
30
+ as: 'deletedByUser',
31
+ });
32
+ PermissionModel.hasMany(PermissionModel, {
33
+ foreignKey: {
34
+ name: 'permissionId',
35
+ allowNull: true,
36
+ field: 'permission_id',
37
+ },
38
+ as: 'permissions',
39
+ });
40
+ }
41
+ }
42
+ PermissionModel.init({
43
+ id: {
44
+ type: sequelize_1.DataTypes.UUID,
45
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
46
+ allowNull: false,
47
+ primaryKey: true,
48
+ },
49
+ title: {
50
+ type: sequelize_1.DataTypes.STRING,
51
+ },
52
+ description: {
53
+ type: sequelize_1.DataTypes.STRING,
54
+ },
55
+ type: {
56
+ type: sequelize_1.DataTypes.STRING,
57
+ },
58
+ permissionId: {
59
+ type: sequelize_1.DataTypes.UUID,
60
+ field: 'permission_id',
61
+ },
62
+ appType: {
63
+ type: sequelize_1.DataTypes.STRING,
64
+ field: 'app_type',
65
+ },
66
+ code: {
67
+ type: sequelize_1.DataTypes.STRING,
68
+ },
69
+ }, {
70
+ modelName: 'PermissionModel',
71
+ tableName: 'permissions',
72
+ timestamps: true,
73
+ sequelize: index_1.sequelize,
74
+ });
75
+ exports.default = PermissionModel;
@@ -0,0 +1,22 @@
1
+ import { Model } from 'sequelize';
2
+ import { IRoleManagementAttributes } from '../../interfaces/roleManagementInterface';
3
+ import { TRoleManagementCreationAttributes } from '../../types/roleManagementType';
4
+ declare class RoleManagement extends Model<IRoleManagementAttributes, TRoleManagementCreationAttributes> {
5
+ id: string;
6
+ title: string;
7
+ description: string;
8
+ appType: string;
9
+ userType: string;
10
+ masterId?: string;
11
+ isDefault: boolean;
12
+ instituteId?: string;
13
+ academicCalendarId?: string;
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 RoleManagement;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ const index_1 = require("./index");
5
+ class RoleManagement extends sequelize_1.Model {
6
+ static associate(models) {
7
+ const { UserModel, InstituteModel, AcademicCalendarModel } = models;
8
+ RoleManagement.belongsTo(UserModel, {
9
+ foreignKey: {
10
+ name: 'createdBy',
11
+ allowNull: true,
12
+ field: 'created_by',
13
+ },
14
+ as: 'createdByUser',
15
+ });
16
+ RoleManagement.belongsTo(UserModel, {
17
+ foreignKey: {
18
+ name: 'updatedBy',
19
+ allowNull: true,
20
+ field: 'updated_by',
21
+ },
22
+ as: 'updatedByUser',
23
+ });
24
+ RoleManagement.belongsTo(UserModel, {
25
+ foreignKey: {
26
+ name: 'deletedBy',
27
+ allowNull: true,
28
+ field: 'deleted_by',
29
+ },
30
+ as: 'deletedByUser',
31
+ });
32
+ RoleManagement.belongsTo(InstituteModel, {
33
+ foreignKey: {
34
+ name: 'instituteId',
35
+ field: 'institute_id',
36
+ },
37
+ as: 'RoleManagementInstitute',
38
+ });
39
+ InstituteModel.hasMany(RoleManagement, {
40
+ foreignKey: {
41
+ name: 'instituteId',
42
+ field: 'institute_id',
43
+ },
44
+ as: 'instituteRoleManagement',
45
+ });
46
+ RoleManagement.belongsTo(AcademicCalendarModel, {
47
+ foreignKey: {
48
+ name: 'academicCalendarId',
49
+ field: 'academic_calendar_id',
50
+ },
51
+ as: 'RoleManagementAcademicCalendar',
52
+ });
53
+ AcademicCalendarModel.hasMany(RoleManagement, {
54
+ foreignKey: {
55
+ name: 'academicCalendarId',
56
+ field: 'academic_calendar_id',
57
+ },
58
+ as: 'academicCalendarRoleManagement',
59
+ });
60
+ }
61
+ }
62
+ RoleManagement.init({
63
+ id: {
64
+ type: sequelize_1.DataTypes.UUID,
65
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
66
+ allowNull: false,
67
+ primaryKey: true,
68
+ },
69
+ title: {
70
+ type: sequelize_1.DataTypes.STRING,
71
+ allowNull: true,
72
+ },
73
+ description: {
74
+ type: sequelize_1.DataTypes.STRING,
75
+ allowNull: true,
76
+ },
77
+ userType: {
78
+ type: sequelize_1.DataTypes.STRING,
79
+ allowNull: true,
80
+ field: 'user_type',
81
+ },
82
+ appType: {
83
+ type: sequelize_1.DataTypes.STRING,
84
+ allowNull: true,
85
+ field: 'app_type',
86
+ },
87
+ isDefault: {
88
+ type: sequelize_1.DataTypes.BOOLEAN,
89
+ allowNull: true,
90
+ field: 'is_default',
91
+ },
92
+ masterId: {
93
+ type: sequelize_1.DataTypes.UUID,
94
+ allowNull: true,
95
+ field: 'master_id',
96
+ },
97
+ instituteId: {
98
+ type: sequelize_1.DataTypes.UUID,
99
+ field: 'institute_id',
100
+ allowNull: true,
101
+ },
102
+ academicCalendarId: {
103
+ type: sequelize_1.DataTypes.UUID,
104
+ field: 'academic_calendar_id',
105
+ allowNull: true,
106
+ },
107
+ }, {
108
+ modelName: 'RoleManagementModel',
109
+ tableName: 'role_managements',
110
+ timestamps: true,
111
+ sequelize: index_1.sequelize,
112
+ });
113
+ exports.default = RoleManagement;
@@ -0,0 +1,18 @@
1
+ import { Model } from 'sequelize';
2
+ import { IUserHasPermissionModelCreation } from '../../interfaces/userHasPermissionInterface';
3
+ import { TUserHasPermissionAttributes } from '../../types/userHasPermissionType';
4
+ declare class Permission extends Model<IUserHasPermissionModelCreation, TUserHasPermissionAttributes> {
5
+ id: string;
6
+ userId: string;
7
+ roleId: string;
8
+ instituteId?: string;
9
+ academicCalendarId?: string;
10
+ createdBy: string;
11
+ updatedBy: string;
12
+ deletedBy: string;
13
+ readonly createdAt: Date;
14
+ readonly deletedAt: Date;
15
+ readonly updatedAt: Date;
16
+ static associate(models: any): void;
17
+ }
18
+ export default Permission;