feat(permissions): A3 — история изменений прав (endpoint + UI)
GET /api/permissions/log (admin-only) — последние изменения ролевых прав (или ?user_id= для личных оверрайдов) из admin_audit_log; читаемый текст («включил «X» для роли «учитель»») с резолвом меток через registry. Клиент LS.permissionsLog. Вкладка «Доступ · роли»: блок «История изменений прав ролей» с кнопкой «Показать». Тест: admin видит записи, не-админу 403. permissions 13/13. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1033,7 +1033,7 @@ window.LS = {
|
||||
getFolders, createFolder, renameFolder, deleteFolder, moveFile,
|
||||
getFolderAccess, clearFolderAccess, assignFolder, unassignFolder, getStudentsList,
|
||||
submitWork, resubmitWork, getMySubmissions, getClassSubmissions, reviewSubmission, deleteSubmission, submissionDownloadUrl,
|
||||
getPermissions, setPermission, getUserPermissions, setUserPermission, resetUserPermissions,
|
||||
getPermissions, permissionsLog, setPermission, getUserPermissions, setUserPermission, resetUserPermissions,
|
||||
accessCatalog, accessTargets, accessSummary, accessClassOpen, accessMatrix, accessLog, accessRules, accessSetRule,
|
||||
getCourseTemplates, saveCourseTemplate, createFromCourseTemplate, deleteCourseTemplate,
|
||||
getLessonTemplates, saveLessonTemplate, createFromLessonTemplate, deleteLessonTemplate,
|
||||
@@ -1295,6 +1295,7 @@ function submissionDownloadUrl(id) { return `${API}/submissions/${id}/d
|
||||
|
||||
/* ── permissions (admin only) ────────────────────────────────────────────── */
|
||||
async function getPermissions() { return req('GET', '/permissions'); }
|
||||
async function permissionsLog(userId) { return req('GET', userId ? `/permissions/log?user_id=${userId}` : '/permissions/log'); }
|
||||
async function setPermission(role, permission, enabled) { return req('POST', '/permissions', { role, permission, enabled }); }
|
||||
async function getUserPermissions(uid) { return req('GET', `/permissions/users/${uid}`); }
|
||||
async function setUserPermission(uid, permission, enabled) { return req('POST', `/permissions/users/${uid}`, { permission, enabled }); }
|
||||
|
||||
Reference in New Issue
Block a user