diff --git a/docs/swagger/swagger-spec.json b/docs/swagger/swagger-spec.json index e9c9b27..ae43cd0 100644 --- a/docs/swagger/swagger-spec.json +++ b/docs/swagger/swagger-spec.json @@ -605,19 +605,10 @@ ] } }, - "/expense/{timesheet_id}": { + "/expense/create": { "post": { "operationId": "ExpenseController_create", - "parameters": [ - { - "name": "timesheet_id", - "required": true, - "in": "path", - "schema": { - "type": "number" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { @@ -638,7 +629,7 @@ ] } }, - "/expense": { + "/expense/update": { "patch": { "operationId": "ExpenseController_update", "parameters": [], @@ -652,7 +643,7 @@ ] } }, - "/expense/{expense_id}": { + "/expense/delete/{expense_id}": { "delete": { "operationId": "ExpenseController_remove", "parameters": [ diff --git a/src/identity-and-account/authentication/controllers/auth.controller.ts b/src/identity-and-account/authentication/controllers/auth.controller.ts index 0ec1ff2..43c9397 100644 --- a/src/identity-and-account/authentication/controllers/auth.controller.ts +++ b/src/identity-and-account/authentication/controllers/auth.controller.ts @@ -12,7 +12,8 @@ export class AuthController { @Get('/callback') @UseGuards(OIDCLoginGuard) loginCallback(@Req() req: Request, @Res() res: Response) { - res.redirect('http://10.100.251.2:9011/#/login-success'); + // res.redirect('http://10.100.251.2:9011/#/login-success'); + res.redirect('http://localhost:9000/#/login-success'); } @Get('/me') diff --git a/src/main.ts b/src/main.ts index fb35236..7c06222 100644 --- a/src/main.ts +++ b/src/main.ts @@ -46,7 +46,7 @@ async function bootstrap() { // Enable CORS app.enableCors({ - origin: ['http://10.100.251.2:9011', 'http://10.100.251.2:9012', 'http://10.100.251.2:9013'], + origin: ['http://10.100.251.2:9011', 'http://10.100.251.2:9012', 'http://10.100.251.2:9013', 'http://localhost:9000'], credentials: true, }); diff --git a/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts b/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts index 572972d..6e4f495 100644 --- a/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts +++ b/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts @@ -9,20 +9,18 @@ import { ExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expens export class ExpenseController { constructor( 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); + @Post('create') + create(@Body() dto: ExpenseDto): Promise{ + return this.upsert_service.createExpense(dto); } - @Patch() + @Patch('update') update( @Body() body: { update :{ id: number; dto: updateExpenseDto }}): Promise{ return this.upsert_service.updateExpense(body.update); } - @Delete(':expense_id') + @Delete('delete/:expense_id') remove(@Param('expense_id') expense_id: number) { return this.upsert_service.deleteExpense(expense_id); } diff --git a/src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts b/src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts index 64390af..38990a0 100644 --- a/src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts +++ b/src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts @@ -15,7 +15,7 @@ export class ExpenseUpsertService { //_________________________________________________________________ // CREATE //_________________________________________________________________ - async createExpense(timesheet_id: number, dto: ExpenseDto): Promise { + async createExpense( dto: ExpenseDto): Promise { try { //normalize strings and dates const normed_expense = this.normalizeExpenseDto(dto); @@ -24,11 +24,16 @@ export class ExpenseUpsertService { const parsed_amount = this.parseOptionalNumber(dto.amount, "amount"); const parsed_mileage = this.parseOptionalNumber(dto.mileage, "mileage"); const parsed_attachment = this.parseOptionalNumber(dto.attachment, "attachment"); - + + const timesheet = await this.prisma.timesheets.findUnique({ + where: { id: dto.timesheet_id }, + select: { id: true }, + }); + if(!timesheet) throw new NotFoundException(`Timesheet with id ${dto.timesheet_id} not found`); //create a new expense const expense = await this.prisma.expenses.create({ data: { - timesheet_id, + timesheet_id: timesheet.id, bank_code_id: dto.bank_code_id, attachment: parsed_attachment, date: normed_expense.date, diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts b/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts index 81bc330..e89d684 100644 --- a/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts +++ b/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts @@ -178,10 +178,11 @@ export class GetTimesheetsOverviewService { }; } - private ensureTimesheet = async (employee_id: number, start_date: Date) => { + private ensureTimesheet = async (employee_id: number, start_date: Date | string) => { + const start = toDateFromString(start_date); let row = await this.prisma.timesheets.findFirst({ - where: { employee_id, start_date: start_date }, + where: { employee_id, start_date: start }, include: { employee: { include: { user: true } }, shift: { include: { bank_code: true } }, @@ -193,13 +194,13 @@ export class GetTimesheetsOverviewService { await this.prisma.timesheets.create({ data: { employee_id, - start_date: start_date, + start_date: start, is_approved: false }, }); row = await this.prisma.timesheets.findFirst({ - where: { employee_id, start_date: start_date }, + where: { employee_id, start_date: start }, include: { employee: { include: { user: true } }, shift: { include: { bank_code: true } }, diff --git a/src/time-and-attendance/utils/date-time.utils.ts b/src/time-and-attendance/utils/date-time.utils.ts index c43337d..07ea016 100644 --- a/src/time-and-attendance/utils/date-time.utils.ts +++ b/src/time-and-attendance/utils/date-time.utils.ts @@ -40,7 +40,7 @@ export const toHHmmFromDate = (input: Date | string): string => { //converts Date format to string export const toDateFromString = (ymd: string | Date): Date => { - return new Date(`${ymd}T00:00:00:000Z`); + return new Date(`${ymd}`); } export const toUTCDateFromString = (iso: string | Date) => {