63 lines
1021 B
TypeScript
63 lines
1021 B
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import {
|
|
Column,
|
|
CreateDateColumn,
|
|
Entity,
|
|
Index,
|
|
ManyToMany,
|
|
PrimaryGeneratedColumn,
|
|
UpdateDateColumn,
|
|
} from 'typeorm';
|
|
import { Group } from '../group/group.entity';
|
|
|
|
@Entity()
|
|
export class User {
|
|
@PrimaryGeneratedColumn()
|
|
id: number;
|
|
|
|
@ApiProperty()
|
|
@Column()
|
|
name: string;
|
|
|
|
@Index()
|
|
@ApiProperty()
|
|
@Column()
|
|
sub: string;
|
|
|
|
@Index()
|
|
@ApiProperty()
|
|
@Column()
|
|
email: string;
|
|
|
|
@ApiProperty()
|
|
@Column({ default: false })
|
|
emailVerified: boolean;
|
|
|
|
@Column()
|
|
password: string;
|
|
|
|
@ApiProperty()
|
|
@Column({ nullable: true, default: 'EUR', length: 3 })
|
|
currency?: string;
|
|
|
|
@ApiProperty()
|
|
@Column({ nullable: true })
|
|
picture?: string;
|
|
|
|
@ApiProperty()
|
|
@Column()
|
|
color: string;
|
|
|
|
@ApiProperty({ type: Group, isArray: true })
|
|
@ManyToMany(() => Group, (group) => group.members)
|
|
groups: Group[];
|
|
|
|
@ApiProperty()
|
|
@CreateDateColumn()
|
|
createdAt: Date;
|
|
|
|
@ApiProperty()
|
|
@UpdateDateColumn()
|
|
updatedAt: Date;
|
|
}
|