Tried to work on EmployeesController.update function.

Didn't work because of adonisjs/validator#114
This commit is contained in:
Sockenklaus
2021-11-17 22:21:34 +01:00
parent d13ec611a5
commit f6788bbba9
2 changed files with 26 additions and 43 deletions

View File

@@ -51,19 +51,22 @@ export default class EmployeesController {
const payload = await request.validate(CreateEmployeeValidator) const payload = await request.validate(CreateEmployeeValidator)
return await Employee.create({ const employee = await Employee.create(payload)
firstName: payload.firstName, await employee.refresh()
lastName: payload.lastName,
shorthand: payload.shorthand, return {
email: payload.email, id: employee.id,
phone: payload.phone, firstName: employee.firstName,
mobile: payload.mobile, lastName: employee.lastName,
contractHours: payload.contractHours, shorthand: employee.shorthand,
username: payload.username, phone: employee.phone,
password: payload.password, mobile: employee.mobile,
role: payload.role ?? 'employee', email: employee.email,
isActive: payload.isActive ?? false contractHours: employee.contractHours,
}) role: employee.role,
username: employee.username,
isActive: employee.isActive
}
} }
public async show ({params, bouncer, auth}: HttpContextContract) : Promise<ResultShow> { public async show ({params, bouncer, auth}: HttpContextContract) : Promise<ResultShow> {
@@ -99,6 +102,7 @@ export default class EmployeesController {
const editContractHours : boolean = employee.contractHours !== request.input('contractHours') const editContractHours : boolean = employee.contractHours !== request.input('contractHours')
await bouncer.with('EmployeesPolicy').authorize('update', editContractHours, employee) await bouncer.with('EmployeesPolicy').authorize('update', editContractHours, employee)
const payload = await request.validate(UpdateEmployeeValidator) const payload = await request.validate(UpdateEmployeeValidator)
@@ -119,12 +123,9 @@ export default class EmployeesController {
employee.password = payload.password employee.password = payload.password
} }
await employee.save() employee.save()
return response.ok({ return employee
status: 200,
message: "Employee updated successfully"
})
} }
public async destroy ({params, bouncer}: HttpContextContract) { public async destroy ({params, bouncer}: HttpContextContract) {

View File

@@ -11,14 +11,9 @@ export default class SettingsController {
public async list({ auth }: HttpContextContract ): Promise<ResultSetting[]> { public async list({ auth }: HttpContextContract ): Promise<ResultSetting[]> {
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 return result
}
catch(error) {
return error
}
} }
@@ -41,27 +36,14 @@ export default class SettingsController {
*/ */
public async set({request, auth}: HttpContextContract): Promise<'ok'> { public async set({request, auth}: HttpContextContract): Promise<'ok'> {
try { const payload = await request.validate(SetSettingsValidator)
const payload = await request.validate(SetSettingsValidator) await auth.user.related('settings').updateOrCreateMany(payload.settings, 'key')
return "ok"
await auth.user.related('settings').updateOrCreateMany(payload.settings, 'key')
return "ok"
}
catch(error){
return error
}
} }
public async delete({ params, auth }: HttpContextContract): Promise<(0 | 1)[]> { public async delete({ params, auth }: HttpContextContract): Promise<(0 | 1)[]> {
const key = params.key const key = params.key
try { return await auth.user.related('settings').query().where('key', key).delete()
return await auth.user.related('settings').query().where('key', key).delete()
}
catch(error){
return error
}
} }
} }