Systém oprávnění
Binární a víceúrovňová oprávnění s hierarchií rolí, resource-level overrides a LRU cache s TTL 30 s.
Více o oprávněních
Oprávnění · Role · Profily · Notifikace · Multi-brand
Atrea User API je centralizovaný backend pro správu uživatelů, oprávnění a notifikací pro všechny aplikace v ekosystému Atrea. Funguje jako jediný zdroj pravdy (single source of truth) pro:
| Oblast | Popis |
|---|---|
| Uživatelé | Registr uživatelů, aktivace/deaktivace, superadmini, app admini |
| Oprávnění | Binární a víceúrovňová oprávnění, hierarchie rolí, resource-level overrides |
| Profily | Globální profil, locale, theme, brand, per-app preference |
| Notifikace | Email + Web Push, šablony, per-type preference, audit log |
| Aplikace | Registr aplikací, správa rolí a oprávnění per-app |
| Zitadel | Webhooks, OIDC login, org management, branding |
┌─────────────────────────────────────────────────────────────┐
│ Vaše backend aplikace │
│ │
│ POST /check → { allowed: true } (bez JWT, x-api-key) │
│ POST /internal/notifications → (service-to-service) │
└─────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────▼───────────────────────────────────────┐
│ Atrea User API │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Permissions│ │ Roles │ │ Profiles │ │Notifikace│ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────▼───────────────────────────────────────┐
│ PostgreSQL 16 │
└─────────────────────────────────────────────────────────────┘| Technologie | Verze | Účel |
|---|---|---|
| Node.js | 20 (Alpine) | Runtime |
| TypeScript | 5.7 | Jazyk |
| Express | 4.21 | HTTP server |
| TypeORM | 0.3 | ORM pro PostgreSQL |
| PostgreSQL | 16 | Databáze |
| Zitadel | latest | OIDC provider |
| swagger-jsdoc + swagger-ui-express | 6 + 5 | API dokumentace |
| winston | 3 | Strukturované logování |
| LRU Cache | 11 | Cache oprávnění (TTL 30 s) |
| nodemailer | 8 | SMTP email + DKIM |
| web-push | 3.6 | Web Push notifikace |