$email]; return self::query($query, $data, 'one'); } public static function getTokenByUserId(string $id): array|bool { $query = "SELECT * FROM pbx_tokens WHERE id_usuario = :id"; $data = ["id" => $id]; return self::query($query, $data, 'one'); } public static function deleteTokenById(string $id): int|bool { if (empty($id)) { return ["status" => "error", "mensage" => "ERROR! Delete method must have parameters!"]; } $query = "DELETE from pbx_tokens WHERE id = :id"; $data = ["id" => $id]; return self::query($query, $data, 'count'); } public static function createToken(array $data): int|bool { $query = "INSERT INTO pbx_tokens (" . implode(', ', array_keys($data)) . ") VALUES (:" . implode(',:', array_keys($data)) . ')'; return self::query($query, $data, 'count'); } public static function getOrgIdByUserId(string $userId): array { $query = "SELECT id_organizacao FROM pbx_organizacao_usuarios WHERE id_usuario = :user_id"; $data = ["user_id" => $userId]; return self::query($query, $data, 'one'); } public static function verifyTokenByOrg(string $token, string $orgId) { $query = "SELECT pu.id as user_id, t.id as token_id, pou.id_organizacao, t.token, t.expired_at FROM pbx_usuarios pu INNER JOIN pbx_tokens t ON t.id_usuario = pu.id INNER JOIN pbx_organizacao_usuarios pou ON pou.id_usuario = pu.id WHERE t.token = :token AND id_organizacao = :org_id;"; $params = ["token" => $token, "org_id" => $orgId]; return self::query($query, $params, "one"); } }