File

packages/server/src/modules/order/order.controller.ts

Index

Methods

Methods

Async all
all(query: OrderQuery, user: ActiveUserData)
Decorators :
@Get('/')
Parameters :
Name Type Optional
query OrderQuery No
user ActiveUserData No
Returns : unknown
Async create
create(body: OrderRequest, user: ActiveUserData)
Decorators :
@Post('/')
Parameters :
Name Type Optional
body OrderRequest No
user ActiveUserData No
Returns : unknown
Async one
one(id: number)
Decorators :
@Get('/:id')
Parameters :
Name Type Optional
id number No
Returns : unknown
Async oneWithCategories
oneWithCategories(id: number)
Decorators :
@Get('/:id/categories')
Parameters :
Name Type Optional
id number No
Returns : unknown
Async remote
remote(id: number)
Decorators :
@Delete('/:id')
Parameters :
Name Type Optional
id number No
Returns : unknown
Async update
update(id: number, body: OrderRequest, user: ActiveUserData)
Decorators :
@Put('/:id')
Parameters :
Name Type Optional
id number No
body OrderRequest No
user ActiveUserData No
Returns : unknown
Async updateStatus
updateStatus(id: number, body: OrderStatusRequest, user: ActiveUserData)
Decorators :
@Put('/:id/status')
Parameters :
Name Type Optional
id number No
body OrderStatusRequest No
user ActiveUserData No
Returns : unknown
import { Role } from "@bill/database";
import {
  Controller,
  Request,
  Get,
  Post,
  Body,
  Param,
  Put,
  Delete,
  Query,
  Req,
  Res,
} from "@nestjs/common";

import { ActiveUser } from "@/common/decorators/active-user.decorator";
import { Public } from "@/common/decorators/public.decorator";
import { Roles } from "@/common/decorators/roles.decorator";
import { ActiveUserData } from "@/common/interfaces/active-user-data.interface";

import {
  OrderQuery,
  OrderRequest,
  OrderStatusRequest,
} from "./order.interface";
import { OrderService } from "./order.service";

@Controller({
  path: ["orders"],
})
@Roles(Role.User)
export class OrderController {
  constructor(private orderService: OrderService) {}

  @Get("/")
  async all(@Query() query: OrderQuery, @ActiveUser() user: ActiveUserData) {
    return this.orderService.all(query, user);
  }

  @Get("/:id")
  async one(@Param("id") id: number) {
    return this.orderService.getById(id);
  }

  @Get("/:id/categories")
  async oneWithCategories(@Param("id") id: number) {
    return this.orderService.getByIdWithCategories(id);
  }

  @Post("/")
  async create(
    @Body() body: OrderRequest,
    @ActiveUser() user: ActiveUserData
  ) {
    return this.orderService.create(body, user);
  }

  @Put("/:id")
  async update(
    @Param("id") id: number,
    @Body() body: OrderRequest,
    @ActiveUser() user: ActiveUserData
  ) {
    return this.orderService.update(id, body);
  }

  @Put("/:id/status")
  async updateStatus(
    @Param("id") id: number,
    @Body() body: OrderStatusRequest,
    @ActiveUser() user: ActiveUserData
  ) {
    return this.orderService.changeStatus(id, body);
  }

  @Delete("/:id")
  async remote(@Param("id") id: number) {
    return this.orderService.remove(id);
  }
}

results matching ""

    No results matching ""