Перейти к основному содержимому

Матрица прав

Принципы

  • Все права проверяются на backend.
  • Участник видит только свои туры, работы, результаты и документы.
  • Родитель видит ребёнка только через family/claim access.
  • Преподаватель работает в teacher mode с выбранной организацией и видит только разрешённые Learning Groups.
  • Административные и площадочные действия являются подслоями teacher mode, а не отдельными top-level контекстами организации/площадки.
  • Площадочный подслой видит только назначенных участников и материалы своего тура.
  • Результаты и работы скрыты до publication policy.
  • Изменения допуска, scores, results, publication и documents аудируются.

Permissions

PermissionНазначение
competitions.events.readчитать admin-мероприятия
competitions.events.manageуправлять мероприятиями
competitions.seasons.readчитать сезоны в admin
competitions.seasons.manageуправлять сезонами
competitions.tours.readчитать туры
competitions.tours.manageуправлять турами
competitions.tracks.manageуправлять зачётами
competitions.registrations.readчитать заявки
competitions.registrations.manageмодерировать заявки
competitions.participants.readчитать участников
competitions.participants.manageредактировать участников
competitions.groups.manageуправлять группами
competitions.group_helpers.manageвыдавать урезанные права помощникам группы
competitions.venues.manageуправлять площадками
competitions.venue.readчитать кабинет площадки
competitions.access_claims.manageрассматривать claim access
competitions.content.manageуправлять tour activity bindings and locked task structure
competitions.submissions.readчитать работы
competitions.submissions.managelock/void/admin actions
competitions.check.readчитать очередь проверки
competitions.check.manageпроверять работы
competitions.results.readчитать результаты
competitions.results.manageрассчитывать и финализировать
competitions.appeals.manageрассматривать апелляции результата
competitions.arbitration.manageвести арбитраж подозрительных работ
competitions.publications.manageпубликовать результаты/материалы
competitions.documents.manageгенерировать документы
competitions.external_teachers.manageподтверждать и отзывать внешних преподавателей
competitions.external_teachers.manage.ownвести собственный профиль внешнего преподавателя
competitions.audit.readчитать audit
competitions.adminсистемные настройки

Actor contexts

ContextЧто разрешает
selfучастник читает свою запись
familyродитель читает детей семьи
teacher_modeпреподаватель действует в выбранной организации
learning_groupдоступ к выбранной Learning Group через Learning Workspace
teacher_admin_layerкоординатор/администратор выбранной организации видит registration scope
teacher_venue_layerответственный площадки выбранной организации видит назначенных участников
helper_limitedпомощник видит только выданные ему действия
checkerпроверяющий видит assigned submissions
systematika_adminполный competitions admin scope
publicопубликованные данные

Endpoint matrix

Endpoint/actionPermissionScopeAudit
POST /seasons/{id}/pre-registrationsauthenticatedself/family/teacher_modeyes
PATCH /registrations/{id}/completeauthenticatedself/family/teacher_modeyes
POST /seasons/{id}/registrationsauthenticatedself/family/teacher_modeyes
PATCH /admin/registrations/{id}/statuscompetitions.registrations.managesystematika_admin/teacher_admin_layeryes
POST /participants/{id}/claim-accessauthenticatedrequesteryes
PATCH /admin/access-claims/{id}/statuscompetitions.access_claims.managesystematika_adminyes
POST /teacher/competition-groupscompetitions.groups.manageteacher_mode + learning_groupyes
POST /teacher/competition-groups/{id}/helperscompetitions.group_helpers.manageteacher_modeyes
POST /external-teachers/profilecompetitions.external_teachers.manage.ownteacher_modeyes
POST /external-teachers/profile/verifycompetitions.external_teachers.manage.ownteacher_modeyes
POST /external-teachers/studentscompetitions.participants.manage.assignedteacher_modeyes
DELETE /external-teachers/students/{participantId}competitions.participants.manage.assignedteacher_modeyes
PATCH /admin/external-teachers/{id}/statuscompetitions.external_teachers.managesystematika_adminyes
POST /venues/applicationsauthenticatedteacher_venue_layeryes
PATCH /venues/{id}/capacitycompetitions.venues.manageteacher_venue_layer/systematika_adminyes
POST /participants/{id}/venue-selectionauthenticatedself/family/teacher_mode/systematika_adminyes
POST /admin/tour-activity-bindings/{id}/lockcompetitions.content.managemethodist/systematika_adminyes
POST /tours/{id}/submissionsparticipant/teacher modetour participationyes
POST /teacher/tours/{id}/group-submissionsteacher modeteacher_mode/helper_limitedyes
POST /tours/{id}/bulk-filesteacher mode/venue layerteacher_mode/teacher_venue_layer/systematika_adminyes
POST /photo-reportsteacher mode/venue layerteacher_mode/teacher_venue_layeryes
PATCH /photo-reports/{id}/statuscompetitions.venues.managesystematika_adminyes
POST /admin/submissions/{id}/lockcompetitions.submissions.managesystematika_adminyes
POST /checker/submissions/{id}/checkcompetitions.check.manageassigned/systematika_adminyes
POST /admin/results/calculatecompetitions.results.managesystematika_adminyes
POST /admin/results/{id}/finalizecompetitions.results.managesystematika_adminyes
POST /appealsauthenticatedself/family/teacher_modeyes
POST /admin/appeals/{id}/decisioncompetitions.appeals.managesystematika_adminyes
POST /admin/arbitration-casescompetitions.arbitration.managesystematika_admin/checkeryes
POST /admin/arbitration-cases/{id}/decisioncompetitions.arbitration.managesystematika_adminyes
POST /admin/publicationscompetitions.publications.managesystematika_adminyes
POST /admin/documents/generatecompetitions.documents.managesystematika_adminyes
GET /admin/audit-logscompetitions.audit.readsecurity/systematika_adminyes

Visibility gates

ДанныеGate
личный результатself/family/teacher after personal publication
публичный результатpublic publication
удержанный результатhidden until systematika_admin release
работа/сканself/family/teacher_mode/checker/systematika_admin + work publication policy
activity structure before tourcontent/admin only
answer/check detailschecker/systematika_admin or allowed teacher mode
documentsself/family/public verification by code

Ролевые наборы

РольБазовые permissions
competitions.participantself context
competitions.parentfamily context
competitions.teacherteacher_mode, groups.manage, scoped submissions/results read
competitions.teacher_helperhelper_limited scoped actions
competitions.external_teacherteacher_mode, external_teachers.manage.own, participants.manage.assigned, registrations scoped, results.read.assigned
competitions.organization_coordinatorteacher_admin_layer for selected organization
competitions.venue_managerteacher_venue_layer, venue.read scoped
competitions.checkercheck.read/manage assigned
competitions.methodistcontent.manage
competitions.adminsystematika_admin, all competitions permissions

Audit events

Аудировать обязательно:

  • registration approval/rejection/cancel;
  • participant merge/duplicate decision;
  • access claim decision;
  • external teacher verification and student link changes;
  • Learning Group snapshot creation and helper grants;
  • delivery mode/track/venue change;
  • venue application, capacity decrease attempt and venue transfer;
  • activity binding/task structure lock;
  • submission lock/void;
  • group answer submit and late bulk upload;
  • photo report review;
  • score/check override;
  • appeal decision and arbitration decision;
  • result calculation/finalization;
  • result withholding/release;
  • publication and hide;
  • document generation/revoke;
  • audit log access.