Skip to content

API eFix

Isaias Carvalho edited this page Nov 9, 2019 · 16 revisions

A API foi desenvolvida em Node.js e posta online na Google Cloud Plataform.

Realizando Requisições

O arquivo eFix/eFix/src/services/API.js fornece funções de encapsulamento para realizar as requisições.
Para isso é necessário realizar a importação do arquivo para poder utilizá-las. No cabeçalho do arquivo deve-se inserir
import api from './services/API';
Isto supondo que o arquivo no qual está sendo feita a importação se encontra na pasta eFix/eFix/src/
Assim as funções estarão visíveis para serem usadas.

Os métodos da API são de acesso assíncrono aos dados contidos no Firebase. Portanto, para utilizá-los se faz necessário o uso do prefixo await antes da chamada do método. Exemplo:
const response = await api.getServices();

Metodos da API

Serviços

getServices()

Recupera todos os serviços cadastrados.

Argumentos

O método não recebe nenhum argumento.

Retorno

O método retorna um json com um único campo chamado "servicos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um serviço específico com todos os seus dados. O método retorna um um erro caso seja impossível realizar a recuperação dos serviços.

getServicesByCategory()

Retorna todos os serviços de uma categoria específica.

Argumentos

O método recebe como argumento uma String com o nome da categoria que deve ser retornada.

Retorno

O método retorna um json com um único campo chamado "servicos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um serviço específico com todos os seus dados. O método retorna um um erro caso seja impossível realizar a recuperação dos serviços.

getServicesById()

Retorna um serviço específico.

Argumentos

O método recebe como argumento uma String com o ID do serviço que deve ser retornado.

Retorno

O método retorna um json com um único campo chamado "servicos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um serviço específico com todos os seus dados.
O método retorna um um erro caso seja impossível realizar a recuperação do serviço.

getServicesUnderPrice()

Retorna um serviço específico.

Argumentos

O método recebe como argumento uma String com o valor máximo dos serviços que devem ser retornados.

Retorno

O método retorna um json com um único campo chamado "servicos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um serviço específico com todos os seus dados.
O método retorna um um erro caso seja impossível realizar a recuperação do serviço.

getServicesSearch()

Retorna todos os serviços que contenham no nome as palavras informadas. Palavras com menos de 3 caracteres são desconsideradas.

Argumentos

O método recebe como argumento uma String com as palavras que o nome do serviço deve ter para ser retornado.

Retorno

O método retorna um json com um único campo chamado "servicos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um serviço específico com todos os seus dados. O método retorna um um erro caso seja impossível realizar a recuperação dos serviços.

createService()

Cria um serviço novo no banco de dados.

Argumentos

O método recebe como argumento um json contendo os dados do novo serviço. O json deve ser o seguinte formato:

{
        "categoria": "Jardinagem",
        "descricao": "Aparo sua grama baratinho",
        "id_prestador": "zeca0332",
        "id_servico": "suadh0uhu1uh232ewqeq1",
        "nome": "Aparo de Grama",
        "preco": "20"
}

Retorno

O método retorna um um erro caso seja impossível realizar a criação do serviço.

Categoria

createCategory()

Cria uma categoria com os dados fornecidos no banco de dados.

Argumentos

O método recebe um json contendo os dados da nova categoria como argumento.

{
    "id": "c001",
    "nome": "Encanador"
}

Retorno

O método retorna um um erro caso seja impossível realizar a criação da categoria.

getCategories()

Recupera todos as categorias cadastradas.

Argumentos

O método não recebe nenhum argumento.

Retorno

O método retorna um json com um único campo chamado "categorias" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam uma categoria específica com todos os seus dados.

"categorias": {
    [
    {
        "id": "c001",
        "nome": "Encanador"
    },
    {
        "id": "c002",
        "nome": "Eletricista"
    }
    ]
}

updateCategoryName()

Atualiza o nome de uma categoria.

Argumentos

O método recebe um json no formato demonstrado contendo o novo nome e o id original como argumento.

Retorno

O método retorna um um erro caso seja impossível realizar a criação da categoria.

deleteCategory()

Deleta uma categoria.

Argumentos

O método recebe um json no formato demonstrado representando a categoria a ser deletada como argumento.

Retorno

O método retorna um um erro caso seja impossível realizar a criação da categoria.

Usuário

createUser()

Cria no banco de dados um usuário com os dados fornecidos.

Argumentos

O método recebe um json contendo os dados da novo usuário como argumento.

