authentication
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
export * from './sso.user.entity';
|
||||
export * from './user.entity';
|
||||
export * from './role.entity';
|
||||
|
||||
19
api/src/model/entitites/role.entity.ts
Normal file
19
api/src/model/entitites/role.entity.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import {
|
||||
Column,
|
||||
Entity,
|
||||
OneToMany,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { User } from './user.entity';
|
||||
|
||||
@Entity()
|
||||
export class Role {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@OneToMany(() => User, (user) => user.role)
|
||||
user: User[];
|
||||
|
||||
@Column({ nullable: true })
|
||||
name: string;
|
||||
}
|
||||
@@ -1,14 +1,17 @@
|
||||
import { Exclude } from 'class-transformer';
|
||||
import { Exclude, Transform } from 'class-transformer';
|
||||
import {
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
Entity,
|
||||
JoinColumn,
|
||||
ManyToOne,
|
||||
OneToOne,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { IUser } from '../interface';
|
||||
import { SSOUser } from './sso.user.entity';
|
||||
import { IsEmail } from 'class-validator';
|
||||
import { Role } from './role.entity';
|
||||
|
||||
@Entity()
|
||||
export class User implements IUser {
|
||||
@@ -35,10 +38,14 @@ export class User implements IUser {
|
||||
@OneToOne(() => SSOUser, (sso) => sso.user, { eager: true, cascade: true })
|
||||
external: SSOUser;
|
||||
|
||||
@Exclude()
|
||||
@Column({ default: true })
|
||||
isActive: boolean;
|
||||
|
||||
@ManyToOne(() => Role, (role) => role.user, { cascade: true })
|
||||
@JoinColumn()
|
||||
@Transform(({ value }) => value.name)
|
||||
role: Role;
|
||||
|
||||
accessToken?: string;
|
||||
refreshToken?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user