packages/server/src/modules/customer/customer.controller.ts
Methods |
Async all | |||||||||
all(query: CustomerQuery, user: ActiveUserData)
|
|||||||||
Decorators :
@Get('/')
|
|||||||||
Parameters :
Returns :
unknown
|
Async create | |||||||||
create(body: CustomerRequest, user: ActiveUserData)
|
|||||||||
Decorators :
@Post('/')
|
|||||||||
Parameters :
Returns :
unknown
|
Async one | ||||||
one(id: number)
|
||||||
Decorators :
@Get('/:id')
|
||||||
Parameters :
Returns :
unknown
|
Async products | ||||||
products(id: number)
|
||||||
Decorators :
@Get('/:id/products')
|
||||||
Parameters :
Returns :
unknown
|
Async remote | ||||||
remote(id: number)
|
||||||
Decorators :
@Delete('/:id')
|
||||||
Parameters :
Returns :
unknown
|
Async saveProducts | |||||||||
saveProducts(id: number, body: CustomerPriceRequest)
|
|||||||||
Decorators :
@Post('/:id/products')
|
|||||||||
Parameters :
Returns :
unknown
|
Async update | ||||||||||||
update(id: number, body: CustomerRequest, user: ActiveUserData)
|
||||||||||||
Decorators :
@Put('/:id')
|
||||||||||||
Parameters :
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 {
CustomerPriceRequest,
CustomerQuery,
CustomerRequest,
} from "./customer.interface";
import { CustomerService } from "./customer.service";
@Controller({
path: ["customers"],
})
@Roles(Role.User)
export class CustomerController {
constructor(private customerService: CustomerService) {}
@Get("/")
async all(@Query() query: CustomerQuery, @ActiveUser() user: ActiveUserData) {
return this.customerService.all(query, user);
}
@Get("/:id")
async one(@Param("id") id: number) {
return this.customerService.getById(id);
}
@Post("/")
async create(
@Body() body: CustomerRequest,
@ActiveUser() user: ActiveUserData
) {
return this.customerService.create(body, user);
}
@Put("/:id")
async update(
@Param("id") id: number,
@Body() body: CustomerRequest,
@ActiveUser() user: ActiveUserData
) {
return this.customerService.update(id, body);
}
@Get("/:id/products")
async products(@Param("id") id: number) {
return this.customerService.getPriceById(id);
}
@Post("/:id/products")
async saveProducts(
@Param("id") id: number,
@Body() body: CustomerPriceRequest
) {
return this.customerService.savePrices(id, body);
}
@Delete("/:id")
async remote(@Param("id") id: number) {
return this.customerService.remove(id);
}
}