From 85a9ab682d2ea288e82f9884f993dd098bfc2065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Robinaldo=20Ramos=20Da=20Silva=20Junior?= Date: Thu, 1 Sep 2022 22:58:39 -0300 Subject: [PATCH] Projeto LabECommerce --- modulo4/LabECommerce/.gitignore | 3 + modulo4/LabECommerce/package.json | 29 ++ modulo4/LabECommerce/src/.DS_Store | Bin 0 -> 6148 bytes modulo4/LabECommerce/src/app.ts | 17 ++ modulo4/LabECommerce/src/data/connection.ts | 16 ++ modulo4/LabECommerce/src/data/migrations.ts | 45 ++++ modulo4/LabECommerce/src/data/recipes.json | 254 ++++++++++++++++++ modulo4/LabECommerce/src/data/users.json | 140 ++++++++++ .../src/endpoints/getAllRecipes.ts | 29 ++ modulo4/LabECommerce/src/index.ts | 4 + modulo4/LabECommerce/src/types.ts | 15 ++ modulo4/LabECommerce/tsconfig.json | 12 + 12 files changed, 564 insertions(+) create mode 100644 modulo4/LabECommerce/.gitignore create mode 100644 modulo4/LabECommerce/package.json create mode 100644 modulo4/LabECommerce/src/.DS_Store create mode 100644 modulo4/LabECommerce/src/app.ts create mode 100644 modulo4/LabECommerce/src/data/connection.ts create mode 100644 modulo4/LabECommerce/src/data/migrations.ts create mode 100644 modulo4/LabECommerce/src/data/recipes.json create mode 100644 modulo4/LabECommerce/src/data/users.json create mode 100644 modulo4/LabECommerce/src/endpoints/getAllRecipes.ts create mode 100644 modulo4/LabECommerce/src/index.ts create mode 100644 modulo4/LabECommerce/src/types.ts create mode 100644 modulo4/LabECommerce/tsconfig.json diff --git a/modulo4/LabECommerce/.gitignore b/modulo4/LabECommerce/.gitignore new file mode 100644 index 0000000..a735ebe --- /dev/null +++ b/modulo4/LabECommerce/.gitignore @@ -0,0 +1,3 @@ +node_modules +build +.env diff --git a/modulo4/LabECommerce/package.json b/modulo4/LabECommerce/package.json new file mode 100644 index 0000000..c82dc14 --- /dev/null +++ b/modulo4/LabECommerce/package.json @@ -0,0 +1,29 @@ +{ + "name": "aula-back-filtros", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "tsc && node ./build/index.js", + "dev": "tsnd --transpile-only --ignore-watch node_modules ./src/index.ts", + "build": "tsc", + "migrations": "tsnd ./src/data/migrations.ts" + }, + "author": "", + "license": "ISC", + "dependencies": { + "cors": "^2.8.5", + "dotenv": "^8.2.0", + "express": "4.17.0", + "knex": "^0.21.1", + "mysql": "^2.18.1" + }, + "devDependencies": { + "@types/cors": "^2.8.8", + "@types/express": "4.17.0", + "@types/knex": "^0.16.1", + "@types/node": "^13.7.7", + "ts-node-dev": "^1.0.0-pre.44", + "typescript": "^3.8.3" + } +} diff --git a/modulo4/LabECommerce/src/.DS_Store b/modulo4/LabECommerce/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 { + if (server) { + const address = server.address() as AddressInfo; + console.log(`Server is running in http://localhost:${address.port}`); + } else { + console.error(`Failure upon starting server.`); + } +}) \ No newline at end of file diff --git a/modulo4/LabECommerce/src/data/connection.ts b/modulo4/LabECommerce/src/data/connection.ts new file mode 100644 index 0000000..e7de827 --- /dev/null +++ b/modulo4/LabECommerce/src/data/connection.ts @@ -0,0 +1,16 @@ +import knex from "knex" +import dotenv from "dotenv" + +dotenv.config() + +export const connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_SCHEMA, + multipleStatements: true + } +}) \ No newline at end of file diff --git a/modulo4/LabECommerce/src/data/migrations.ts b/modulo4/LabECommerce/src/data/migrations.ts new file mode 100644 index 0000000..84ba15a --- /dev/null +++ b/modulo4/LabECommerce/src/data/migrations.ts @@ -0,0 +1,45 @@ +import { connection } from "./connection" +import users from "./users.json" +import recipes from "./recipes.json" + +const printError = (error: any) => { console.log(error.sqlMessage || error.message) } + +const createTables = () => connection + .raw(` + + CREATE TABLE IF NOT EXISTS aula49_users ( + id VARCHAR(255) PRIMARY KEY, + name VARCHAR(255) UNIQUE NOT NULL, + email VARCHAR(255) UNIQUE NOT NULL, + password VARCHAR(255) NOT NULL + ); + + CREATE TABLE IF NOT EXISTS aula49_recipes ( + id VARCHAR(255) PRIMARY KEY, + title VARCHAR(255) NOT NULL, + description TEXT(1023), + user_id VARCHAR(255), + created_at BIGINT, + FOREIGN KEY(user_id) REFERENCES aula49_users(id) + ); + +`) + .then(() => { console.log("Tabelas criadas") }) + .catch(printError) + +const insertUsers = () => connection("aula49_users") + .insert(users) + .then(() => { console.log("Usuários criados") }) + .catch(printError) + +const insertRecipes = () => connection("aula49_recipes") + .insert(recipes) + .then(() => { console.log("Receitas criadas") }) + .catch(printError) + +const closeConnection = () => { connection.destroy() } + +createTables() + .then(insertUsers) + .then(insertRecipes) + .finally(closeConnection) \ No newline at end of file diff --git a/modulo4/LabECommerce/src/data/recipes.json b/modulo4/LabECommerce/src/data/recipes.json new file mode 100644 index 0000000..5ddd44b --- /dev/null +++ b/modulo4/LabECommerce/src/data/recipes.json @@ -0,0 +1,254 @@ +[ + { + "id" : "1", + "user_id" : "c4eaac6c-584a-40d8-be06-3e2389ddbeda", + "title" : "BIFE À PARMEGIANA", + "description" : "Bife: Tempere os bifes com alho e sal e reserve. Bata o ovo inteiro e passe os bifes pelo ovo e pela farinha de rosca. Aqueça em uma frigideira o óleo e frite os bifes, escorra-os em papel-toalha e vá dispondo em um refratário. Molho: Refogue a cebola no óleo, junte o molho de tomate, o catchup, a mostarda, o sal, salsinha e cebolinha, abaixe o fogo e deixe o molho apurar. Montagem: Despeje o molho pronto sobre os bifes e distribua queijo mussarela sobre os bifes Salpique delicadamente um pouco de orégano por cima do queijo e leve ao forno até derreter o queijo. Sirva com arroz e purê de batatas.", + "created_at" : 1598404461000 + }, + { + "id" : "10", + "user_id" : "93fbbfc4-9bb5-4881-9ecb-ddd47b12de98", + "title" : "SOPA CREMOSA DE COUVE-FLOR", + "description" : "Bata, no liquidificador, a água, o leite, a farinha de trigo, a couve-flor cozida no vapor e o queijo cremoso por uns 3 minutos. Coloque numa panela funda e leve ao fogo, tempero com sal e pimenta a gosto. Mexa frequentemente até engrossar. Desligue o fogo e junte a noz-moscada e misture bem. Sirva em cumbuquinhas separadas colocando alguns cubos de queijo prata e o creme de couve-flor por cima. Polvilhe com cebolinha verde picada e sirva em seguida.", + "created_at" : 556942461000 + }, + { + "id" : "11", + "user_id" : "c4eaac6c-584a-40d8-be06-3e2389ddbeda", + "title" : "CUPCAKE DE FRUTAS", + "description" : "Com fouet (batedor manual) misture: ovos, manteiga e açúcar. Acrescente a farinha de trigo e misture, por último o fermento em pó e as frutas com casca,sem sementes e em cubos (a banana apenas em cubos) Coloque em forminhas de papel, encaixe em forminhas de empada e depois coloque em uma assadeira. Leve em formo preaquecido a 180° C,deixe por aproximadamente 30 minutos. Derreta o chocolate no micro-ondas, por aproximadamente 1 minuto ,verificando a cada 20 segundos. Retire os cupcakes frios das forminhas de empada coloque a cobertura de ganache e meia rodela de banana.", + "created_at" : -484436739000 + }, + { + "id" : "12", + "user_id" : "f5037664-eefc-48db-ae20-9388373ca57c", + "title" : "PÉ-DE-MOLEQUE", + "description" : "Ponha em uma panela o amendoim, o leite condensado, o leite, o açúcar e a manteiga. Misture bem e leve ao fogo mexendo sempre até começar a aparecer o fundo da panela. Junte algumas gotas de limão, retire do fogo e bata sempre, até começar a açucarar. Despeje em um mármore untado com manteiga e, depois de frio, corte em tabletes.", + "created_at" : 1355278461000 + }, + { + "id" : "2", + "user_id" : "0a4147ad-30dd-4547-9e35-94e655d02f13", + "title" : "DADINHO DE TAPIOCA", + "description" : "Aqueça o leite em uma panela. Quando o leite estiver bem quente, desligue o fogo, adicione o queijo coalho ralado e continue mexendo. Logo em seguida adicione a farinha de tapioca granulada e continue mexendo. Adicione o sal e pimenta a gosto. Pare de mexer quando todos os ingredientes estiverem bem misturados. Despeje em uma forma coberta com papel filme (pvc), cubra em cima também e leve para a geladeira por duas horas. Depois retire da geladeira, corte em quadradinhos (dadinhos) e frite aos poucos em óleo quente ou coloque no forno até dourar. Sirva em seguida acompanhado da geleia de pimenta agridoce.", + "created_at" : 1598321661000 + }, + { + "id" : "3", + "user_id" : "4d3bc362-f838-43d6-9e06-5f3883873f74", + "title" : "MOLHO DE MOSTARDA, MEL E GENGIBRE", + "description" : "Misture o iogurte grego com o mel até obter uma mistura homogênea Adicione a mostarda e o suco de limão até obter uma nova mistura homogênea Adicione o azeite aos poucos e mexa para o azeite incorporar bem no molho Adicione sal e pimenta-do-reino a gosto Finalize com gengibre ralado, sempre experimentando para que não passe do ponto e fique muito forte", + "created_at" : 1597803261000 + }, + { + "id" : "4", + "user_id" : "5a7e728a-3afa-47d6-850d-0fba7786e6a7", + "title" : "RISOTO SALMÃO E ALHO PORÓ", + "description" : "Caldo Ferva 2 litros de água com 3 tabletes de legumes. Se quiser pode colocar no caldo alguns legumes de sua preferência. Eu coloquei algumas folhas do alho-poró picadas e 1 folha de couve. Numa panela frite os cubos se salmão com a manteiga por 5 minutos e reserve. Na mesma panela frite a cebola, alho e o alho poró. Acrescente o arroz arbóreo e frite mais um pouco. Acrescente o vinho e deixe evaporar. Colocar o caldo aos poucos. 1 concha por vez e mexer. Utilizando aos poucos conforme for reduzindo o caldo. Repetir até o arroz ficar a seu gosto. Misturar o salmão e mexer. Colocar o queijo e creme de leite e misturar bem. Se necessário coloque mais um pouco do caldo. Desligue e sirva na hora.", + "created_at" : 1595729661000 + }, + { + "id" : "5", + "user_id" : "62f8edd5-c522-44c3-92a7-bd3b6303465d", + "title" : "SOBRECOXA DE FRANGO ASSADA", + "description" : "No dia anterior de assar, tempere as sobrecoxas misturando-as a todos os ingredientes (use o alho triturado ou picado miúdo). Reserve em um pote bem tampado e conserve na geladeira. Para assar coloque as sobrecoxas numa assadeira com a pele voltada para baixo, coloque todo o tempero por cima e cubra com papel alumínio. Leve ao forno a 180° C por aproximadamente 1 hora e 30 minutos Veja se já estão cozidas (não coradas). Retire o papel-alumínio, vire a parte da pele para cima e leve de volta ao forno para corar. Para corar aumente a temperatura do forno para 200° C. Estarão prontas quando estiverem bem coradas.", + "created_at" : 1566785661000 + }, + { + "id" : "6", + "user_id" : "68a4897f-0126-4f8f-ad68-5ba3eaf4690d", + "title" : "SALADA RÁPIDA", + "description" : "Em uma panela, coloque o óleo, frango temperado cortado em quadrado, meia cebola e meio suco de limão. Lave os vegetais, em uma tábua corte o tomate, pimentão e o alface. Já com o ovo de codorna cozido, em um prato ou vasilha coloque todos os ingredientes de forma separada Coloque óregano, milho e maionese por cima.", + "created_at" : 1472177661000 + }, + { + "id" : "7", + "user_id" : "6a84572b-357b-495c-80ad-1f777ed1e7a1", + "title" : "SORVETE DE CHOCOLATE COM PÉ DE MOLEQUE", + "description" : "Numa panela, coloque 1 lata de leite condensado, 1 e 1/4 xícara (chá) de leite, 3 gemas dos ovos e leve ao fogo bem baixo, mexendo por mais ou menos 15 minutos. Apague o fogo e junte 2 xícaras (chá) de chocolate meio amargo picado. Misture bem até derreter o chocolate, adicione 1 caixinha de creme de leite e deixe esfriar. Coloque numa batedeira, 3 claras e bata até ficar em picos moles. Incorpore 2 colheres (sopa) de açúcar e bata mais um pouco. Desligue a batedeira e misture delicadamente no creme de chocolate já frio. Transfira a mistura para uma forma de bolo inglês forrada com saco plástico, salpique 1 xícara (chá) de pé de moleque picado e leve ao freezer por mais ou menos 4 horas.", + "created_at" : 1472782461000 + }, + { + "id" : "9", + "user_id" : "6c0ce3a2-8343-4d1b-b00f-448246e963ba", + "title" : "CARNE DE PANELA NA PRESSÃO", + "description" : "Refogue o alho (4 dentes picados ou triturados) com óleo ou banha. Assim que começar a dourar o alho, acrescente o colorífico (colorau) e os pedaços de carne. Frite um pouco mexendo a carne até que doure por todos os lados e acrescente 15 g de sal por kg de carne. Caso o peso de carne seja maior, acrescente de forma proporcional. Obs: Uma balança pequena ajuda Acrescente de água até 1,5 dedo antes de cobrir a carne (obs: a água não deve cobrir a carne). Deixe na pressão por 15 minutos. Desligue o fogo e acrescente as 3 batatas picadas e retorne à panela de pressão por mais 12 minutos (na pressão). Após os 12 minutos de pressão, deixe a pressão sair sozinha. Sirva em seguida", + "created_at" : 2639787261000 + }, + { + "id" : "5941ba28-adb4-4293-b6c9-0b20051cd7fa", + "user_id" : "9a70a143-6a71-4701-b691-db96686adc47", + "title" : "Torta de Morango", + "description" : "Coloque a farinha, faça um buraco e coloque todos os outros ingredientes e mexa até a massa ficar homogênea e lisa. Forre ela por completo na assadeira, como uma torta. Coloque no forno por 20 minutos ou até começar a ficar douradinha nos lados e reserve.", + "created_at" : 1601167717484 + }, + { + "id" : "b5783e28-51e4-434a-b080-17ba47b5a527", + "user_id" : "9a70a143-6a71-4701-b691-db96686adc47", + "title" : "SOPA DE ABÓBORA", + "description" : "Em uma panela grande, doure o alho em um fio de óleo e logo acrescente a cebola picada. Mexa rápido e acrescente a abóbora picada e a batata. Coloque a água e deixe ferver, após fervura colocar o caldo de legumes e mexer. Deixe cozinhar com tampa até a abóbora e a batata estarem cozidas. Desligue o fogo. E Espere amornar um pouco. Depois despeje tudo no liquidificador e bata até virar creme. Despeje na panela novamente e cozinhe uns 3 minutos com a cebolinha, acrescente sal se necessário. Sirva quente, com cubinhos de queijo branco e torradas.", + "created_at" : 1601173127996 + }, + { + "id" : "64337f6b-4fc9-4ec9-8d8b-2735555e977f", + "user_id" : "0c941b8e-0a4e-455e-9d8b-bb4ab69ca4ad", + "title" : "PERU DE NATAL", + "description" : "Para manter a textura, o certo é descongelar o peru de maneira lenta e uniforme. Para isso, coloque o peru ainda na embalagem sobre uma assadeira e leve para a geladeira. Deixe descongelar por cerca de 48 horas. Preaqueça o forno a 220 ºC (temperatura alta). Separe um pano de prato velho e limpo. Corte o pano ao meio para formar um quadrado - ele vai ser usado na hora de secar e assar o peru, depois descartado. Retire o peru (descongelado) da geladeira e reserve os miúdos para fazer o molho. Para amenizar o sabor artificial do tempero pronto: coloque o peru numa tigela grande e lave sob água corrente. Cubra com água limpa e deixe de molho por 10 minutos. Descarte a água e repita o mesmo processo mais uma vez - isso serve para tirar o excesso de tempero do peru.", + "created_at" : 1601176919401 + }, + { + "id" : "f2fc5fe0-28af-412f-9b62-f33ad90d077c", + "user_id" : "0c941b8e-0a4e-455e-9d8b-bb4ab69ca4ad", + "title" : "PAVÊ DE BOLACHA", + "description" : "Molhe os biscoitos maizena no leite com chocolate Prepare cada creme juntando seus ingredientes em uma panela e mexa em fogo brando até engrossar Para a cobertura, bata as claras com o açúcar até obter claras em neve bem consistentes Misture o creme de leite as claras em neve Coloque em um refratário grande na seguinte sequência: creme branco, metade das bolachas, creme de chocolate, restante das bolachas, claras em neve Dica: Decore com chocolate granulado ou raspas de chocolate ao leite ou coco ralado", + "created_at" : 1601177035733 + }, + { + "id" : "69ff872a-8dcb-49e5-8ac4-580fbf5bb073", + "user_id" : "9a70a143-6a71-4701-b691-db96686adc47", + "title" : "Bolo de Cenoura", + "description" : "Bata no liquidificador todos os ingredientes, acrescentando a farinha aos poucos. Depois unte e enfarinhe uma forma e despeje a massa nela. Asse em forno médio por cerca de 40 minutos. Tire do forno, espere amornar e desenforme.", + "created_at" : 1601474769247 + }, + { + "id" : "87b9d2d5-bf1c-4019-9b84-26692610207f", + "user_id" : "9a70a143-6a71-4701-b691-db96686adc47", + "title" : "Bolo de Fubá", + "description" : "Peneirar os secos numa tigela e reservar. Bater os líquidos no liquidificador e juntar nos secos peneirados. Colocar em forma de anel, ou outra de sua preferência, untada e polvilhada com fubá. Forno aproximadamente 30 a 40 minutos.", + "created_at" : 1601475016555 + }, + { + "id" : "7f9b4c0e-a5b9-4247-a910-166cce5d18a2", + "user_id" : "2bdbb834-c494-49fd-8970-58f3edd903ca", + "title" : "nova receita", + "description" : "qualquer coisa", + "created_at" : 1604326244706 + }, + { + "id" : "82f60e9d-d8cd-42c0-b4eb-3b791fa26f84", + "user_id" : "c2e885f7-281a-4f49-89fe-9f6d50b8ea6e", + "title" : "Pudim", + "description" : "para a calda do seu pudim de leite condensado dar certo, fique sempre com a proporção de meia medida de água para uma medida de açúcar. Por exemplo, se você utilizar 1 xícara de chá de açúcar, a medida de água será de apenas 1/2 xícara (chá). Se você fizer um pudim maior, pode usar 2 xícaras (chá) de açúcar para 1 xícara de água. Seguindo essa dica, não tem erro!", + "created_at" : 1606851735865 + }, + { + "id" : "92f64f39-0eaa-4cf7-8e08-9321eb77dbb6", + "user_id" : "c2e885f7-281a-4f49-89fe-9f6d50b8ea6e", + "title" : "Fígado com jiló", + "description" : "Primeiro você deve retirar a membrana e temperar os pedaços de fígado com tempero de alho e sal. Depois, corte o jiló em fatias finas, com a casca, e coloque os pedaços em uma vasilha com água, sal e um pouco de vinagre por 15 minutos.", + "created_at" : 1606919072032 + }, + { + "id" : "e4db630a-f93b-4e58-a349-f8c9277e5882", + "user_id" : "c2e885f7-281a-4f49-89fe-9f6d50b8ea6e", + "title" : "rre", + "description" : "erge", + "created_at" : 1606925978289 + }, + { + "id" : "1d148dd8-c958-49a2-8634-cc075ab8845e", + "user_id" : "b73ba66c-d8e5-4b69-9870-e5a953b59381", + "title" : "Cheesecake de chocolate branco e morango", + "description" : "Cheesecake com chocolate branco, geleia de morango, morango e biscoito champagne", + "created_at" : 1607362671111 + }, + { + "id" : "60bc7a5b-a5e1-4f77-b4f9-d736569c0b06", + "user_id" : "2b33f12a-6478-4afb-8f12-483b44aa6eb9", + "title" : "Bolo de Cenoura", + "description" : "A receita de bolo de cenoura pode ser complicada porque exige alguns pequenos detalhes que garantem o resultado perfeito. Uma delas é a proporção de cenoura, que precisa ser correta para a receita que você está fazendo. Por isso, para ter certeza de que o bolo não vai solar, você pode utilizar a mesma medida da nossa receita de ovo recheado com bolo de cenoura, cerca de 250 g de cenoura para 2 copos de farinha de trigo. Para garantir o seu bolo de cenoura fofinho, lembre-se de testar o fermento antes de adicioná-lo à massa e peneire a farinha de trigo! Isso vai garantir que um bolo de cenoura fofo, leve e ainda mais delicioso!", + "created_at" : 1622230100567 + }, + { + "id" : "fdf916a2-7fc4-47dc-aaac-978b5c1553dc", + "user_id" : "2b33f12a-6478-4afb-8f12-483b44aa6eb9", + "title" : "Torresmo", + "description" : "O torresmo é uma preparação culinária feita de pele de porco com gordura cortada em pequenos pedaços e frita até ficar crocante. É utilizado com ingrediente para diversas preparações nas culinárias brasileira e portuguesa, bem como outras regiões de cultura latina.", + "created_at" : 1622651040506 + }, + { + "id" : "b6965824-1a7c-4134-8920-4126c911334b", + "user_id" : "1b845778-e2c5-4f8c-8baf-c68557991db4", + "title" : "TORTA DE PALMITO", + "description" : "Numa tigela grande, misture a farinha com o sal. Acrescente a manteiga e, com as pontas dos dedos, misture até formar uma farofa grossa. Junte a água gelada e amasse até ficar lisa. Modele uma bola, envolva com filme e leve à geladeira por 1 hora. Enquanto isso, prepare o recheio.", + "created_at" : 1624383882834 + }, + { + "id" : "304fc5d6-fcec-4c9e-8547-cace16ff9863", + "user_id" : "1b845778-e2c5-4f8c-8baf-c68557991db4", + "title" : "CLERICOT VERDE", + "description" : "1. Leve o vinho e a tônica à geladeira por 30 minutos. 2. Lave e prepare as frutas: descasque e corte a laranja em gomos; corte a carambola em fatias finas, no sentido da largura, para formar estrelas; com um mandolim, fatie as maçãs no sentido da largura e as peras no sentido do comprimento (se preferir, fatie fino com uma faca). 3. Numa jarra, coloque o vinho, a água tônica, as frutas fatiadas e cubos de gelo a gosto. Se quiser dar uma turbinada, acrescente uma dose de conhaque ou gim. Sirva a seguir em taças de vinho. OBS: para preparar com antecedência, coloque na jarra apenas o vinho e as frutas e leve à geladeira. Na hora de servir, junte a água tônica e os cubos de gelo.", + "created_at" : 1624384052976 + }, + { + "id" : "f93c0be7-119c-4eb3-ad5d-db288d475164", + "user_id" : "1b845778-e2c5-4f8c-8baf-c68557991db4", + "title" : "NOZES PICANTES", + "description" : "1. Preaqueça o forno a 150ºC (temperatura baixa). 2. Numa tigela, bata levemente a clara e a água com um garfo até espumar. Acrescente as nozes e misture bem. Transfira para uma peneira e deixe escorrer o excesso. 3. Coloque todos os condimentos num saco plástico limpo, feche e agite bem para misturar. Coloque as nozes e agite novamente para empaná-las com o tempero. 4. Numa assadeira, espalhe as nozes, tempere com sal e leve ao forno por 15 minutos. Chacoalhe a assadeira de vez em quando para que as nozes assem por igual. 5. Desligue o forno e deixe as nozes por mais 30 minutos. Quando esfriarem completamente, coloque num recipiente com tampa e conserve em local seco e arejado.", + "created_at" : 1624384546283 + }, + { + "id" : "23d6238a-5522-4698-ade5-d43eb81b5ddb", + "user_id" : "57bce8b9-b521-47f1-a3ff-01cbafa5988f", + "title" : "STROGONOFF DE FRANGO", + "description" : "O strogonoff, apesar de ser uma receita muito famosa entre os brasileiros, nasceu na Rússia e era um prato servido para nobreza russa. No Brasil, se popularizou nos anos 1970 e era uma comida especial, servida em festas. Não demorou muito, o strogonoff chegou nos pratos de todos os brasileiros e hoje faz parte do nosso dia a dia. Nesta receita você aprendeu a fazer stronogonoff de frango simples, mas sabia que existem muitas variações do prato? Confira outras receitas de strogonoff no TudoGostoso como strogonoff de carne, strogonoff de camarão, strogonoff vegano, strogonoff fit, strogonoff de cogumelos, strogonoff low carb e até versões doce como strogonoff de nozes, strogonoff de chocolate e strogonoff de Bis! E você sabia que o peito de frango é uma carne muito gostosa e fácil de ser encontrada? Ele é essencial para o preparo do strogonoff simples de frango. Além disso, seus preparos são os mais diversos, sempre usando pouco tempo na cozinha. Confira no blog do TudoGostoso 25 receitas com esse ingrediente maravilhoso e corra para prepará-lo. O strogonoff é uma receita prática para servir para muitas pessoas justamente por ser fácil de fazer. Quer fazer strogonoff para 50 pessoas, por exemplo? Multiplique a quantidade dos ingredientes nessa receita por 5, assim você mantém a proporção e alimenta todo mundo! Agora que você aprendeu como fazer strogonoff de frango, que tal preparar mais receitas deliciosas com esse ingrediente? Aqui no TudoGostoso você encontra outras receitas superpráticas como o escondidinho, a lasanha de frango com queijo, o salpicão de frango, fricassê, torta de frango, filé de frango à parmegiana, panqueca de frango desfiado e muito mais!", + "created_at" : 1624385806034 + }, + { + "id" : "840fe11c-d0fd-40a9-976e-9596490aa50a", + "user_id" : "181eae92-1f08-4dc5-9cdf-040537f90752", + "title" : "a", + "description" : "ss", + "created_at" : 1624567198263 + }, + { + "id" : "1863a450-45f4-4383-8d13-7c4cf7476fbd", + "user_id" : "baceb5f5-3914-45e4-a1f6-43964f3c8350", + "title" : "Torta holandesa de amora", + "description" : "Tempo: 1h (+4h de geladeira) Rendimento: 8 porções Dificuldade: fácil Ingredientes da Torta holandesa de amora 1 pacote de biscoito maisena triturado (200g) 2 colheres (sopa) de manteiga 1 clara 1 pacote de biscoito tipo tortinha de morango (160g) Recheio 1 lata de leite condensado 1 caixa de creme de leite (200g) 2 xícaras (chá) de iogurte de morango 1 envelope de gelatina em pó sem sabor incolor Cobertura 3 xícaras (chá) de amora 4 colheres (sopa) de açúcar 4 colheres (sopa) de água Modo de preparo Em uma tigela, misture o biscoito triturado, a manteiga e a clara até formar uma farofa úmida. Forre o fundo de uma fôrma de 22cm de diâmetro de aro removível e leve ao forno médio (180º C), preaquecido, por 8 minutos ou até firmar. Retire e deixe esfriar. Para o recheio, bata o leite condensado, o creme de leite, o iogurte e a gelatina preparada conforme as instruções da embalagem no liquidificador até ficar homogêneo. Despeje sobre a massa e leve à geladeira por 4 horas ou até firmar. Para a cobertura, leve todos os ingredientes ao fogo médio até dissolver o açúcar e formar uma calda. Desligue e deixe esfriar. Retire a torta da geladeira, desenforme e decore toda a lateral com o biscoito tortinha. Regue com a calda e sirva.", + "created_at" : 1625699185859 + }, + { + "id" : "49d63de5-805a-4b7d-9f4c-051efc16d012", + "user_id" : "baceb5f5-3914-45e4-a1f6-43964f3c8350", + "title" : "Torta de maçã com geleia de damasco", + "description" : "Tempo: 2h Rendimento: 6 porções Dificuldade: fácil Ingredientes da Torta de maçã com geleia de damasco 1 pacote de biscoito maisena 2 colheres (sopa) de manteiga Chantilly para decorar Recheio 3 maçãs descascadas e cortadas em fatias 1/2 xícara (chá) de geleia de damasco Modo de preparo Misture os ingredientes da massa e forre o fundo de um refratário de 30 cm de diâmetro. Coloque as fatias de maçã sobre a massa da torta e espalhe por cima a geleia de damasco. Leve ao forno médio, preaquecido por 30 minutos ou até que as maçãs fiquem macias. Retire do forno e deixe esfriar. Decore com chantilly e sirva.", + "created_at" : 1625699349941 + }, + { + "id" : "f6cbcc6e-30a5-4e56-984e-fa00af0ee108", + "user_id" : "baceb5f5-3914-45e4-a1f6-43964f3c8350", + "title" : "Torta com frutas vermelhas", + "description" : "Tempo: 2h (+2h de geladeira) Rendimento: 8 porções Dificuldade: fácil Ingredientes da Torta com frutas vermelhas 3 xícaras (chá) de farinha de trigo 1 xícara (chá) de margarina 1/2 xícara (chá) de açúcar 1 ovo Recheio de creme 3 xícaras (chá) de leite 3 colheres (sopa) de maisena 1 lata de leite condensado 2 gemas 1 colher (sopa) de essência de baunilha Recheio 1 xícara (chá) de framboesa fresca 1 xícara (chá) de cerejas sem calda (reserve a calda) 1 xícara (chá) de morangos frescos Cobertura 1 xícara (chá) de água 1 colher (sopa) de maisena 1 envelope de gelatina vermelha (qualquer sabor) 2 colheres (sopa) de calda da cereja 1 colher (sopa) de glucose Modo de preparo Em uma panela, coloque os ingredientes do creme, menos a baunilha e leve ao fogo, mexendo sempre, por 10 minutos, ou até que engrosse. Tire do fogo, misture a baunilha e deixe esfriar coberta com filme plástico para não criar película. Em uma tigela, misture os ingredientes da massa até que não grude nas mãos, e com ela, forre uma fôrma de 30cm de diâmetro de fundo removível. Fure com um garfo e leve ao forno, preaquecido, por 15 minutos, ou até que doure levemente. Retire do forno e deixe esfriar. Coloque o creme frio e por cima espalhe as frutas misturadas. Para a cobertura, em uma panela, coloque a água e a maisena e leve ao fogo, mexendo sempre, por 5 minutos, ou até que engrosse. Misture os ingredientes restantes. Retire do fogo e espalhe sobre as frutas na torta. Leve à geladeira por 2 horas e desenforme.", + "created_at" : 1625699611484 + }, + { + "id" : "63940e5a-ab16-42cd-bcc9-3cc0d8587781", + "user_id" : "07b03a14-3b8f-402d-9de0-ad8fd59b224d", + "title" : "dasd", + "description" : "ASDD", + "created_at" : 1625959957102 + }, + { + "id" : "53277dc1-b266-4207-b2a9-d19cf0bbb046", + "user_id" : "baceb5f5-3914-45e4-a1f6-43964f3c8350", + "title" : "Risoto de bacon e queijo", + "description" : "Ingredientes: 250 gramas de bacon 2 colheres de manteiga 1 cebola grande picada 1 xícara de vinho branco seco 2 xícaras de arroz arbóreo ou carnaroli 1 cubo de caldo de legumes 3 xícaras de água quente 5 colheres de queijo parmesão ralado 5 colheres de queijo gouda ou provolone ralado 5 colheres de requeijão cremoso Modo de preparo: Na panela frite o bacon na própria gordura, vá mexendo até dourar. Retire e escorra e deixe reservado. Na mesma panela que fez o bacon, retire a gordura e derreta a manteiga. Refogue a cebola por 2 minutos. Acrescente o arroz e regue com o vinho. Refogue por 2 minutos e regue aos poucos com o caldo de legumes dissolvido na água quente, mexendo até evaporar. Continue regando conforme o caldo evapora. Cozinhe por 15 minutos ou até o arroz ficar macio e cremoso. Acrescente os queijos, misture e cozinhe por mais 2 minutos. Sirva em seguida ainda quente. ", + "created_at" : 1626087024139 + }, + { + "id" : "574468fa-cbbf-4d9e-8a4e-3496ff0c7460", + "user_id" : "2eaea984-2d11-4a95-8ca3-e4da372db8eb", + "title" : "Carne de porco à alentejana", + "description" : "Ingredientes: 700 g de carne de porco cortada em cubos 4 colheres de sopa de massa de pimentão 4 a 5 dentes de alho picados 1 a 2 folhas de louro 1 dl de vinho branco 1 dl de azeite 2 colheres de sopa de banha 500 g de amêijoas (usei amêijoas congeladas) 5 a 6 batatas para fritar Sal e pimenta-preta q. b. 1. Temperar a carne com o alho, o louro, a pimenta, o sal (pouco, pois a massa de pimentão já é salgada), e a massa de pimentão. Mexer bem a carne de modo a que o tempero fique bem distribuído. Por fim, regar com o vinho branco. Tapar e deixar a marinar de um dia para o outro. 2. Colocar o azeite e a banha num tacho ou frigideira funda com tampa. Levar ao lume, quando a gordura estiver quente colocar a carne e deixar alourar a carne, mexendo de vez em quando. 3. Quando a carne estiver tenra, juntar as amêijoas. Tapar o recipiente e deixar as amêijoas abrirem. 4. Entretanto, fritar as batatas cortadas em cubos. 5. Juntar as batatas fritas à carne, polvilhar com coentros e servir.", + "created_at" : 1626096886794 + }, + { + "id" : "42e72ecf-43f7-4794-b90e-168f9152632e", + "user_id" : "5f43cfb5-f15d-4baf-a631-f92b32be3859", + "title" : "Carne Assada na Panela de Pressão", + "description" : "1 quilo de miolo de acém ou lagarto plano 4 dentes de alho grandes amassados 1 cebola grande picada 2 folhas de louro 2 colheres de sopa de vinagre 5 colheres molho de shoyu 2 colheres de sopa de óleo 1 xícara de água 1 colhes de café de cominho a gosto 1 pitada de nos moscada Pimenta branca moída na hora Sal a gosto Modo de Preparo Corte o miolo do acém ou lagarto plano em cubos médios Em uma tigela coloque os cubos de carne Adicione todos os temperos e misture bem Com as mãos, amasse os cubos de carne temperados para que os temperos entranhem bem nas fibras da carne Deixe marinar por pelo menos 30 minutos amassando a carne de tempos em tempos Pegue a panela de pressão e coloque o óleo, levando-a a fogo alto para aquecer bem o óleo Quando estiver quente coloque a carne temperada e deixe fritar um pouco para selar a carne, mexendo sempre Coloque a água e tampe a panela de pressão Deixe cozinhar por aproximadamente 40 minutos e pronto, uma carne assada na panela de pressão prontinha para o seu almoço", + "created_at" : 1626098923698 + } +] diff --git a/modulo4/LabECommerce/src/data/users.json b/modulo4/LabECommerce/src/data/users.json new file mode 100644 index 0000000..9717415 --- /dev/null +++ b/modulo4/LabECommerce/src/data/users.json @@ -0,0 +1,140 @@ +[ + { + "id" : "0a4147ad-30dd-4547-9e35-94e655d02f13", + "name" : "Jonas", + "email" : "Jonas@email.com", + "password" : "$2a$12$pcwQNPILKqJPtBOe4eHfeOc6L2kEs6n57IMiToJ6WJrIEj5zRz6wa" + }, + { + "id" : "4d3bc362-f838-43d6-9e06-5f3883873f74", + "name" : "charles", + "email" : "charles@email.com", + "password" : "$2a$12$p5LXq11CjvbSB9XYfoGUn./nRGFiYR7Y.zEuw1i7JUUCXn.5S3Qxq" + }, + { + "id" : "5a7e728a-3afa-47d6-850d-0fba7786e6a7", + "name" : "Bernardo", + "email" : "bernardo@gmail.com", + "password" : "$2a$12$sblz4a9FgJ6T59pWVaUL6uxHkjumzxuc0mlEVqF6HN54RyTYAosn6" + }, + { + "id" : "62f8edd5-c522-44c3-92a7-bd3b6303465d", + "name" : "Michael Scott", + "email" : "michael@email.com", + "password" : "$2a$12$zeA2ptIrGbR5UYjbp.nbAuHgXDnDxV9EqL6TTnGHVcv/vYy3B0rEa" + }, + { + "id" : "68a4897f-0126-4f8f-ad68-5ba3eaf4690d", + "name" : "Cintia", + "email" : "cintia@gmail.com", + "password" : "$2a$12$QDQI6tpQZCdHMWwoj6fni.oxX5tcy7yJY5phkuxz5Opkoa5ocAoOq" + }, + { + "id" : "6a84572b-357b-495c-80ad-1f777ed1e7a1", + "name" : "Matt", + "email" : "matt@gmail.com", + "password" : "$2a$12$6gVd0B4PgxxVSuMmS6ueSueO/uwbWK43CxYzK4bhFszvz5cOJXXVe" + }, + { + "id" : "6c0ce3a2-8343-4d1b-b00f-448246e963ba", + "name" : "bob", + "email" : "bob@email.com", + "password" : "$2a$12$ASVEGRDUlG8kSP6BLPbC4.4hCUMOl7mMg3r4kVeOMpDrqocwMAVY6" + }, + { + "id" : "93fbbfc4-9bb5-4881-9ecb-ddd47b12de98", + "name" : "Darvas", + "email" : "darvas@gmail.com", + "password" : "$2a$12$U1eCdmqh7F6qckBRKjNbHOrbvlScYUIb7ziibJPV60iEM2IydbLBa" + }, +{ + "id" : "c4eaac6c-584a-40d8-be06-3e2389ddbeda", + "name" : "Amanda", + "email" : "amandarangel@gmail.com", + "password" : "$2a$12$u3jpSN051rnXowYeEbBU4eIcEoY1wAnfTtAgDmxadCO31rq5qORay" + }, + { + "id" : "f5037664-eefc-48db-ae20-9388373ca57c", + "name" : "Joaozinho", + "email" : "joaozinho@gmail.com", + "password" : "$2a$12$kSSnEeb28xaQmci.hohZGe/ZdxBoQa5GJZXmJ/X./7RLsOUiofICC" + }, + { + "id" : "9a70a143-6a71-4701-b691-db96686adc47", + "name" : "Chijo", + "email" : "chijo@gmail.com", + "password" : "$2a$12$wru6.0NoN1SYPKxbD67AyOvK526mNMa/R6ZGLFMLb8Gm6ENkvkNDa" + }, + { + "id" : "0c941b8e-0a4e-455e-9d8b-bb4ab69ca4ad", + "name" : "Amandinha", + "email" : "amanda@gmail", + "password" : "$2a$12$OEhAS.4EfrtBXlqP0Xt8UugT63NowrSknA4yBI/C2reb2DLm5GqMO" + }, +{ + "id" : "2bdbb834-c494-49fd-8970-58f3edd903ca", + "name" : "daniel", + "email" : "daniellemesteste1@hotmail.com", + "password" : "$2a$12$BsuBsNB/V9LlY891rnJi3uDIQdndf3jahnL6G/KXyjDRzu/SDL4dO" + }, + { + "id" : "c2e885f7-281a-4f49-89fe-9f6d50b8ea6e", + "name" : "Severo", + "email" : "severo@gmail.com", + "password" : "$2a$12$SFW2lh6mitErocrQ9H7ghuSoRUc3cyk./hQPvi8SF3gpd.kSUlKZe" + }, +{ + "id" : "b73ba66c-d8e5-4b69-9870-e5a953b59381", + "name" : "Edmilson", + "email" : "Edmilsonf.o3@gmail.com", + "password" : "$2a$12$xgiRFWS.gHKyQ66qrXS2MeGIfSaBfCo7YScnxh9zYfmq3DmOEyWsS" + }, + { + "id" : "2b33f12a-6478-4afb-8f12-483b44aa6eb9", + "name" : "mateus", + "email" : "mateus@gmail.com", + "password" : "$2a$12$Bb.Nfq7gfmgPMa56u5tZQem2ohpE1EZP17EeGF.6XfgO.fU2OoLhO" + }, + { + "id" : "1b845778-e2c5-4f8c-8baf-c68557991db4", + "name" : "astrodev", + "email" : "astrodev@gmail.com.br", + "password" : "$2a$12$xdlmcH5yx06LVFyJX7hIWOWOOzrIc40cipJwa5VCWgEmHORE3Fhui" + }, + { + "id" : "57bce8b9-b521-47f1-a3ff-01cbafa5988f", + "name" : "teste3", + "email" : "teste3@teste.com.br", + "password" : "$2a$12$zeDZhNJT6EpfcBm1xJTuEOS3I2gJaVqhotI1h7tbd76jw0Ci8SRNC" + }, + { + "id" : "181eae92-1f08-4dc5-9cdf-040537f90752", + "name" : "dreko", + "email" : "dreko@email.com", + "password" : "$2a$12$UnXB5CGa1F4SEuXrRTLnnup0JPl1iezGwggdpx2kyMpZjsVBheQGW" + }, + { + "id" : "baceb5f5-3914-45e4-a1f6-43964f3c8350", + "name" : "vivian", + "email" : "vivian@gmail.com", + "password" : "$2a$12$44HO5FZu7NCtpm4KA793X.VE7MtlHbEeD1ZND.JE2d8VNhe9FN6pO" + }, + { + "id" : "07b03a14-3b8f-402d-9de0-ad8fd59b224d", + "name" : "dasjidahadu", + "email" : "dasdas@dasda.com", + "password" : "$2a$12$GZLMHpMBsle8kEy5bxfQ9eyZ/Rvdf/d.9aSe50ii.jVN3lL9Q/WG6" + }, + { + "id" : "2eaea984-2d11-4a95-8ca3-e4da372db8eb", + "name" : "Maria", + "email" : "maria@gmail.com", + "password" : "$2a$12$86CNRiZaih/DG93cdcVA/OCcISYia/h05AJ1YEV93mTO5bzxq7eJm" + }, + { + "id" : "5f43cfb5-f15d-4baf-a631-f92b32be3859", + "name" : "Ana", + "email" : "ana@gmail.com", + "password" : "$2a$12$wJ1D0EtT0m5CEzwSW4akYOVYoaC.kA8VOSutMMij1vrNhxfDVZxQq" + } +] diff --git a/modulo4/LabECommerce/src/endpoints/getAllRecipes.ts b/modulo4/LabECommerce/src/endpoints/getAllRecipes.ts new file mode 100644 index 0000000..b470ce5 --- /dev/null +++ b/modulo4/LabECommerce/src/endpoints/getAllRecipes.ts @@ -0,0 +1,29 @@ +import { Request, Response } from "express" +import { connection } from "../data/connection" +import { recipe } from "../types" + +export async function getAllRecipes( + req: Request, + res: Response +): Promise { + try { + const result = await connection("aula49_recipes") + + const recipes = result.map(toRecipe) + + res.status(200).send(recipes) + + } catch (error) { + res.status(500).send("Internal server error") + } +} + +const toRecipe = (input: any): recipe => { + return { + id: input.id, + title: input.title, + description: input.description, + userId: input.user_id, + createdAt: input.created_at + } +} \ No newline at end of file diff --git a/modulo4/LabECommerce/src/index.ts b/modulo4/LabECommerce/src/index.ts new file mode 100644 index 0000000..f9777a0 --- /dev/null +++ b/modulo4/LabECommerce/src/index.ts @@ -0,0 +1,4 @@ +import { app } from "./app"; +import { getAllRecipes } from "./endpoints/getAllRecipes"; + +app.get("/recipes", getAllRecipes) \ No newline at end of file diff --git a/modulo4/LabECommerce/src/types.ts b/modulo4/LabECommerce/src/types.ts new file mode 100644 index 0000000..2e0a302 --- /dev/null +++ b/modulo4/LabECommerce/src/types.ts @@ -0,0 +1,15 @@ +export type recipe = { + id: string + title: string + description: string + userId: string + createdAt: number +} + +export type user = { + id: string + name: string + email: string + password: string + recipes?: recipe[] +} \ No newline at end of file diff --git a/modulo4/LabECommerce/tsconfig.json b/modulo4/LabECommerce/tsconfig.json new file mode 100644 index 0000000..c5f074d --- /dev/null +++ b/modulo4/LabECommerce/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "outDir": "./build" /* Redirect output structure to the directory. */, + "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, + "strict": true /* Enable all strict type-checking options. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, + "resolveJsonModule": true + } +}