tickets
This commit is contained in:
@@ -29,7 +29,7 @@ import { OrderItemRepository } from './repositories/order-item.repository';
|
|||||||
UtilsModule,
|
UtilsModule,
|
||||||
forwardRef(() => UserModule),
|
forwardRef(() => UserModule),
|
||||||
productModule,
|
productModule,
|
||||||
TicketModule
|
forwardRef(()=>TicketModule)
|
||||||
],
|
],
|
||||||
controllers: [OrderController],
|
controllers: [OrderController],
|
||||||
providers: [OrderService, OrderRepository, OrderListeners,
|
providers: [OrderService, OrderRepository, OrderListeners,
|
||||||
|
|||||||
@@ -17,10 +17,8 @@ import { ProductService } from 'src/modules/product/providers/product.service';
|
|||||||
import { ProductRepository } from 'src/modules/product/repositories/product.repository';
|
import { ProductRepository } from 'src/modules/product/repositories/product.repository';
|
||||||
import { TicketService } from 'src/modules/ticket/providers/tickets.service';
|
import { TicketService } from 'src/modules/ticket/providers/tickets.service';
|
||||||
import { TicketRepository } from 'src/modules/ticket/repositories/tickets.repository';
|
import { TicketRepository } from 'src/modules/ticket/repositories/tickets.repository';
|
||||||
import { TicketStatus } from 'src/modules/ticket/enums/ticket-status.enum';
|
|
||||||
import { CreateInvoiceDto } from '../dto/create-invoice.dto';
|
import { CreateInvoiceDto } from '../dto/create-invoice.dto';
|
||||||
import { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
import { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
||||||
import { Admin } from 'src/modules/admin/entities/admin.entity';
|
|
||||||
import { CreateOrderAsAdminDto } from '../dto/create-order-as-admin.dto';
|
import { CreateOrderAsAdminDto } from '../dto/create-order-as-admin.dto';
|
||||||
|
|
||||||
|
|
||||||
@@ -92,7 +90,6 @@ export class OrderService {
|
|||||||
content,
|
content,
|
||||||
user,
|
user,
|
||||||
attachments,
|
attachments,
|
||||||
status: TicketStatus.PENDING,
|
|
||||||
admin: null,
|
admin: null,
|
||||||
order
|
order
|
||||||
})
|
})
|
||||||
@@ -173,7 +170,6 @@ export class OrderService {
|
|||||||
content,
|
content,
|
||||||
user,
|
user,
|
||||||
attachments,
|
attachments,
|
||||||
status: TicketStatus.PENDING,
|
|
||||||
admin: null,
|
admin: null,
|
||||||
order
|
order
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
export const REFERRAL_STRATEGY = "referralStrategy";
|
|
||||||
|
|
||||||
export const TICKET = {
|
|
||||||
QUEUE_NAME: "ticket",
|
|
||||||
AUTO_CLOSE_JOB_NAME: "auto-close-inactive",
|
|
||||||
AUTO_CLOSE_DAYS: 10,
|
|
||||||
AUTO_CLOSE_PRIORITY: 1,
|
|
||||||
AUTO_CLOSE_REPEAT_PATTERN: "0 1 * * *",
|
|
||||||
};
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
export enum TicketStatus {
|
|
||||||
PENDING = "PENDING",
|
|
||||||
ANSWERED = "ANSWERED",
|
|
||||||
CLOSED = "CLOSED",
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
import { TicketRepository } from "../repositories/tickets.repository";
|
import { TicketRepository } from "../repositories/tickets.repository";
|
||||||
import { InjectQueue } from "@nestjs/bullmq";
|
import { BadRequestException, Injectable } from "@nestjs/common";
|
||||||
import { BadRequestException, HttpException, Injectable, InternalServerErrorException, Logger, OnModuleInit } from "@nestjs/common";
|
|
||||||
import { Queue } from "bullmq";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import { CreateTicketDto } from "../DTO/create-ticket.dto";
|
import { CreateTicketDto } from "../DTO/create-ticket.dto";
|
||||||
import { OrderRepository } from "src/modules/order/repositories/order.repository";
|
import { OrderRepository } from "src/modules/order/repositories/order.repository";
|
||||||
import { User } from "src/modules/user/entities/user.entity";
|
import { User } from "src/modules/user/entities/user.entity";
|
||||||
@@ -16,7 +13,6 @@ import { UpdateTicketDto } from "../DTO/update-ticket.dto";
|
|||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class TicketService {
|
export class TicketService {
|
||||||
private readonly logger = new Logger(TicketService.name);
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly ticketsRepository: TicketRepository,
|
private readonly ticketsRepository: TicketRepository,
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
import { BullModule } from "@nestjs/bullmq";
|
import { forwardRef, Module } from "@nestjs/common";
|
||||||
import { Module } from "@nestjs/common";
|
|
||||||
|
|
||||||
import { TICKET } from "./constant";
|
|
||||||
import { Ticket } from "./entities/ticket.entity";
|
import { Ticket } from "./entities/ticket.entity";
|
||||||
|
|
||||||
import { TicketService } from "./providers/tickets.service";
|
import { TicketService } from "./providers/tickets.service";
|
||||||
|
|
||||||
import { TicketRepository } from "./repositories/tickets.repository";
|
import { TicketRepository } from "./repositories/tickets.repository";
|
||||||
import { TicketsController } from "./tickets.controller";
|
import { TicketsController } from "./tickets.controller";
|
||||||
import { MikroOrmModule } from "@mikro-orm/nestjs";
|
import { MikroOrmModule } from "@mikro-orm/nestjs";
|
||||||
|
import { OrderModule } from "../order/order.module";
|
||||||
|
import { AdminModule } from "../admin/admin.module";
|
||||||
|
import { UserModule } from "../user/user.module";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
|
forwardRef(()=>OrderModule),
|
||||||
MikroOrmModule.forFeature([Ticket]),
|
MikroOrmModule.forFeature([Ticket]),
|
||||||
BullModule.registerQueue({ name: TICKET.QUEUE_NAME }),
|
AdminModule,
|
||||||
|
UserModule
|
||||||
],
|
],
|
||||||
providers: [TicketService, TicketRepository],
|
providers: [TicketService, TicketRepository],
|
||||||
controllers: [TicketsController],
|
controllers: [TicketsController],
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Query } from "@nestjs/common";
|
import { Body, Controller, Delete, Get, Param, Patch, Post, Query } from "@nestjs/common";
|
||||||
import { ApiOperation, ApiTags } from "@nestjs/swagger";
|
import { ApiOperation, ApiTags } from "@nestjs/swagger";
|
||||||
import { CreateTicketDto } from "./DTO/create-ticket.dto";
|
import { CreateTicketDto } from "./DTO/create-ticket.dto";
|
||||||
import { FindTicketQueryDto } from "./DTO/search-ticket-query.dto";
|
import { FindTicketQueryDto } from "./DTO/search-ticket-query.dto";
|
||||||
@@ -7,7 +7,7 @@ import { UserId } from "src/common/decorators";
|
|||||||
import { AdminId } from "src/common/decorators/admin-id.decorator";
|
import { AdminId } from "src/common/decorators/admin-id.decorator";
|
||||||
import { UpdateTicketDto } from "./DTO/update-ticket.dto";
|
import { UpdateTicketDto } from "./DTO/update-ticket.dto";
|
||||||
|
|
||||||
@Controller("tickets")
|
@Controller()
|
||||||
@ApiTags("Tickets")
|
@ApiTags("Tickets")
|
||||||
|
|
||||||
export class TicketsController {
|
export class TicketsController {
|
||||||
|
|||||||
Reference in New Issue
Block a user