import { BaseEntity, Column, Entity, OneToMany, PrimaryGeneratedColumn, } from "typeorm"; import { type Review } from "./Review"; import { type Saved } from "./Saved"; import type { Hazard } from "./Hazard"; import type { Store } from "./Stores"; import type { Follow } from "./Follow"; @Entity() export class User extends BaseEntity { @PrimaryGeneratedColumn("uuid") id: string; @Column() username: string; @OneToMany("Review", (r: Review) => r.user) reviews: Review[]; /** * @deprecated Use stores instead */ @OneToMany("Saved", (s: Saved) => s.user) saved: Saved[]; @OneToMany("Store", (s: Store) => s.user) stores: Store[]; @OneToMany("Hazard", (h: Hazard) => h.user) hazards: Hazard[]; @OneToMany("Follow", (f: Follow) => f.follower) following: Promise; @OneToMany("Follow", (f: Follow) => f.following) followers: Promise; @Column({ default: () => "NOW()", }) updated_at: Date; @Column({ default: () => "NOW()", }) created_at: Date; }