Skip to content

Ruan-Miguel/Product-publishing

Repository files navigation

Product-publishing

API para publicação de produtos

Requisitos de funcionamento

  1. Mongodb funcionando na porta 27017

Scripts disponíveis

yarn dev

Executa o aplicativo no modo de desenvolvimento
Qualquer mudança salva reiniciará o servidor automaticamente

yarn test

Executa os testes da API

yarn cover

Mostra a cobertura do código pelos testes

Autentição

As rotas dessa API que requerem autenticação utilizam de tokens jwt

Rotas

  • Criação de usuário

Cria um usuário e retorna um token de acesso

URL

POST http://localhost:8080/users

Informações

Requer autenticação? Não

Parâmetros

name Required Nome atribuído a conta string
email Required Utilizado para login string
password Required Utilizado para login string
dateOfBirth Required Utilizado para definir a idade do usuário string no formato: yyyy-mm-dd

  • Login de usuário

Autentica o usuário no sistema e retorna um token de acesso

URL

POST http://localhost:8080/users/login

Informações

Requer autenticação? Não

Parâmetros

email Required string
password Required string

  • Busca de usuário

Realiza uma busca por usuários que possuam os parâmetros enviados

URL

GET http://localhost:8080/users

Informações

Requer autenticação? Não

Parâmetros

_id Optional string Caso este parâmetro seja informado, qualquer outro parâmetro que também tenha sido informado será desconsiderado e apenas será retornado o usuário a que esse _id pertence, sem o uso de paginação
page Optional unsigned integer Caso este parâmetro não seja informado, e a pesquisa em questão fizer uso de paginação, este parâmetro receberá o valor 1 como default
limit Optional unsigned integer Caso este parâmetro não seja informado, e a pesquisa em questão fizer uso de paginação, este parâmetro receberá o valor 10 como default
name Optional string Caso este parâmetro seja informado, será feita uma busca por usuários que possuam a string informada inclusa em seus nomes. Para esse parâmetro a busca não diferencia letras maiúsculas e minúsculas
email Optional string Caso este parâmetro seja informado, será feita uma busca por usuários que possuam a string informada inclusa em seus emails. Para esse parâmetro a busca não diferencia letras maiúsculas e minúsculas

  • Remoção de usuário

Remove o usuário e seus produtos do banco de dados com base no token de acesso fornecido

URL

DEL http://localhost:8080/users

Informações

Requer autenticação? Sim

  • Criação de produto

Cria um produto e retorna seu id

URL

POST http://localhost:8080/products

Informações

Requer autenticação? Sim

Parâmetros

name Required string
description Optional string
categories Required array de strings
price Required número real positivo
image Required string

  • Busca de produto

Realiza uma busca por produtos que possuam os parâmetros enviados

URL

GET http://localhost:8080/products

Informações

Requer autenticação? Não

Parâmetros

_id Optional string Caso este parâmetro seja informado, qualquer outro parâmetro que também tenha sido informado será desconsiderado e apenas será retornado o produto a que esse _id pertence, sem o uso de paginação
page Optional unsigned integer Caso este parâmetro não seja informado, e a pesquisa em questão fizer uso de paginação, este parâmetro receberá o valor 1 como default
limit Optional unsigned integer Caso este parâmetro não seja informado, e a pesquisa em questão fizer uso de paginação, este parâmetro receberá o valor 10 como default
name Optional string Caso este parâmetro seja informado, será feita uma busca por produtos que possuam a string informada inclusa em seus nomes. Para esse parâmetro a busca não diferencia letras maiúsculas e minúsculas
categories Optional string Caso este parâmetro seja informado, será feita uma busca por produtos que possuam essa categoria
owner Optional string Caso este parâmetro seja informado, será feita uma busca por produtos que pertençam a esse propietário
maxPrice Optional números reais positivos Caso este parâmetro seja informado, será feita uma busca por produtos q possuam preço menor que este

  • Atualização de produto

Atualiza as propriedades do produto informado

URL

PTCH http://localhost:8080/products

Informações

Requer autenticação? Sim

Parâmetros

productId Required string
description Optional string
categories Optional array de string
price Optional número real positivo
image Optional string

  • Remoção de produto

Remove o produto informado do banco de dados

URL

DEL http://localhost:8080/products

Informações

Requer autenticação? Sim

Parâmetros

productId Required string