2026-06-16 19:11:16 +03:00

73 lines
2.1 KiB
JavaScript

export const DEFAULT_ACTIONS = {
ROW_CREATE: 'Создание строки',
ROW_DELETE: 'Удаление строки',
ACCESS_WINDOW_CHANGE: 'Изменение окна доступа',
ACCESS_EXTEND: 'Расширение доступа',
USER_ROLE_CHANGE: 'Изменение роли пользователя',
CREATE_TASK: 'Создание задачи',
UPDATE_TASK: 'Обновление задачи',
DELETE_TASK: 'Удаление задачи',
USER_CREATE: 'Создание пользователя',
LOGIN: 'Вход в систему',
USER_ACCESS_GRANTED: 'Предоставление доступа к ССП/РФ',
USER_ACCESS_REVOKED: 'Отмена доступа к ССП/РФ',
VSP_CREATE: 'Создание ВСП',
};
export const ENTITY_RUSSIAN_NAMES = {
LOGIN: 'Вход в систему',
ROW: 'строки',
PROJECT: 'проекта',
TABLE: 'таблицы',
STAGE: 'этапа',
SSP: 'ССП/РФ',
TASKS: 'задач',
TASK: 'задачи',
USER_ACCESS: 'доступа к ССП/РФ',
USER: 'пользователя',
ACCESS_WINDOW: 'окна доступа',
USER_ROLE: 'роли пользователя',
VSP: 'ВСП',
};
export const ACTION_RUSSIAN_NAMES = {
CREATE: 'Создание',
UPDATE: 'Обновление',
DELETE: 'Удаление',
CHANGE: 'Изменение',
GET: 'Получение',
GRANTED: 'Предоставление',
REVOKED: 'Отмена',
};
export const getRussianNamesForType = (name) => {
if (!name) return name;
let entityTranslation = '';
const sortedEntities = Object.keys(ENTITY_RUSSIAN_NAMES).sort(
(a, b) => b.length - a.length,
);
for (const entity of sortedEntities) {
if (name.includes(entity)) {
entityTranslation = ENTITY_RUSSIAN_NAMES[entity];
break;
}
}
let actionTranslation = '';
for (const action of Object.keys(ACTION_RUSSIAN_NAMES)) {
if (name.includes(action)) {
actionTranslation = ACTION_RUSSIAN_NAMES[action];
break;
}
}
if (!actionTranslation && !entityTranslation) {
return name;
}
return `${actionTranslation} ${entityTranslation}`.trim();
};