import { BaseModel } from './base.model'; export class RoleObjectPermission extends BaseModel { static tableName = 'role_object_permissions'; id!: string; roleId!: string; objectDefinitionId!: string; canCreate!: boolean; canRead!: boolean; canEdit!: boolean; canDelete!: boolean; canViewAll!: boolean; canModifyAll!: boolean; createdAt!: Date; updatedAt!: Date; static get jsonSchema() { return { type: 'object', required: ['roleId', 'objectDefinitionId'], properties: { id: { type: 'string' }, roleId: { type: 'string' }, objectDefinitionId: { type: 'string' }, canCreate: { type: 'boolean' }, canRead: { type: 'boolean' }, canEdit: { type: 'boolean' }, canDelete: { type: 'boolean' }, canViewAll: { type: 'boolean' }, canModifyAll: { type: 'boolean' }, }, }; } static get relationMappings() { const { Role } = require('./role.model'); const { ObjectDefinition } = require('./object-definition.model'); return { role: { relation: BaseModel.BelongsToOneRelation, modelClass: Role, join: { from: 'role_object_permissions.roleId', to: 'roles.id', }, }, objectDefinition: { relation: BaseModel.BelongsToOneRelation, modelClass: ObjectDefinition, join: { from: 'role_object_permissions.objectDefinitionId', to: 'object_definitions.id', }, }, }; } }