toString(); } // Encrypt sensitive JoFotara credentials if (isset($data['jofotara_client_id'])) { $data['jofotara_client_id_encrypted'] = $this->encryption->encrypt($data['jofotara_client_id']); unset($data['jofotara_client_id']); } if (isset($data['jofotara_secret_key'])) { $data['jofotara_secret_key_encrypted'] = $this->encryption->encrypt($data['jofotara_secret_key']); unset($data['jofotara_secret_key']); } return (string)$this->companyModel->create($data); } public function updateJoFotara(string $id, array $data): bool { if (isset($data['jofotara_client_id'])) { $data['jofotara_client_id_encrypted'] = $this->encryption->encrypt($data['jofotara_client_id']); unset($data['jofotara_client_id']); } if (isset($data['jofotara_secret_key'])) { $data['jofotara_secret_key_encrypted'] = $this->encryption->encrypt($data['jofotara_secret_key']); unset($data['jofotara_secret_key']); } return $this->companyModel->update($id, $data); } public function getJoFotaraCredentials(string $companyId): array { $company = $this->companyModel->find($companyId); if (!$company) return []; return [ 'clientId' => $company['jofotara_client_id_encrypted'] ? $this->encryption->decrypt($company['jofotara_client_id_encrypted']) : null, 'secretKey' => $company['jofotara_secret_key_encrypted'] ? $this->encryption->decrypt($company['jofotara_secret_key_encrypted']) : null, ]; } }