UNPKG

@tomei/sso

Version:
92 lines (77 loc) 1.7 kB
import { BelongsTo, Column, CreatedAt, DataType, ForeignKey, Model, Table, UpdatedAt, } from 'sequelize-typescript'; import User from './user.entity'; import GroupModel from './group.entity'; import SystemPrivilegeModel from './system-privilege.entity'; import { ObjectStatus } from '../enum/object-status.enum'; @Table({ tableName: 'sso_GroupObjectPrivilege', timestamps: true, createdAt: 'CreatedAt', updatedAt: 'UpdatedAt', }) export default class GroupObjectPrivilegeModel extends Model { @Column({ primaryKey: true, type: DataType.INTEGER, allowNull: false, autoIncrement: true, }) GroupObjectPrivilegeId: number; @ForeignKey(() => GroupModel) @Column({ type: DataType.STRING(10), }) GroupCode: string; @ForeignKey(() => SystemPrivilegeModel) @Column({ type: DataType.STRING(30), allowNull: false, }) SystemPrivilegeId: string; @Column({ type: DataType.STRING, allowNull: false, }) ObjectId: string; @Column({ type: DataType.STRING, allowNull: false, }) ObjectType: string; @Column({ type: DataType.STRING(10), allowNull: false, }) Status: ObjectStatus; @ForeignKey(() => User) @Column({ type: DataType.INTEGER, }) CreatedById: number; @ForeignKey(() => User) @Column({ type: DataType.INTEGER, }) UpdatedById: number; @CreatedAt CreatedAt: Date; @UpdatedAt UpdatedAt: Date; @BelongsTo(() => SystemPrivilegeModel) Privilege: SystemPrivilegeModel; @BelongsTo(() => GroupModel) Group: GroupModel; @BelongsTo(() => User, 'CreatedById') CreatedByUser: User; @BelongsTo(() => User, 'UpdatedById') UpdatedByUser: User; }