| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace Models;
- class ApiUserModel
- {
- private \PDO $pdo;
- private array $api_Key = [];
- public function __construct()
- {
- // Conecta ao DB usando variável do .env
- $dbFile = $_ENV['DB_FILE'] ?? 'bridge.db';
- $dbPath = __DIR__ . '/../' . $dbFile;
- $this->pdo = new \PDO("sqlite:" . $dbPath);
- $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
- $this->loadApiKeys();
- }
- /**
- * Carrega as chaves API dos usuários ativos do banco de dados.
- */
- private function loadApiKeys(): void
- {
- try {
- $stmt = $this->pdo->query("SELECT user_id, user_name, api_key_user, api_key_secret FROM user NATURAL JOIN api_key WHERE user_flag = 'a'");
- $users = $stmt->fetchAll(\PDO::FETCH_ASSOC);
- foreach ($users as $user) {
- $this->api_Key[$user['user_name']] = [
- 'user_apikey' => $user['api_key_user'],
- 'user_apisecret' => $user['api_key_secret'],
- 'user_id' => $user['user_id']
- ];
- }
- } catch (\PDOException $e) {
- error_log("Erro ao carregar chaves API: " . $e->getMessage());
- }
- }
- /**
- * Retorna o array de chaves API carregadas.
- *
- * @return array
- */
- public function getApiKeys(): array
- {
- return $this->api_Key;
- }
- // Opcional: Método para recarregar as chaves se necessário
- public function reloadApiKeys(): void
- {
- $this->api_Key = [];
- $this->loadApiKeys();
- }
- }
|