feat: объединение страниц профиля — /profile рендерит карточку пользователя

- /profile теперь обёртка MyProfilePage над UserProfilePage (один экран для своего и чужого профиля)
- self-вкладки из ProfileSettings перенесены: Уведомления, Offline, Интерфейс, Безопасность (components/profile/*)
- ProfileSettings.tsx удалён
- админ видит вкладки Уведомления и Offline на чужой карточке с данными целевого пользователя
  (userId-параметр в GET/POST /api/subscriptions, PATCH/DELETE по владельцу, GET /api/sync/config?userId=; проверка canManageUser)
- Роль/Активен/Статус disabled для не-админа (сервер их и раньше игнорировал)
- пункт меню «Настройки профиля» переименован в «Мой профиль»
This commit is contained in:
2026-08-05 11:48:07 +03:00
parent 667bddeac9
commit 47869971e6
13 changed files with 1089 additions and 971 deletions

View File

@@ -490,6 +490,19 @@ export class NotificationService {
);
}
async getSubscriptionById(id: number, organizationId: number): Promise<NotificationSubscription | null> {
const [subscription] = await db
.select()
.from(notificationSubscriptions)
.where(
and(
eq(notificationSubscriptions.id, id),
eq(notificationSubscriptions.organizationId, organizationId)
)
);
return subscription || null;
}
async createSubscription(data: {
userId: number;
organizationId: number;