UNPKG

@wearesage/schema

Version:

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

41 lines (33 loc) 698 B
import "reflect-metadata"; import { Entity, Id, Property, ManyToOne } from "../.."; import { User } from "./User"; import { ChatRoom } from "./ChatRoom"; @Entity() export class Message { @Id() id: string; @Property({ required: true }) content: string; @Property() createdAt: Date; @Property() isRead: boolean = false; @ManyToOne({ target: () => User, inverse: "sentMessages", name: "SENT_BY", }) sender: User; @ManyToOne({ target: () => User, inverse: "receivedMessages", name: "RECEIVED_BY", }) recipient: User; @ManyToOne({ target: () => ChatRoom, inverse: "messages", name: "BELONGS_TO_CHAT", }) chatRoom: ChatRoom; }