| |
| sharixopen:knowledge:domain:participants [2026/10/17 20:49] – [sharixknowledge] approved package sx_knowledge_api_open | sharixopen:knowledge:domain:participants [2026/10/31 19:48] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open |
|---|
| "page": "sharixopen:knowledge:domain:participants", | "page": "sharixopen:knowledge:domain:participants", |
| "area": "open", | "area": "open", |
| "type": "reference", | "type": "contract", |
| "title": "Участники, роли и видимость", | "title": "Участники, роли и видимость", |
| "status": "review", | "status": "review", |
| "ShariXKnowledgeOpenKnowledgeDomainStart", | "ShariXKnowledgeOpenKnowledgeDomainStart", |
| "ShariXKnowledgeOpenKnowledgeDomainRequirements", | "ShariXKnowledgeOpenKnowledgeDomainRequirements", |
| "ShariXKnowledgeOpenKnowledgeDomainDocuments" | "ShariXKnowledgeOpenKnowledgeDomainDocuments", |
| | "ShariXKnowledgeOpenKnowledgeDomainOrderticket", |
| | "ShariXKnowledgeCancellationPolicyTarget" |
| ] | ] |
| }, | }, |
| "extensions": { | "extensions": { |
| "taxonomy": { | "taxonomy": { |
| "domain": "reference", | "domain": "orders", |
| "lifecycle": "unspecified", | "lifecycle": "not_applicable", |
| | "component": "core, sharix_admin, dbsynce", |
| "parents": [ | "parents": [ |
| "ShariXKnowledgeOpenKnowledgeDomainStart" | "ShariXKnowledgeOpenKnowledgeDomainStart" |
| ], | ], |
| "terms": [] | "terms": [ |
| | "product_sharix_open", |
| | "audience_administrator", |
| | "audience_developer", |
| | "audience_support", |
| | "audience_reviewer", |
| | "audience_ai", |
| | "material_contract", |
| | "topic_orders_model", |
| | "topic_security_permissions", |
| | "topic_security_object_access" |
| | ] |
| }, | }, |
| "glossary": [] | "glossary": [], |
| | "classification": { |
| | "schema": "sharix.knowledge.classification.v1", |
| | "products": [ |
| | "sharix_open" |
| | ], |
| | "audiences": [ |
| | "administrator", |
| | "developer", |
| | "support", |
| | "reviewer", |
| | "ai" |
| | ], |
| | "material": "contract", |
| | "topics": [ |
| | "orders/model", |
| | "security/permissions", |
| | "security/object_access" |
| | ], |
| | "tag_terms": [ |
| | "product_sharix_open", |
| | "audience_administrator", |
| | "audience_developer", |
| | "audience_support", |
| | "audience_reviewer", |
| | "audience_ai", |
| | "material_contract", |
| | "topic_orders_model", |
| | "topic_security_permissions", |
| | "topic_security_object_access" |
| | ], |
| | "registry_document": "ShariXKnowledgeClassification" |
| | }, |
| | "source_evidence": [ |
| | { |
| | "repository": "sharix-open-webapp-base", |
| | "commit": "d909be1081a7bc218d5e1bf1b1cc66c085950e97", |
| | "path": "core/utils/roles.py", |
| | "sha256": "ca0f8ce33c20b90cff52b2d39cebd534a5f40188602becfda963752b90a72afa", |
| | "url": "https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/d909be1081a7bc218d5e1bf1b1cc66c085950e97/core/utils/roles.py" |
| | }, |
| | { |
| | "repository": "sharix-open-webapp-base", |
| | "commit": "d909be1081a7bc218d5e1bf1b1cc66c085950e97", |
| | "path": "sharix_admin/lib/access_matrix.py", |
| | "sha256": "abca1841b8ed4b63d8c672062da997809323ba24736f7171cc792016dd9b25c0", |
| | "url": "https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/d909be1081a7bc218d5e1bf1b1cc66c085950e97/sharix_admin/lib/access_matrix.py" |
| | }, |
| | { |
| | "repository": "sharix-open-backend", |
| | "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", |
| | "path": "lib/order_permissions.py", |
| | "sha256": "9c1636daa80c4da68c3ae5cf347e279127d142eeff91e969559e8bd54ca3d81d", |
| | "url": "https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_permissions.py" |
| | } |
| | ], |
| | "editorial_review": { |
| | "date": "2026-10-31", |
| | "state": "contextual_role_names_checked_against_source", |
| | "runtime_checked": false |
| | } |
| }, | }, |
| "content_sha256": "688d1f3102f4e1d88b2e2731eaf99bab623ec46cf8ff467066ee7ab1e70597ab", | "content_sha256": "735c9778605db3d9cc8e9619e79ed227e6fd6deebbfe4bfad80049953cb9e174", |
| "schema": 1 | "schema": 1 |
| } | } |
| ~~NOCACHE~~ | ~~NOCACHE~~ |
| |
| **Тип:** contract · **Статус:** сведения требуют сверки с действующей установкой; архитектурные правила сформулированы как целевой контракт. | **Раздел:** [[sharixopen:knowledge:domain:start|Доменная модель заказов и исполнения]]. |
| | |
| | **Назначение:** [[sharixopen:knowledge:classification:materials#kontrakt|Контракт]]. **Продукт:** [[sharixopen:knowledge:classification:products#sharix_open|ShariX Open]]. |
| | |
| | **Для кого:** [[sharixopen:knowledge:classification:audiences#administrator|Администратор]] · [[sharixopen:knowledge:classification:audiences#razrabotchik|Разработчик]] · [[sharixopen:knowledge:classification:audiences#podderzhka|Поддержка]] · [[sharixopen:knowledge:classification:audiences#recenzent_i_prijomschik|Рецензент и приёмщик]] · [[sharixopen:knowledge:classification:audiences#nejroset|Нейросеть]]. |
| | |
| | **Темы:** [[sharixopen:knowledge:classification:topics#model|Заказы → Модель]] · [[sharixopen:knowledge:classification:topics#polnomochija|Доступ → Полномочия]] · [[sharixopen:knowledge:classification:topics#obektnye_prava|Доступ → Объектные права]]. |
| | |
| | Эта страница различает участника заказа, пользователя приложения и сторону обязательства. Названия групп и ограничения ниже сверены с опубликованными исходниками; выдача прав и поведение конкретной установки здесь не проверялись. |
| | |
| | ===== Конкретные роли сотрудников сервиса ===== |
| | ^ Название в приложении ^ Код ^ Что обозначать этим названием в сценарии ^ |
| | | Администратор сервиса | METASERVICE-ADMIN | Предусмотренные настройки сервиса, категорий, ключей и финансовые операции; их доступ проверяется отдельно. | |
| | | Модератор сервиса | METASERVICE-SUPERVISOR | Оперативное сопровождение исполнения и предусмотренные действия модерации. | |
| | | Поддержка сервиса | METASERVICE-SUPPORT | Сопровождение обращений и доступного контекста заказа. | |
| | | Техподдержка сервиса | METASERVICE-TECHSUPPORT | Техническое сопровождение в предусмотренном объёме. | |
| | |
| | Это имена реальных ролей, а не четыре взаимозаменяемых обозначения любого сотрудника. При описании действия указывать нужную роль и контекст: например, Администратор сервиса меняет разрешённые настройки, а вопрос клиента о ходе заказа сопровождает Поддержка сервиса. Назначение сотруднику обязанности не создаёт недостающую операцию или право доступа. |
| | |
| | В проверках заказов все четыре кода входят в METASERVICE_ORDER_STAFF_ROLES. Из этого не следует, что у них одинаковые административные формы или разрешены все переходы: матрица интерфейса и бизнес-операция применяют собственные ограничения. Например, metaservice_edit, metaservice_generate_key, metaservice_payments и изменение service_category ограничены METASERVICE-ADMIN; работа с тарифом предусматривает также отдельные роли модерации и партнёра. |
| | |
| | ===== Роли сотрудников партнёра ===== |
| | * **Администратор партнера — PARTNER-ADMIN.** Управление предусмотренной частью работы своей компании. |
| | * **Модератор партнера — PARTNER-SUPERVISOR.** Предусмотренные оперативные и модераторские действия партнёра. |
| | * **Поддержка партнера — PARTNER-SUPPORT.** Сопровождение относящихся к партнёру обращений. |
| | * **Техподдержка партнера — PARTNER-TECHSUPPORT.** Предусмотренное техническое сопровождение участия партнёра. |
| | |
| | Наличие роли партнёра не даёт доступ ко всем компаниям. Проверки заказа учитывают область компании и действующие Permissions/Relationship. Саму компанию-партнёра нельзя подменять учётной записью её сотрудника. |
| | |
| | ===== Участники конкретного заказа ===== |
| | * **Создатель** — пользователь created_by; факт создания не определяет автоматически плательщика и получателя. |
| | * **Клиент** — клиентский профиль client. В проверках клиентских ролей используются METASERVICE-CLIENT и CORP-CLIENT; принадлежность к группе не заменяет связь пользователя с конкретным заказом. |
| | * **Корпоративный заказчик** — corp_client. Действия пользователя от его имени требуют соответствующего контекста представительства. |
| | * **Получатель** — receiver либо сохранённые в заказе receiver_name/receiver_phone. Получатель может отличаться от создателя и заказчика. |
| | * **Исполнитель** — METASERVICE-PROVIDER; provider в заказе обозначает профиль предложения исполнителя, а не просто логин. Для действий проверяется назначение и допустимость операции. |
| | * **Гость сервиса** — METASERVICE-GUEST. Это имя в справочнике, а не универсальный доступ к чужим заказам. |
| | |
| | В UI встречаются несколько кодов с одинаковым отображаемым названием клиента, включая METASERVICE-CORPCLIENT и CORP-CLIENT. Не считать их автоматически взаимозаменяемыми: проверять точный код, используемый конкретным обработчиком доступа. |
| | |
| | ===== Сервисная компания и роль пользователя ===== |
| | Доход, комиссия, обязанность исполнить договор и расходы при отмене относятся к соответствующей стороне отношений — например, сервисной компании, партнёру или исполнителю. Нельзя приписывать их лично Администратору сервиса лишь потому, что пользователь состоит в METASERVICE-ADMIN. Если сценарий описывает настройку, сопровождение или решение сотрудника, называть конкретную роль; если обязательство компании — называть компанию или сторону договора. |
| | |
| | Роль в группе, фактическое разрешение на объект и полномочие действовать от имени компании — разные основания. Членство LDAP/Django не равно действующему business-grant. Relationship описывает связь, Permissions — разрешение; требования и проверки могут влиять на эффективный доступ. Наличие права просмотра заказа не доказывает право изменить цену, обещать компенсацию или отменить оплату. |
| |
| **Раздел:** [[sharixopen:knowledge:domain:start|Доменная модель заказов и исполнения]] | ===== Контракт историчности ===== |
| | При изменении отношений или увольнении исторические действия должны сохранять прежнего автора, а будущие операции — оценивать текущие полномочия. Это требование к реализации; наличие группы или записи об отношении само по себе не доказывает прохождение всех проверок на установке. Копия удостоверения личности также не создаёт роль участника заказа. |
| |
| ===== Типы ролей ===== | ===== Источники и связанные документы ===== |
| Заказчик, получатель, исполнитель, сотрудник исполнителя, наблюдатель и внешний участник — разные роли. Их полномочия зависят от сценария и контекста заказа. | * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/d909be1081a7bc218d5e1bf1b1cc66c085950e97/core/utils/roles.py|sharix-open-webapp-base: core/utils/roles.py]]. |
| ===== Права ===== | * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/d909be1081a7bc218d5e1bf1b1cc66c085950e97/sharix_admin/lib/access_matrix.py|sharix-open-webapp-base: sharix_admin/lib/access_matrix.py]]. |
| Членство в группе LDAP/Django не равняется business-grant. Запись Relationship описывает юридическую или деловую связь; Permission — разрешённое действие; requirements и проверки влияют на эффективный доступ. | * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_permissions.py|sharix-open-backend: lib/order_permissions.py]]. |
| ===== Историчность ===== | |
| При изменении отношений или увольнении исторические действия сохраняются с прежним автором; будущие операции переоценивают текущие полномочия. Копия удостоверения личности сама по себе не создаёт роль участника заказа. | |
| |
| ===== Связанные понятия ===== | * [[sharixopen:knowledge:domain:order_ticket|Поля и владельцы данных заказа]]. |
| * [[sharixopen:knowledge:domain:requirements|Требования, проверки и effective access]] | * [[sharixopen:knowledge:domain:requirements|Требования, проверки и effective access]]. |
| * [[sharixopen:knowledge:domain:documents|Логические документы, проверка и переиспользование]] | * [[sharixopen:knowledge:domain:documents|Логические документы и проверка]]. |
| | * [[sharixopen:knowledge:domain:cancellation_policy_target|Ориентир дальнейшей разработки политики отмены]]. |
| |
| ~~SHARIX_KNOWLEDGE_RELATED~~ | ~~SHARIX_KNOWLEDGE_RELATED~~ |
| |