user module
This commit is contained in:
@@ -3,11 +3,9 @@ import { ApiTags, ApiOperation, ApiBearerAuth, ApiParam, ApiHeader, ApiBody } fr
|
||||
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 { OrderStatus } from '../interface/order.interface';
|
||||
import { API_HEADER_SLUG } from 'src/common/constants/index';
|
||||
import { UpdateOrderStatusDto } from '../dto/update-order-status.dto';
|
||||
import { Permissions } from 'src/common/decorators/permissions.decorator';
|
||||
import { Permission } from 'src/common/enums/permission.enum';
|
||||
@@ -18,103 +16,103 @@ import { Permission } from 'src/common/enums/permission.enum';
|
||||
export class OrdersController {
|
||||
constructor(private readonly ordersService: OrdersService) { }
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Post('public/checkout')
|
||||
// @UseGuards(AuthGuard)
|
||||
// @Post('public/checkout')
|
||||
|
||||
@ApiOperation({ summary: 'Checkout : create order and payment record' })
|
||||
checkout(@UserId() userId: string, @RestId() restaurantId: string) {
|
||||
return this.ordersService.checkout(userId, restaurantId);
|
||||
}
|
||||
// @ApiOperation({ summary: 'Checkout : create order and payment record' })
|
||||
// checkout(@UserId() userId: string,) {
|
||||
// return this.ordersService.checkout(userId);
|
||||
// }
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('public/orders')
|
||||
// @UseGuards(AuthGuard)
|
||||
// @Get('public/orders')
|
||||
|
||||
@ApiOperation({ summary: 'Get all orders with pagination and filters' })
|
||||
findAll(, @Query() dto: FindOrdersDto, @UserId() userId: string) {
|
||||
return this.ordersService.findAllForUser(restId, dto, userId);
|
||||
}
|
||||
// @ApiOperation({ summary: 'Get all orders with pagination and filters' })
|
||||
// findAll(@Query() dto: FindOrdersDto, @UserId() userId: string) {
|
||||
// return this.ordersService.findAllForUser(dto, userId);
|
||||
// }
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Get an order By id for User' })
|
||||
@ApiParam({ name: 'orderId', description: 'Order ID' })
|
||||
// @UseGuards(AuthGuard)
|
||||
// @ApiOperation({ summary: 'Get an order By id for User' })
|
||||
// @ApiParam({ name: 'orderId', description: 'Order ID' })
|
||||
|
||||
@Get('public/orders/:orderId')
|
||||
findOne(@Param('orderId') orderId: string,) {
|
||||
return this.ordersService.findOne(orderId, restId);
|
||||
}
|
||||
// @Get('public/orders/:orderId')
|
||||
// findOne(@Param('orderId') orderId: string,) {
|
||||
// return this.ordersService.findOne(orderId,);
|
||||
// }
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Patch('public/orders/:id/:status')
|
||||
@ApiParam({
|
||||
name: 'status',
|
||||
description: 'Order status',
|
||||
enum: OrderStatus,
|
||||
})
|
||||
// @UseGuards(AuthGuard)
|
||||
// @Patch('public/orders/:id/:status')
|
||||
// @ApiParam({
|
||||
// name: 'status',
|
||||
// description: 'Order status',
|
||||
// enum: OrderStatus,
|
||||
// })
|
||||
|
||||
@ApiBody({ type: UpdateOrderStatusDto })
|
||||
@ApiOperation({ summary: 'Update status of an order By User' })
|
||||
@ApiParam({ name: 'id', description: 'Order ID' })
|
||||
cancelOrder(
|
||||
@Body() dto: UpdateOrderStatusDto,
|
||||
@Param('id') orderId: string,
|
||||
@Param('status') status: OrderStatus,
|
||||
,
|
||||
) {
|
||||
return this.ordersService.changeOrderStatus(orderId, restId, status, 'user', dto?.desc);
|
||||
}
|
||||
// @ApiBody({ type: UpdateOrderStatusDto })
|
||||
// @ApiOperation({ summary: 'Update status of an order By User' })
|
||||
// @ApiParam({ name: 'id', description: 'Order ID' })
|
||||
// cancelOrder(
|
||||
// @Body() dto: UpdateOrderStatusDto,
|
||||
// @Param('id') orderId: string,
|
||||
// @Param('status') status: OrderStatus,
|
||||
// ,
|
||||
// ) {
|
||||
// return this.ordersService.changeOrderStatus(orderId, , status, 'user', dto?.desc);
|
||||
// }
|
||||
|
||||
/******************** Admin Routes **********************/
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(Permission.MANAGE_ORDERS)
|
||||
@Get('admin/orders')
|
||||
@ApiOperation({ summary: 'Get all orders with pagination and filters' })
|
||||
findAllAdmin(, @Query() dto: FindOrdersDto) {
|
||||
return this.ordersService.findAllForAdmin(restId, dto);
|
||||
}
|
||||
// /******************** Admin Routes **********************/
|
||||
// @UseGuards(AdminAuthGuard)
|
||||
// @Permissions(Permission.MANAGE_ORDERS)
|
||||
// @Get('admin/orders')
|
||||
// @ApiOperation({ summary: 'Get all orders with pagination and filters' })
|
||||
// findAllAdmin(, @Query() dto: FindOrdersDto) {
|
||||
// return this.ordersService.findAllForAdmin(, dto);
|
||||
// }
|
||||
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(Permission.MANAGE_ORDERS)
|
||||
@ApiOperation({ summary: 'Get an order By id for User' })
|
||||
@ApiParam({ name: 'orderId', description: 'Order ID' })
|
||||
@Get('admin/orders/:orderId')
|
||||
findOneAsAdmin(@Param('orderId') orderId: string,) {
|
||||
return this.ordersService.findOne(orderId, restId);
|
||||
}
|
||||
// @UseGuards(AdminAuthGuard)
|
||||
// @Permissions(Permission.MANAGE_ORDERS)
|
||||
// @ApiOperation({ summary: 'Get an order By id for User' })
|
||||
// @ApiParam({ name: 'orderId', description: 'Order ID' })
|
||||
// @Get('admin/orders/:orderId')
|
||||
// findOneAsAdmin(@Param('orderId') orderId: string,) {
|
||||
// return this.ordersService.findOne(orderId,);
|
||||
// }
|
||||
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(Permission.MANAGE_ORDERS)
|
||||
@Patch('admin/orders/:orderId/:status')
|
||||
@ApiOperation({ summary: 'Update an order status' })
|
||||
@ApiParam({ name: 'orderId', description: 'Order ID' })
|
||||
@ApiBody({ type: UpdateOrderStatusDto })
|
||||
@ApiParam({
|
||||
name: 'status',
|
||||
description: 'Order status',
|
||||
enum: OrderStatus,
|
||||
})
|
||||
updateStatus(
|
||||
@Param('orderId') orderId: string,
|
||||
@Body() dto: UpdateOrderStatusDto,
|
||||
@Param('status') status: OrderStatus,
|
||||
,
|
||||
) {
|
||||
return this.ordersService.changeOrderStatus(orderId, restId, status, 'admin', dto?.desc);
|
||||
}
|
||||
// @UseGuards(AdminAuthGuard)
|
||||
// @Permissions(Permission.MANAGE_ORDERS)
|
||||
// @Patch('admin/orders/:orderId/:status')
|
||||
// @ApiOperation({ summary: 'Update an order status' })
|
||||
// @ApiParam({ name: 'orderId', description: 'Order ID' })
|
||||
// @ApiBody({ type: UpdateOrderStatusDto })
|
||||
// @ApiParam({
|
||||
// name: 'status',
|
||||
// description: 'Order status',
|
||||
// enum: OrderStatus,
|
||||
// })
|
||||
// updateStatus(
|
||||
// @Param('orderId') orderId: string,
|
||||
// @Body() dto: UpdateOrderStatusDto,
|
||||
// @Param('status') status: OrderStatus,
|
||||
// ,
|
||||
// ) {
|
||||
// return this.ordersService.changeOrderStatus(orderId, , status, 'admin', dto?.desc);
|
||||
// }
|
||||
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(Permission.VIEW_REPORTS)
|
||||
@ApiOperation({ summary: 'Get Stats for report page' })
|
||||
@Get('admin/orders/stats')
|
||||
findStats() {
|
||||
return this.ordersService.getStats(restId);
|
||||
}
|
||||
// @UseGuards(AdminAuthGuard)
|
||||
// @Permissions(Permission.VIEW_REPORTS)
|
||||
// @ApiOperation({ summary: 'Get Stats for report page' })
|
||||
// @Get('admin/orders/stats')
|
||||
// findStats() {
|
||||
// return this.ordersService.getStats();
|
||||
// }
|
||||
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(Permission.VIEW_REPORTS)
|
||||
@ApiOperation({ summary: 'Get product sales pie chart data for last month' })
|
||||
// @UseGuards(AdminAuthGuard)
|
||||
// @Permissions(Permission.VIEW_REPORTS)
|
||||
// @ApiOperation({ summary: 'Get product sales pie chart data for last month' })
|
||||
|
||||
@Get('admin/orders/product-sales-pie-chart')
|
||||
getproductSalesPieChart() {
|
||||
return this.ordersService.getproductSalesPieChart(restId);
|
||||
}
|
||||
// @Get('admin/orders/product-sales-pie-chart')
|
||||
// getproductSalesPieChart() {
|
||||
// return this.ordersService.getproductSalesPieChart();
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user