Этот пример документа пользователя (org.couchdb.user:%username%) относится к встроенному формату CouchDB для управления учетными записями и доступом к базе данных. CouchDB поддерживает такие документы для аутентификации и управления правами пользователей, что позволяет контролировать доступ к базе данных на уровне CouchDB.
| `_id` | Уникальный идентификатор документа, в формате `org.couchdb.user:<username>` (например, `org.couchdb.user:ivan.ivanov`). |
| `name` | Имя пользователя, соответствует username (например, `ivan.ivanov`). |
| `type` | Тип документа, всегда равен `"user"`. |
| `user_uuid` | Уникальный идентификатор пользователя, не ссылается на `_id` (например, `01931a8b-220c-76df-943c-ea23313c7c65`). |
| `email` | Email пользователя для связи (например, `ivan@example.com`). |
| `created_at` | Дата и время создания учетной записи пользователя в формате ISO 8601 (например, `"2024-11-10T10:00:00Z"`). |
| `roles` | Массив ролей, по умолчанию пуст. |
| `password` | Пароль пользователя в текстовом виде. **(Примечание: использовать безопасное хранение паролей рекомендуется)**. |
Добавление документа типа org.couchdb.user позволяет CouchDB управлять доступом к базе данных. Этот документ создается, когда необходимо, чтобы пользователь имел доступ к базе данных через CouchDB.
CouchDB будет использовать такие документы для аутентификации пользователей, когда они подключаются к базе данных, запрашивая имя пользователя и пароль.
Примечание: CouchDB преобразует password в защищенный хэш при сохранении, поэтому в итоговом документе хранится зашифрованный пароль, а не открытый текст.
## QR-код (QR-Code)
Документ, представляющий QR-код, созданный пользователем для связи через конкретный объект (например, автомобиль или квартиру). Этот документ содержит информацию об объекте, для которого создан QR-код, а также доступные действия для взаимодействия гостей, сканирующих QR-код.
Этот документ служит для хранения данных о каждом уникальном QR-коде, созданном пользователем. Он обеспечивает:
1. Идентификацию и короткий URL для доступа к QR-коду через URI.
2. Информацию об объекте и разрешенных действиях.
3. Возможность фильтрации активных и неактивных QR-кодов.
uri — короткий, уникальный идентификатор для QR-кода, используемый для создания URL.
url — полноценная ссылка, ведущая к целевой странице взаимодействия, которую может сканировать гость для начала общения.
## Сообщение (Message)
Документ, представляющий сообщения от гостя и ответы владельца, отправленные в рамках конкретного взаимодействия с QR-кодом. Все сообщения, связанные с одним QR-кодом, сгруппированы по `session` для отслеживания всех взаимодействий в рамках одной сессии, что создает упрощенную структуру для общения.