UNPKG

@tomei/sso

Version:
96 lines (82 loc) 1.62 kB
import { BelongsTo, Column, CreatedAt, DataType, ForeignKey, Model, Table, UpdatedAt, } from 'sequelize-typescript'; import User from './user.entity'; import GroupModel from './group.entity'; @Table({ tableName: 'sso_GroupReportingUser', timestamps: true, createdAt: 'CreatedAt', updatedAt: 'UpdatedAt', }) export default class GroupReportingUserModel extends Model { @Column({ primaryKey: true, allowNull: false, type: DataType.INTEGER, autoIncrement: true, }) GroupReportingUserId: number; @ForeignKey(() => GroupModel) @Column({ allowNull: false, type: DataType.STRING(10), }) GroupCode: string; @ForeignKey(() => User) @Column({ allowNull: false, type: DataType.INTEGER, }) UserId: number; @Column({ allowNull: false, type: DataType.TINYINT, }) Rank: number; @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(() => User, { as: 'CreatedByUser', foreignKey: 'CreatedById', }) CreatedByUser: User; @BelongsTo(() => User, { as: 'UpdatedByUser', foreignKey: 'UpdatedById', }) UpdatedByUser: User; @BelongsTo(() => User, { as: 'User', foreignKey: 'UserId', }) User: User; @BelongsTo(() => GroupModel, 'GroupCode') Group: User; }