Загрузка данных


{
  "sign_in": "Entrance",
  "log_out": "Exit",

  "user_register": "User registration",
  "user_update": "User update",
  "user_delete": "User delete",

  "controller_create": "Controller create",
  "controller_update": "Controller update",
  "controller_delete": "Controller delete",

  "controller_model_create": "Controller model create",
  "controller_model_update": "Controller model update",
  "controller_model_delete": "Controller model delete",

  "controller_type_create": "Controller type create",
  "controller_type_update": "Controller type update",
  "controller_type_delete": "Controller type delete",

  "device_create": "Device create",
  "device_update": "Device update",
  "device_delete": "Device delete",

  "device_type_create": "Device type create",
  "device_type_update": "Device type update",
  "device_type_delete": "Device type delete",

  "device_model_create": "Device model create",
  "device_model_update": "Device model update",
  "device_model_delete": "Device model delete",

  "network_device_create": "Independent network device create",
  "network_device_update": "Independent network device update",
  "network_device_delete": "Independent network device delete",

  "padlet_create": "Panel Smartroom create",
  "padlet_update": "Panel Smartroom update",
  "padlet_delete": "Panel Smartroom delete",

  "padlet_type_create": "Panel Smartroom type create",
  "padlet_type_update": "Panel Smartroom type update",
  "padlet_type_delete": "Panel Smartroom type delete",

  "padlet_model_create": "Panel Smartroom model create",
  "padlet_model_update": "Panel Smartroom model update",
  "padlet_model_delete": "Panel Smartroom model delete",

  "offline_device_create": "Independent non-network device create",
  "offline_device_update": "Independent non-network device update",
  "offline_device_delete": "Independent non-network device delete",

  "location_create": "Location create",
  "location_update": "Location update",
  "location_delete": "Location delete",

  "location_note_create": "Location note create",
  "location_note_update": "Location note update",
  "location_note_delete": "Location note delete",

  "location_ticket_create": "Location request create",
  "location_ticket_update": "Location request update",
  "location_ticket_delete": "Location request delete",
  "location_ticket_archive": "Location request archive",

  "service_status_create": "Location service status update",

  "location_owner_add": "Location owner add",
  "location_owner_delete": "Location owner delete",

  "location_enable": "Transfer location to accounting",
  "location_disable": "Removing location from accounting",

  "equipment_enable": "Transfer equipment to accounting",
  "equipment_disable": "Removing equipment from accounting",

  "manufacturer_create": "Manufacturer create",
  "manufacturer_update": "Manufacturer update",
  "manufacturer_delete": "Manufacturer delete",

  "contractor_create": "Contractor create",
  "contractor_update": "Contractor update",
  "contractor_delete": "Contractor delete",

  "interface_name_create": "Interface name create",
  "interface_name_update": "Interface name update",
  "interface_name_delete": "Interface name delete",

  "interface_value_create": "Interface value create",
  "interface_value_update": "Interface value update",
  "interface_value_delete": "Interface value delete",

  "notification_read": "Notification read",
  "notification_read_all": "All notifications read",
  "notification_archive": "Notification archive",
  "notification_archive_all": "All notification archive",

  "flapping_resolved": "Removing the \"Unstable\" status",

  "equipment_window_create": "Opening the authentication window",

  "equipment_token_create": "Equipment token add",
  "equipment_token_update": "Equipment token update",
  "equipment_token_delete": "Equipment token delete",

  "call_start": "Start a call from a Skill",
  "call_end": "Ending a call from a Skill",
  "call_start_vip": "Start of a VIP call from SberCom",
  "call_end_vip": "Ending a VIP call from SberCom",
  "call_start_common": "Start of a regular call from SberCom",
  "call_end_common": "Ending a regular call from SberCom",

  "actionType": "Action type",
  "actionDetails": "Action details",

  "sortBy": {
    "status": "by status",
    "created_at": "by date created",
    "updated_at": "by date updated"
  },

  "destination": "Destination",
  "location_id": "Location ID"
}

