| <?php |
|
|
| namespace Kanboard\Model; |
|
|
| use Kanboard\Core\Base; |
|
|
| |
| |
| |
| |
| |
| |
| class GroupMemberModel extends Base |
| { |
| |
| |
| |
| |
| |
| const TABLE = 'group_has_users'; |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function getQuery($group_id) |
| { |
| return $this->db->table(self::TABLE) |
| ->join(UserModel::TABLE, 'id', 'user_id') |
| ->eq('group_id', $group_id); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function getMembers($group_id) |
| { |
| return $this->getQuery($group_id)->findAll(); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function getNotMembers($group_id) |
| { |
| $subquery = $this->db->table(self::TABLE) |
| ->columns('user_id') |
| ->eq('group_id', $group_id); |
|
|
| return $this->db->table(UserModel::TABLE) |
| ->notInSubquery('id', $subquery) |
| ->eq('is_active', 1) |
| ->findAll(); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function addUser($group_id, $user_id) |
| { |
| return $this->db->table(self::TABLE)->insert(array( |
| 'group_id' => $group_id, |
| 'user_id' => $user_id, |
| )); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function removeUser($group_id, $user_id) |
| { |
| return $this->db->table(self::TABLE) |
| ->eq('group_id', $group_id) |
| ->eq('user_id', $user_id) |
| ->remove(); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function isMember($group_id, $user_id) |
| { |
| return $this->db->table(self::TABLE) |
| ->eq('group_id', $group_id) |
| ->eq('user_id', $user_id) |
| ->exists(); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function getGroups($user_id) |
| { |
| return $this->db->table(self::TABLE) |
| ->columns(GroupModel::TABLE.'.id', GroupModel::TABLE.'.external_id', GroupModel::TABLE.'.name') |
| ->join(GroupModel::TABLE, 'id', 'group_id') |
| ->eq(self::TABLE.'.user_id', $user_id) |
| ->asc(GroupModel::TABLE.'.name') |
| ->findAll(); |
| } |
| } |
|
|