18 lines
1.2 KiB
JavaScript
18 lines
1.2 KiB
JavaScript
export const incidentStages = ['detected', 'reported', 'investigating', 'identified', 'monitoring', 'resolved', 'postmortem'];
|
||
export const teamStages = ['investigating', 'identified', 'monitoring', 'postmortem'];
|
||
export const stageNames = {
|
||
detected: { ru: 'Сбой обнаружен', en: 'Outage detected' },
|
||
reported: { ru: 'Сообщение команды', en: 'Team report' },
|
||
investigating: { ru: 'Проверяем причину', en: 'Investigating' },
|
||
identified: { ru: 'Причина найдена', en: 'Cause identified' },
|
||
monitoring: { ru: 'Наблюдаем за работой', en: 'Monitoring' },
|
||
resolved: { ru: 'Восстановлено', en: 'Resolved' },
|
||
postmortem: { ru: 'Причина и итоги', en: 'Cause and outcome' },
|
||
};
|
||
|
||
export function validateUpdate({ stage, messageRu, messageEn }) {
|
||
if (!teamStages.includes(stage)) throw new Error('Stage must be investigating, identified, monitoring or postmortem');
|
||
for (const text of [messageRu, messageEn]) if (typeof text !== 'string' || !text.trim() || text.trim().length > 2000) throw new Error('Provide message-ru and message-en, 1–2000 characters each');
|
||
return { stage, messageRu: messageRu.trim(), messageEn: messageEn.trim() };
|
||
}
|