import { Body, Controller, Delete, Get, Param, ParseIntPipe, Patch, Post } from "@nestjs/common"; import { PrismaService } from "src/prisma/prisma.service"; import { ExpenseDto } from "../dtos/expense.dto"; import { CreateResult, ExpenseUpsertService, UpdateResult } from "../services/expense-upsert.service"; import { updateExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/update-expense.dto"; @Controller('expense') export class ExpenseController { constructor( private readonly prisma: PrismaService, private readonly upsert_service: ExpenseUpsertService, ){} @Post(':timesheet_id') create( @Param('timesheet_id', ParseIntPipe) timesheet_id: number, @Body() dto: ExpenseDto): Promise{ return this.upsert_service.createExpense(timesheet_id, dto); } @Patch() update( @Body() body: { update :{ id: number; dto: updateExpenseDto }}): Promise{ return this.upsert_service.updateExpense(body.update); } @Delete(':expense_id') remove(@Param('expense_id') expense_id: number) { return this.upsert_service.deleteExpense(expense_id); } }