UNPKG

@tomei/sso

Version:
91 lines (77 loc) 1.64 kB
import { BelongsTo, BelongsToMany, Column, CreatedAt, DataType, ForeignKey, Model, Table, UpdatedAt, } from 'sequelize-typescript'; import System from './system.entity'; import User from './user.entity'; import UserPrivilegeModel from './user-privilege.entity'; @Table({ tableName: 'sso_SystemPrivilege', timestamps: true, createdAt: 'CreatedAt', updatedAt: 'UpdatedAt', }) export default class SystemPrivilegeModel extends Model { @Column({ primaryKey: true, allowNull: false, type: DataType.STRING(30), field: 'SystemPrivilegeId', }) SystemPrivilegeId: string; @Column({ allowNull: false, type: DataType.STRING(50), field: 'PrivilegeCode', }) PrivilegeCode: string; @ForeignKey(() => System) @Column({ allowNull: false, type: DataType.STRING(10), field: 'SystemCode', }) SystemCode: string; @Column({ allowNull: true, type: DataType.STRING(3000), field: 'Description', }) Description: string; @Column({ allowNull: false, type: DataType.CHAR(10), }) Status: string; @ForeignKey(() => User) @Column({ allowNull: false, type: DataType.INTEGER, }) CreatedById: number; @ForeignKey(() => User) @Column({ allowNull: false, type: DataType.INTEGER, }) UpdatedById: number; @CreatedAt CreatedAt: Date; @UpdatedAt UpdatedAt: Date; @BelongsTo(() => System) System: System; @BelongsTo(() => User, 'CreatedById') CreatedByUser: User; @BelongsTo(() => User, 'UpdatedById') UpdatedByUser: User; @BelongsToMany(() => User, () => UserPrivilegeModel) User: User[]; }