Essa API faz parte da arquitetura de microsserviços do projeto SiGeD
, sua funcionalidade é possibilitar o controle dos dados dos clientes.
Gostaria de contribuir com nosso projeto? Acesse o nosso guia de contribuição onde são explicados todos os passos. Caso reste duvidas você também pode entrar em contato conosco criando uma issue.
A documentação do projeto pode ser acessada pelo nosso site em https://fga-eps-mds.github.io/2020-2-SiGeD/ ou você pode acessar pela SiGeD Documentação
Todas as funções adicionadas nessa API devem ser testadas, o repositório aceita até 10% do total de lihas não testadas. Para rodar os testes nesse repositŕio deve ser executado o comando:
docker-compose run api_clients bash -c "yarn && yarn jest --coverage --forceExit"
O arquivo .env possui configurações iniciais que podem ser alteradas de acordo com a necessidade. São elas:
- SECRET: chave para criptografia das senhas.
- DB_USER: usuário de acesso ao banco de dados.
- DB_PASS: senha de acesso ao banco de dados.
- DB_NAME: nome da base de dados.
- DB_HOST: host da base de dados.
- USERS_URL: conexão entre a api de usuários e clientes.
Se os servidores mudarem, deve-se colocar o IP os campos CLIENTS_URL e USERS_URL.
Veja o exemplo abaixo:
SECRET=chavedesegredo
DB_USER=api_user
DB_PASS=api_password
DB_NAME=clients_database
DB_HOST=db_clients
USERS_URL=backend_users
Para rodar a API é preciso usar os seguintes comandos usando o docker:
Crie uma network para os containers da API, caso não exista:
docker network create siged_backend
Suba o container com o comando:
docker-compose up
A API estará rodando na porta 3002.
GET: /clients/
Para receber os dados dos clientes ativos.
GET: /clients/:id
Para receber os dados de um cliente específico utilizando o id
.
GET: /clients/newest-four
Para receber os dados dos últimos quatro clientes cadastrados.
GET: /clients/history:id
Para receber o historico de setores de um cliente específico utilizando o id
.
GET: /features/
Para receber os dados de todas as características cadastradas.
POST: /featuresbyid/
Para adicionar novas características à um cliente.
{
"featuresList": "[ id, id2, ... ]",
}
POST: /feature/create
Para criar uma nova característica.
{
"name": "Nome da Caractrística",
"description": "Descrição da Característica",
"color": "#000000",
}
POST: /clients/create
Para criar um novo cliente, envie os dados nesse formato:
{
"name": "Nome do Cliente",
"cpf": "00000000000",
"email": "cliente@email.com",
"phone": "999999999",
"office": "Cargo",
"policeStation": "Locação",
"city": "Cidade"
}
PUT: /clients/update/:id
Para atualizar os dados do cliente, envie os dados atualizados seguindo o padrão:
{
"name": "Nome do Cliente",
"cpf": "00000000000",
"email": "cliente@email.com",
"phone": "999999999",
"office": "Cargo Atualizado",
"policeStation": "Locação Atualizada",
"city": "Cidade Atualizada"
}
PUT: /clients/toggleStatus/:id
Para desativar ou reativar um cliente pelo id
.
PUT: /feature/update/:id
Para atualizar uma característica existente pelo id
.
{
"name": "Nome da Caractrística",
"description": "Descrição da Característica",
"color": "#000000",
}
DELETE: /feature/delete/:id
Para deletar uma característica pelo id
.