Tried to work on EmployeesController.update function.
Didn't work because of adonisjs/validator#114
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user