targo-backend/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts

32 lines
1.1 KiB
TypeScript

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<CreateResult>{
return this.upsert_service.createExpense(timesheet_id, dto);
}
@Patch()
update(
@Body() body: { update :{ id: number; dto: updateExpenseDto }}): Promise<UpdateResult>{
return this.upsert_service.updateExpense(body.update);
}
@Delete(':expense_id')
remove(@Param('expense_id') expense_id: number) {
return this.upsert_service.deleteExpense(expense_id);
}
}