All files / models system.entity.ts

78.78% Statements 26/33
100% Branches 0/0
0% Functions 0/7
100% Lines 24/24

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 11412x                     12x 12x 12x 12x               12x 12x             12x           12x           12x           12x           12x           12x           12x           12x           12x             12x             12x     12x     12x     12x     12x     12x     12x      
import {
  BelongsTo,
  Column,
  CreatedAt,
  DataType,
  ForeignKey,
  HasMany,
  Model,
  Table,
  UpdatedAt,
} from 'sequelize-typescript';
import User from './user.entity';
import SystemPrivilegeModel from './system-privilege.entity';
import UserSystemAccessModel from './user-system-access.entity';
import GroupSystemAccessModel from './group-system-access.entity';
 
@Table({
  tableName: 'sso_System',
  timestamps: true,
  createdAt: 'CreatedAt',
  updatedAt: 'UpdatedAt',
})
export default class SystemModel extends Model {
  @Column({
    primaryKey: true,
    allowNull: false,
    type: DataType.STRING(30),
  })
  SystemCode: string;
 
  @Column({
    allowNull: false,
    type: DataType.STRING(200),
  })
  Name: string;
 
  @Column({
    allowNull: false,
    type: DataType.STRING(500),
  })
  Description: string;
 
  @Column({
    allowNull: true,
    type: DataType.STRING(2000),
  })
  AccessURL: string;
 
  @Column({
    allowNull: true,
    type: DataType.STRING(2000),
  })
  GooglePlayURL: string;
 
  @Column({
    allowNull: true,
    type: DataType.STRING(2000),
  })
  AppleStoreURL: string;
 
  @Column({
    allowNull: true,
    type: DataType.STRING(255),
  })
  APIKey: string;
 
  @Column({
    allowNull: true,
    type: DataType.STRING(255),
  })
  APISecret: string;
 
  @Column({
    allowNull: false,
    type: DataType.STRING(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, 'CreatedById')
  CreatedByUser: User;
 
  @BelongsTo(() => User, 'UpdatedById')
  UpdatedByUser: User;
 
  @HasMany(() => SystemPrivilegeModel)
  SystemPrivileges: SystemPrivilegeModel[];
 
  @HasMany(() => UserSystemAccessModel)
  UserSystemAccesses: UserSystemAccessModel[];
 
  @HasMany(() => GroupSystemAccessModel)
  GroupSystemAccesses: GroupSystemAccessModel[];
}