Vi gick igenom fredagens workshop och gjorde refaktoreringen till store/update/destroy i vår café-db-modul.
Därefter flyttade vi över routes och logik för våra caféer till en café-route-modul, följt av ännu en separering där vi flyttade all logik till en café-controller-modul. Och med det så har vi uppnått ett MVC-pattern (Model View Controller) som är ett mjukvaru-designmönster som hjälper oss att separera kod, både för att få bättre översikt och att skriva bättre kod med mindre buggar.

På eftermiddagen så skapade vi en owners tabell i vår databas och pratade om att kolumner kan tillåtas vara NULL om man anger det när man skapar tabellen/kolumnen.
När vi gjort det så resonerade vi kring relationer mellan tabeller, och hur vi kan göra så att ett cafee kan ägas av en owner men att en owner samtidigt kan äga många cafee, och kom fram till att vi bör ha en owner_id kolumn i vår cafees tabell.

Då kan vi med hjälp av att använda WHERE owner_id = ? i vår SQL hämta ut de cafee som ägs av en specifik owner.
Därefter skrev jag en exempel-funktion i café-db-modulen för att hämta ut alla caféer som ägs av ett owner_id.
Länkar
MDN Express Tutorial Part 4: Routes and Controllers (MVC)
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/routes
Model-View-Controller (Wikipedia)
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
Workshop/självstudier
Gör så man kunde se en lista på alla ägare och även klicka in på varje ägare.
Se om ni kan få till att man inne på varje ägare kan se vilka caféer den äger, och att man kan klicka in på varje café (och komma till /cafees/cafeId).
Om allt funkar bra så testa att få till att man inne på varje café kan se vem som är ägare (tänk på att ta hänsyn till att det inte är alla caféer som har en ägare!).