Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(CC-88): created authenticate endpoint #89

Merged
merged 10 commits into from
Nov 7, 2023

Conversation

ItaloRAmaral
Copy link
Owner

@ItaloRAmaral ItaloRAmaral commented Oct 25, 2023

O que foi modificado?

  • Foi adicionado o endpoint de atutenticação do usuário
  • Foi criado o decorator current-user.decorator.ts o qual retorna as informações do usuário (apenas rotas que não são publicas) que está realizando aquela chamada do endpoint
  • Foi adicionado scripts de setup do projeto: run-setup, run-prisma-setup, docker-compose-control
    -Agora todo endpoint requer que o usuário seja autenticado para poder acessar o endpoint, exceto endpoints que tenha o decorator Public().

Links de referência e etapas para avaliação

  • Faça checkout para esta branch
  • Rode o setup inicial com o seguinte comando: pnpm run core-setup --action=migrate,generate
  • Agora rode o projeto localmente: pnpm exec nx run core-rest-api:serve
  • Abra o arquivo psychologist-client.http e tente executar as chamadas rest para a api
    • Verifique se todas estão funcionando como esperado
  • O novo endpoint: /core/psychologist/login retorna um objeto no seguinte formato:
{
    "id": "string",
    "name": "string",
    "email": "string",
    "access_token": "string"
}

  • Foi adicionado scripts de setup do projeto: run-setup, run-prisma-setup, docker-compose-control

  • Os scripts run-setup e run-prisma-setup ele espera receber uma flag --action na qual pode ser um dos eventos do prisma: migrate, generate, studio, validate

  • O script docker-compose-controltambém espera receber uma flag --actionna qual espera se passar comandos do compose como: up, down, stop e restart

  • Para testar o script run-setup e run-prisma-setup

    • Rode o seguinte comando no terminal: pnpm run core-setup --action=migrate,generate e pnpm run run-prisma-setup --action=studio
  • Para testar o script docker-compose-control

    • Rode o seguinte comando no terminal: pnpm run core-docker-compose --action=up

Palavras-chave

authenticate, psychologist, core-rest-api

Por que foi modificado?

Como foi modificado ?

  • Foi adicionado scripts de setup do projeto: run-setup, run-prisma-setup, docker-compose-control
  • O repositório de Hasher e Encrypter foi passado para o shared da camada core
  • Agora quem hasheia a senha é o use-case da camada core

@ItaloRAmaral ItaloRAmaral added feature New feature or request backend labels Oct 25, 2023
@ItaloRAmaral ItaloRAmaral self-assigned this Oct 25, 2023
@ItaloRAmaral ItaloRAmaral linked an issue Oct 25, 2023 that may be closed by this pull request
12 tasks
@ItaloRAmaral ItaloRAmaral marked this pull request as draft October 25, 2023 16:54
@nx-cloud
Copy link

nx-cloud bot commented Oct 25, 2023

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 9431813. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 2 targets

Sent with 💌 from NxCloud.

@ItaloRAmaral ItaloRAmaral changed the title config(CC-88): config setup bash scripts feat(CC-88): created authenticate endpoint Oct 27, 2023
@ItaloRAmaral ItaloRAmaral marked this pull request as ready for review October 27, 2023 19:03
@luanavfg
Copy link
Collaborator

@ItaloRAmaral
Quando tentei fazer a request da rota http://localhost:3333/core/psychologist/create apareceu o erro:
Fiquei pensando se não seria questão de variáveis de ambiente

image

@ItaloRAmaral ItaloRAmaral reopened this Nov 3, 2023
@ItaloRAmaral
Copy link
Owner Author

ItaloRAmaral commented Nov 3, 2023

@luanavfg , eu fui testar aqui na Dyna. Deu o mesmo erro que o teu, mas aqui eu to sem a JWT_PRIVATE_KEY e a JWT_PUBLIC_KEY

Pra gerar elas, tem comando ali no docs > others > links-to-read
Tem co comando para gerar a private e public key, e depois tem que gerar a base64 de cada uma.

openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 -> private key
openssl rsa -pubout -in private_key.pem -out public_key.pem -> public key

Essas base64 que colocamos no .env
base64 -i private_key.pem > private_key_base64.txt
base64 -i public_key.pem > public_key_base64.txt

Não esqueça de antes de commitar, deletar esses arquivos gerados

Copy link

sonarqubecloud bot commented Nov 3, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@ItaloRAmaral ItaloRAmaral merged commit 7d499a7 into main Nov 7, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Criando endpoint de autenticação de psicólogo
2 participants