Řešení úlohy - Systém přihlášení a oprávnění

Co je zde splněno

  • Použili se predikáty jePrihlasen, jePrivilegovan, neniBlokovan, maSouhlas, neniZakazano s ochranou proti null (short-circuit).

  • Použity guard clauses – při nesplnění podmínky se funkce ihned vrací false, bez hlubokého vnoření.

  • Kontrola rolí je řešena tabulkově přes Set.has.

  • Negace je pouze tam, kde dává smysl (např. neniZakazano), složitější výrazy jsou rozděleny do srozumitelných kroků.

  • Výsledkem je true pouze tehdy, když jsou všechny požadované podmínky splněny.

Poznámky

  • Původní podmínka trpěla chybnou negací a chybějícími závorkami (!uzivatel.prihlasen && uzivatel.role === "admin" || ...) – po rozdělení do predikátů jsou priority podmínek zřejmé.

  • Predikáty jsou bez vedlejších efektů, takže je lze snadno testovat a znovu použít.