570 lines
20 KiB
JSON
570 lines
20 KiB
JSON
{
|
||
"clients": [
|
||
{
|
||
"id": "client_romashka",
|
||
"type": "company",
|
||
"name": "DCTOUCH",
|
||
"legalName": "ООО ДИСИТАЧ",
|
||
"status": "active",
|
||
"demoEndsAt": "2026-05-29T21:00:00.000Z",
|
||
"contactName": "Иван Петров",
|
||
"contactEmail": "suppert@dctouch.ru",
|
||
"notes": "Основной demo-клиент для проверки Task Manager, NodeDC и deny-исключений.",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T21:04:34.270Z",
|
||
"contractEndsAt": "2026-05-30T21:00:00.000Z",
|
||
"contractStartsAt": "2026-04-25T21:00:00.000Z"
|
||
},
|
||
{
|
||
"id": "client_roga_kopyta",
|
||
"type": "company",
|
||
"name": "ООО Рога и Копыта",
|
||
"legalName": "ООО Рога и Копыта",
|
||
"status": "demo",
|
||
"demoEndsAt": "2026-06-01T00:00:00Z",
|
||
"contactName": "Мария Иванова",
|
||
"contactEmail": "maria@example.ru",
|
||
"notes": "Клиент на демо-доступе, подключены только базовые сервисы.",
|
||
"createdAt": "2026-04-10T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "client_private_architect",
|
||
"type": "person",
|
||
"name": "Илья Архитектор",
|
||
"legalName": null,
|
||
"status": "suspended",
|
||
"demoEndsAt": "2026-04-20T00:00:00Z",
|
||
"contactName": "Илья Архитектор",
|
||
"contactEmail": "ilya@example.ru",
|
||
"notes": "Пример приостановленного частного клиента.",
|
||
"createdAt": "2026-03-14T10:00:00Z",
|
||
"updatedAt": "2026-05-01T21:03:56.861Z",
|
||
"contractStartsAt": "2026-04-30T21:00:00.000Z",
|
||
"contractEndsAt": "2026-05-30T21:00:00.000Z"
|
||
}
|
||
],
|
||
"users": [
|
||
{
|
||
"id": "user_root",
|
||
"authentikUserId": "ak-root",
|
||
"name": "Root Admin",
|
||
"email": "root@nodedc.local",
|
||
"globalStatus": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "user_ivan",
|
||
"authentikUserId": "ak-ivan",
|
||
"name": "Иван Петров",
|
||
"email": "ivan@romashka.ru",
|
||
"globalStatus": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "user_vera",
|
||
"authentikUserId": "ak-vera",
|
||
"name": "Вера Соколова",
|
||
"email": "vera@romashka.ru",
|
||
"globalStatus": "active",
|
||
"createdAt": "2026-04-02T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "user_vasya",
|
||
"authentikUserId": "ak-vasya",
|
||
"name": "Василий Орлов",
|
||
"email": "vasya@romashka.ru",
|
||
"globalStatus": "active",
|
||
"createdAt": "2026-04-05T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "user_lena",
|
||
"authentikUserId": "ak-lena",
|
||
"name": "Лена Волкова",
|
||
"email": "lena@romashka.ru",
|
||
"globalStatus": "active",
|
||
"createdAt": "2026-04-08T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "user_maria",
|
||
"authentikUserId": "ak-maria",
|
||
"name": "Мария Иванова",
|
||
"email": "maria@example.ru",
|
||
"globalStatus": "active",
|
||
"createdAt": "2026-04-10T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "user_blocked",
|
||
"authentikUserId": "ak-blocked",
|
||
"name": "Олег Заблокирован",
|
||
"email": "oleg@romashka.ru",
|
||
"globalStatus": "blocked",
|
||
"createdAt": "2026-04-12T10:00:00Z",
|
||
"updatedAt": "2026-05-01T18:49:59.865Z"
|
||
}
|
||
],
|
||
"memberships": [
|
||
{
|
||
"id": "mem_ivan_romashka",
|
||
"clientId": "client_romashka",
|
||
"userId": "user_ivan",
|
||
"role": "client_owner",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "mem_vera_romashka",
|
||
"clientId": "client_romashka",
|
||
"userId": "user_vera",
|
||
"role": "client_admin",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "mem_vasya_romashka",
|
||
"clientId": "client_romashka",
|
||
"userId": "user_vasya",
|
||
"role": "member",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "mem_lena_romashka",
|
||
"clientId": "client_romashka",
|
||
"userId": "user_lena",
|
||
"role": "member",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "mem_blocked_romashka",
|
||
"clientId": "client_romashka",
|
||
"userId": "user_blocked",
|
||
"role": "member",
|
||
"status": "disabled",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "mem_maria_roga",
|
||
"clientId": "client_roga_kopyta",
|
||
"userId": "user_maria",
|
||
"role": "client_owner",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "mem_ivan_roga",
|
||
"clientId": "client_roga_kopyta",
|
||
"userId": "user_ivan",
|
||
"role": "client_admin",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
}
|
||
],
|
||
"groups": [
|
||
{
|
||
"id": "group_romashka_leads",
|
||
"clientId": "client_romashka",
|
||
"name": "Руководство",
|
||
"description": "Собственники и руководители клиента.",
|
||
"memberIds": [
|
||
"user_ivan",
|
||
"user_vera"
|
||
],
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "group_romashka_accounting",
|
||
"clientId": "client_romashka",
|
||
"name": "Бухгалтерия",
|
||
"description": "1C и финансовые сценарии.",
|
||
"memberIds": [
|
||
"user_lena"
|
||
],
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "group_romashka_ops",
|
||
"clientId": "client_romashka",
|
||
"name": "Операторы",
|
||
"description": "Ежедневная работа в задачах и тендерах.",
|
||
"memberIds": [
|
||
"user_vasya",
|
||
"user_lena"
|
||
],
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "group_roga_demo",
|
||
"clientId": "client_roga_kopyta",
|
||
"name": "Демо-команда",
|
||
"description": "Пилотный контур клиента.",
|
||
"memberIds": [
|
||
"user_maria",
|
||
"user_ivan"
|
||
],
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
}
|
||
],
|
||
"services": [
|
||
{
|
||
"id": "service_nodedc",
|
||
"slug": "nodedc",
|
||
"title": "AGENT CORE",
|
||
"subtitle": "Агентная платформа",
|
||
"description": "Сборка, запуск и мониторинг агентных workflow.",
|
||
"fullDescription": "NodeDC используется для настройки агентных процессов, визуальной оркестрации, интеграций и runtime-мониторинга.",
|
||
"url": "https://dev.handhdc.ru",
|
||
"launchUrl": "https://dev.handhdc.ru/sso/launch",
|
||
"accentColor": "#B5FF5A",
|
||
"fallbackGradient": "linear-gradient(128deg, rgba(181, 255, 90, 0.84), rgba(37, 58, 36, 0.86) 42%, #0A0D10 82%)",
|
||
"status": "active",
|
||
"order": 10,
|
||
"authentikApplicationSlug": "nodedc",
|
||
"authentikGroupName": "service-nodedc",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-02T08:15:08.667Z",
|
||
"coverImageUrl": "/storage/uploads/1777649382309-49d8c393-2026-05-01-17.31.21.jpg",
|
||
"coverMediaKind": "image",
|
||
"coverMediaSource": "file",
|
||
"coverMediaFileName": "1777649382309-49d8c393-2026-05-01-17.31.21.jpg",
|
||
"ambientVideoUrl": "/storage/uploads/1777649395844-a878de95-090aff247929335.69e6521716ea9.gif",
|
||
"ambientMediaKind": "gif",
|
||
"ambientMediaSource": "file",
|
||
"ambientMediaFileName": "1777649395844-a878de95-090aff247929335.69e6521716ea9.gif"
|
||
},
|
||
{
|
||
"id": "service_task_manager",
|
||
"slug": "task-manager",
|
||
"title": "OPERATIONAL CORE",
|
||
"subtitle": "Операционный слой",
|
||
"description": "Задачи, контуры предприятия, процессы и AI-функции поверх задачника.",
|
||
"fullDescription": "Task Manager основан на архитектуре Plane и расширен AI-функциями NODE.DC.",
|
||
"url": "https://tasks.handhdc.ru",
|
||
"launchUrl": "https://tasks.handhdc.ru/sso/launch",
|
||
"accentColor": "#D7C8FF",
|
||
"fallbackGradient": "linear-gradient(132deg, rgba(215, 200, 255, 0.82), rgba(51, 41, 79, 0.9) 46%, #0B0D10 84%)",
|
||
"status": "active",
|
||
"order": 20,
|
||
"authentikApplicationSlug": "task-manager",
|
||
"authentikGroupName": "service-task-manager",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-02T08:15:01.508Z",
|
||
"coverImageUrl": "/storage/uploads/1777652545129-cf547e17-NODEDC_TASK.png",
|
||
"coverMediaKind": "image",
|
||
"coverMediaSource": "file",
|
||
"coverMediaFileName": "1777652545129-cf547e17-NODEDC_TASK.png"
|
||
},
|
||
{
|
||
"id": "service_1c",
|
||
"slug": "1c-assistant",
|
||
"title": "1C AI ASSISTANT",
|
||
"subtitle": "Бухгалтерский ассистент",
|
||
"description": "Вопросы к 1С, точные выборки и доказательная навигация по данным.",
|
||
"fullDescription": "Ассистент для бухгалтерских запросов, анализа операций, остатков и документов.",
|
||
"url": "https://1c.handhdc.ru",
|
||
"launchUrl": "https://1c.handhdc.ru/sso/launch",
|
||
"accentColor": "#8FD7FF",
|
||
"fallbackGradient": "linear-gradient(126deg, rgba(143, 215, 255, 0.8), rgba(32, 61, 80, 0.9) 44%, #080B0F 84%)",
|
||
"status": "maintenance",
|
||
"order": 40,
|
||
"authentikApplicationSlug": "1c-assistant",
|
||
"authentikGroupName": "service-1c-assistant",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-02T08:16:05.517Z",
|
||
"coverImageUrl": "/storage/uploads/1777657277366-a9886413-LLM_MANAGER.png",
|
||
"coverMediaKind": "image",
|
||
"coverMediaSource": "file",
|
||
"coverMediaFileName": "1777657277366-a9886413-LLM_MANAGER.png"
|
||
},
|
||
{
|
||
"id": "service_tender",
|
||
"slug": "tender-agent",
|
||
"title": "TENDER AI AGENT",
|
||
"subtitle": "Госзакупки и тендеры",
|
||
"description": "Поиск, анализ и подготовка тендерных решений.",
|
||
"fullDescription": "Сервис собирает тендерные данные, строит выжимку рисков и помогает подготовить пакет участия.",
|
||
"url": "https://tender.handhdc.ru",
|
||
"launchUrl": "https://tender.handhdc.ru/sso/launch",
|
||
"accentColor": "#FFD166",
|
||
"fallbackGradient": "linear-gradient(135deg, rgba(255, 209, 102, 0.84), rgba(74, 53, 19, 0.92) 42%, #0B0D10 86%)",
|
||
"status": "active",
|
||
"order": 30,
|
||
"authentikApplicationSlug": "tender-agent",
|
||
"authentikGroupName": "service-tender-agent",
|
||
"createdAt": "2026-04-03T10:00:00Z",
|
||
"updatedAt": "2026-05-02T08:15:32.328Z",
|
||
"coverImageUrl": "/storage/uploads/1777652810531-1f17b7ed-LAP_PURP4k.jpg",
|
||
"coverMediaKind": "image",
|
||
"coverMediaSource": "file",
|
||
"coverMediaFileName": "1777652810531-1f17b7ed-LAP_PURP4k.jpg",
|
||
"ambientVideoUrl": "/storage/uploads/1777652817155-199c5e6c-090aff247929335.69e6521716ea9.gif",
|
||
"ambientMediaKind": "gif",
|
||
"ambientMediaSource": "file",
|
||
"ambientMediaFileName": "1777652817155-199c5e6c-090aff247929335.69e6521716ea9.gif"
|
||
},
|
||
{
|
||
"id": "service_digital_twin",
|
||
"slug": "digital-twin",
|
||
"title": "DIGITAL TWIN MOSCOW",
|
||
"subtitle": "3D и пространственные данные",
|
||
"description": "Просмотр цифровых двойников, карт и объектных сцен.",
|
||
"fullDescription": "Витрина геометрии, объектов, слоёв и статусов инфраструктуры.",
|
||
"url": "https://twin.handhdc.ru",
|
||
"launchUrl": "https://launch.dcserve.ru/",
|
||
"accentColor": "#76E4F7",
|
||
"fallbackGradient": "linear-gradient(140deg, rgba(118, 228, 247, 0.82), rgba(23, 69, 87, 0.92) 47%, #080B0F 86%)",
|
||
"status": "active",
|
||
"order": 50,
|
||
"authentikApplicationSlug": "digital-twin",
|
||
"authentikGroupName": "service-digital-twin",
|
||
"createdAt": "2026-04-05T10:00:00Z",
|
||
"updatedAt": "2026-05-02T08:55:28.665Z",
|
||
"coverImageUrl": "/storage/uploads/1777711943125-691830c2-NODEDC_DT_MMAP.png",
|
||
"coverMediaKind": "image",
|
||
"coverMediaSource": "file",
|
||
"coverMediaFileName": "1777711943125-691830c2-NODEDC_DT_MMAP.png"
|
||
},
|
||
{
|
||
"id": "service_dm",
|
||
"slug": "digital-modules",
|
||
"title": "Digital Modules",
|
||
"subtitle": "Будущие модули",
|
||
"description": "Скрытый каталог модулей для root-admin preview.",
|
||
"fullDescription": "Площадка для будущих цифровых модулей NODE.DC.",
|
||
"url": "https://dm.handhdc.ru",
|
||
"launchUrl": "https://dm.handhdc.ru/sso/launch",
|
||
"accentColor": "#FF9AC2",
|
||
"fallbackGradient": "linear-gradient(135deg, rgba(255, 154, 194, 0.78), rgba(76, 41, 64, 0.9) 44%, #090B0F 86%)",
|
||
"status": "hidden",
|
||
"order": 60,
|
||
"authentikApplicationSlug": "digital-modules",
|
||
"authentikGroupName": "service-digital-modules",
|
||
"createdAt": "2026-04-10T10:00:00Z",
|
||
"updatedAt": "2026-05-01T17:59:10.713Z"
|
||
}
|
||
],
|
||
"grants": [
|
||
{
|
||
"id": "grant_romashka_task",
|
||
"serviceId": "service_task_manager",
|
||
"targetType": "client",
|
||
"targetId": "client_romashka",
|
||
"appRole": "member",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "grant_romashka_nodedc_leads",
|
||
"serviceId": "service_nodedc",
|
||
"targetType": "group",
|
||
"targetId": "group_romashka_leads",
|
||
"appRole": "admin",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "grant_romashka_1c_accounting",
|
||
"serviceId": "service_1c",
|
||
"targetType": "group",
|
||
"targetId": "group_romashka_accounting",
|
||
"appRole": "member",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "grant_romashka_tender_ops",
|
||
"serviceId": "service_tender",
|
||
"targetType": "group",
|
||
"targetId": "group_romashka_ops",
|
||
"appRole": "viewer",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "grant_romashka_twin_vasya",
|
||
"serviceId": "service_digital_twin",
|
||
"targetType": "user",
|
||
"targetId": "user_vasya",
|
||
"appRole": "viewer",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "grant_roga_task",
|
||
"serviceId": "service_task_manager",
|
||
"targetType": "client",
|
||
"targetId": "client_roga_kopyta",
|
||
"appRole": "member",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "grant_roga_nodedc",
|
||
"serviceId": "service_nodedc",
|
||
"targetType": "client",
|
||
"targetId": "client_roga_kopyta",
|
||
"appRole": "viewer",
|
||
"status": "active",
|
||
"createdAt": "2026-04-01T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
}
|
||
],
|
||
"exceptions": [
|
||
{
|
||
"id": "exception_lena_task_deny",
|
||
"serviceId": "service_task_manager",
|
||
"userId": "user_lena",
|
||
"type": "deny",
|
||
"reason": "Индивидуально отключён Task Manager на период ревизии доступа.",
|
||
"createdAt": "2026-04-28T10:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
}
|
||
],
|
||
"invites": [
|
||
{
|
||
"id": "invite_romashka_analyst",
|
||
"clientId": "client_romashka",
|
||
"email": "analyst@romashka.ru",
|
||
"role": "member",
|
||
"invitedByUserId": "user_ivan",
|
||
"token": "romashka-analyst-demo",
|
||
"expiresAt": "2026-05-15T12:00:00Z",
|
||
"status": "sent",
|
||
"createdAt": "2026-04-30T12:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "invite_roga_admin",
|
||
"clientId": "client_roga_kopyta",
|
||
"email": "ops@example.ru",
|
||
"role": "client_admin",
|
||
"invitedByUserId": "user_maria",
|
||
"token": "roga-admin-demo",
|
||
"expiresAt": "2026-05-18T12:00:00Z",
|
||
"status": "created",
|
||
"createdAt": "2026-04-30T14:00:00Z",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
}
|
||
],
|
||
"syncStatuses": [
|
||
{
|
||
"id": "sync_romashka_auth",
|
||
"objectId": "client_romashka",
|
||
"objectName": "ООО Ромашка",
|
||
"objectType": "client",
|
||
"target": "authentik",
|
||
"state": "synced",
|
||
"lastSyncAt": "2026-05-01T08:00:00Z",
|
||
"error": null,
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "sync_task_auth",
|
||
"objectId": "service_task_manager",
|
||
"objectName": "Task Manager",
|
||
"objectType": "service",
|
||
"target": "authentik",
|
||
"state": "synced",
|
||
"lastSyncAt": "2026-05-01T08:00:00Z",
|
||
"error": null,
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "sync_lena_task",
|
||
"objectId": "exception_lena_task_deny",
|
||
"objectName": "Deny: Лена / Task Manager",
|
||
"objectType": "grant",
|
||
"target": "task_manager",
|
||
"state": "pending",
|
||
"lastSyncAt": null,
|
||
"error": null,
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
},
|
||
{
|
||
"id": "sync_roga_nodedc",
|
||
"objectId": "client_roga_kopyta",
|
||
"objectName": "ООО Рога и Копыта",
|
||
"objectType": "client",
|
||
"target": "nodedc",
|
||
"state": "error",
|
||
"lastSyncAt": "2026-05-01T08:00:00Z",
|
||
"error": "OIDC binding ещё не создан для demo-клиента.",
|
||
"updatedAt": "2026-05-01T09:00:00Z"
|
||
}
|
||
],
|
||
"auditEvents": [
|
||
{
|
||
"id": "audit_1",
|
||
"at": "2026-05-01T08:40:00Z",
|
||
"actorUserId": "user_root",
|
||
"actorName": "Root Admin",
|
||
"action": "Создан сервис",
|
||
"objectType": "service",
|
||
"objectName": "Digital Modules",
|
||
"clientId": "client_romashka",
|
||
"result": "success",
|
||
"details": null
|
||
},
|
||
{
|
||
"id": "audit_2",
|
||
"at": "2026-05-01T08:20:00Z",
|
||
"actorUserId": "user_ivan",
|
||
"actorName": "Иван Петров",
|
||
"action": "Создан invite",
|
||
"objectType": "invite",
|
||
"objectName": "analyst@romashka.ru",
|
||
"clientId": "client_romashka",
|
||
"result": "success",
|
||
"details": "Срок действия до 15.05.2026"
|
||
},
|
||
{
|
||
"id": "audit_3",
|
||
"at": "2026-04-30T17:10:00Z",
|
||
"actorUserId": "user_root",
|
||
"actorName": "Root Admin",
|
||
"action": "Создано deny-исключение",
|
||
"objectType": "access",
|
||
"objectName": "Лена / Task Manager",
|
||
"clientId": "client_romashka",
|
||
"result": "warning",
|
||
"details": "Индивидуальное правило перекрыло client grant."
|
||
},
|
||
{
|
||
"id": "audit_4",
|
||
"at": "2026-04-30T16:00:00Z",
|
||
"actorUserId": "user_root",
|
||
"actorName": "Root Admin",
|
||
"action": "Ошибка синхронизации",
|
||
"objectType": "sync",
|
||
"objectName": "ООО Рога и Копыта / NodeDC",
|
||
"clientId": "client_romashka",
|
||
"result": "error",
|
||
"details": "Нет application binding."
|
||
}
|
||
]
|
||
}
|