• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyrzucanie błędów w prototype modelu

Object Storage Arubacloud
+1 głos
197 wizyt
pytanie zadane 18 lutego 2022 w JavaScript przez poldeeek Mądrala (5,980 p.)

Hejka, piszę apkę z Nest.js i sequelize. Zastanawiam się czy dobrym pomysłem jest wrzucanie walidacji do prototype modelu. Dokładniej chodzi mi o to czy to jest dobre miejsce na tego if'a :
 

  const User = <UserModel>sequelize.define('user', schema, config);
  
  User.prototype.resetPasswordToken = async function () {
        if (this.blockUntil <= new Date()) {
            throw new HttpError(HttpStatus.badRequest, `User with ID='${this.id}' is blocked`);
        }

        [...gerenowanie tokenu]

        return token;
    };

 

1 odpowiedź

+1 głos
odpowiedź 18 lutego 2022 przez rafal.budzis Szeryf (85,260 p.)
wybrane 19 lutego 2022 przez poldeeek
 
Najlepsza

Zaznaczę że nie znam ani nest ani sequelize. Jednak z tego co poczytałem to sequelize to ORM. Więc moim zdaniem brakuje Ci jednej warstwy abstrakcji. Zrób sobie klasę coś w stylu  UserController. W konstruktorze wstrzyknij jako zależność User i używaj w całej aplikacji tylko UserController który dodawał by dodatkowe opcje.

Jeśli User jest klasą to ewentualnie nieco ładniej było by użyć class A extends User nowa składnie jest fajna i nie ma co się jej bać ;) 

Podobne pytania

0 głosów
1 odpowiedź 799 wizyt
pytanie zadane 28 maja 2015 w JavaScript przez A_C Użytkownik (880 p.)
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 15 listopada 2023 w JavaScript przez reaktywny Nałogowiec (41,050 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...