UNPKG

@wearesage/schema

Version:

A flexible schema definition and validation system for TypeScript with multi-database support

38 lines (31 loc) 709 B
import "reflect-metadata"; import { Entity, Id, Property, OneToMany, ManyToOne } from "../.."; import { User } from "./User"; import { OrderItem } from "./OrderItem"; /** * An Order belongs to exactly one User, * and can have multiple OrderItems. */ @Entity() export class Order { @Id() id: string; @Property({ required: true }) orderNumber: string; // e.g. "2025-0001" @Property({ default: () => new Date() }) createdAt: Date; @Property() shippedAt: Date; @ManyToOne({ target: () => User, inverse: "orders", name: "BELONGS_TO", }) user: User; @OneToMany({ target: () => OrderItem, inverse: "order", name: "HAS_ITEM", }) items: OrderItem[] = []; }