{
  "sign_in": "Вход",
  "log_out": "Выход",

  "user_register": "Регистрация пользователя",
  "user_update": "Обновление пользователя",
  "user_delete": "Удаление пользователя",

  "controller_create": "Создание контроллера",
  "controller_update": "Обновление контроллера",
  "controller_delete": "Удаление контроллера",

  "controller_model_create": "Создание модели контроллера",
  "controller_model_update": "Обновление модели контроллера",
  "controller_model_delete": "Удаление модели контроллера",

  "controller_type_create": "Создание типа контроллера",
  "controller_type_update": "Обновление типа контроллера",
  "controller_type_delete": "Удаление типа контроллера",

  "device_create": "Создание устройства",
  "device_update": "Обновление устройства",
  "device_delete": "Удаление устройства",

  "device_type_create": "Создание типа устройства",
  "device_type_update": "Обновление типа устройства",
  "device_type_delete": "Удаление типа устройства",

  "device_model_create": "Создание модели устройства",
  "device_model_update": "Обновление модели устройства",
  "device_model_delete": "Удаление модели устройства",

  "network_device_create": "Создание самостоятельного сетевого устройства",
  "network_device_update": "Обновление самостоятельного сетевого устройства",
  "network_device_delete": "Удаление самостоятельного сетевого устройства",

  "padlet_create": "Создание панели SmartRoom",
  "padlet_update": "Обновление панели SmartRoom",
  "padlet_delete": "Удаление панели SmartRoom",

  "padlet_type_create": "Создание типа панели SmartRoom",
  "padlet_type_update": "Обновление типа панели SmartRoom",
  "padlet_type_delete": "Удаление типа панели SmartRoom",

  "padlet_model_create": "Создание модели панели SmartRoom",
  "padlet_model_update": "Обновление модели панели SmartRoom",
  "padlet_model_delete": "Удаление модели панели SmartRoom",

  "offline_device_create": "Создание самостоятельного несетевого устройства",
  "offline_device_update": "Обновление самостоятельного несетевого устройства",
  "offline_device_delete": "Удаление самостоятельного несетевого устройства",

  "location_create": "Создание локации",
  "location_update": "Обновление локации",
  "location_delete": "Удаление локации",

  "location_note_create": "Создание заметки локации",
  "location_note_update": "Обновление заметки локации",
  "location_note_delete": "Удаление заметки локации",

  "location_ticket_create": "Создание заявки для локации",
  "location_ticket_update": "Обновление заявки для локации",
  "location_ticket_delete": "Удаление заявки для локации",
  "location_ticket_archive": "Архивирование заявки для локации",

  "service_status_create": "Обновление сервисного статуса локации",

  "location_owner_add": "Добавление владельца локации",
  "location_owner_delete": "Удаление владельца локации",

  "location_enable": "Перевод локации в учет",
  "location_disable": "Вывод локации из учета",

  "equipment_enable": "Перевод оборудования в учет",
  "equipment_disable": "Вывод оборудования из учета",

  "manufacturer_create": "Создание производителя",
  "manufacturer_update": "Обновление производителя",
  "manufacturer_delete": "Удаление производителя",

  "contractor_create": "Создание подрядчика",
  "contractor_update": "Обновление подрядчика",
  "contractor_delete": "Удаление подрядчика",

  "interface_name_create": "Создание имени интерфейса",
  "interface_name_update": "Обновление имени интерфейса",
  "interface_name_delete": "Удаление имени интерфейса",

  "interface_value_create": "Создание значения интерфейса",
  "interface_value_update": "Обновление значения интерфейса",
  "interface_value_delete": "Удаление значения интерфейса",

  "notification_read": "Прочтение уведомления",
  "notification_read_all": "Прочтение всех уведомлений",
  "notification_archive": "Архивирование уведомления",
  "notification_archive_all": "Архивирование всех уведомлений",

  "flapping_resolved": "Вывод из статуса \"Нестабильно\"",

  "equipment_window_create": "Открытия окна аутентификации",

  "equipment_token_create": "Добавление токена оборудования",
  "equipment_token_update": "Обновление токена оборудования",
  "equipment_token_delete": "Удаление токена оборудования",

  "call_start": "Начало вызова из Навыка",
  "call_end": "Завершение вызова из Навыка",
  "call_start_vip": "Начало VIP вызова из SberCom",
  "call_end_vip": "Завершение VIP вызова из SberCom",
  "call_start_common": "Начало обычного вызова из SberCom",
  "call_end_common": "Завершение обычного вызова из SberCom",

  "actionType": "Тип действия",
  "actionDetails": "Детали события",

  "sortBy": {
    "status": "по статусу",
    "created_at": "по дате создания",
    "updated_at": "по дате обновления"
  },

  "destination": "Номер ВКС",
  "location_id": "ID локации"
}

