I sedvanlig ordning så gick vi snabbt igenom gårdagens nyförvärvade kunskaper varefter vi pratade om hur ni löst eftermiddags-workshop:en och jag tipsade om SequelPro och HeidiSQL som är fristående appar till macOS respektive Windows för att ansluta till SQL-servrar (likt phpMyAdmin som körs i webbläsaren).

Därefter löste vi workshop:en tillsammans, och precis före lunch så började vi prata väldigt kort om express-validator som hjälper oss att både tvätta och validera inkommande data (t.ex. när vi ska skapa ett nytt café eller uppdatera fält på ett befintligt café).

Efter lunch fortsatte vi ungefär en timme med att gå igenom express-validator lite mer i detalj, och därefter fick ni en workshop-uppgift kring sanering och validering av data att lösa under resterande två timmar av dagen.


Länkar

express-validator

https://express-validator.github.io/docs/index.html

Lista på validators från validator.js

https://github.com/validatorjs/validator.js#validators


Workshop

Dagens workshop består av tre steg som bygger på varandra.

Steg 1. Sanering och validering vid skapande av nya caféer

Med hjälp av exempel-koden jag skrivit i app.js för POST /api/test, lägg in sanering och validering av inkommande data för skapandet av nya caféer (POST /api/cafees) i routes/api/api_cafees_router.js och i controllers/api/api_cafee_controller.js.

Steg 2. Sanering och validering vid uppdatering av befintligt café

Lägg nu in sanering och validering på samma sätt som steg 1 fast vid uppdatering av ett befintligt café (PUT /api/cafees/:cafeId).

Tänk på att det precis som tidigare ska räcka att skicka in de fälten man vill uppdatera, och saneringen/valideringen ska fungera ändå på de fälten (hint: .optional()).

Steg 3. Refactoring = bättre kod = bättre liv! 😆

Härligt! Just nu listar vi alla saneringar/valideringar i vår router, vilket ju inte är så snyggt. Kan du lyfta ut dem till antingen vår api-cafee-controller eller ännu hellre vår cafee-databas-modul, och nyttja dem i routern ändå? 💪🏻