Files
bigcapital/packages/server-nest/src/modules/Bills/Bills.controller.ts
2025-01-12 18:22:48 +02:00

55 lines
1.2 KiB
TypeScript

import {
Controller,
Post,
Body,
Put,
Param,
Delete,
Get,
Query,
} from '@nestjs/common';
import { BillsApplication } from './Bills.application';
import { IBillDTO, IBillEditDTO } from './Bills.types';
import { PublicRoute } from '../Auth/Jwt.guard';
@Controller('bills')
@PublicRoute()
export class BillsController {
constructor(private billsApplication: BillsApplication) {}
@Post()
createBill(@Body() billDTO: IBillDTO) {
return this.billsApplication.createBill(billDTO);
}
@Put(':id')
editBill(@Param('id') billId: number, @Body() billDTO: IBillEditDTO) {
return this.billsApplication.editBill(billId, billDTO);
}
@Delete(':id')
deleteBill(@Param('id') billId: number) {
return this.billsApplication.deleteBill(billId);
}
@Get()
getBills(@Query() filterDTO: IBillsFilter) {
return this.billsApplication.getBills(filterDTO);
}
@Get(':id')
getBill(@Param('id') billId: number) {
return this.billsApplication.getBill(billId);
}
@Post(':id/open')
openBill(@Param('id') billId: number) {
return this.billsApplication.openBill(billId);
}
@Get('due')
getDueBills(@Body('vendorId') vendorId?: number) {
return this.billsApplication.getDueBills(vendorId);
}
}