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)
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<ResultShow> {
@@ -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) {

View File

@@ -11,14 +11,9 @@ export default class SettingsController {
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
}
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()
}
}