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)
|
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) {
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user