import {
  BaseEntity,
  Column, CreateDateColumn,
  Entity,
  ManyToOne, OneToMany,
  PrimaryGeneratedColumn, UpdateDateColumn
} from "typeorm";

import {Attachment} from "./attachment";
import {Ticket} from "./ticket";

@Entity()
export class Message extends BaseEntity {

  @PrimaryGeneratedColumn()
  id: number;

  @ManyToOne(() => Ticket, ticket => ticket.messages)
  ticket: Promise<Ticket>;

  @Column()
  body: string;

  @Column({default: null})
  sentBy: string;

  @CreateDateColumn()
  createdOn: Date;

  @UpdateDateColumn()
  updatedOn: Date;

  @OneToMany(() => Attachment, attachment => attachment.message)
  attachments: Promise<Attachment[]>;

}