export const AUDIT_TYPE_ORDER = [
  'sign_in',
  'log_out',

  'user_register',
  'user_update',
  'user_delete',

  'controller_create',
  'controller_update',
  'controller_delete',

  'controller_model_create',
  'controller_model_update',
  'controller_model_delete',

  'controller_type_create',
  'controller_type_update',
  'controller_type_delete',

  'device_create',
  'device_update',
  'device_delete',

  'device_type_create',
  'device_type_update',
  'device_type_delete',

  'device_model_create',
  'device_model_update',
  'device_model_delete',

  'network_device_create',
  'network_device_update',
  'network_device_delete',

  'padlet_create',
  'padlet_update',
  'padlet_delete',

  'padlet_type_create',
  'padlet_type_update',
  'padlet_type_delete',

  'padlet_model_create',
  'padlet_model_update',
  'padlet_model_delete',

  'offline_device_create',
  'offline_device_update',
  'offline_device_delete',

  'location_create',
  'location_update',
  'location_delete',

  'location_note_create',
  'location_note_update',
  'location_note_delete',

  'location_ticket_create',
  'location_ticket_update',
  'location_ticket_delete',
  'location_ticket_archive',

  'service_status_create',

  'location_owner_add',
  'location_owner_delete',

  'location_enable',
  'location_disable',

  'equipment_enable',
  'equipment_disable',

  'manufacturer_create',
  'manufacturer_update',
  'manufacturer_delete',

  'contractor_create',
  'contractor_update',
  'contractor_delete',

  'interface_name_create',
  'interface_name_update',
  'interface_name_delete',

  'interface_value_create',
  'interface_value_update',
  'interface_value_delete',

  'notification_read',
  'notification_read_all',
  'notification_archive',
  'notification_archive_all',

  'flapping_resolved',

  'equipment_window_create',

  'equipment_token_create',
  'equipment_token_update',
  'equipment_token_delete',
] as const;

export type AuditTypeOrderItem = (typeof AUDIT_TYPE_ORDER)[number];

import { AUDIT_TYPE_ORDER } from './auditTypeOrder';

// Замени только блок typeOptions в useAuditSideFilter на этот.
// Путь импорта './auditTypeOrder' поправь под место, куда положишь файл.

const typeOptions = useMemo(() => {
  const types = auditTypesData?.types;

  if (!Array.isArray(types)) {
    return [];
  }

  const typeSet = new Set<string>(types);

  const orderedTypes = AUDIT_TYPE_ORDER.filter((type) => typeSet.has(type));

  const unknownTypes = types.filter(
    (type) =>
      !AUDIT_TYPE_ORDER.includes(type as (typeof AUDIT_TYPE_ORDER)[number]),
  );

  return [
    { label: t('common:all'), value: undefined },

    ...orderedTypes.map((type) => ({
      value: type,
      label: t(`audit:${type}`, { defaultValue: type }),
    })),

    ...unknownTypes.map((type) => ({
      value: type,
      label: t(`audit:${type}`, { defaultValue: type }),
    })),
  ];
}, [auditTypesData, t]);