ppob-backend/src/users/entities/user.entity.ts
2022-01-24 11:01:51 +07:00

69 lines
1.3 KiB
TypeScript

import { Roles } from 'src/configurable/entities/roles.entity';
import { Column, Entity, ManyToOne, OneToOne, PrimaryGeneratedColumn } from 'typeorm';
import { BaseModel } from '../../config/basemodel.entity';
import { Partner } from './partner.entity';
import { UserDetail } from './user_detail.entity';
import { COA } from '../../transaction/entities/coa.entity';
import { statusApproval, typeTransaction } from '../../helper/enum-list';
@Entity()
export class User extends BaseModel {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column()
username: string;
@Column()
password: string;
@Column()
salt: string;
@Column({ default: true })
is_active: boolean;
@Column({
nullable: true,
})
status_approval: string;
@Column({ default: false })
is_rejected: boolean;
@ManyToOne(
() => {
return User;
},
(user) => {
return user.id;
},
)
superior: User;
@ManyToOne(
() => {
return Roles;
},
(roles) => {
return roles.id;
},
)
roles: Roles;
@ManyToOne(
() => {
return Partner;
},
(partner) => {
return partner.id;
},
)
partner: Partner;
@OneToOne(() => UserDetail, (userDetail) => userDetail.user)
userDetail: UserDetail;
coa: COA;
}