/time-manager

API REST para facilitar o gerenciamento de horários

Primary LanguageTypeScriptMIT LicenseMIT

Time-Manager

API REST para facilitar o gerenciamento de horários.


Requirements 📋

  • Node.js

Getting Started 🎬

Clone the repository

$ git clone https://github.com/Tutuviz/time-manager.git

$ cd time-manager

Dependencies

$ npm install

Running

$ npm start

Endpoints 📌

Toda a documentação pode ser encontrada em: https://explore.postman.com/templates/11833/time-manager


Criar Regra ➕

Método: POST
Host: localhost:8081
Rota: /create

Request:

{
	"day": "25-06-2018",
	"intervals": [
		{
			"start": "09:30",
			"end": "10:20"
		}
	]
}

Return:

{
	"message": "Created"
}

Na criação de regras é possivel determinar o dia da semana utilizando 0-6 ou então todos os dias utilizando "everyday", além de ser possível passar mais de um interval


Remover Regra 🗑️

Método: DELETE
Host: localhost:8081
Rota: /delete

Request:

{
	"day": "25-06-2018",
	"intervals": [
		{
			"start": "09:30",
			"end": "10:20"
		}
	]
}

Return:

{
	"message": "Created"
}

Para deletar é necessário passar o objeto completo, não apenas um intervalo específico


Listar Regra 📋

Método: GET
Host: localhost:8081
Rota: /list

Request:

No body

Return:

[
	{
		"day": "25-06-2018",
		"intervals": [
			{
				"start": "09:30",
				"end": "10:20"
			}
		]
	}
]

O get retornará todos os dias entre o intervalo, com exceção dos dias da semana


Listar Regra com Intervalos 📅

Método: GET
Host: localhost:8081
Rota: /listIn

Request:

{
	"from": "22-06-2018",
	"to": "25-06-2018"
}

Return:

[
	{
		"day": "25-06-2018",
		"intervals": [
			{
				"start": "09:30",
				"end": "10:20"
			},
			{
				"start": "10:30",
				"end": "11:00"
			}
		]
	},
	{
		"day": "22-06-2018",
		"intervals": [
			{
				"start": "09:30",
				"end": "10:10"
			}
		]
	},
	{
		"day": "23-06-2018",
		"intervals": [
			{
				"start": "09:30",
				"end": "10:10"
			}
		]
	},
	{
		"day": "24-06-2018",
		"intervals": [
			{
				"start": "09:30",
				"end": "10:10"
			}
		]
	},
	{
		"day": "25-06-2018",
		"intervals": [
			{
				"start": "09:30",
				"end": "10:10"
			}
		]
	}
]

License 📝

This project is under the MIT license. See the LICENSE for more information.