| | <?php |
| |
|
| | namespace Kanboard\Model; |
| |
|
| | use Kanboard\Core\Base; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class GroupModel extends Base |
| | { |
| | |
| | |
| | |
| | |
| | |
| | const TABLE = 'groups'; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getQuery() |
| | { |
| | return $this->db->table(self::TABLE) |
| | ->columns('id', 'name', 'external_id') |
| | ->subquery('SELECT COUNT(*) FROM '.GroupMemberModel::TABLE.' WHERE group_id='.self::TABLE.'.id', 'nb_users'); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getById($group_id) |
| | { |
| | return $this->db->table(self::TABLE)->eq('id', $group_id)->findOne(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getByExternalId($external_id) |
| | { |
| | return $this->db->table(self::TABLE)->eq('external_id', $external_id)->findOne(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getByExternalIds(array $external_ids) |
| | { |
| | if (empty($external_ids)) { |
| | return []; |
| | } |
| |
|
| | return $this->db->table(self::TABLE)->in('external_id', $external_ids)->findAll(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getAll() |
| | { |
| | return $this->getQuery()->asc('name')->findAll(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function search($input) |
| | { |
| | return $this->db->table(self::TABLE)->ilike('name', '%'.$input.'%')->asc('name')->findAll(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function remove($group_id) |
| | { |
| | return $this->db->table(self::TABLE)->eq('id', $group_id)->remove(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function create($name, $external_id = '') |
| | { |
| | return $this->db->table(self::TABLE)->persist(array( |
| | 'name' => $name, |
| | 'external_id' => $external_id, |
| | )); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function update(array $values) |
| | { |
| | $updates = $values; |
| | unset($updates['id']); |
| | return $this->db->table(self::TABLE)->eq('id', $values['id'])->update($updates); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getOrCreateExternalGroupId($name, $external_id) |
| | { |
| | $group_id = $this->db->table(self::TABLE)->eq('external_id', $external_id)->findOneColumn('id'); |
| |
|
| | if (empty($group_id)) { |
| | $group_id = $this->create($name, $external_id); |
| | } |
| |
|
| | return $group_id; |
| | } |
| | } |
| |
|