feat(schema-workflow): Phase 1c — CreateModal + /reviews extension + RBAC stub

This commit is contained in:
Александр Зимин
2026-05-12 11:20:29 +00:00
parent 00fe254ccc
commit ac3395f4de
6 changed files with 455 additions and 4 deletions
+53
View File
@@ -476,6 +476,33 @@ i18n
'workflow.schemaDraft.toast.decideFailed': 'Не удалось зафиксировать решение',
'workflow.schemaDraft.toast.publishFailed': 'Не удалось опубликовать',
'workflow.schemaDraft.toast.withdrawFailed': 'Не удалось отозвать',
// === CreateSchemaDraftModal ===
'createDraft.title': 'Создать черновик схемы',
'createDraft.intro': 'Изменения сохранятся как черновик от текущей версии. Live-схема не меняется до публикации после ревью.',
'createDraft.openButton': 'Создать черновик схемы',
'createDraft.reason': 'Причина изменений',
'createDraft.reasonPlaceholder': 'Зачем эти изменения нужны (видно ревьюеру)',
'createDraft.schema': 'Схема (JSON)',
'createDraft.format': 'Format',
'createDraft.validate': 'Validate',
'createDraft.validationPassed': 'JSON валиден',
'createDraft.notObject': 'Schema должна быть JSON object',
'createDraft.submit': 'Создать черновик',
'createDraft.creating': 'Создание…',
'createDraft.toast.created': 'Черновик создан',
'createDraft.toast.failed': 'Не удалось создать черновик',
// === Schema review queue panel ===
'reviews.schema.title': 'Изменения схем',
'reviews.schema.label': 'Schema workflow',
'reviews.schema.queueTotal_one': '{{count}} draft ждёт ревью',
'reviews.schema.queueTotal_few': '{{count}} draft\'а ждут ревью',
'reviews.schema.queueTotal_many': '{{count}} draft\'ов ждут ревью',
'reviews.schema.dictionary': 'Словарь',
'reviews.schema.fromVersion': 'От версии',
'reviews.schema.maker': 'Автор',
'reviews.schema.submittedAt': 'Отправлен',
'reviews.schema.action': 'Действие',
'reviews.schema.open': 'Открыть',
// === Lineage (dict-relationships-v2 Phase 1) ===
'lineage.usedBy.title': 'На этот словарь ссылаются',
'lineage.usedBy.count_one': '{{count}} связь',
@@ -1068,6 +1095,32 @@ i18n
'workflow.schemaDraft.toast.decideFailed': 'Failed to record decision',
'workflow.schemaDraft.toast.publishFailed': 'Failed to publish',
'workflow.schemaDraft.toast.withdrawFailed': 'Failed to withdraw',
// === CreateSchemaDraftModal ===
'createDraft.title': 'Create schema draft',
'createDraft.intro': 'Changes are saved as a draft branched from the current version. Live schema is not touched until publish-after-review.',
'createDraft.openButton': 'Create schema draft',
'createDraft.reason': 'Reason for changes',
'createDraft.reasonPlaceholder': 'Why these changes are needed (visible to the reviewer)',
'createDraft.schema': 'Schema (JSON)',
'createDraft.format': 'Format',
'createDraft.validate': 'Validate',
'createDraft.validationPassed': 'JSON is valid',
'createDraft.notObject': 'Schema must be a JSON object',
'createDraft.submit': 'Create draft',
'createDraft.creating': 'Creating…',
'createDraft.toast.created': 'Draft created',
'createDraft.toast.failed': 'Failed to create draft',
// === Schema review queue panel ===
'reviews.schema.title': 'Schema changes',
'reviews.schema.label': 'Schema workflow',
'reviews.schema.queueTotal_one': '{{count}} draft awaiting review',
'reviews.schema.queueTotal_other': '{{count}} drafts awaiting review',
'reviews.schema.dictionary': 'Dictionary',
'reviews.schema.fromVersion': 'From version',
'reviews.schema.maker': 'Author',
'reviews.schema.submittedAt': 'Submitted',
'reviews.schema.action': 'Action',
'reviews.schema.open': 'Open',
// === Lineage (dict-relationships-v2 Phase 1) ===
'lineage.usedBy.title': 'Used by',
'lineage.usedBy.count_one': '{{count}} reference',