Skip to content

feat: estabelecer identidade e isolamento entre organizações - #7

Closed
flpksh wants to merge 8 commits into
mainfrom
codex/stage-2-identity-tenancy
Closed

feat: estabelecer identidade e isolamento entre organizações#7
flpksh wants to merge 8 commits into
mainfrom
codex/stage-2-identity-tenancy

Conversation

@flpksh

@flpksh flpksh commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Objetivo

Estabelecer a base de identidade e multi-tenancy do RelayGuard na Etapa 2.

Principais alterações

  • autenticação com emissão e validação de tokens JWT;
  • criação e consulta de usuários autenticados;
  • cadastro e consulta de organizações;
  • isolamento de acesso por organização (tenant);
  • modelos, schemas, repositórios e serviços para identidade;
  • exceções e respostas de erro padronizadas;
  • migração Alembic reversível para usuários e organizações;
  • configuração e documentação atualizadas;
  • ampliação da suíte automatizada para os novos fluxos.

Validação realizada

  • 18 testes aprovados;
  • cobertura total de 86,87%;
  • Ruff sem ocorrências;
  • formatação Ruff validada;
  • MyPy aprovado em 33 arquivos;
  • migração Alembic testada em avanço e reversão em banco temporário;
  • migração aplicada ao banco local;
  • serviços Docker verificados como saudáveis;
  • OpenAPI conferida na versão 0.2.0 com autenticação HTTP Bearer.

Observação de publicação

O protocolo Git HTTPS retornou erro interno do GitHub durante o envio. O commit foi publicado pela API oficial de objetos Git, com conferência dos blobs e da árvore completa. O conteúdo local e remoto foi comparado e está idêntico.

flpksh and others added 8 commits August 11, 2026 21:39
Fortalecer a base do RelayGuard
* chore: fortalecer a automação de dependências

* fix: atualizar o pytest com segurança
Atualiza o grupo github-actions com 2 atualizações: [actions/checkout](https://github.com/actions/checkout) e [actions/setup-python](https://github.com/actions/setup-python).


Atualiza `actions/checkout` de 5.1.0 para 7.0.1
- [Notas de versão](https://github.com/actions/checkout/releases)
- [Registro de alterações](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Histórico de commits](actions/checkout@fbc6f39...3d3c42e)

Atualiza `actions/setup-python` de 6.3.0 para 7.0.0
- [Notas de versão](https://github.com/actions/setup-python/releases)
- [Histórico de commits](actions/setup-python@ece7cb0...5fda3b9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/setup-python
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ções (#5)

Atualiza o grupo de dependências Python com 12 atualizações:

| Pacote | De | Para |
| --- | --- | --- |
| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.5` | `1.19.1` |
| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.31.0` |
| [fastapi](https://github.com/fastapi/fastapi) | `0.116.1` | `0.141.1` |
| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.5.4` |
| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.10.1` | `2.15.0` |
| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.12` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.51` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.52.1` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.1` |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.1.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.12.9` | `0.16.2` |
| [mypy](https://github.com/python/mypy) | `1.17.1` | `2.3.0` |


Atualiza `alembic` de 1.16.5 para 1.19.1
- [Notas de versão](https://github.com/sqlalchemy/alembic/releases)
- [Registro de alterações](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Histórico de commits](https://github.com/sqlalchemy/alembic/commits)

Atualiza `asyncpg` de 0.30.0 para 0.31.0
- [Notas de versão](https://github.com/MagicStack/asyncpg/releases)
- [Histórico de commits](MagicStack/asyncpg@v0.30.0...v0.31.0)

Atualiza `fastapi` de 0.116.1 para 0.141.1
- [Notas de versão](https://github.com/fastapi/fastapi/releases)
- [Histórico de commits](fastapi/fastapi@0.116.1...0.141.1)

Atualiza `greenlet` de 3.2.4 para 3.5.4
- [Registro de alterações](https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst)
- [Histórico de commits](python-greenlet/greenlet@3.2.4...3.5.4)

Atualiza `pydantic-settings` de 2.10.1 para 2.15.0
- [Notas de versão](https://github.com/pydantic/pydantic-settings/releases)
- [Histórico de commits](pydantic/pydantic-settings@2.10.1...v2.15.0)

Atualiza `psycopg2-binary` de 2.9.10 para 2.9.12
- [Registro de alterações](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Histórico de commits](psycopg/psycopg2@2.9.10...2.9.12)

Atualiza `sqlalchemy` de 2.0.43 para 2.0.51
- [Notas de versão](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Registro de alterações](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Histórico de commits](https://github.com/sqlalchemy/sqlalchemy/commits)

Atualiza `uvicorn` de 0.35.0 para 0.52.1
- [Notas de versão](https://github.com/Kludex/uvicorn/releases)
- [Registro de alterações](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Histórico de commits](Kludex/uvicorn@0.35.0...0.52.1)

Atualiza `pytest` de 9.0.3 para 9.1.1
- [Notas de versão](https://github.com/pytest-dev/pytest/releases)
- [Registro de alterações](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Histórico de commits](pytest-dev/pytest@9.0.3...9.1.1)

Atualiza `pytest-cov` de 6.2.1 para 7.1.0
- [Registro de alterações](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Histórico de commits](pytest-dev/pytest-cov@v6.2.1...v7.1.0)

Atualiza `ruff` de 0.12.9 para 0.16.2
- [Notas de versão](https://github.com/astral-sh/ruff/releases)
- [Registro de alterações](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Histórico de commits](astral-sh/ruff@0.12.9...0.16.2)

Atualiza `mypy` de 1.17.1 para 2.3.0
- [Registro de alterações](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Histórico de commits](python/mypy@v1.17.1...v2.3.0)

---
updated-dependencies:
- dependency-name: alembic
  dependency-version: 1.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: asyncpg
  dependency-version: 0.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: fastapi
  dependency-version: 0.141.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: greenlet
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: pydantic-settings
  dependency-version: 2.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: psycopg2-binary
  dependency-version: 2.9.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: sqlalchemy
  dependency-version: 2.0.51
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: uvicorn
  dependency-version: 0.52.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: pytest-cov
  dependency-version: 7.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-dependencies
- dependency-name: ruff
  dependency-version: 0.16.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: mypy
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Luis Felipe <33140725+flpksh@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant