diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-09-07 22:40:38 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-09-07 22:40:38 -0400 |
commit | dded773749e869893a00865cf2183a7f0c684038 (patch) | |
tree | 1162daf867bfb23289e0d8488b60a861d6bf9786 /app/Model/ProjectRoleModel.php | |
parent | 102de7e3860929e62578a6c96f810252dc572bdf (diff) |
Add new models ColumnMoveRestrictionModel and ProjectRoleModel
Diffstat (limited to 'app/Model/ProjectRoleModel.php')
-rw-r--r-- | app/Model/ProjectRoleModel.php | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/app/Model/ProjectRoleModel.php b/app/Model/ProjectRoleModel.php new file mode 100644 index 00000000..93fe1dcc --- /dev/null +++ b/app/Model/ProjectRoleModel.php @@ -0,0 +1,82 @@ +<?php + +namespace Kanboard\Model; + +use Kanboard\Core\Base; + +/** + * Class ProjectRoleModel + * + * @package Kanboard\Model + * @author Frederic Guillot + */ +class ProjectRoleModel extends Base +{ + const TABLE = 'project_has_roles'; + + /** + * Get all project roles + * + * @param int $project_id + * @return array + */ + public function getAll($project_id) + { + return $this->db->table(self::TABLE) + ->eq('project_id', $project_id) + ->asc('role') + ->findAll(); + } + + /** + * Create a new project role + * + * @param int $project_id + * @param string $role + * @return bool|int + */ + public function create($project_id, $role) + { + return $this->db + ->table(self::TABLE) + ->persist(array( + 'project_id' => $project_id, + 'role' => $role, + )); + } + + /** + * Update a project role + * + * @param int $role_id + * @param int $project_id + * @param string $role + * @return bool + */ + public function update($role_id, $project_id, $role) + { + return $this->db + ->table(self::TABLE) + ->eq('role_id', $role_id) + ->eq('project_id', $project_id) + ->update(array( + 'role' => $role, + )); + } + + /** + * Remove a project role + * + * @param int $project_id + * @param int $role_id + * @return bool + */ + public function remove($project_id, $role_id) + { + return $this->db + ->table(self::TABLE) + ->eq('project_id', $project_id) + ->eq('role_id', $role_id) + ->remove(); + } +} |