diff --git a/application/Models/Aauth/GroupToGroupModel.php b/application/Models/Aauth/GroupToGroupModel.php new file mode 100644 index 0000000..ebe207b --- /dev/null +++ b/application/Models/Aauth/GroupToGroupModel.php @@ -0,0 +1,236 @@ +config = new AauthConfig(); + $this->DBGroup = $this->config->dbProfile; + $this->table = $this->config->dbTableGroupToGroup; + + if ($db instanceof ConnectionInterface) + { + $this->db = & $db; + } + else + { + $this->db = Database::connect($this->DBGroup); + } + + $this->request = Services::request(); + } + + /** + * Get all Group Ids by Subgroup Id + * + * @param integer $subgroupId Subgroup Id + * + * @return array|null + */ + public function findAllBySubgroupId(int $subgroupId) + { + $builder = $this->builder(); + $builder->select('group_id'); + $builder->where('subgroup_id', $subgroupId); + + return $builder->get()->getResult('array'); + } + + /** + * Get all Subgroup Ids by Group Id + * + * @param integer $groupId Group Id + * + * @return array|null + */ + public function findAllByGroupId(int $groupId) + { + $builder = $this->builder(); + $builder->select('subgroup_id'); + $builder->where('group_id', $groupId); + + return $builder->get()->getResult('array'); + } + + /** + * Check if exists by Group Id and Subgroup Id + * + * @param integer $groupId Group Id + * @param integer $subgroupId Subgroup Id + * + * @return boolean + */ + public function exists(int $groupId, int $subgroupId) + { + $builder = $this->builder(); + + $builder->where('group_id', $groupId); + $builder->where('subgroup_id', $subgroupId); + return ($builder->countAllResults() ? true : false); + } + + /** + * Insert + * + * @param integer $groupId Group Id + * @param integer $subgroupId Subgroup Id + * + * @return BaseBuilder + */ + public function insert(int $groupId, int $subgroupId) + { + $builder = $this->builder(); + + $data['group_id'] = $groupId; + $data['subgroup_id'] = $subgroupId; + + return $builder->insert($data); + } + + /** + * Delete by Group Id and Subgroup Id + * + * @param integer $groupId Group Id + * @param integer $subgroupId Subgroup Id + * + * @return BaseBuilder + */ + public function delete(int $groupId, int $subgroupId) + { + $builder = $this->builder(); + $builder->where('group_id', $groupId); + $builder->where('subgroup_id', $subgroupId); + + return $builder->delete(); + } + + /** + * Deletes all by Group Id + * + * @param integer $groupId Group Id + * + * @return BaseBuilder + */ + public function deleteAllByGroupId(int $groupId) + { + $builder = $this->builder(); + $builder->where('group_id', $groupId); + + return $builder->delete(); + } + + /** + * Deletes all by Subgroup Id + * + * @param integer $subgroupId Subgroup Id + * + * @return BaseBuilder + */ + public function deleteAllBySubgroupId(int $subgroupId) + { + $builder = $this->builder(); + $builder->where('subgroup_id', $subgroupId); + + 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; + } + +} diff --git a/application/Models/Aauth/GroupToUserModel.php b/application/Models/Aauth/GroupToUserModel.php new file mode 100644 index 0000000..78a0a98 --- /dev/null +++ b/application/Models/Aauth/GroupToUserModel.php @@ -0,0 +1,236 @@ +config = new AauthConfig(); + $this->DBGroup = $this->config->dbProfile; + $this->table = $this->config->dbTableGroupToUser; + + if ($db instanceof ConnectionInterface) + { + $this->db = & $db; + } + else + { + $this->db = Database::connect($this->DBGroup); + } + + $this->request = Services::request(); + } + + /** + * Get all Group Ids by User Id + * + * @param integer $userId User Id + * + * @return array|null + */ + public function findAllByUserId(int $userId) + { + $builder = $this->builder(); + $builder->select('group_id'); + $builder->where('user_id', $userId); + + return $builder->get()->getResult('array'); + } + + /** + * Get all User Ids by Group Id + * + * @param integer $groupId Group Id + * + * @return array|null + */ + public function findAllByGroupId(int $groupId) + { + $builder = $this->builder(); + $builder->select('user_id'); + $builder->where('group_id', $groupId); + + return $builder->get()->getResult('array'); + } + + /** + * Check if exists by Group Id and User Id + * + * @param integer $groupId Group Id + * @param integer $userId User Id + * + * @return boolean + */ + public function exists(int $groupId, int $userId) + { + $builder = $this->builder(); + + $builder->where('group_id', $groupId); + $builder->where('user_id', $userId); + return ($builder->countAllResults() ? true : false); + } + + /** + * Insert + * + * @param integer $groupId Group Id + * @param integer $userId User Id + * + * @return BaseBuilder + */ + public function insert(int $groupId, int $userId) + { + $builder = $this->builder(); + + $data['group_id'] = $groupId; + $data['user_id'] = $userId; + + return $builder->insert($data); + } + + /** + * Delete by Group Id and User Id + * + * @param integer $groupId Group Id + * @param integer $userId User Id + * + * @return BaseBuilder + */ + public function delete(int $groupId, int $userId) + { + $builder = $this->builder(); + $builder->where('group_id', $groupId); + $builder->where('user_id', $userId); + + return $builder->delete(); + } + + /** + * Deletes all by Group Id + * + * @param integer $groupId Group Id + * + * @return BaseBuilder + */ + public function deleteAllByGroupId(int $groupId) + { + $builder = $this->builder(); + $builder->where('group_id', $groupId); + + 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; + } + +} diff --git a/application/Models/Aauth/PermToGroupModel.php b/application/Models/Aauth/PermToGroupModel.php new file mode 100644 index 0000000..85c6955 --- /dev/null +++ b/application/Models/Aauth/PermToGroupModel.php @@ -0,0 +1,236 @@ +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 Group Id + * + * @param integer $groupId Group Id + * + * @return array|null + */ + public function findAllByGroupId(int $groupId) + { + $builder = $this->builder(); + $builder->select('perm_id'); + $builder->where('group_id', $groupId); + + return $builder->get()->getResult('array'); + } + + /** + * Get all Group Ids by Perm Id + * + * @param integer $permId Perm Id + * + * @return array|null + */ + public function findAllByPermId(int $permId) + { + $builder = $this->builder(); + $builder->select('group_id'); + $builder->where('perm_id', $permId); + + return $builder->get()->getResult('array'); + } + + /** + * Check if exists by Perm Id and Group Id + * + * @param integer $permId Perm Id + * @param integer $groupId Group Id + * + * @return boolean + */ + public function exists(int $permId, int $groupId) + { + $builder = $this->builder(); + + $builder->where('perm_id', $permId); + $builder->where('group_id', $groupId); + return ($builder->countAllResults() ? true : false); + } + + /** + * Insert + * + * @param integer $permId Perm Id + * @param integer $groupId Group Id + * + * @return BaseBuilder + */ + public function insert(int $permId, int $groupId) + { + $builder = $this->builder(); + + $data['perm_id'] = $permId; + $data['group_id'] = $groupId; + + return $builder->insert($data); + } + + /** + * Delete by Perm Id and Group Id + * + * @param integer $permId Perm Id + * @param integer $groupId Group Id + * + * @return BaseBuilder + */ + public function delete(int $permId, int $groupId) + { + $builder = $this->builder(); + $builder->where('perm_id', $permId); + $builder->where('group_id', $groupId); + + 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 Group Id + * + * @param integer $groupId Group Id + * + * @return BaseBuilder + */ + public function deleteAllByGroupId(int $groupId) + { + $builder = $this->builder(); + $builder->where('group_id', $groupId); + + 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; + } + +} diff --git a/application/Models/Aauth/PermToUserModel.php b/application/Models/Aauth/PermToUserModel.php new file mode 100644 index 0000000..172717a --- /dev/null +++ b/application/Models/Aauth/PermToUserModel.php @@ -0,0 +1,236 @@ +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; + } + +}