From 6234e3838f214e2e679afc441788f58f01e663fa Mon Sep 17 00:00:00 2001 From: Rodribm10 <160369324+Rodribm10@users.noreply.github.com> Date: Thu, 15 May 2025 20:39:14 -0300 Subject: [PATCH 1/4] Update docker-compose.yml --- docker-compose.yml | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 98458093..07334f1b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,19 +3,15 @@ version: "3.8" services: api: image: evo-ai-api:latest - build: . - container_name: evo-ai-api depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy + - postgres + - redis ports: - "8000:8000" environment: POSTGRES_CONNECTION_STRING: postgresql://postgres:${POSTGRES_PASSWORD:-postgres}@postgres:5432/evo_ai REDIS_HOST: redis - REDIS_PORT: 6379 + REDIS_PORT: ${REDIS_PORT:-6379} REDIS_PASSWORD: ${REDIS_PASSWORD:-""} REDIS_SSL: "false" REDIS_KEY_PREFIX: "a2a:" @@ -29,7 +25,6 @@ services: volumes: - ./logs:/app/logs - ./static:/app/static - restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/"] interval: 30s @@ -41,12 +36,9 @@ services: limits: cpus: "1" memory: 1G - networks: - - evo-network postgres: image: postgres:14-alpine - container_name: evo-ai-postgres environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} @@ -55,15 +47,12 @@ services: - "${POSTGRES_PORT:-5432}:5432" volumes: - postgres_data:/var/lib/postgresql/data - restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 start_period: 10s - networks: - - evo-network deploy: resources: limits: @@ -72,8 +61,12 @@ services: redis: image: redis:alpine - container_name: evo-ai-redis - command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass ${REDIS_PASSWORD}} + command: + - redis-server + - --appendonly + - "yes" + - --requirepass + - "${REDIS_PASSWORD}" ports: - "${REDIS_PORT:-6379}:6379" volumes: @@ -83,9 +76,6 @@ services: interval: 5s timeout: 30s retries: 50 - restart: unless-stopped - networks: - - evo-network deploy: resources: limits: @@ -97,8 +87,3 @@ volumes: name: ${POSTGRES_VOLUME_NAME:-evo-ai-postgres-data} redis_data: name: ${REDIS_VOLUME_NAME:-evo-ai-redis-data} - -networks: - evo-network: - name: ${NETWORK_NAME:-evo-network} - driver: bridge From 1bcd76595cd28b16834052b958adf63fb9162d15 Mon Sep 17 00:00:00 2001 From: OrionDesign Date: Fri, 16 May 2025 01:51:47 -0300 Subject: [PATCH 2/4] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20Fix:=20importa=C3=A7?= =?UTF-8?q?=C3=A3o=20e=20seeders=20autom=C3=A1ticos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### šŸ“‹ Descrição Esta PR aborda dois pontos crĆ­ticos identificados durante a execução do container da aplicação: #### āœ… Correção de importação no `email_service.py` - Corrigido o caminho da importação: - **De:** `from config.settings import settings` - **Para:** `from src.config.settings import settings` - Essa alteração soluciona o erro `ModuleNotFoundError: No module named 'config'`, que impedia a inicialização da aplicação. #### āœ… Execução automĆ”tica dos seeders via Dockerfile - Adicionado o script de seeders Ć  sequĆŖncia de inicialização da aplicação no Dockerfile. - O comando de inicialização foi alterado para: ```bash alembic upgrade head && python -m scripts.run_seeders && uvicorn src.main:app --host $HOST --port $PORT ``` - Isso garante que os seeders (incluindo o usuĆ”rio admin) sejam executados automaticamente após as migraƧƵes. --- ### šŸ’„ Impacto - Corrige o erro de importação, permitindo que a aplicação seja iniciada corretamente. - Automatiza a criação do usuĆ”rio admin e outros dados iniciais essenciais. - Melhora a experiĆŖncia de primeira execução, eliminando etapas manuais. --- ### āœ… Testes realizados - Verificado que a aplicação inicia corretamente após as alteraƧƵes. - Confirmado que os seeders sĆ£o executados com sucesso, criando o usuĆ”rio admin e outros dados iniciais conforme esperado. --- ### šŸ“ ObservaƧƵes - O novo caminho de importação em `email_service.py` estĆ” alinhado com o padrĆ£o utilizado nos demais arquivos do projeto. - Os seeders sĆ£o executados somente após a conclusĆ£o bem-sucedida das migraƧƵes do banco de dados. --- Dockerfile | 2 +- src/services/email_service.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f7dca666..040fc35e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,4 +34,4 @@ ENV PORT=8000 \ # Expose port EXPOSE 8000 -CMD alembic upgrade head && uvicorn src.main:app --host $HOST --port $PORT \ No newline at end of file +CMD alembic upgrade head && python -m scripts.run_seeders && uvicorn src.main:app --host $HOST --port $PORT \ No newline at end of file diff --git a/src/services/email_service.py b/src/services/email_service.py index bf234ab7..debd4a3c 100644 --- a/src/services/email_service.py +++ b/src/services/email_service.py @@ -37,7 +37,7 @@ import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from pathlib import Path -from config.settings import settings +from src.config.settings import settings logger = logging.getLogger(__name__) From 6d7b1194d0e92ba5362e5da05320d43ee4bb6492 Mon Sep 17 00:00:00 2001 From: OrionDesign Date: Fri, 16 May 2025 03:44:23 -0300 Subject: [PATCH 3/4] =?UTF-8?q?=E2=9C=89=EF=B8=8F=20Verifica=C3=A7=C3=A3o?= =?UTF-8?q?=20manual=20por=20e-mail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### šŸ“‹ Descrição Esta PR modifica o comportamento padrĆ£o de verificação de usuĆ”rios no sistema, alterando o parĆ¢metro `auto_verify` de `True` para `False` durante a criação de novos usuĆ”rios. #### āœ… Alteração especĆ­fica - Aplica-se ao serviƧo `client_service`. - O valor `auto_verify=True` foi alterado para `False`. --- ### šŸš€ Motivação Atualmente, as contas sĆ£o aprovadas automaticamente sem que o usuĆ”rio defina uma senha, o que obriga o uso da funcionalidade de "Esqueci minha senha" para definir uma senha e acessar o painel. Esta PR tem como objetivo permitir que o usuĆ”rio verifique a conta via e-mail, o que ativa a conta e permite que ele defina a senha de forma imediata, melhorando a experiĆŖncia do usuario. Objetivos principais: - **Maior seguranƧa:** ForƧar a verificação por e-mail de novos usuĆ”rios, garantindo que apenas contas confirmadas possam acessar o sistema. - **Melhoria na experiĆŖncia do usuĆ”rio:** Eliminar a dependĆŖncia do fluxo de "Esqueci minha senha" logo após o cadastro pelo administrador. --- ### šŸ’„ Impacto - SerĆ” necessĆ”rio que o usuĆ”rio confirme o cadastro via e-mail para ativar a conta e definir a senha. - O processo de onboarding de novos usuĆ”rios se torna mais controlado e seguro. --- ### āœ… Testes realizados - Verificado que novos usuĆ”rios sĆ£o criados com status de **nĆ£o verificado**. - Confirmado que apenas após a confirmação via e-mail o usuĆ”rio pode acessar e definir a senha. - Testado o **fluxo completo de registro e verificação manual por e-mail**. --- ### šŸ“ ObservaƧƵes - Esta alteração **nĆ£o afeta usuĆ”rios jĆ” existentes** no sistema. - O administrador pode cadastrar um novo usuĆ”rio informando apenas nome e e-mail. - O próprio usuĆ”rio deve confirmar a conta por e-mail para poder criar a senha e acessar o sistema. --- src/services/client_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/client_service.py b/src/services/client_service.py index ad4bed08..9ec0e4d6 100644 --- a/src/services/client_service.py +++ b/src/services/client_service.py @@ -154,7 +154,7 @@ def create_client_with_user( # Use client ID to create the associated user user, message = create_user( - db, user_data, is_admin=False, client_id=client.id, auto_verify=True + db, user_data, is_admin=False, client_id=client.id, auto_verify=False ) if not user: From c916b7a660802c179310df48dce34411f721916c Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Fri, 16 May 2025 12:15:41 -0300 Subject: [PATCH 4/4] chore(changelog): update changelog for version 0.0.11 with service fixes --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aaee5c0..640d581f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.0.11] - 2025-05-16 + +### Changed + +- Fixes on email service and client service + ## [0.0.10] - 2025-05-15 ### Added