first commit
This commit is contained in:
18
resources/frontend/core/policies/index.js
Normal file
18
resources/frontend/core/policies/index.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import { store } from '@/store';
|
||||
import TaskPolicy from './task.policy';
|
||||
import ProjectPolicy from './project.policy';
|
||||
import UserPolicy from './user.policy';
|
||||
import InvitationPolicy from './invitation.policy';
|
||||
import PriorityPolicy from './priority.policy';
|
||||
import StatusPolicy from './status.policy';
|
||||
import ProjectGroupPolicy from './project-group.policy';
|
||||
|
||||
store.dispatch('policies/registerPolicies', {
|
||||
task: TaskPolicy,
|
||||
project: ProjectPolicy,
|
||||
user: UserPolicy,
|
||||
invitation: InvitationPolicy,
|
||||
priority: PriorityPolicy,
|
||||
status: StatusPolicy,
|
||||
projectGroup: ProjectGroupPolicy,
|
||||
});
|
||||
19
resources/frontend/core/policies/invitation.policy.js
Normal file
19
resources/frontend/core/policies/invitation.policy.js
Normal file
@@ -0,0 +1,19 @@
|
||||
import { hasRole } from '@/utils/user';
|
||||
|
||||
export default class InvitationPolicy {
|
||||
static viewAny(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static create(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static update(user, model) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static delete(user, model) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
}
|
||||
19
resources/frontend/core/policies/priority.policy.js
Normal file
19
resources/frontend/core/policies/priority.policy.js
Normal file
@@ -0,0 +1,19 @@
|
||||
import { hasRole } from '@/utils/user';
|
||||
|
||||
export default class PriorityPolicy {
|
||||
static viewAny(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static create(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static update(user, model) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static delete(user, model) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
}
|
||||
15
resources/frontend/core/policies/project-group.policy.js
Normal file
15
resources/frontend/core/policies/project-group.policy.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import { hasRole } from '@/utils/user';
|
||||
|
||||
export default class ProjectGroupPolicy {
|
||||
static create(user) {
|
||||
return hasRole(user, 'admin') || hasRole(user, 'manager');
|
||||
}
|
||||
|
||||
static update(user, model) {
|
||||
return hasRole(user, 'admin') || hasRole(user, 'manager');
|
||||
}
|
||||
|
||||
static delete(user, model) {
|
||||
return hasRole(user, 'admin') || hasRole(user, 'manager');
|
||||
}
|
||||
}
|
||||
31
resources/frontend/core/policies/project.policy.js
Normal file
31
resources/frontend/core/policies/project.policy.js
Normal file
@@ -0,0 +1,31 @@
|
||||
import { hasRole } from '@/utils/user';
|
||||
|
||||
export default class ProjectPolicy {
|
||||
static create(user) {
|
||||
return hasRole(user, 'admin') || hasRole(user, 'manager');
|
||||
}
|
||||
|
||||
static update(user, model) {
|
||||
if (!model) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return model.can.update;
|
||||
}
|
||||
|
||||
static updateMembers(user, model) {
|
||||
if (!model) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return model.can.update_members;
|
||||
}
|
||||
|
||||
static delete(user, model) {
|
||||
if (!model) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return model.can.destroy;
|
||||
}
|
||||
}
|
||||
19
resources/frontend/core/policies/status.policy.js
Normal file
19
resources/frontend/core/policies/status.policy.js
Normal file
@@ -0,0 +1,19 @@
|
||||
import { hasRole } from '@/utils/user';
|
||||
|
||||
export default class StatusPolicy {
|
||||
static viewAny(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static create(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static update(user, model) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static delete(user, model) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
}
|
||||
21
resources/frontend/core/policies/task.policy.js
Normal file
21
resources/frontend/core/policies/task.policy.js
Normal file
@@ -0,0 +1,21 @@
|
||||
export default class TaskPolicy {
|
||||
static create(user) {
|
||||
return user.can_create_task;
|
||||
}
|
||||
|
||||
static update(user, model) {
|
||||
if (!model) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return model.can.update;
|
||||
}
|
||||
|
||||
static delete(user, model) {
|
||||
if (!model) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return model.can.destroy;
|
||||
}
|
||||
}
|
||||
15
resources/frontend/core/policies/user.policy.js
Normal file
15
resources/frontend/core/policies/user.policy.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import { hasRole } from '@/utils/user';
|
||||
|
||||
export default class UserPolicy {
|
||||
static viewAny(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static create(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
|
||||
static update(user) {
|
||||
return hasRole(user, 'admin');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user