Skip to content

ealbuquerque/nodejs-clean-code

Repository files navigation

Tarefas

Com a seguinte representação de produto:

{
    "sku": 43264,
    "name": "L'Oréal Professionnel Expert Absolut Repair Cortex Lipidium - Máscara de Reconstrução 500g",
    "inventory": {
        "quantity": 15,
        "warehouses": [
            {
                "locality": "SP",
                "quantity": 12,
                "type": "ECOMMERCE"
            },
            {
                "locality": "MOEMA",
                "quantity": 3,
                "type": "PHYSICAL_STORE"
            }
        ]
    },
    "isMarketable": true
}

Crie endpoints para as seguintes ações:

  • Criação de produto onde o payload será o json informado acima (exceto as propriedades isMarketable e inventory.quantity)
  • Edição de produto por sku
  • Recuperação de produto por sku
  • Deleção de produto por sku

Requisitos

  • Toda vez que um produto for recuperado por sku deverá ser calculado a propriedade: inventory.quantity A propriedade inventory.quantity é a soma da quantity dos warehouses

  • Toda vez que um produto for recuperado por sku deverá ser calculado a propriedade: isMarketable Um produto é marketable sempre que seu inventory.quantity for maior que 0

  • Caso um produto já existente em memória tente ser criado com o mesmo sku uma exceção deverá ser lançada Dois produtos são considerados iguais se os seus skus forem iguais

  • Ao atualizar um produto, o antigo deve ser sobrescrito com o que esta sendo enviado na requisição A requisição deve receber o sku e atualizar com o produto que tbm esta vindo na requisição

Dicas

  • Os produtos podem ficar em memória, não é necessário persistir os dados

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages