73 lines
2.1 KiB
JavaScript
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();
|
|
};
|