This repository has been archived on 2025-11-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
trafficcue-server/src/entities/User.ts
Jannik c492e62d60
Some checks failed
TrafficCue Server CI / check (push) Failing after 56s
TrafficCue Server CD / build (push) Successful in 2m5s
feat: friend system + shared stores
2025-10-03 14:13:31 +02:00

53 lines
1006 B
TypeScript

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<Follow[]>;
@OneToMany("Follow", (f: Follow) => f.following)
followers: Promise<Follow[]>;
@Column({
default: () => "NOW()",
})
updated_at: Date;
@Column({
default: () => "NOW()",
})
created_at: Date;
}