This commit is contained in:
2026-01-21 19:46:59 +03:30
parent 9e233cd81a
commit f2d30af119
7 changed files with 12 additions and 34 deletions
+1 -1
View File
@@ -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
}) })
-9
View File
@@ -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,
+8 -8
View File
@@ -1,24 +1,24 @@
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],
exports: [TicketService,TicketRepository], exports: [TicketService, TicketRepository],
}) })
export class TicketModule { } export class TicketModule { }
+2 -2
View File
@@ -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 {