29 lines
877 B
TypeScript
29 lines
877 B
TypeScript
import { BasePolicy } from '@ioc:Adonis/Addons/Bouncer'
|
|
import Employee from 'App/Models/Employee'
|
|
import Logger from '@ioc:Adonis/Core/Logger'
|
|
|
|
export default class EmployeesPolicy extends BasePolicy {
|
|
public async index(employee: Employee) {
|
|
return employee.isAdmin()
|
|
}
|
|
|
|
public async show(employee: Employee, query: Employee) {
|
|
return employee.isAdmin() || employee.id === query.id
|
|
}
|
|
|
|
public async store(employee: Employee) {
|
|
return employee.isAdmin()
|
|
}
|
|
|
|
public async update(employee: Employee, editContractHours: boolean, query: Employee) {
|
|
Logger.info("Is Admin? "+employee.isAdmin())
|
|
Logger.info("Same ids? "+(employee.id === query.id))
|
|
Logger.info("Edit contract Hours? "+editContractHours)
|
|
return employee.isAdmin() || (employee.id === query.id && !editContractHours)
|
|
}
|
|
|
|
public async destroy(employee: Employee) {
|
|
return employee.isAdmin()
|
|
}
|
|
}
|