UNPKG

@tomei/sso

Version:
79 lines (66 loc) 1.44 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'; @Table({ tableName: 'sso_GroupPrivilege', timestamps: true, createdAt: 'CreatedAt', updatedAt: 'UpdatedAt', }) export default class GroupPrivilegeModel extends Model { @Column({ primaryKey: true, type: DataType.INTEGER, allowNull: false, autoIncrement: true, }) GroupPrivilegeId: number; @ForeignKey(() => GroupModel) @Column({ type: DataType.STRING(10), }) GroupCode: string; @ForeignKey(() => SystemPrivilegeModel) @Column({ type: DataType.STRING(30), allowNull: false, }) SystemPrivilegeId: string; @Column({ type: DataType.CHAR(20), defaultValue: 'Active', }) Status: string; @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; }