homemanager-be/src/objects/user/user.entity.ts

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;
}