75 lines
2.5 KiB
JavaScript
75 lines
2.5 KiB
JavaScript
export const DEFAULT_ACTIONS = {
|
|
ROW_CREATE: 'Создание строки',
|
|
ROW_DELETE: 'Удаление строки',
|
|
ACCESS_EXTEND: 'Продление этапа',
|
|
ACCESS_WINDOW_CHANGE: 'Изменение этапа',
|
|
USER_ROLE_CHANGE: 'Изменение роли пользователя',
|
|
CREATE_TASK: 'Создание задачи',
|
|
// UPDATE_TASK: 'Обновление задачи', //сейчас нет события
|
|
// DELETE_TASK: 'Удаление задачи',
|
|
USER_CREATE: 'Создание пользователя',
|
|
USER_ACCESS_GRANTED: 'Предоставление доступа к ССП/РФ',
|
|
USER_ACCESS_REVOKED: 'Отмена доступа к ССП/РФ',
|
|
VSP_CREATE: 'Создание ВСП',
|
|
VSP_UPDATE: 'Обновление ВСП',
|
|
DELETE_VSP: 'Удаление ВСП',
|
|
};
|
|
|
|
export const ENTITY_RUSSIAN_NAMES = {
|
|
ROW: ['строки', 'строка'],
|
|
PROJECT: ['проекта', 'проект'],
|
|
TABLE: ['таблицы', 'таблица'],
|
|
STAGE: ['этапа', 'этап'],
|
|
SSP: ['ССП/РФ', 'ССП/РФ'],
|
|
TASKS: ['задач', 'задачи'],
|
|
TASK: ['задачи', 'задача'],
|
|
USER_ACCESS: ['доступа к ССП/РФ', 'доступ к ССП/РФ'],
|
|
USER: ['пользователя', 'пользователь'],
|
|
ACCESS_WINDOW: ['этапа', 'этап'],
|
|
ACCESS: ['этапа', 'этап'],
|
|
USER_ROLE: ['роли пользователя', 'роль пользователя'],
|
|
VSP: ['ВСП', 'ВСП'],
|
|
};
|
|
|
|
export const ACTION_RUSSIAN_NAMES = {
|
|
CREATE: 'Создание',
|
|
UPDATE: 'Обновление',
|
|
DELETE: 'Удаление',
|
|
CHANGE: 'Изменение',
|
|
GET: 'Получение',
|
|
GRANTED: 'Предоставление',
|
|
REVOKED: 'Отмена',
|
|
EXTEND: 'Продление',
|
|
};
|
|
|
|
export const getRussianNamesForType = (name) => {
|
|
if (!name) return name;
|
|
|
|
let entityTranslation = '';
|
|
|
|
const sortedEntities = Object.keys(ENTITY_RUSSIAN_NAMES).sort(
|
|
(a, b) => b[0].length - a[0].length,
|
|
);
|
|
|
|
for (const entity of sortedEntities) {
|
|
if (name.includes(entity)) {
|
|
entityTranslation = ENTITY_RUSSIAN_NAMES[entity][0];
|
|
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();
|
|
};
|