From 0bb51dcae50e5791187e0878596b05f1d4ab94a0 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Thu, 11 Dec 2025 12:44:03 +0330 Subject: [PATCH] structure --- src/modules/auth/services/auth.service.ts | 2 +- src/modules/contact/contact.module.ts | 4 +-- .../{ => controllers}/contact.controller.ts | 8 ++--- .../{ => providers}/contact.service.ts | 12 +++---- .../notifications.controller.ts | 16 ++++----- .../notifications/notifications.module.ts | 2 +- .../{ => controllers}/orders.controller.ts | 10 +++--- src/modules/orders/orders.module.ts | 4 +-- .../orders/{ => providers}/orders.service.ts | 36 +++++++++---------- .../{ => controllers}/pager.controller.ts | 10 +++--- src/modules/pager/pager.gateway.ts | 6 ++-- src/modules/pager/pager.module.ts | 4 +-- .../pager/{ => providers}/pager.service.ts | 14 ++++---- .../{ => controllers}/uploader.controller.ts | 6 ++-- src/modules/uploader/uploader.module.ts | 2 +- .../users/controllers/users.controller.ts | 2 +- .../users/{ => providers}/user.service.ts | 16 ++++----- src/modules/users/user.module.ts | 2 +- 18 files changed, 78 insertions(+), 78 deletions(-) rename src/modules/contact/{ => controllers}/contact.controller.ts (90%) rename src/modules/contact/{ => providers}/contact.service.ts (82%) rename src/modules/notifications/{ => controllers}/notifications.controller.ts (92%) rename src/modules/orders/{ => controllers}/orders.controller.ts (93%) rename src/modules/orders/{ => providers}/orders.service.ts (93%) rename src/modules/pager/{ => controllers}/pager.controller.ts (91%) rename src/modules/pager/{ => providers}/pager.service.ts (89%) rename src/modules/uploader/{ => controllers}/uploader.controller.ts (83%) rename src/modules/users/{ => providers}/user.service.ts (94%) diff --git a/src/modules/auth/services/auth.service.ts b/src/modules/auth/services/auth.service.ts index 9a83e3a..10e382e 100644 --- a/src/modules/auth/services/auth.service.ts +++ b/src/modules/auth/services/auth.service.ts @@ -2,7 +2,7 @@ import { Injectable, BadRequestException } from '@nestjs/common'; import { RequestOtpDto } from '../dto/request-otp.dto'; import { CacheService } from '../../utils/cache.service'; import { SmsService } from '../../utils/sms.service'; -import { UserService } from '../../users/user.service'; +import { UserService } from '../../users/providers/user.service'; import { randomInt } from 'crypto'; import { TokensService } from './tokens.service'; import { RestRepository } from 'src/modules/restaurants/repositories/rest.repository'; diff --git a/src/modules/contact/contact.module.ts b/src/modules/contact/contact.module.ts index 50d2fbd..aee946f 100644 --- a/src/modules/contact/contact.module.ts +++ b/src/modules/contact/contact.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { ContactService } from './contact.service'; -import { ContactController } from './contact.controller'; +import { ContactService } from './providers/contact.service'; +import { ContactController } from './controllers/contact.controller'; import { MikroOrmModule } from '@mikro-orm/nestjs'; import { Contact } from './entities/contact.entity'; import { ContactRepository } from './repositories/contact.repository'; diff --git a/src/modules/contact/contact.controller.ts b/src/modules/contact/controllers/contact.controller.ts similarity index 90% rename from src/modules/contact/contact.controller.ts rename to src/modules/contact/controllers/contact.controller.ts index 9893085..204f88d 100644 --- a/src/modules/contact/contact.controller.ts +++ b/src/modules/contact/controllers/contact.controller.ts @@ -11,10 +11,10 @@ import { HttpCode, HttpStatus, } from '@nestjs/common'; -import { ContactService } from './contact.service'; -import { CreateContactDto } from './dto/create-contact.dto'; -import { FindContactsDto } from './dto/find-contacts.dto'; -import { UpdateContactStatusDto } from './dto/update-contact-status.dto'; +import { ContactService } from '../providers/contact.service'; +import { CreateContactDto } from '../dto/create-contact.dto'; +import { FindContactsDto } from '../dto/find-contacts.dto'; +import { UpdateContactStatusDto } from '../dto/update-contact-status.dto'; import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth, ApiParam, ApiQuery } from '@nestjs/swagger'; import { AdminAuthGuard } from 'src/modules/auth/guards/adminAuth.guard'; diff --git a/src/modules/contact/contact.service.ts b/src/modules/contact/providers/contact.service.ts similarity index 82% rename from src/modules/contact/contact.service.ts rename to src/modules/contact/providers/contact.service.ts index 73bcd33..37e4b07 100644 --- a/src/modules/contact/contact.service.ts +++ b/src/modules/contact/providers/contact.service.ts @@ -1,11 +1,11 @@ import { Injectable, NotFoundException } from '@nestjs/common'; -import { CreateContactDto } from './dto/create-contact.dto'; -import { FindContactsDto } from './dto/find-contacts.dto'; -import { UpdateContactStatusDto } from './dto/update-contact-status.dto'; -import { ContactRepository } from './repositories/contact.repository'; -import { Contact } from './entities/contact.entity'; +import { CreateContactDto } from '../dto/create-contact.dto'; +import { FindContactsDto } from '../dto/find-contacts.dto'; +import { UpdateContactStatusDto } from '../dto/update-contact-status.dto'; +import { ContactRepository } from '../repositories/contact.repository'; +import { Contact } from '../entities/contact.entity'; import { PaginatedResult } from 'src/common/interfaces/pagination.interface'; -import { ContactStatusEnum } from './interface/interface'; +import { ContactStatusEnum } from '../interface/interface'; import { EntityManager } from '@mikro-orm/postgresql'; @Injectable() diff --git a/src/modules/notifications/notifications.controller.ts b/src/modules/notifications/controllers/notifications.controller.ts similarity index 92% rename from src/modules/notifications/notifications.controller.ts rename to src/modules/notifications/controllers/notifications.controller.ts index ea5766f..dc11f44 100644 --- a/src/modules/notifications/notifications.controller.ts +++ b/src/modules/notifications/controllers/notifications.controller.ts @@ -1,13 +1,13 @@ import { Controller, Post, Get, Body, Param, UseGuards, Query, Patch, Delete } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiBearerAuth, ApiParam, ApiQuery } from '@nestjs/swagger'; -import { NotificationService } from './services/notification.service'; -import { NotificationPreferenceService } from './services/notification-preference.service'; -import { CreatePreferenceDto } from './dto/create-preference.dto'; -import { AuthGuard } from '../auth/guards/auth.guard'; -import { UserId } from '../../common/decorators/user-id.decorator'; -import { AdminAuthGuard } from '../auth/guards/adminAuth.guard'; -import { RestId } from '../../common/decorators/rest-id.decorator'; -import { UpdatePreferenceDto } from './dto/update-preference.dto'; +import { NotificationService } from '../services/notification.service'; +import { NotificationPreferenceService } from '../services/notification-preference.service'; +import { CreatePreferenceDto } from '../dto/create-preference.dto'; +import { AuthGuard } from '../../auth/guards/auth.guard'; +import { UserId } from '../../../common/decorators/user-id.decorator'; +import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard'; +import { RestId } from '../../../common/decorators/rest-id.decorator'; +import { UpdatePreferenceDto } from '../dto/update-preference.dto'; @ApiTags('notifications') @Controller() diff --git a/src/modules/notifications/notifications.module.ts b/src/modules/notifications/notifications.module.ts index 14b956d..8ca0968 100644 --- a/src/modules/notifications/notifications.module.ts +++ b/src/modules/notifications/notifications.module.ts @@ -11,7 +11,7 @@ import { PushNotificationService } from './services/push-notification.service'; import { SmsAdaptorService } from './services/sms.adaptor'; import { SmsProcessor } from './processors/sms.processor'; import { PushProcessor } from './processors/push.processor'; -import { NotificationsController } from './notifications.controller'; +import { NotificationsController } from './controllers/notifications.controller'; import { User } from '../users/entities/user.entity'; import { Restaurant } from '../restaurants/entities/restaurant.entity'; import { NotificationListeners } from './listeners/notification.listeners'; diff --git a/src/modules/orders/orders.controller.ts b/src/modules/orders/controllers/orders.controller.ts similarity index 93% rename from src/modules/orders/orders.controller.ts rename to src/modules/orders/controllers/orders.controller.ts index 9676b81..8f3fe63 100644 --- a/src/modules/orders/orders.controller.ts +++ b/src/modules/orders/controllers/orders.controller.ts @@ -1,11 +1,11 @@ import { Controller, Get, Post, Param, UseGuards, Patch, Query } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiBearerAuth, ApiParam } from '@nestjs/swagger'; -import { OrdersService } from './orders.service'; -import { AuthGuard } from '../auth/guards/auth.guard'; -import { UserId } from '../../common/decorators/user-id.decorator'; +import { OrdersService } from '../providers/orders.service'; +import { AuthGuard } from '../../auth/guards/auth.guard'; +import { UserId } from '../../../common/decorators/user-id.decorator'; import { RestId } from 'src/common/decorators/rest-id.decorator'; -import { AdminAuthGuard } from '../auth/guards/adminAuth.guard'; -import { FindOrdersDto } from './dto/find-orders.dto'; +import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard'; +import { FindOrdersDto } from '../dto/find-orders.dto'; @ApiTags('orders') @Controller() diff --git a/src/modules/orders/orders.module.ts b/src/modules/orders/orders.module.ts index 73a8b56..1dad11f 100644 --- a/src/modules/orders/orders.module.ts +++ b/src/modules/orders/orders.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { MikroOrmModule } from '@mikro-orm/nestjs'; -import { OrdersService } from './orders.service'; -import { OrdersController } from './orders.controller'; +import { OrdersService } from './providers/orders.service'; +import { OrdersController } from './controllers/orders.controller'; import { Order } from './entities/order.entity'; import { OrderItem } from './entities/order-item.entity'; import { User } from '../users/entities/user.entity'; diff --git a/src/modules/orders/orders.service.ts b/src/modules/orders/providers/orders.service.ts similarity index 93% rename from src/modules/orders/orders.service.ts rename to src/modules/orders/providers/orders.service.ts index fe458c5..96396c8 100644 --- a/src/modules/orders/orders.service.ts +++ b/src/modules/orders/providers/orders.service.ts @@ -1,26 +1,26 @@ import { Injectable, NotFoundException, BadRequestException, Logger } from '@nestjs/common'; import { EntityManager } from '@mikro-orm/postgresql'; -import { Order } from './entities/order.entity'; -import { OrderItem } from './entities/order-item.entity'; -import { User } from '../users/entities/user.entity'; -import { Restaurant } from '../restaurants/entities/restaurant.entity'; -import { Food } from '../foods/entities/food.entity'; -import { UserAddress } from '../users/entities/user-address.entity'; -import { CartService } from '../cart/providers/cart.service'; -import { OrderStatus } from './interface/order-status'; -import { PaymentMethodEnum, PaymentStatusEnum } from '../payments/interface/payment'; -import { Cart } from '../cart/interfaces/cart.interface'; -import { PaymentMethod } from '../payments/entities/payment-method.entity'; -// import { PaymentGatewayService } from '../payments/services/payment-gateway.service.tss'; -import { PaymentsService } from '../payments/services/payments.service'; -import { DeliveryMethodEnum } from '../delivery/interface/delivery'; -import { Delivery } from '../delivery/entities/delivery.entity'; +import { Order } from '../entities/order.entity'; +import { OrderItem } from '../entities/order-item.entity'; +import { User } from '../../users/entities/user.entity'; +import { Restaurant } from '../../restaurants/entities/restaurant.entity'; +import { Food } from '../../foods/entities/food.entity'; +import { UserAddress } from '../../users/entities/user-address.entity'; +import { CartService } from '../../cart/providers/cart.service'; +import { OrderStatus } from '../interface/order-status'; +import { PaymentMethodEnum, PaymentStatusEnum } from '../../payments/interface/payment'; +import { Cart } from '../../cart/interfaces/cart.interface'; +import { PaymentMethod } from '../../payments/entities/payment-method.entity'; +// import { PaymentGatewayService } from '../../payments/services/payment-gateway.service.tss'; +import { PaymentsService } from '../../payments/services/payments.service'; +import { DeliveryMethodEnum } from '../../delivery/interface/delivery'; +import { Delivery } from '../../delivery/entities/delivery.entity'; import { Cron, CronExpression } from '@nestjs/schedule'; -import { OrderRepository } from './repositories/order.repository'; -import { FindOrdersDto } from './dto/find-orders.dto'; +import { OrderRepository } from '../repositories/order.repository'; +import { FindOrdersDto } from '../dto/find-orders.dto'; import { PaginatedResult } from 'src/common/interfaces/pagination.interface'; import { EventEmitter2 } from '@nestjs/event-emitter'; -import { OrderCreatedEvent, OrderPaymentSuccessEvent } from '../notifications/events/notification.events'; +import { OrderCreatedEvent, OrderPaymentSuccessEvent } from '../../notifications/events/notification.events'; @Injectable() export class OrdersService { diff --git a/src/modules/pager/pager.controller.ts b/src/modules/pager/controllers/pager.controller.ts similarity index 91% rename from src/modules/pager/pager.controller.ts rename to src/modules/pager/controllers/pager.controller.ts index 76be8f7..9941601 100644 --- a/src/modules/pager/pager.controller.ts +++ b/src/modules/pager/controllers/pager.controller.ts @@ -1,15 +1,15 @@ import { Controller, Get, Post, Body, UseGuards, Res, Req, Patch, Param } from '@nestjs/common'; -import { PagerService } from './pager.service'; -import { CreatePagerDto } from './dto/create-pager.dto'; -import { OptionalAuthGuard } from '../auth/guards/optinalAuth.guard'; +import { PagerService } from '../providers/pager.service'; +import { CreatePagerDto } from '../dto/create-pager.dto'; +import { OptionalAuthGuard } from '../../auth/guards/optinalAuth.guard'; import { RestId } from 'src/common/decorators/rest-id.decorator'; import { UserId } from 'src/common/decorators/user-id.decorator'; import { RestSlug } from 'src/common/decorators/rest-slug.decorator'; import { ApiTags, ApiOperation, ApiBody, ApiHeader, ApiBearerAuth, ApiParam } from '@nestjs/swagger'; import type { FastifyReply, FastifyRequest } from 'fastify'; -import { AdminAuthGuard } from '../auth/guards/adminAuth.guard'; +import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard'; import { AdminId } from 'src/common/decorators/admin-id.decorator'; -import { UpdatePagerStatusDto } from './dto/update-pager.dto'; +import { UpdatePagerStatusDto } from '../dto/update-pager.dto'; @ApiTags('pager') @Controller() diff --git a/src/modules/pager/pager.gateway.ts b/src/modules/pager/pager.gateway.ts index 9ff8c7c..02c3bbf 100644 --- a/src/modules/pager/pager.gateway.ts +++ b/src/modules/pager/pager.gateway.ts @@ -12,7 +12,7 @@ import { Logger, UseGuards, Inject, forwardRef } from '@nestjs/common'; import { Pager } from './entities/pager.entity'; import { WsAdminAuthGuard, type AuthenticatedSocket } from './guards/ws-admin-auth.guard'; import { WsRestId } from './decorators/ws-rest-id.decorator'; -import { PagerService } from './pager.service'; +import { PagerService } from './providers/pager.service'; import { WsAdminId } from './decorators/ws-admin-id.decorator'; import { PagerStatus } from './interface/pager'; @@ -96,8 +96,8 @@ export class PagerGateway implements OnGatewayConnection, OnGatewayDisconnect { async handleGetPagers(@ConnectedSocket() client: AuthenticatedSocket, @WsRestId() restId: string) { try { const pagers = await this.pagerService.findAllByRestaurantId(restId); - - const pagersData = pagers.map((pager) => ({ + + const pagersData = pagers.map(pager => ({ id: pager.id, tableNumber: pager.tableNumber, message: pager.message, diff --git a/src/modules/pager/pager.module.ts b/src/modules/pager/pager.module.ts index 1cf9f75..36276ed 100644 --- a/src/modules/pager/pager.module.ts +++ b/src/modules/pager/pager.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { PagerService } from './pager.service'; -import { PagerController } from './pager.controller'; +import { PagerService } from './providers/pager.service'; +import { PagerController } from './controllers/pager.controller'; import { MikroOrmModule } from '@mikro-orm/nestjs'; import { Pager } from './entities/pager.entity'; import { JwtModule } from '@nestjs/jwt'; diff --git a/src/modules/pager/pager.service.ts b/src/modules/pager/providers/pager.service.ts similarity index 89% rename from src/modules/pager/pager.service.ts rename to src/modules/pager/providers/pager.service.ts index bbb9f84..590e046 100644 --- a/src/modules/pager/pager.service.ts +++ b/src/modules/pager/providers/pager.service.ts @@ -1,13 +1,13 @@ import { BadRequestException, Injectable, NotFoundException, Inject, forwardRef } from '@nestjs/common'; -import { CreatePagerDto } from './dto/create-pager.dto'; -import { User } from '../users/entities/user.entity'; +import { CreatePagerDto } from '../dto/create-pager.dto'; +import { User } from '../../users/entities/user.entity'; import { EntityManager } from '@mikro-orm/postgresql'; -import { Restaurant } from '../restaurants/entities/restaurant.entity'; -import { Pager } from './entities/pager.entity'; -import { PagerStatus } from './interface/pager'; +import { Restaurant } from '../../restaurants/entities/restaurant.entity'; +import { Pager } from '../entities/pager.entity'; +import { PagerStatus } from '../interface/pager'; import { ulid } from 'ulid'; -import { Admin } from '../admin/entities/admin.entity'; -import { PagerGateway } from './pager.gateway'; +import { Admin } from '../../admin/entities/admin.entity'; +import { PagerGateway } from '../pager.gateway'; @Injectable() export class PagerService { diff --git a/src/modules/uploader/uploader.controller.ts b/src/modules/uploader/controllers/uploader.controller.ts similarity index 83% rename from src/modules/uploader/uploader.controller.ts rename to src/modules/uploader/controllers/uploader.controller.ts index 0d7c476..9937ffd 100644 --- a/src/modules/uploader/uploader.controller.ts +++ b/src/modules/uploader/controllers/uploader.controller.ts @@ -2,9 +2,9 @@ import { type File, FileInterceptor, FilesInterceptor } from '@nest-lab/fastify- import { Controller, Post, UploadedFile, UploadedFiles, UseGuards, UseInterceptors } from '@nestjs/common'; import { ApiBody, ApiConsumes, ApiOperation, ApiBearerAuth, ApiTags } from '@nestjs/swagger'; -import { UploadMultipleFileDto, UploadSingleFileDto } from './DTO/upload-file.dto'; -import { UploaderService } from './providers/uploader.service'; -import { AdminAuthGuard } from '../auth/guards/adminAuth.guard'; +import { UploadMultipleFileDto, UploadSingleFileDto } from '../DTO/upload-file.dto'; +import { UploaderService } from '../providers/uploader.service'; +import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard'; @UseGuards(AdminAuthGuard) @ApiBearerAuth() diff --git a/src/modules/uploader/uploader.module.ts b/src/modules/uploader/uploader.module.ts index f6c03b3..960cc78 100644 --- a/src/modules/uploader/uploader.module.ts +++ b/src/modules/uploader/uploader.module.ts @@ -2,7 +2,7 @@ import { Module } from '@nestjs/common'; import { S3Service } from './providers/s3.service'; import { UploaderService } from './providers/uploader.service'; -import { UploaderController } from './uploader.controller'; +import { UploaderController } from './controllers/uploader.controller'; import { JwtModule } from '@nestjs/jwt'; @Module({ diff --git a/src/modules/users/controllers/users.controller.ts b/src/modules/users/controllers/users.controller.ts index 844453c..c689dee 100644 --- a/src/modules/users/controllers/users.controller.ts +++ b/src/modules/users/controllers/users.controller.ts @@ -1,7 +1,7 @@ import { Controller, Get, UseGuards, Patch, Body, ValidationPipe, Post, Query, Delete, Param } from '@nestjs/common'; import { ApiTags, ApiBearerAuth, ApiOperation, ApiBody, ApiOkResponse } from '@nestjs/swagger'; import { AuthGuard } from 'src/modules/auth/guards/auth.guard'; -import { UserService } from '../user.service'; +import { UserService } from '../providers/user.service'; import { UpdateUserDto } from '../dto/update-user.dto'; import { CreateUserAddressDto } from '../dto/create-user-address.dto'; import { UpdateUserAddressDto } from '../dto/update-user-address.dto'; diff --git a/src/modules/users/user.service.ts b/src/modules/users/providers/user.service.ts similarity index 94% rename from src/modules/users/user.service.ts rename to src/modules/users/providers/user.service.ts index 06c6d95..cf205e8 100644 --- a/src/modules/users/user.service.ts +++ b/src/modules/users/providers/user.service.ts @@ -1,15 +1,15 @@ import { Injectable, NotFoundException } from '@nestjs/common'; import { FilterQuery, RequiredEntityData } from '@mikro-orm/core'; -import { User } from './entities/user.entity'; -import { UserAddress } from './entities/user-address.entity'; +import { User } from '../entities/user.entity'; +import { UserAddress } from '../entities/user-address.entity'; import { EntityManager } from '@mikro-orm/postgresql'; -import { UpdateUserDto } from './dto/update-user.dto'; -import { FindUsersDto } from './dto/find-user.dto'; -import { CreateUserAddressDto } from './dto/create-user-address.dto'; -import { UpdateUserAddressDto } from './dto/update-user-address.dto'; +import { UpdateUserDto } from '../dto/update-user.dto'; +import { FindUsersDto } from '../dto/find-user.dto'; +import { CreateUserAddressDto } from '../dto/create-user-address.dto'; +import { UpdateUserAddressDto } from '../dto/update-user-address.dto'; import { PaginatedResult } from 'src/common/interfaces/pagination.interface'; -import { UserRepository } from './repositories/user.repository'; -import { normalizePhone } from '../utils/phone.util'; +import { UserRepository } from '../repositories/user.repository'; +import { normalizePhone } from '../../utils/phone.util'; @Injectable() export class UserService { diff --git a/src/modules/users/user.module.ts b/src/modules/users/user.module.ts index 3af72bb..4c9fda0 100644 --- a/src/modules/users/user.module.ts +++ b/src/modules/users/user.module.ts @@ -1,5 +1,5 @@ import { Module } from '@nestjs/common'; -import { UserService } from './user.service'; +import { UserService } from './providers/user.service'; import { UsersController } from './controllers/users.controller'; import { MikroOrmModule } from '@mikro-orm/nestjs'; import { User } from './entities/user.entity';