feat: замещение пользователей (substitution) — заместители по умолчанию и по формам, контур ознакомления, inbox reasons
- таблица user_delegations (миграция 0067) + колонки delegated_from_user_id/pending_review в task_assignees - delegation.service: резолвер с цепочкой и защитой от циклов, bulk-до-назначение чанками, чистка истёкших замещений - центральный хук в addTaskAssignee: заместитель добавляется при любом назначении (ручном, автопереходе, user-поле, MCP) - контур ознакомления: после перехода отсутствующий остаётся в исполнителях с pending_review, снимается кнопкой «Ознакомлен» - inbox reasons delegation/delegation_review + фильтр «Замещение» на главной - блок «Замещение» в профиле пользователя, бейдж «за <имя>» и баннер ознакомления в карточке задачи
This commit is contained in:
@@ -598,6 +598,8 @@ export class TasksStorage extends TasksCoreStorage {
|
||||
taskId: taskAssignees.taskId,
|
||||
userId: taskAssignees.userId,
|
||||
organizationId: taskAssignees.organizationId,
|
||||
delegatedFromUserId: taskAssignees.delegatedFromUserId,
|
||||
pendingReview: taskAssignees.pendingReview,
|
||||
createdAt: taskAssignees.createdAt,
|
||||
user: {
|
||||
id: users.id,
|
||||
|
||||
Reference in New Issue
Block a user