Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruan-miguel/product-publishing
Api para publicação de produtos
https://github.com/ruan-miguel/product-publishing
chai faker mocha mongoose mongoose-paginate node nyc typescript
Last synced: 14 days ago
JSON representation
Api para publicação de produtos
- Host: GitHub
- URL: https://github.com/ruan-miguel/product-publishing
- Owner: Ruan-Miguel
- Created: 2020-03-20T18:52:02.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T01:42:23.000Z (almost 2 years ago)
- Last Synced: 2023-03-07T08:27:10.638Z (almost 2 years ago)
- Topics: chai, faker, mocha, mongoose, mongoose-paginate, node, nyc, typescript
- Language: TypeScript
- Homepage:
- Size: 463 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
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
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
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