diff --git a/app/Controllers/Http/EmployeesController.ts b/app/Controllers/Http/EmployeesController.ts index 7fe559a..c085d49 100644 --- a/app/Controllers/Http/EmployeesController.ts +++ b/app/Controllers/Http/EmployeesController.ts @@ -51,19 +51,22 @@ export default class EmployeesController { const payload = await request.validate(CreateEmployeeValidator) - return await Employee.create({ - firstName: payload.firstName, - lastName: payload.lastName, - shorthand: payload.shorthand, - email: payload.email, - phone: payload.phone, - mobile: payload.mobile, - contractHours: payload.contractHours, - username: payload.username, - password: payload.password, - role: payload.role ?? 'employee', - isActive: payload.isActive ?? false - }) + const employee = await Employee.create(payload) + await employee.refresh() + + return { + id: employee.id, + firstName: employee.firstName, + lastName: employee.lastName, + shorthand: employee.shorthand, + phone: employee.phone, + mobile: employee.mobile, + email: employee.email, + contractHours: employee.contractHours, + role: employee.role, + username: employee.username, + isActive: employee.isActive + } } public async show ({params, bouncer, auth}: HttpContextContract) : Promise { @@ -99,6 +102,7 @@ export default class EmployeesController { const editContractHours : boolean = employee.contractHours !== request.input('contractHours') await bouncer.with('EmployeesPolicy').authorize('update', editContractHours, employee) + const payload = await request.validate(UpdateEmployeeValidator) @@ -119,12 +123,9 @@ export default class EmployeesController { employee.password = payload.password } - await employee.save() - - return response.ok({ - status: 200, - message: "Employee updated successfully" - }) + employee.save() + + return employee } public async destroy ({params, bouncer}: HttpContextContract) { diff --git a/app/Controllers/Http/SettingsController.ts b/app/Controllers/Http/SettingsController.ts index 23b47ef..bc39a15 100644 --- a/app/Controllers/Http/SettingsController.ts +++ b/app/Controllers/Http/SettingsController.ts @@ -11,14 +11,9 @@ export default class SettingsController { public async list({ auth }: HttpContextContract ): Promise { - try { - const result = await auth.user.related('settings').query().select(['key', 'value']) + const result = await auth.user.related('settings').query().select(['key', 'value']) - return result - } - catch(error) { - return error - } + return result } @@ -41,27 +36,14 @@ export default class SettingsController { */ public async set({request, auth}: HttpContextContract): Promise<'ok'> { - try { - const payload = await request.validate(SetSettingsValidator) - - await auth.user.related('settings').updateOrCreateMany(payload.settings, 'key') - - return "ok" - } - catch(error){ - return error - } - + const payload = await request.validate(SetSettingsValidator) + await auth.user.related('settings').updateOrCreateMany(payload.settings, 'key') + return "ok" } public async delete({ params, auth }: HttpContextContract): Promise<(0 | 1)[]> { const key = params.key - try { - return await auth.user.related('settings').query().where('key', key).delete() - } - catch(error){ - return error - } + return await auth.user.related('settings').query().where('key', key).delete() } }