Spaces:
Sleeping
Sleeping
| import { | |
| Entity, | |
| Column, | |
| PrimaryGeneratedColumn, | |
| CreateDateColumn, | |
| UpdateDateColumn, | |
| OneToMany, | |
| } from 'typeorm'; | |
| import { Order } from './order.entity'; | |
| import { UserCourse } from './user-course.entity'; | |
| import { Comment } from './comment.entity'; | |
| export enum UserRole { | |
| USER = 'user', | |
| ADMIN = 'admin', | |
| } | |
| ('users') | |
| export class User { | |
| () | |
| id: number; | |
| ({ type: 'varchar', length: 100, unique: true }) | |
| email: string; | |
| ({ type: 'varchar', length: 255, name: 'password_hash' }) | |
| passwordHash: string; | |
| ({ type: 'varchar', length: 50 }) | |
| nickname: string; | |
| ({ type: 'varchar', length: 255, nullable: true }) | |
| avatar: string; | |
| ({ type: 'boolean', default: false, name: 'is_vip' }) | |
| isVip: boolean; | |
| ({ type: 'varchar', default: UserRole.USER }) | |
| role: UserRole; | |
| ({ name: 'created_at' }) | |
| createdAt: Date; | |
| ({ name: 'updated_at' }) | |
| updatedAt: Date; | |
| (() => Order, (order) => order.user) | |
| orders: Order[]; | |
| (() => UserCourse, (userCourse) => userCourse.user) | |
| userCourses: UserCourse[]; | |
| (() => Comment, (comment) => comment.user) | |
| comments: Comment[]; | |
| } | |