zielnik01
#programowanie #nodejs

Mam problem chyba z poprawnym odseparowaniem odpowiedzialności między encjami, serwisami itd. Otóż mam funkcję lambda, która obsługuje mi request (tworzenie encji):
https://www.pastery.net/xsccsj/
Zazwyczaj używałem frameworków gdzie wszystko jakby z góry było narzucone, więc nad takimi aspektami raczej nie myślałem, więc sory za lamerskie pytanie :)
  • Najlepsze
  • Wszystkie komentarze
Solidly
@zielnik01: Moim zdaniem cała ta logika powinna się odbywać gdzieś na poziomie EntityService, ponieważ to wszystko dotyczy operacji na encjach. Chyba "controller" (jak zwał, tak zwał, warstwa która przyjmuje requesty) nie powinien wiedzieć nic o zależnościach pomiędzy obiektami biznesowymi/encjami.

Ale to tylko moje zdanie, może masz inne. Stąd też pytanie - dlaczego zrobiłeś właśnie tak?:)
zielnik01
zielnik01 Autor
0
@Solidly: no wlasnie wydaje mi sie ze zle robie i dlatego pytam :) nie do konca wiem jak to ogarnąć dobrze.

Np zakladajac, ze mam obiekt z relacjami i wysyłam go do endpointu typu PUT /projekt/3

let project = {
zielnik01
zielnik01 Autor
0
w zasadzie wyglądałoby to tak?

controller(req, res) => {
getUser(req);
validateRequest(req.params.id, req.body);
Service.update(req.body);
}
Solidly
@zielnik01: moim zdaniem tak jest lepiej; choć nie wiem po co ten getUser:)
zielnik01
zielnik01 Autor
0
@Solidly: to jest w architekturze serverless, normalnei w express to by byla middleware, a tak to wywoluje po prostu jezeli endpoint jest otwarty to sprawdza czy w requescie jest token i rzucam wyjatkiem jesli nie, w przecinwym razie nie daje tej funkcji i endpoint jest otwarty