# Acces și firme

33 de rute de platformă, cu exemplu de cerere pentru fiecare.

Adresa de bază: `https://app.ilustromania.com/nucleu`

### GET /v1/acces/firmele-mele

Acces: `sesiune`

**Firmele mele**

Firmele la care are acces contul din sesiune.

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/firmele-mele \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/acces/invitatii

Acces: `rol:admin`

**Creează o invitație**

Administratorul firmei generează un cod de invitație pentru un om nou (drept oameni.creeaza și rol admin în bază).

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/acces/invitatii \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/moduri

Acces: `sesiune`

**Modurile de acces ale echipei**

Lista modurilor de acces ale oamenilor din firma activă (doar administrator).

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/moduri \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/acces/oameni

Acces: `rol:admin`

**Oamenii firmei**

Lista conturilor din firma activă, cu rol și stare.

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/oameni \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/acces/oameni

Acces: `rol:admin`

**Adaugă un om**

Creează un om nou în firmă (drept oameni.creeaza).

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/acces/oameni \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/acces/oameni/{contId}/mod

Acces: `sesiune`

**Schimbă modul de acces al unui om**

Administratorul setează modul de acces al unui cont din echipă; 404 cont negăsit.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `contId` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/oameni/{contId}/mod \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/acces/oameni/{contId}/pagini

Acces: `rol:admin`

**Paginile unui om**

Înlocuiește lista de pagini a omului pe firma activă (administrator).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `contId` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/oameni/{contId}/pagini \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/acces/oameni/{contId}/pagini-scoase

Acces: `sesiune`

**Paginile scoase unui om**

Setează lista de pagini ascunse explicit pentru un om din firmă.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `contId` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/oameni/{contId}/pagini-scoase \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/acces/oameni/{contId}/rol-echipa

Acces: `sesiune`

**Pune un rol de echipă pe om**

Administratorul atribuie unui cont din firmă un rol de echipă.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `contId` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/oameni/{contId}/rol-echipa \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PATCH /v1/acces/oameni/{id}

Acces: `rol:admin`

**Pornește sau oprește accesul unui om**

Schimbă starea de acces a unui cont din firmă (drept oameni.modifica).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PATCH https://app.ilustromania.com/nucleu/v1/acces/oameni/{id} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/oameni/{id}/drepturi

Acces: `rol:admin`

**Drepturile unui om**

Drepturile efective ale unui cont din firmă (drept drepturi.citeste).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/oameni/{id}/drepturi \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/acces/oameni/{id}/drepturi

Acces: `rol:admin`

**Setează drepturile unui om**

Înlocuiește drepturile individuale ale unui cont (drept drepturi.modifica).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/oameni/{id}/drepturi \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/acces/oameni/{id}/parola-temporara

Acces: `rol:admin`

**Resetează parola unui om**

Administratorul generează o parolă temporară nouă pentru un cont existent; sesiunile lui se închid. Limită pe administrator (429).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/acces/oameni/{id}/parola-temporara \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PATCH /v1/acces/oameni/{id}/rol

Acces: `rol:admin`

**Schimbă rolul unui om**

Schimbă rolul de bază al unui cont din firmă (drept oameni.modifica).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X PATCH https://app.ilustromania.com/nucleu/v1/acces/oameni/{id}/rol \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/acces/oameni/cont

Acces: `rol:admin`

**Adaugă un om cu parolă temporară**

Creează contul și întoarce o singură dată parola temporară (201).

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/acces/oameni/cont \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/pagini-cu-oameni

Acces: `sesiune`

**Paginile cu oamenii care le văd**

Pentru administratorul firmei: fiecare pagină cu oamenii care au acces la ea.

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/pagini-cu-oameni \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/acces/pagini/{pagina}/oameni

Acces: `sesiune`

**Cine vede o pagină**

Oamenii firmei și accesul fiecăruia la pagina dată (doar administrator).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `pagina` | `string` | valoarea din cale |

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/pagini/{pagina}/oameni \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/acces/pagini/{pagina}/oameni/{contId}

Acces: `sesiune`

**Dă sau ia o pagină unui om**

