config = new AauthConfig(); $this->DBGroup = $this->config->dbProfile; $this->table = $this->config->dbTablePermToUser; if ($db instanceof ConnectionInterface) { $this->db = & $db; } else { $this->db = Database::connect($this->DBGroup); } $this->request = Services::request(); } /** * Get all Perm Ids by User Id * * @param integer $userId User Id * * @return array|null */ public function findAllByUserId(int $userId) { $builder = $this->builder(); $builder->select('perm_id'); $builder->where('user_id', $userId); return $builder->get()->getResult('array'); } /** * Get all User Ids by Perm Id * * @param integer $permId Perm Id * * @return array|null */ public function findAllByPermId(int $permId) { $builder = $this->builder(); $builder->select('user_id'); $builder->where('perm_id', $permId); return $builder->get()->getResult('array'); } /** * Check if exists by Perm Id and User Id * * @param integer $permId Perm Id * @param integer $userId User Id * * @return boolean */ public function exists(int $permId, int $userId) { $builder = $this->builder(); $builder->where('perm_id', $permId); $builder->where('user_id', $userId); return ($builder->countAllResults() ? true : false); } /** * Insert * * @param integer $permId Perm Id * @param integer $userId User Id * * @return BaseBuilder */ public function insert(int $permId, int $userId) { $builder = $this->builder(); $data['perm_id'] = $permId; $data['user_id'] = $userId; return $builder->insert($data); } /** * Delete by Perm Id and User Id * * @param integer $permId Perm Id * @param integer $userId User Id * * @return BaseBuilder */ public function delete(int $permId, int $userId) { $builder = $this->builder(); $builder->where('perm_id', $permId); $builder->where('user_id', $userId); return $builder->delete(); } /** * Deletes all by Perm Id * * @param integer $permId Perm Id * * @return BaseBuilder */ public function deleteAllByPermId(int $permId) { $builder = $this->builder(); $builder->where('perm_id', $permId); return $builder->delete(); } /** * Deletes all by User Id * * @param integer $userId User Id * * @return BaseBuilder */ public function deleteAllByUserId(int $userId) { $builder = $this->builder(); $builder->where('user_id', $userId); return $builder->delete(); } /** * Provides a shared instance of the Query Builder. * * @param string $table Table Name * * @return BaseBuilder */ protected function builder(string $table = null) { if ($this->builder instanceof BaseBuilder) { return $this->builder; } $table = empty($table) ? $this->table : $table; // Ensure we have a good db connection if (! $this->db instanceof BaseConnection) { $this->db = Database::connect($this->DBGroup); } $this->builder = $this->db->table($table); return $this->builder; } }