sagace.core.storage package¶
Submodules¶
sagace.core.storage.file_storage module¶
Descrição:¶
Este módulo define uma estrutura para gerenciamento de tokens de autenticação dentro do sistema SAGACE. A classe FileTokenStorage implementa a interface TokenStorage para armazenar tokens em um arquivo JSON, permitindo a persistência do token mesmo após reinicializações do sistema.
Principais funcionalidades:
Armazena tokens de autenticação em um arquivo JSON.
Recupera tokens armazenados garantindo sua reutilização.
Implementa a interface TokenStorage, garantindo flexibilidade e substituição de implementação.
Princípios de Design Aplicados:
Single Responsibility Principle (SRP - SOLID): A classe tem a única responsabilidade de armazenar tokens em arquivos.
Open/Closed Principle (OCP - SOLID): FileTokenStorage pode ser estendida sem modificar seu código-fonte.
Dependency Inversion Principle (DIP - SOLID): FileTokenStorage depende da abstração TokenStorage, permitindo flexibilidade.
Classes:
- FileTokenStorage
: Implementação concreta de TokenStorage utilizando arquivos JSON.
Exemplo de uso:
from sagace.core import Token, FileTokenStorage
token_storage = FileTokenStorage("token.json")
token = Token(
base_url="https://api.sagace.online",
access_token="abc123",
application_name="Meu App",
description="Token de acesso persistente."
)
token_storage.save_token(token)
retrieved_token = token_storage.get_token()
print(retrieved_token.get_auth_header())
Autor: Diego Yosiura Última Atualização: 27/02/2025 16:24 Criado em: 27/02/2025 16:24 Copyright: (c) Ampere Consultoria Ltda Projeto Original: sagace-v2-package IDE: PyCharm
- class sagace.core.storage.file_storage.FileTokenStorage(token_file: str)[source]¶
Bases:
TokenStorage
Implementação de TokenStorage para persistência de tokens em arquivos JSON.
Esta classe permite armazenar tokens de autenticação em arquivos JSON para garantir sua persistência, garantindo que as credenciais sejam mantidas mesmo após reinicializações do sistema.
Princípios aplicados:
Single Responsibility Principle (S - SOLID): Responsável apenas por salvar e recuperar tokens de arquivos.
Dependency Inversion Principle (D - SOLID): Depende da abstração TokenStorage, garantindo desacoplamento.
- Parameters:
token_file (str) – Caminho do arquivo onde o token será armazenado.
- _abc_impl = <_abc._abc_data object>¶
sagace.core.storage.memory_storage module¶
Descrição:¶
Este módulo define uma estrutura para gerenciamento de tokens de autenticação dentro do sistema SAGACE. A classe MemoryTokenStorage implementa a interface TokenStorage para armazenar tokens temporariamente na memória, permitindo acesso rápido sem necessidade de persistência em arquivos ou banco de dados.
Principais funcionalidades:
Armazena tokens de autenticação apenas em memória.
Recupera tokens armazenados durante a execução do programa.
Implementa a interface TokenStorage, garantindo flexibilidade e substituição de implementação.
Princípios de Design Aplicados:
Single Responsibility Principle (SRP - SOLID): A classe tem a única responsabilidade de armazenar tokens em memória.
Open/Closed Principle (OCP - SOLID): MemoryTokenStorage pode ser estendida sem modificar seu código-fonte.
Dependency Inversion Principle (DIP - SOLID): MemoryTokenStorage depende da abstração TokenStorage, permitindo flexibilidade.
Classes:
MemoryTokenStorage
: Implementação concreta de TokenStorage utilizando armazenamento em memória.
Exemplo de uso:
from sagace.core import Token, MemoryTokenStorage
token_storage = MemoryTokenStorage()
token = Token(
base_url="https://api.sagace.online",
access_token="abc123",
application_name="Meu App",
description="Token de acesso temporário."
)
token_storage.save_token(token)
retrieved_token = token_storage.get_token()
print(retrieved_token.get_auth_header())
Autor: Diego Yosiura Última Atualização: 27/02/2025 16:24 Criado em: 27/02/2025 16:24 Copyright: (c) Ampere Consultoria Ltda Projeto Original: sagace-v2-package IDE: PyCharm
- class sagace.core.storage.memory_storage.MemoryTokenStorage[source]¶
Bases:
TokenStorage
Implementação de TokenStorage para armazenamento temporário de tokens na memória.
Esta classe permite armazenar tokens de autenticação em memória para acesso rápido, garantindo que os tokens sejam descartados ao final da execução do programa.
Princípios aplicados:
Single Responsibility Principle (S - SOLID): Responsável apenas por armazenar e recuperar tokens na memória.
Dependency Inversion Principle (D - SOLID): Depende da abstração TokenStorage, garantindo desacoplamento.
- _abc_impl = <_abc._abc_data object>¶
sagace.core.storage.redis_storage module¶
Descrição:¶
Este módulo define uma estrutura para gerenciamento de tokens de autenticação dentro do sistema SAGACE. A classe RedisTokenStorage implementa a interface TokenStorage para armazenar tokens em um banco Redis, permitindo recuperação eficiente e persistente dos tokens.
Principais funcionalidades:
Armazena tokens de autenticação no Redis.
Recupera tokens armazenados garantindo sua reutilização.
Implementa a interface TokenStorage, garantindo flexibilidade e substituição de implementação.
Princípios de Design Aplicados:
Single Responsibility Principle (SRP - SOLID): A classe tem a única responsabilidade de armazenar tokens no Redis.
Open/Closed Principle (OCP - SOLID): RedisTokenStorage pode ser estendida sem modificar seu código-fonte.
Dependency Inversion Principle (DIP - SOLID): RedisTokenStorage depende da abstração TokenStorage, permitindo flexibilidade.
Classes:
RedisTokenStorage
: Implementação concreta de TokenStorage utilizando Redis.
Exemplo de uso:
from sagace.core import Token, RedisTokenStorage
token_storage = RedisTokenStorage("redis://localhost:6379/0")
token = Token(
base_url="https://api.sagace.online",
access_token="abc123",
application_name="Meu App",
description="Token de acesso persistente."
)
token_storage.save_token(token)
retrieved_token = token_storage.get_token()
print(retrieved_token.get_auth_header())
Autor: Diego Yosiura Última Atualização: 27/02/2025 16:24 Criado em: 27/02/2025 16:24 Copyright: (c) Ampere Consultoria Ltda Projeto Original: sagace-v2-package IDE: PyCharm
- class sagace.core.storage.redis_storage.RedisTokenStorage(redis_url='redis://localhost:6379/0')[source]¶
Bases:
TokenStorage
Implementação de TokenStorage para persistência de tokens no Redis.
Esta classe permite armazenar tokens de autenticação em Redis para garantir recuperação rápida e persistência, mesmo após a reinicialização do sistema.
Princípios aplicados:
Single Responsibility Principle (S - SOLID): Responsável apenas por salvar e recuperar tokens no Redis.
Dependency Inversion Principle (D - SOLID): Depende da abstração TokenStorage, garantindo desacoplamento.
- Parameters:
redis_url (str) – URL de conexão com o servidor Redis.
- _abc_impl = <_abc._abc_data object>¶
Module contents¶
Description:¶
Obs.:
Author: @diego.yosiura Last Update: 27/02/2025 16:24 Created: 27/02/2025 16:24 Copyright: (c) Ampere Consultoria Ltda Original Project: sagace-v2-package IDE: PyCharm