{
	"nome": "Xonas Texeiro",
	"senha": "cabadapeste",
	"email": "meuemail@example.com",
	"endereco": "Rua do Cangaço, 34555, ZP, Teresina, PI"
}

Retorno

O método retorna um um erro caso seja impossível realizar a criação.

getUser()

Recupera todos os dados de um usuário.

Argumentos

O método recebe um id de usuário como argumento.

Retorno

O método retorna um json que representa um usuário com todos os seus dados.

updateUser()

Atualiza os dados de um usuário.

Argumentos

O método recebe um json no formato demonstrado contendo o os novos valores como argumento.

Retorno

O método retorna um um erro caso seja impossível realizar a atualização.

deleteUser()

Deleta um usuário.

Argumentos

O método recebe um id do usuário a ser deletado como argumento.

Retorno

O método retorna um um erro caso seja impossível deletar.

Prestador

createProvider()

Cria no banco de dados um prestador com os dados fornecidos.

Argumentos

O método recebe um json contendo os dados do novo prestador como argumento.

{
	"id_usuario": "óusbduaishbahuydtd3lj44hb13oysdoasgtudo3jg4134o1",
	"bio": "Sou um eletricista muito louco"
}

Retorno

O método retorna um um erro caso seja impossível realizar a criação.

getProvider()

Recupera todos os dados de um prestador de serviços.

Argumentos

O método recebe um id de prestador como argumento.

Retorno

O método retorna um json que representa um prestador com todos os seus dados.

getProvidersList()

Recupera todos os prestadores cadastrados.

Argumentos

O método não recebe nenhum argumento.

Retorno

O método retorna um json com um único campo chamado "prestadores" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um prestador específico com todos os seus dados.

updateProvider()

Atualiza os dados de um prestador.

Argumentos

O método recebe um json no formato demonstrado contendo o os novos valores como argumento.

Retorno

O método retorna um um erro caso seja impossível realizar a atualização.

deleteProvider()

Deleta um prestador.

Argumentos

O método recebe um id do prestador a ser deletado como argumento.

Retorno

O método retorna um um erro caso seja impossível deletar.

changeProviderDisponibility()

Troca o status de um prestador.

Argumentos

O método recebe um id do prestador a ser atualizado como argumento.

Retorno

O método retorna um um erro caso seja impossível modificar.

Contrato

createProvider()

Cria no banco de dados um contrato com os dados fornecidos.

Argumentos

O método recebe um json contendo os dados do novo contrato como argumento.

{
	"id_prestador": "2f5f7bbeb1024442922992ab22383faae088e3b35957909979dfb65233876c6e",
	"id_usuario": "34d61fb7f20eb7e0538544b4b09bfb429b02ddc704a3b7f66ab75cb5ba438397",
	"id_servico": "a05f51c3bbb449a2b391926af22bd510be1acc7995237c69d0e3961cc8d680cb",
	"data": "10/11/2019"
}

Retorno

O método retorna um um erro caso seja impossível realizar a criação.

getContractList()

Recupera todos os contratos.

Argumentos

O método não recebe nenhum argumento.

Retorno

O método retorna um json com um único campo chamado "contratos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um contrato específico com todos os seus dados.

getContract()

Recupera todos os dados de um contrato.

Argumentos

O método recebe um id de contrato commo argumento.

Retorno

O método retorna um json que representa um contrato com todos os seus dados.

updateContract()

Atualiza os dados de um contrato.

Argumentos

O método recebe um json no formato demonstrado contendo o os novos valores como argumento.

Retorno

O método retorna um um erro caso seja impossível realizar a atualização.

deleteContract()

Deleta um contrato.

Argumentos

O método recebe um id do contrato a ser deletado como argumento.

Retorno

O método retorna um um erro caso seja impossível deletar.

closeContract()

Troca o status de um contrato para encerrado.

Argumentos

O método recebe um id do contrato a ser atualizado como argumento.

getUserContracts()

Recupera todos os contratos de um usuário.

Argumentos

O método recebe um id de usuário como argumento.

Retorno

O método retorna um json com um único campo chamado "contratos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um contrato específico com todos os seus dados.

getProviderContracts()

Recupera todos os contratos de um prestador.

Argumentos

O método recebe um id de prestador como argumento.

Retorno

O método retorna um json com um único campo chamado "contratos" que tem como valor um array contendo um json por elemento, sendo estes por sua vez representam um contrato específico com todos os seus dados.

addContractReview()

Adiciona uma avaliação ao contrato.

Argumentos

O método recebe um id de contrato como argumento.

Retorno

O método não retorna nada em caso de sucesso. Ou um erro em caso de falha.

Clone this wiki locally