|
Espera que no body da requisiĆ§Ć£o venha os dados do usuĆ”rio e os insere na tabela usuario_model
do banco de dados.
Exemplo
{
"userName": "leandrocotrim",
"password": "senha123",
"id": 1,
"online": false
}
Espera que no body da requisiĆ§Ć£o venha os dados do usuĆ”rio, verifica se condizem com um usuĆ”rio do banco e retorna um token JWT
de acesso, que tambƩm Ʃ armazenado no redis.
Exemplo
{
"online": true,
"auth_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEsImlhdCI6MTcwMTE3NTY4NH0.eHw5vARTyqJQwAXiMboR-Ni9KUDg36cn6U6QFXB42dM"
}
Espera que no header da requisiĆ§Ć£o venha user_id e x-acess-token , verifica se condizem com um usuĆ”rio do banco e realiza o logout definindo o status online para false e o valor armazenado no redis em branco.
Exemplo de entrada
{
"user_id": 1,
"x-acess-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEsImlhdCI6MTcwMTE0MjQwM30.XyXoimPmbOJaSRF06dgQa_2PXmcvylbA6RwnJfyYFLQ"
}
Essa requisiĆ§Ć£o espera conter o token gerado no login
em seu header na chave x-acess-token
, junto com o id do usuƔrio tambƩm em um header na chave user_id
Exemplo de retorno
[
{
"userName": "leandrocotrim",
"password": "senha123",
"online": true
},
{
"userName": "gabrielcotrim",
"password": "senha321",
"online": true
}...
]
Essa requisiĆ§Ć£o espera conter o user_id e token gerado no login
em seu header na chave e tambƩm um body contendo os novos dadosx-acess-token
Altera o usuĆ”rio especificado na URL da requisiĆ§Ć£o, para o novo body informado.
Exemplo de retorno da URL `/api/v1/usuario/1`
{
"userName": "loginNovo",
"password": "senhaNova"
}
Essa requisiĆ§Ć£o espera conter o token gerado no login
em seu header na chave x-acess-token
Remove o usuario especificado pela URL.
Exemplo de retorno da URL `/api/v1/usuario/1`
{
"data": "O usuario com o id 2 foi deletado com sucesso!"
}
Espera que no body da requisiĆ§Ć£o venha os dados do filme e os insere na tabela filme_model
do banco de dados. TambƩm espera conter o token gerado no login
em seu header na chave x-acess-token
, junto com o id do usuƔrio tambƩm em um header na chave user_id
Exemplo de retorno
{
"nome": "Homem-Aranha 4",
"genero": "Super-heroi",
"lancamento": 2025,
"duracao": "02:19",
"id": 4
}
Essa requisiĆ§Ć£o espera conter o token gerado no login
em seu header na chave x-acess-token
, junto com o id do usuƔrio tambƩm em um header na chave user_id
Exemplo de retorno
"data": [
{
"id": 2,
"nome": "Homem-Aranha 3",
"genero": "Super-heroi",
"lancamento": 2007,
"duracao": "02:19"
},
{
"id": 3,
"nome": "Xmen",
"genero": "Super-heroi",
"lancamento": 2007,
"duracao": "02:19"
},
{
"id": 4,
"nome": "Homem-Aranha 4",
"genero": "Super-heroi",
"lancamento": 2025,
"duracao": "02:19"
}
]
Essa requisiĆ§Ć£o espera conter o user_id e token gerado no login
em seu header na chave e tambƩm um body contendo os novos dadosx-acess-token
Altera o filme especificado na URL da requisiĆ§Ć£o, para o novo body informado.
Exemplo de retorno da URL `/api/v1/filme/1`
{
"id": 2,
"nome": "Homem-Aranha 3",
"genero": "Super-heroi",
"lancamento": 2007,
"duracao": "02:19"
}
Essa requisiĆ§Ć£o espera conter o token gerado no login
em seu header na chave x-acess-token
Remove o filme especificado pela URL.
Exemplo de retorno da URL `/api/v1/filme/1`
{
"data": "O filme com o id 4 foi deletado com sucesso!"
}
Atualmente estou utilizando a plataforma Render para realizar o deploy da aplicaĆ§Ć£o e os bancos, Ć© possĆvel acessar o deploy realizado neste link: https://cinme-mks.onrender.com/api/v1/swagger
- Clone o repositĆ³rio
$ git clone https://github.com/leandroSalesCotrim/crud-mks.git
- Entre na pasta raĆz do projeto
$ cd crud-mks
- Instale as dependencias
$ npm install
- Crie um arquivo
.env
contendo o conteudo abaixo
POSTGRES_DB=mksCinema
POSTGRES_USER=mksUser
POSTGRES_PASSWORD=mksPassword
POSTGRES_HOST=nest-postgres
REDIS_HOST=nest-redis
JWT_SECRET=segredoSecreto
- Suba os containers jĆ” configurado com a aplicaĆ§Ć£o e bancos
$ docker-compose up
Caso queira modificar a aplicaĆ§Ć£o e ir realizando testes vocĆŖ pode executar apenas os comandos abaixo
- Liste os container para visualizar o id dos container dos bancos redis e postgres
$ docker ps -a
- Inicie o container do postgres
$ docker start id_do_container_postgres
- Inicie o container do redis
$ docker start id_do_container_redis
5)Altere as varivaveis do arquivo .env para utilizar o localhost
REDIS_HOST=localhost
POSTGRES_HOST=localhost
6)Incie a aplicaĆ§Ć£o localmente
$ npm run start:dev