/revisao-m04-dbe-t02

Revisão aplicada sobre o conteúdo do M04 na turma DBE T02

Primary LanguageJavaScript

revisao-m04-dbe-b2b-t03-ifood

Banco de Dados

Crie as seguintes tabelas e colunas abaixo:

ATENÇÃO! Os nomes das tabelas e das colunas a serem criados devem seguir exatamente os nomes listados abaixo.

  • produtos
    • id
    • descricao
    • quantidade_estoque
    • valor
  • pedidos
    • id
    • usuario_id
    • observacao
    • valor_total
  • pedido_produtos
    • id
    • pedido_id
    • produto_id
    • quantidade_produto
    • valor_produto
Cadastrar Pedido

POST /pedido

Essa é a rota que será utilizada para cadastrar um novo pedido no sistema.

Lembre-se: Cada pedido deverá conter ao menos um produto vinculado.

Atenção: As propriedades produto_id e quantidade_produto devem ser informadas dentro de um array e para cada produto deverá ser criado um objeto neste array, como ilustrado no objeto de requisição abaixo. Só deverá ser cadastrado o pedido caso todos produtos vinculados ao pedido realmente existão no banco de dados.

// Corpo da requisição para cadastro de pedido (body)
{
    "usuario_id": 1,
    "observacao": "Em caso de ausência recomendo deixar com algum vizinho",
    "pedido_produtos": [
        {
            "produto_id": 1,
            "quantidade_produto": 10
        },
        {
            "produto_id": 2,
            "quantidade_produto": 20
        }
    ]
}

Critérios de aceite:

-   Validar os campos obrigatórios:
    -   pedido_produtos
        -   produto_id
        -   quantidade_produto
-   Validar se existe produto para cada produto_id informado dentro do array enviado no corpo (body) da requisição.
-   Validar se existe a quantidade em estoque de cada produto existente dentro do array, de acordo com a quantidade informada no corpo (body) da requisição.
-   O pedido deverá ser cadastrado, apenas, se todos os produtos estiverem validados.