106 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
|  | <?php | ||
|  | 
 | ||
|  | class Agent { | ||
|  |     private $db; | ||
|  | 
 | ||
|  |     public function __construct($database) { | ||
|  |         $this->db = $database->getConnection(); | ||
|  |     } | ||
|  | 
 | ||
|  |     // get details of a specified agent ID (or all) in a specified platform ID
 | ||
|  |     public function getAgentDetails($platform_id, $agent_id = '') { | ||
|  |         $sql = 'SELECT * FROM jilo_agents | ||
|  |                 WHERE | ||
|  |                     platform_id = :platform_id'; | ||
|  |         if ($agent_id !== '') { | ||
|  |             $sql .= ' AND id = :agent_id'; | ||
|  |             $query = $this->db->prepare($sql); | ||
|  |             $query->execute([ | ||
|  |                 ':platform_id'		=> $platform_id, | ||
|  |                 ':agent_id'		=> $agent_id, | ||
|  |             ]); | ||
|  |         } else { | ||
|  |             $query = $this->db->prepare($sql); | ||
|  |             $query->bindParam(':platform_id', $platform_id); | ||
|  |         } | ||
|  | 
 | ||
|  |         $query->execute(); | ||
|  | 
 | ||
|  |         return $query->fetchAll(PDO::FETCH_ASSOC); | ||
|  |     } | ||
|  | 
 | ||
|  |     // add new agent
 | ||
|  |     public function addAgent($platform_id, $newAgent) { | ||
|  |         try { | ||
|  |             $sql = 'INSERT INTO jilo_agents | ||
|  |                     (platform_id, type_id, url, secret_key) | ||
|  |                     VALUES | ||
|  |                     (:platform_id, :type_id, :url, :secret_key)'; | ||
|  | 
 | ||
|  |             $query = $this->db->prepare($sql); | ||
|  |             $query->execute([ | ||
|  |                 ':platform_id'		=> $platform_id, | ||
|  |                 ':type_id'		=> $newAgent['type_id'], | ||
|  |                 ':url'			=> $newAgent['url'], | ||
|  |                 ':secret_key'		=> $newAgent['secret_key'], | ||
|  |             ]); | ||
|  | 
 | ||
|  |             return true; | ||
|  | 
 | ||
|  |         } catch (Exception $e) { | ||
|  |             return $e->getMessage(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     // edit an existing agent
 | ||
|  |     public function editAgent($platform_id, $updatedAgent) { | ||
|  |         try { | ||
|  |             $sql = 'UPDATE jilo_agents SET | ||
|  |                         type_id = :type_id, | ||
|  |                         url = :url, | ||
|  |                         secret_key = :secret_key | ||
|  |                     WHERE | ||
|  |                         id = :agent_id | ||
|  |                     AND | ||
|  |                         platform_id = :platform_id'; | ||
|  | 
 | ||
|  |             $query = $this->db->prepare($sql); | ||
|  |             $query->execute([ | ||
|  |                 ':type_id'		=> $updatedAgent['type_id'], | ||
|  |                 ':url'			=> $updatedAgent['url'], | ||
|  |                 ':secret_key'		=> $updatedAgent['secret_key'], | ||
|  |                 ':agent_id'		=> $updatedAgent['id'], | ||
|  |                 ':platform_id'		=> $platform_id, | ||
|  |             ]); | ||
|  | 
 | ||
|  |             return true; | ||
|  | 
 | ||
|  |         } catch (Exception $e) { | ||
|  |             return $e->getMessage(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     // delete an agent
 | ||
|  |     public function deleteAgent($agent_id) { | ||
|  |         try { | ||
|  |             $sql = 'DELETE FROM jilo_agents | ||
|  |                     WHERE | ||
|  |                     id = :agent_id'; | ||
|  | 
 | ||
|  |             $query = $this->db->prepare($sql); | ||
|  |             $query->bindParam(':agent_id', $agent_id); | ||
|  | 
 | ||
|  |             $query->execute(); | ||
|  |             return true; | ||
|  | 
 | ||
|  |         } catch (Exception $e) { | ||
|  |             return $e->getMessage(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | ?>
 |