Tmavý režim
Aplikace (/applications)
Správa aplikací v systému. Pouze SuperAdmin může vytvářet, upravovat a mazat aplikace.
GET /applications — seznam aplikací
http
GET /api/applications
Authorization: Bearer <superadmin-token>Response
json
{
"success": true,
"data": [
{
"id": 1,
"code": "crm",
"name": "CRM Systém",
"description": "Správa zákazníků a obchodních příležitostí",
"createdAt": "2024-01-10T08:00:00.000Z"
},
{
"id": 2,
"code": "vallox-panel",
"name": "Vallox Panel",
"description": null,
"createdAt": "2024-01-11T09:00:00.000Z"
}
]
}GET /applications/:appCode — detail aplikace
http
GET /api/applications/crm
Authorization: Bearer <superadmin-token>Response
json
{
"success": true,
"data": {
"id": 1,
"code": "crm",
"name": "CRM Systém",
"description": "Správa zákazníků a obchodních příležitostí",
"createdAt": "2024-01-10T08:00:00.000Z"
}
}POST /applications — vytvoření aplikace
http
POST /api/applications
Authorization: Bearer <superadmin-token>
Content-Type: application/jsonRequest body
json
{
"code": "nova-app",
"name": "Nová Aplikace",
"description": "Popis aplikace (volitelné)"
}| Pole | Typ | Povinné | Popis |
|---|---|---|---|
code | string | ✓ | Unikátní kód aplikace (slug) |
name | string | ✓ | Zobrazované jméno |
description | string | ✗ | Volitelný popis |
Konvence pojmenování
code by měl být lowercase slug bez mezer: crm, vallox-panel, atrea-service.
Response 201 Created
json
{
"success": true,
"data": {
"id": 3,
"code": "nova-app",
"name": "Nová Aplikace",
"description": "Popis aplikace",
"createdAt": "2024-01-20T12:00:00.000Z"
}
}PUT /applications/:appCode — aktualizace aplikace
http
PUT /api/applications/nova-app
Authorization: Bearer <superadmin-token>
Content-Type: application/jsonRequest body
json
{
"name": "Nová Aplikace v2",
"description": "Aktualizovaný popis"
}code nelze měnit po vytvoření.
DELETE /applications/:appCode — smazání aplikace
http
DELETE /api/applications/nova-app
Authorization: Bearer <superadmin-token>Response 204 No Content
Kaskádové smazání
Smazání aplikace smaže kaskádově všechna závislá data:
- Všechna oprávnění aplikace
- Všechny role aplikace
- Všechna přiřazení rolí uživatelům
- Všechny resource-level overrides
- Všechny app adminy
- Notifikační typy a šablony
Workflow: nastavení nové aplikace
Kompletní postup pro nastavení nové aplikace:
1. Vytvořte aplikaci
bash
POST /api/applications
{ "code": "moje-app", "name": "Moje Aplikace" }2. Vytvořte oprávnění
bash
POST /api/applications/moje-app/permissions
{ "code": "documents.read", "type": "binary", "groupName": "Dokumenty" }
POST /api/applications/moje-app/permissions
{ "code": "documents.edit", "type": "tiered", "groupName": "Dokumenty" }3. Vytvořte role
bash
POST /api/applications/moje-app/roles
{ "code": "viewer", "description": "Pouze čtení" }
POST /api/applications/moje-app/roles
{ "code": "editor", "description": "Čtení a editace" }4. Přiřaďte oprávnění rolím
bash
# Role "viewer" — jen čtení
PUT /api/applications/moje-app/roles/1/permissions
{ "permissions": [{ "permissionId": 1, "accessLevel": "allowed" }] }
# Role "editor" — čtení + editace
PUT /api/applications/moje-app/roles/2/permissions
{
"permissions": [
{ "permissionId": 1, "accessLevel": "allowed" },
{ "permissionId": 2, "accessLevel": "edit" }
]
}5. Přidejte app admina (volitelně)
bash
POST /api/users/admins/apps/moje-app
{ "email": "admin@firma.cz" }6. Přiřaďte uživatelům role
bash
PUT /api/users/jan.novak@firma.cz/apps/moje-app/roles
{ "roleIds": [2] }7. Testujte oprávnění
bash
POST /api/check
{
"email": "jan.novak@firma.cz",
"app": "moje-app",
"permission": "documents.edit"
}