fix(materials): личная загрузка картинок без права library.upload
POST /api/files требует teacher/admin + library.upload — поэтому сохранение картинок в «Мои материалы» (вырезка области учебника, обрезка доски, рисунок, аннотация) падало с 403 у учеников и учителей без этого права. Добавлен auth-only эндпоинт POST /api/files/personal (только картинки, is_public=1) + LS.uploadMaterialFile. На него переключены board-clip, material-save, textbook-clip (вырезка области) и рисовалка в my-materials. Загрузка в учительскую библиотеку (library/lesson-editor) не тронута. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -379,7 +379,7 @@
|
||||
try {
|
||||
if (!blob) throw new Error('Не удалось сохранить рисунок');
|
||||
const fd = new FormData(); fd.append('file', blob, 'drawing.png');
|
||||
const up = await LS.uploadFile(fd);
|
||||
const up = await LS.uploadMaterialFile(fd);
|
||||
await LS.saveMaterial({ kind: 'image', title: o.title || 'Рисунок', url: LS.downloadFileUrl(up.id), sourceTitle: o.sourceTitle || null });
|
||||
close(); load(); LS.toast('Сохранено в «Мои материалы»', 'success');
|
||||
} catch (e) { LS.toast(e.message || 'Ошибка', 'error'); btn.disabled = false; }
|
||||
|
||||
Reference in New Issue
Block a user