## Система нотификации
- Основное предназначение - комутировать системные и генерируемые скриптами уведомления, для централизованого вывода.
- Уведомления доступны лишь авторизированным пользователям. 
- Уведомления могут быть предназначены всем, отдельным группам пользователей или отдельным пользователям. Со стороны использования API это не играет роли.
- Сторонними считаются уведомлениями сгенерированные скриптами или инициированные внешним источним через API

### NOTIFICATION_STRUCT
```json
	{
		"id": 42,
		"user_id": 12,
		"type": "system", // "system" | "script" | "aside"
		"icon": "home", // Load from icon pack or url to img
		"title": "The notification",
		"body": "body of notification",
		"link": "http://...",
		"create_at": "2025-07-28 18:35"
	}
	```

---

### GET `/api/v1/notifications/list`
Список непрочитанных уведомлений

#### Пример ответа
```json
	{
		"status": "ok",
		"notifications": [
			"NOTIFICATION_STRUCT"
			// ...
		],
		"total": 10
	}
	```

---

### GET `/api/v1/notifications/id/{{id}}/read`
Отметить выбранноео уведомление как прочитанное 

#### Пример ответа
```json
	{
		"status": "ok",
		"notification": "NOTIFICATION_STRUCT"
	}
	```

---

### POST `/api/v1/notifications/new`
Запушить новое уведомление. **Примечания:**
- `type` будет установлен в **aside**
- Пушить сторонние уведомления можно лишь от имени администратора и выше.

#### Пример запроса
```json
	{
		"icon": "home", // Load from icon pack or url to img
		"title": "The notification",
		"body": "body of notification",
		"link": "http://...",
	}
	```

#### Пример ответа
```json
	{
		"status": "ok",
		"notification": "NOTIFICATION_STRUCT"
	}
	```

#### Пример НЕ успешного ответа. Не хватает прав
```json
	{
		"status": "error",
		"message": "Permissions error" // "Permission error"
	}
	```