Files
dzone-api/src/modules/barname/barname.controller.ts
T
2026-03-07 10:56:57 +03:30

49 lines
1.9 KiB
TypeScript

import {
Body, Controller, Delete, Get, Param, Post,
Query, UseInterceptors
} from "@nestjs/common";
import { ApiHeader, ApiOperation } from "@nestjs/swagger";
import { BarnameService } from "./barname.service";
import { BillListQueryDto } from "./dto/bill-list-query.dto";
import { CreateBarnameDto } from "./dto/create-barname.dto";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { BusinessDec } from "../../common/decorators/business.decorator";
import { ParamDto } from "../../common/DTO/param.dto";
import { BusinessInterceptor } from "../../core/interceptors/business.interceptor";
import { Business } from "../businesses/entities/business.entity";
import { UserDec } from "../../common/decorators/user.decorator";
@Controller("barname")
@UseInterceptors(BusinessInterceptor)
@AuthGuards()
export class BarnameController {
constructor(private readonly billsService: BarnameService) { }
@ApiOperation({ summary: "Create barname" })
@Post()
@ApiHeader({ name: "x-business-id" })
createWaterBill(@Body() dto: CreateBarnameDto, @BusinessDec() business: Business, @UserDec("id") userId: string,) {
return this.billsService.createBarname(dto, business, userId);
}
@ApiOperation({ summary: "Get all barname with filters and pagination" })
@Get()
@ApiHeader({ name: "x-business-id" })
findAll(@Query() dto: BillListQueryDto, @BusinessDec("id") businessId: string) {
return this.billsService.findAll(dto, businessId);
}
@ApiOperation({ summary: "Get a barname by id" })
@Get(":id")
findOne(@Param() paramDto: ParamDto, @BusinessDec("id") businessId: string) {
return this.billsService.findOne(paramDto.id, businessId);
}
@ApiOperation({ summary: "Remove a barname" })
@Delete(":id")
remove(@Param() paramDto: ParamDto, @BusinessDec("id") businessId: string) {
return this.billsService.remove(paramDto.id, businessId);
}
}