Files
Picsur/shared/src/entities/user.entity.ts

32 lines
570 B
TypeScript
Raw Normal View History

2022-02-26 18:16:28 +01:00
import { Exclude, Expose } from 'class-transformer';
import {
IsDefined,
2022-02-26 18:16:28 +01:00
IsEmpty,
IsNotEmpty,
IsOptional,
} from 'class-validator';
import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm';
2022-02-26 18:16:28 +01:00
// Different data for public and private
@Entity()
export class EUser {
@PrimaryGeneratedColumn()
2022-02-26 18:16:28 +01:00
@IsOptional()
id?: number;
@Index()
@Column({ unique: true })
@IsNotEmpty()
username: string;
@Column({ default: false })
@IsDefined()
isAdmin: boolean;
@Column({ select: false })
@IsOptional()
2022-02-26 18:16:28 +01:00
@Exclude()
password?: string;
}