This commit is contained in:
2026-01-25 16:26:47 +03:30
parent 55856a40f1
commit b85ae3604c
7 changed files with 287 additions and 225 deletions
@@ -1,17 +1,14 @@
import { Controller, Get, Post, Param, UseGuards, Patch, Query, Body, Delete } from '@nestjs/common';
import { ApiTags, ApiOperation, ApiBearerAuth, ApiParam, ApiHeader, ApiBody, ApiQuery } from '@nestjs/swagger';
import { ApiTags, ApiOperation, ApiBearerAuth } from '@nestjs/swagger';
import { OrderService } from '../providers/order.service';
import { AuthGuard } from '../../auth/guards/auth.guard';
import { UserId } from '../../../common/decorators/user-id.decorator';
import { FindOrdersDto } from '../dto/find-orders.dto';
import { Permissions } from 'src/common/decorators/permissions.decorator';
import { Permission } from 'src/common/enums/permission.enum';
import { CreateOrderDto } from '../dto/create-order.dto';
import { CreateInvoiceDto } from '../dto/create-invoice.dto';
import { CreateOrderDto, CreateOrderItemDto } from '../dto/create-order.dto';
import { AdminId } from 'src/common/decorators/admin-id.decorator';
import { CreateOrderAsAdminDto } from '../dto/create-order-as-admin.dto';
import { AssignDesignerDto } from '../dto/assign-designer.dto';
import { AddOrderItemDto } from '../dto/add-order-item.dto';
import { UpdateOrderItemDto } from '../dto/update-order-item.dto';
@ApiTags('orders')
@ApiBearerAuth()
@@ -26,6 +23,21 @@ export class OrderController {
return this.orderService.createNewOrder(userId, body);
}
@Patch('public/order/:id/item/:itemId')
@UseGuards(AuthGuard)
@ApiOperation({ summary: 'Update order item as user' })
updateOrder(@Param('id') orderId: string, @Param(':itemId') itemId: string, @Body() body: UpdateOrderItemDto) {
return this.orderService.updateOrderItemAsUser(orderId, itemId, body);
}
@Patch('public/order/:id/item')
@UseGuards(AuthGuard)
@ApiOperation({ summary: 'add item to order as user' })
addOrderItem(@Param('id') orderId: string, @Body() body: CreateOrderItemDto) {
return this.orderService.addOrderItemAsUser(orderId, body);
}
@Get('public/orders')
@UseGuards(AuthGuard)
@ApiOperation({ summary: 'Get all orders with pagination and filters' })
@@ -46,7 +58,6 @@ export class OrderController {
}
/*========================== Admin Routes =====================*/
@Post('admin/order')
@@ -81,7 +92,7 @@ export class OrderController {
@UseGuards(AuthGuard)
@ApiOperation({ summary: 'Assign Order Designer ' })
assignDesigner(@Param('orderId') orderId: string, @Body() body: AssignDesignerDto) {
return this.orderService.asignDesigner(orderId, body.designerId);
return this.orderService.assignDesigner(orderId, body.designerId);
}