ticket
This commit is contained in:
@@ -7,7 +7,7 @@ import { JwtModule } from '@nestjs/jwt';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { AdminModule } from '../admin/admin.module';
|
||||
import { TokensService } from './services/tokens.service';
|
||||
import { RestaurantsModule } from '../restaurants/restaurants.module';
|
||||
|
||||
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
||||
import { User } from '../user/entities/user.entity';
|
||||
import { AdminAuthGuard } from './guards/adminAuth.guard';
|
||||
@@ -33,7 +33,7 @@ import { NotificationsModule } from '../notification/notifications.module';
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
forwardRef(() => AdminModule),
|
||||
forwardRef(() => RestaurantsModule),
|
||||
|
||||
MikroOrmModule.forFeature([User, RefreshToken]),
|
||||
forwardRef(() => NotificationsModule),
|
||||
|
||||
|
||||
@@ -2,11 +2,7 @@ import { IsString, IsNotEmpty, IsOptional, IsObject } from 'class-validator';
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
|
||||
export class SendNotificationDto {
|
||||
@ApiProperty({ description: 'Restaurant ID (ULID)' })
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
: string;
|
||||
|
||||
|
||||
@ApiPropertyOptional({ description: 'User ID (ULID)' })
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
|
||||
@@ -12,7 +12,6 @@ import { SmsProcessor } from './processors/sms.processor';
|
||||
import { PushProcessor } from './processors/push.processor';
|
||||
import { NotificationsController } from './controllers/notifications.controller';
|
||||
import { User } from '../user/entities/user.entity';
|
||||
import { Restaurant } from '../restaurants/entities/restaurant.entity';
|
||||
import { AuthModule } from '../auth/auth.module';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { NotificationQueueNameEnum } from './constants/queue';
|
||||
@@ -26,14 +25,13 @@ import { NotificationCrone } from './crone/notification.crone';
|
||||
import { SmsService } from './services/sms.service';
|
||||
import { SmsLog } from './entities/smsLogs.entity';
|
||||
import { SmsLogRepository } from './repositories/sms-log.repository';
|
||||
import { RestaurantsModule } from '../restaurants/restaurants.module';
|
||||
import { SmsListeners } from './listeners/sms.listeners';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
forwardRef(() => AuthModule),
|
||||
JwtModule,
|
||||
MikroOrmModule.forFeature([Notification, NotificationPreference, User, Restaurant, SmsLog]),
|
||||
MikroOrmModule.forFeature([Notification, NotificationPreference, User, SmsLog]),
|
||||
BullModule.registerQueue(
|
||||
{ name: NotificationQueueNameEnum.SMS },
|
||||
{ name: NotificationQueueNameEnum.PUSH },
|
||||
@@ -52,7 +50,6 @@ import { SmsListeners } from './listeners/sms.listeners';
|
||||
AdminModule,
|
||||
forwardRef(() => UserModule),
|
||||
UtilsModule,
|
||||
forwardRef(() => RestaurantsModule),
|
||||
],
|
||||
controllers: [NotificationsController],
|
||||
providers: [
|
||||
|
||||
@@ -5,12 +5,8 @@ import { OrdersController } from './controllers/orders.controller';
|
||||
import { Order } from './entities/order.entity';
|
||||
import { OrderItem } from './entities/order-item.entity';
|
||||
import { User } from '../user/entities/user.entity';
|
||||
import { Restaurant } from '../restaurants/entities/restaurant.entity';
|
||||
import { product } from '../products/entities/product.entity';
|
||||
import { Product } from '../product/entities/product.entity';
|
||||
import { UserAddress } from '../user/entities/user-address.entity';
|
||||
import { PaymentMethod } from '../payment/entities/payment-method.entity';
|
||||
import { CartModule } from '../cart/cart.module';
|
||||
import { UtilsModule } from '../util/utils.module';
|
||||
import { AuthModule } from '../auth/auth.module';
|
||||
import { PaymentsModule } from '../payment/payments.module';
|
||||
import { JwtModule } from '@nestjs/jwt';
|
||||
@@ -19,20 +15,18 @@ import { OrderListeners } from './listeners/order.listeners';
|
||||
import { OrdersCrone } from './crone/order.crone';
|
||||
import { AdminModule } from '../admin/admin.module';
|
||||
import { NotificationsModule } from '../notification/notifications.module';
|
||||
import { InventoryModule } from '../inventory/inventory.module';
|
||||
import { UserModule } from '../user/user.module';
|
||||
import { UtilsModule } from '../util/utils.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
MikroOrmModule.forFeature([Order, OrderItem, User, Restaurant, product, UserAddress, PaymentMethod]),
|
||||
CartModule,
|
||||
UtilsModule,
|
||||
MikroOrmModule.forFeature([Order, OrderItem, User, Product, UserAddress]),
|
||||
AuthModule,
|
||||
forwardRef(() => PaymentsModule),
|
||||
JwtModule,
|
||||
AdminModule,
|
||||
NotificationsModule,
|
||||
InventoryModule,
|
||||
UtilsModule,
|
||||
forwardRef(() => UserModule)
|
||||
],
|
||||
controllers: [OrdersController],
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
import { Module, forwardRef } from '@nestjs/common';
|
||||
import { PaymentsService } from './services/payments.service';
|
||||
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
||||
import { PaymentMethod } from './entities/payment-method.entity';
|
||||
import { PaymentMethodRepository } from './repositories/payment-method.repository';
|
||||
import { PaymentMethodService } from './services/payment-method.service';
|
||||
import { Restaurant } from '../restaurants/entities/restaurant.entity';
|
||||
import { PaymentsController } from './controllers/payments.controller';
|
||||
import { AuthModule } from '../auth/auth.module';
|
||||
import { JwtModule } from '@nestjs/jwt';
|
||||
@@ -12,23 +8,20 @@ import { Payment } from './entities/payment.entity';
|
||||
import { ZarinpalGateway } from './gateways/zarinpal.gateway';
|
||||
import { GatewayManager } from './gateways/gateway.manager';
|
||||
import { PaymentRepository } from './repositories/payment.repository';
|
||||
import { InventoryModule } from '../inventory/inventory.module';
|
||||
import { PaymentListeners } from './listeners/payment.listeners';
|
||||
import { AdminModule } from '../admin/admin.module';
|
||||
import { NotificationsModule } from '../notification/notifications.module';
|
||||
import { OrdersModule } from '../order/orders.module';
|
||||
|
||||
@Module({
|
||||
imports: [MikroOrmModule.forFeature([PaymentMethod, Payment, Restaurant]),
|
||||
AuthModule, JwtModule, InventoryModule, AdminModule, NotificationsModule,
|
||||
imports: [MikroOrmModule.forFeature([Payment]),
|
||||
AuthModule, JwtModule, AdminModule, NotificationsModule,
|
||||
forwardRef(() => OrdersModule)],
|
||||
controllers: [PaymentsController],
|
||||
providers: [PaymentsService, PaymentMethodService, PaymentMethodRepository,
|
||||
providers: [PaymentsService,
|
||||
PaymentRepository, ZarinpalGateway, GatewayManager, PaymentListeners],
|
||||
exports: [
|
||||
PaymentMethodRepository,
|
||||
PaymentRepository,
|
||||
PaymentMethodService,
|
||||
PaymentsService,
|
||||
// PaymentGatewayService,
|
||||
],
|
||||
|
||||
@@ -1,58 +1,25 @@
|
||||
import { BullModule } from "@nestjs/bullmq";
|
||||
import { Module } from "@nestjs/common";
|
||||
import { TypeOrmModule } from "@nestjs/typeorm";
|
||||
|
||||
import { TICKET } from "./constant";
|
||||
import { TicketCategory } from "./entities/ticket-category.entity";
|
||||
import { TicketMessage } from "./entities/ticket-message.entity";
|
||||
import { Ticket } from "./entities/ticket.entity";
|
||||
import { ReferralStrategyFactory } from "./providers/referral-strategy.factory";
|
||||
|
||||
import { TicketsService } from "./providers/tickets.service";
|
||||
import { TicketCategoryRepository } from "./repositories/tickets-category.repository";
|
||||
|
||||
import { TicketMessagesRepository } from "./repositories/tickets-message.repository";
|
||||
import { TicketsRepository } from "./repositories/tickets.repository";
|
||||
import { TicketsController } from "./tickets.controller";
|
||||
import { AccessLogsModule } from "../access-logs/access-logs.module";
|
||||
import { UsersModule } from "../users/users.module";
|
||||
import { TicketMessageAttachment } from "./entities/ticket-message-attachment";
|
||||
import { TicketMessageAttachmentsRepository } from "./repositories/ticket-message-attachment.repository";
|
||||
import { DanakServicesModule } from "../danak-services/danak-services.module";
|
||||
import { NotificationModule } from "../notifications/notifications.module";
|
||||
import { ReferralService } from "./providers/referral.service";
|
||||
import { GroupStrategy } from "./strategies/group.strategy";
|
||||
import { RoundRobinStrategy } from "./strategies/round-robin.strategy";
|
||||
import { SupportPlansModule } from "../support-plans/support-plans.module";
|
||||
import { TicketProcessor } from "./queue/ticket.processor";
|
||||
import { LoggerModule } from "../logger/logger.module";
|
||||
import { MikroOrmModule } from "@mikro-orm/nestjs";
|
||||
|
||||
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([Ticket, TicketCategory, TicketMessageAttachment, TicketMessage]),
|
||||
AccessLogsModule,
|
||||
MikroOrmModule.forFeature([Ticket]),
|
||||
BullModule.registerQueue({ name: TICKET.QUEUE_NAME }),
|
||||
UsersModule,
|
||||
DanakServicesModule,
|
||||
NotificationModule,
|
||||
SupportPlansModule,
|
||||
LoggerModule,
|
||||
],
|
||||
providers: [
|
||||
GroupStrategy,
|
||||
RoundRobinStrategy,
|
||||
ReferralStrategyFactory,
|
||||
{
|
||||
provide: ReferralService,
|
||||
useFactory: (strategyFactory: ReferralStrategyFactory) => new ReferralService(strategyFactory),
|
||||
inject: [ReferralStrategyFactory],
|
||||
},
|
||||
TicketsService,
|
||||
TicketsRepository,
|
||||
TicketCategoryRepository,
|
||||
TicketMessagesRepository,
|
||||
TicketMessageAttachmentsRepository,
|
||||
TicketProcessor,
|
||||
],
|
||||
providers: [TicketsService, TicketsRepository, TicketMessagesRepository],
|
||||
controllers: [TicketsController],
|
||||
exports: [TicketsService],
|
||||
})
|
||||
export class TicketsModule {}
|
||||
export class TicketsModule { }
|
||||
|
||||
Reference in New Issue
Block a user