# Pet Project - API de gerenciador financeiro ## Verificações de API ### POST, PUT, PATH, DELETE - Erros de validação devem retornar status 422. - Erros de validação devem retornar o seguinte body ``{"mensagem": "Dados inválidos.", "erros": [{campo: "", mensagem: ""}]}`` - Exceptions de negocio devem retornar status status 422. - Quando a entidade principal não for encontrada deve retornar 404. - o body do status 422 deve ser ```{"mensagem": "Mensagem de error"}``` - ### POST - Deve retornar status 201 - Deve retornar o header location com /header/{id} ### PUT, DELETE - Deve retornar status 204 ## Cadastro de orçamento ### Incremento Criação de uma API de post que possibilite o cadastro de orçamentos. ### Verificação - O path de api deve ser ``/orcamentos``. - O verbo http deve ser post. - Não pode existir duas contas com a mesma descrição - Uma conta a pagar deve contar os seguintes dados: - Id. - Deve ser gerado pelo sistema. - Descrição. - max: 50, obrigatório. - Valor da conta em 4 casas decimais. - valor > 0 e valor <= 100.000.000, obrigatório. ## Cadastrar pagamento junto do cadastro da conta a pagar ### Incremento Alteração da API de cadastro de contas a pagar para possíbilitar o cadastramento do pagamento junto. ### Verificação - Deve deve ser adicionado os seguintes dados - Está paga? (obrigatório) - Data de pagamento. (obrigatório se estiver paga) - Valor pago. - deve ser >= valor da conta, e <= 100.000.000 ## Listagem de contas a pagar ### Incremento Criação de uma API de get que possibilite a listagem de contas a pagar. ### Verificação - Api deve trazer o seguintes campos: - Id. - Descrição. - Valor da conta. - Data de vencimento. - Está paga? - Data de pgamento. - Se estiver paga ou null. - Valor pago. - Se estiver paga ou null. - juros pagos. - Se estive paga ou null. - Juros é diferença entre o valor a pagar, e o valor pago.