# Black burger Scope - \* : Dados obrigatórios. ## Login ### POST - SingUp ##### req - name* - email* - phone* - password* ##### res - sucess/error ##### Objetivos gerais - Validar username e senha - Verificar se o username/email ja existe no DB - Criptografar a senha - Cadastrar o usuario no banco de dados - Retornar sucesso ou erro - --- ### POST - SingIn ##### req - email* - password* ##### res - token (id, name, favorites) - sucess/error ##### Objetivos gerais - Validar username e senha - Buscar usuario no banco de dados - Verificar se a senha informada esta correta - Retornar os dados do usuario e o token --- ## Home ### GET - Categories ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Buscar a lista de categorias no DB - Retornar os dados das Categorias --- ### GET - Products ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Buscar a lista de categorias no DB - Retornar os dados das Categorias --- ## Orders ### POST - User order ##### req - user_id - adress* - cpf* - payment_type* - price - tax - discount - total_price ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Verificar os dados obrigatorios para cadastrar ordem - Retornar sucesso ou erro --- ### POST - Order Items ##### req - order_id* - product_id* - quantity* - create_at ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Verificar a ultima ordem existente ligada ao id do usuario - Adicionar o item - Retornar sucesso/erro --- ### GET - List orders ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Buscar todas as ordens do id do usuario no DB - Retornar sucesso/erro --- ### GET - List order items ##### req - user_id - order_id ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Identificar os itens existentes na order com o ID informado que pertencem ao id do usuario informado - Retornar sucesso/erro --- ### GET - User orders ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Buscar a ordem deste username no DB - Retornar os dados das Categorias --- ### GET - Order Items ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se o usuario existe no banco de dados - Verificar o ID da ultima ordem aberta - Adicionar item e quantidade informado no banco de dados - Retornar os dados das Categorias --- ## Admin ### POST - SingUp ##### req - name* - email* - password* ##### res - token (id, name) - sucess/error ##### Objetivos gerais - Validar username, email e senha - Verificar se o email ja existe no DB - Criptografar a senha - Cadastrar o usuario no banco de dados - Retornar sucesso ou erro --- ### POST - SingIn ##### req - name* - password* ##### res - token (id, name) - sucess/error ##### Objetivos gerais - Validar username e senha - Verificar o usuario no DB - Retornar o token - Retorno da resposta com sucesso/erro --- ### PUT - Edit Product ? : opcional para o update. ##### req - img? - name? - description? - price? - category ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se este usuario existe no DB de administradores - Validar se existe ao menos um campo a ser alterado - Fazer o update no DB - Retornar os dados dos produtos --- ### DELETE - Delete Product ##### req - id* ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se este usuario existe no DB de administradores - Validar o id indicado no params - Excluir os dados do DB - Retornar sucesso/erro --- ### POST - Add Products ##### req - name* - price* - img* - description* - category_id ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se este usuario existe no DB de administradores - Validar os dados obrigatorios para cadastro - Cadastrar item no DB - Retornar sucesso/erro --- ### POST - Categories ##### req - name* ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se este usuario existe no DB de administradores - Validar os dados obrigatorios - Registrar nova categoria no DB - Retornar sucesso ou erro --- ### PUT - Edit Category ##### req - name* ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se este usuario existe no DB de administradores - Validar os dados obrigatorios - Modificar o nome da categoria no DB - Retornar sucesso ou erro --- ### DELETE - Delete Category ##### req - name* ##### res - sucess/error ##### Objetivos gerais - Validar o token - Verificar se este usuario existe no DB de administradores - Validar os dados obrigatorios - Modificar o nome da categoria no DB - Retornar sucesso ou erro