- Vá para a seção "Database".
- Clique em "Create a Class" e nomeie a classe como
Category. - Adicione os seguintes campos:
name(String) - Nome da categoria- Outros campos relacionados à categoria, se necessário.
- Salve as configurações da classe
- Clique em "Create a Class" novamente e nomeie a classe como
Item. - Adicione os seguintes campos:
name(String) - Nome do itemdescription(String) - Descrição do itemprice(Number) - Preçocategory(Pointer toCategory) - Ponteiro para a classeCategoryimageURL(File) - Arquivo de imagem do itemavailability(Boolean) - Disponibilidade do itemhighlighted(Boolean) - Destaque do itemdeletedAt(Date) - Data de exclusão do item (campo opcional)itemId(Number) - Identificador único do item
- Salve as configurações da classe.
- Clique em "Create a Class" novamente e nomeie a classe como
IDAutoGen. - Adicione os seguintes campos:
nameClass(String) - Nome da classe para a qual os IDs serão geradosnextId(Number) - Próximo ID a ser atribuído
- Salve as configurações da classe.
Parse.Cloud.define("createOrUpdateItem", async (req) => {...}): Gerencia a criação ou atualização de um item, verificando se um item já existe com base no ID fornecido e atualizando ou criando um novo item.Parse.Cloud.define("createOrUpdateItems", async (req) => {...}): Permite a criação ou atualização de vários itens simultaneamente.async function getOrCreateItemId(itemId) {...}: Obtém ou cria um novo ID para um item, gerando um novo se não for fornecido.async function getNextId(className, receivedId) {...}: Obtém o próximo ID disponível para uma classe específica, incrementando o valor de ID na classeIDAutoGen.async function findOrCreateObject(className, fieldName, fieldValue) {...}: Busca ou cria um novo objeto em uma classe específica com base em um campo e valor fornecidos.function maskSensitiveData(req) {...}: Usada para mascarar dados sensíveis em requisições, como IDs de aplicativos e chaves de API.
{
"itemId": 1,
"name": "Mussarela",
"description": "Mussarela, tomate e orégano",
"price": 34.90,
"category": "Pizzas",
"availability": true,
"highlighted": false
}{
"items": [
{
"itemId": 2,
"name": "X-Bacon",
"description": "Carne bovina, queijo, bacon, tomate, cebola, alface, catchup e maionese",
"price": 19.50,
"category": "Lanches",
"availability": true,
"highlighted": false
},
{
"itemId": 3,
"name": "Batata",
"description": "Batata, queijo e bacon",
"price": 30.00,
"category": "Porções",
"availability": false,
"highlighted": true
},
{
"itemId": 6,
"name": "Pizza de Pepperoni",
"description": "Mussarela, molho de tomate, pepperoni e orégano",
"price": 40.00,
"category": "Pizzas",
"availability": true,
"highlighted": true
}
]
}