Skip to content

bdouram/APICondominium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Condomínio

Requisitos

MongoDB 3.6.
NodeJS v.8.11.1 ou maior.
Postman - opcional - (Para testes)

Após Clonar o Repositório

No diretório, digite:

npm install

Para executar a API (modo de desenvolvedor), ainda no diretório, digite:

npm run dev

Rotas adotadas

  • Rotas abertas (sem necessidade de autenticação).
http:https://localhost:3000/oapi/login
http:https://localhost:3000/oapi/signup
http:https://localhost:3000/oapi/validateToken
  • Rotas fechadas (necessidade de autenticação).
http:https://localhost:3000/api/condominium 			// Capturando todos os documentos da coleção.
http:https://localhost:3000/api/condominium/name 		// Filtrando por nome do residente.
http:https://localhost:3000/api/condominium/block 		//Filtrando documentos por bloco
http:https://localhost:3000/api/condominium/apartament 	//Filtrando documentos por apartamento
http:https://localhost:3000/api/condominium/apartament_block 	//Filtrando documentos por um bloco e um apartamento

Para gerar um token, é necessário fazer uma request utilizando POST para:

http:https://localhost:3000/oapi/signup 

com os seguintes parâmetros (com valores de exemplo):

{
	"name":"Bruno",
	"password":"AaBbC1@",
	"confirm_password":"AaBbC1@",
	"email":"[email protected]"
}

Todos os passwords devem ser do tipo string e a senha deve ter uma letra maiúscula, uma letra minúscula, um número, uma caractere especial(@#$ %) e tamanho entre 6 - 20.

Após o POST, o seguinte resultado é gerado:

    "name": "Bruno",
    "email": "[email protected]",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyIkX18iOnsic3RyaWN0TW9kZSI6dHJ1ZSwic2VsZWN0ZWQiOnt9LCJnZXR0ZXJzIjp7fSwiX2lkIjoiNWFkZjIwZTBlODhjYjAxYjBjZGVjNjI3Iiwid2FzUG9wdWxhdGVkIjpmYWxzZSwiYWN0aXZlUGF0aHMiOnsicGF0aHMiOnsicGFzc3dvcmQiOiJpbml0IiwiZW1haWwiOiJpbml0IiwibmFtZSI6ImluaXQiLCJfaWQiOiJpbml0IiwiX192IjoiaW5pdCJ9LCJzdGF0ZXMiOnsiaWdub3JlIjp7fSwiZGVmYXVsdCI6e30sImluaXQiOnsiX2lkIjp0cnVlLCJuYW1lIjp0cnVlLCJlbWFpbCI6dHJ1ZSwicGFzc3dvcmQiOnRydWUsIl9fdiI6dHJ1ZX0sIm1vZGlmeSI6e30sInJlcXVpcmUiOnt9fSwic3RhdGVOYW1lcyI6WyJyZXF1aXJlIiwibW9kaWZ5IiwiaW5pdCIsImRlZmF1bHQiLCJpZ25vcmUiXX0sInBhdGhzVG9TY29wZXMiOnt9LCJlbWl0dGVyIjp7ImRvbWFpbiI6bnVsbCwiX2V2ZW50cyI6e30sIl9ldmVudHNDb3VudCI6MCwiX21heExpc3RlbmVycyI6MH0sIiRvcHRpb25zIjp0cnVlfSwiaXNOZXciOmZhbHNlLCJfZG9jIjp7Il9pZCI6IjVhZGYyMGUwZTg4Y2IwMWIwY2RlYzYyNyIsIm5hbWUiOiJCcnVubyIsImVtYWlsIjoidGVzdGUxQHRlc3RlMS5iciIsInBhc3N3b3JkIjoiJDJhJDEwJGp3cGZNZFVadHpkRXdyMUU5Mms4VnVlL05NZk5MMTNjem1BUnFJLk9aSFBVUzAyZjBLZmNDIiwiX192IjowfSwiJGluaXQiOnRydWUsImlhdCI6MTUyNDU3MjM4NSwiZXhwIjoxNTI0NjU4Nzg1fQ.vy8xtnZxNkhVxjo8_9HjW7KrjlLVIRLZzglPDRxdIe4"

O Token gerado deve ser enviado em cada requisição GET e POST.

Parâmetros e rotas

Devem ser adotados os seguintes parâmetros na requisição para cada rota:

 -- GET E POST --

http:https://localhost:3000/api/condominium

(GET)

{"token":"..."}

(POST)
{   
    "token":"...",
    "block": 1,
    "numberApartment":1,
    "resident":{
        "name":"Foo Bar",
        "email":"[email protected]"
    },
    "phone": 999999999, [opcional]
    "documment":{ [opcional]
        rg:11111111,
        cpf:99999999999
    }
}
(GET)
http:https://localhost:3000/api/condominium/name

{"name":"Foo Bar","token":"..."}
(GET)
http:https://localhost:3000/api/condominium/block

{"block":1,"token":"..."}
(GET)
http:https://localhost:3000/api/condominium/apartament

{"apartament":1,"token":"..."}
(GET)
http:https://localhost:3000/api/condominium/apartament_block

{"apartament":1,"block":1,"token":"..."}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published