chore: add ticket module and tickets entity

This commit is contained in:
mahyargdz
2025-01-22 17:03:46 +03:30
parent c48ec70638
commit e3762c1eba
16 changed files with 166 additions and 27 deletions
@@ -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;
}