Administratorul pornește sau oprește accesul unui om anume la o pagină.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `pagina` | `string` | valoarea din cale |
| `contId` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/pagini/{pagina}/oameni/{contId} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/acces/pagini/{pagina}/oameni/{contId}/editare

Acces: `sesiune`

**Drept de editare pe pagină pentru om**

Administratorul stabilește dacă omul poate edita pe pagina dată.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `pagina` | `string` | valoarea din cale |
| `contId` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/pagini/{pagina}/oameni/{contId}/editare \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/pagini/{pagina}/roluri

Acces: `sesiune`

**Rolurile care văd o pagină**

Rolurile firmei și accesul fiecăruia la pagina dată; pe firmele doar-admin apare doar rolul admin.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `pagina` | `string` | valoarea din cale |

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/pagini/{pagina}/roluri \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/acces/pagini/{pagina}/roluri/{cheie}

Acces: `sesiune`

**Dă sau ia o pagină unui rol**

Administratorul pornește sau oprește accesul unui rol la o pagină.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `pagina` | `string` | valoarea din cale |
| `cheie` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/pagini/{pagina}/roluri/{cheie} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### PUT /v1/acces/pagini/{pagina}/roluri/{cheie}/editare

Acces: `sesiune`

**Drept de editare pe pagină pentru rol**

Administratorul stabilește dacă rolul poate edita pe pagina dată.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `pagina` | `string` | valoarea din cale |
| `cheie` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/pagini/{pagina}/roluri/{cheie}/editare \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/roluri

Acces: `rol:admin`

**Rolurile și drepturile lor**

Rolurile de bază ale firmei cu drepturile fiecăruia.

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/roluri \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/acces/roluri-echipa

Acces: `sesiune`

**Rolurile echipei**

Rolurile definite pe firma activă (doar administrator).

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/roluri-echipa \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/acces/roluri-echipa

Acces: `sesiune`

**Creează un rol de echipă**

Administratorul adaugă un rol nou pe firmă; 409 dacă cheia există deja.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/acces/roluri-echipa \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### DELETE /v1/acces/roluri-echipa/{cheie}

Acces: `sesiune`

**Șterge un rol de echipă**

Șterge un rol creat de firmă; rolurile de sistem nu se pot șterge (403).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `cheie` | `string` | valoarea din cale |

```bash
curl -X DELETE https://app.ilustromania.com/nucleu/v1/acces/roluri-echipa/{cheie} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/acces/roluri-echipa/{cheie}

Acces: `sesiune`

**Modifică un rol de echipă**

Schimbă numele sau setările unui rol existent; 404 rol negăsit.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `cheie` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/roluri-echipa/{cheie} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/roluri-echipa/{cheie}/notificari

Acces: `sesiune`

**Notificările unui rol**

Ce notificări primește rolul ales (doar administrator).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `cheie` | `string` | valoarea din cale |

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/roluri-echipa/{cheie}/notificari \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/acces/roluri-echipa/{cheie}/notificari

Acces: `sesiune`

**Setează notificările unui rol**

Administratorul alege ce notificări primește rolul.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `cheie` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/roluri-echipa/{cheie}/notificari \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/acces/roluri-toate-firmele

Acces: `sesiune`

**Rolurile din toate firmele mele**

Rolurile tuturor firmelor unde contul e administrator, pentru harta conexiunilor.

```bash
curl https://app.ilustromania.com/nucleu/v1/acces/roluri-toate-firmele \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/acces/roluri/{rol}

Acces: `rol:admin`

**Setează drepturile unui rol**

Înlocuiește drepturile rolului dat (drept roluri.modifica).

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `rol` | `string` | valoarea din cale |

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/acces/roluri/{rol} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/invitatii/{cod}

Acces: `public`

**Verifică o invitație**

Spune dacă codul de invitație e valid și încă neconsumat.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `cod` | `string` | valoarea din cale |

```bash
curl https://app.ilustromania.com/nucleu/v1/invitatii/{cod}
```

### POST /v1/invitatii/{cod}/accepta

Acces: `public`

**Acceptă o invitație**

Creează contul omului invitat din nume și email; 404 cod invalid, 409 email deja folosit.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `cod` | `string` | valoarea din cale |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/invitatii/{cod}/accepta \
  -H "Content-Type: application/json" \
  -d '{ … }'
```
