chore: add ticket module and tickets entity
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { Column, Entity, JoinColumn, ManyToOne } from "typeorm";
|
||||
|
||||
import { TicketCategory } from "./ticket-category.entity";
|
||||
import { BaseEntity } from "../../../common/entities/base.entity";
|
||||
import { User } from "../../users/entities/user.entity";
|
||||
import { TicketPriority } from "../enums/ticket-priority.enum";
|
||||
import { TicketStatus } from "../enums/ticket-status.enum";
|
||||
|
||||
@Entity()
|
||||
export class Ticket extends BaseEntity {
|
||||
@Column({ type: "varchar", length: 150, nullable: false })
|
||||
title: string;
|
||||
|
||||
@Column({ type: "varchar", length: 150, nullable: false })
|
||||
subject: string;
|
||||
|
||||
@Column({ type: "enum", enum: TicketStatus, default: TicketStatus.PENDING })
|
||||
status: TicketStatus;
|
||||
|
||||
@Column({ type: "enum", enum: TicketPriority, nullable: false })
|
||||
priority: TicketPriority;
|
||||
|
||||
//TODO:ADD service reference here
|
||||
|
||||
@JoinColumn()
|
||||
@ManyToOne(() => User, (user) => user.tickets, { nullable: true })
|
||||
assignedTo: User;
|
||||
|
||||
@JoinColumn()
|
||||
@ManyToOne(() => User, (user) => user.tickets, { onDelete: "CASCADE", nullable: false })
|
||||
user: User;
|
||||
|
||||
@JoinColumn()
|
||||
@ManyToOne(() => TicketCategory, (category) => category.tickets, { onDelete: "RESTRICT", nullable: false })
|
||||
category: TicketCategory;
|
||||
}
|
||||
Reference in New Issue
Block a user