דלג לתוכן הראשי

מערכת הרשאות

המערכת משתמשת במודל הרשאות גמיש (RBAC) המאפשר להגדיר במדויק מה כל משתמש (גבאי/מנהל) יכול לעשות. ההרשאות נאכפות ברמת השרת (Guards) וברמת הממשק (UI).

רשימת הרשאות (Permission Enum)

מזהה הרשאהתיאורשימוש במערכת
MANAGE_USERSניהול משתמשיםיצירה, עריכה ומחיקת משתמשים. הקצאת תפקידים.
MANAGE_DEVICESניהול מכשיריםהוספת מכשירים, שינוי הגדרות, צפייה בסטטוס.
MANAGE_CONTENTניהול תוכןעריכת זמני תפילה, הודעות, זמנים, שיעורים, עליות לתורה.
MANAGE_ALERTSניהול התראותהגדרת חוקים להתראות מערכת.
MANAGE_REPORTSצפייה בדוחותגישה למסך הדוחות והסטטיסטיקות.
MANAGE_NOTIFICATIONSניהול התראותהגדרת ערוצי תקשורת (אימייל, SMS, WhatsApp).
MANAGE_SYSTEMניהול מערכתהרשאת על (Admin) להגדרות ליבה.
VIEW_DASHBOARDצפייה בלוח בקרהגישה בסיסית לדף הבית.
VIEW_ANALYTICSצפייה באנליטיקהגישה לגרפים ונתוני שימוש מתקדמים.

יישום בקוד

ההרשאות נבדקות באמצעות הדקורטור @Permissions מעל הקונטרולר או הפונקציה:

@Controller('users')
@Permissions(Permission.MANAGE_USERS) // דורש הרשאה לכל הפונקציות בקונטרולר
export class UsersController { ... }

תפקידים (Roles)

המערכת תומכת בתפקידים מובנים המאגדים מספר הרשאות:

  1. Admin (מנהל על): בעל כל ההרשאות. יכול לבצע Impersonation (התחזות) למשתמשים אחרים.
  2. User (גבאי): מנהל את בית הכנסת שלו בלבד. הרשאות MANAGE_CONTENT, MANAGE_DEVICES מוגבלות ל-Tenant שלו.
  3. Viewer (צופה): הרשאות צפייה בלבד (למשל עבור ועדת ביקורת).
הערה טכנית

בבסיס הנתונים, התפקיד נשמר בשדה role במודל User, וההרשאות הספציפיות בטבלה מקושרת (אם קיימת חריגה מהתפקיד).