feat(users): кнопка «Отправить сообщение» в карточке пользователя

Паритет с бот-кнопкой «✉️ Отправить сообщение»: в блоке действий карточки
юзера появляется кнопка (RBAC users:send_message), открывающая модалку с
текстом (HTML, лимит 4096) — бот отправляет юзеру прямое сообщение через
POST /admin/users/{id}/send-message.

Для email-only юзеров без telegram_id кнопка задизейблена с подсказкой;
коды ошибок бэкенда (no_telegram_id / forbidden / bad_request) маппятся
в честные локализованные сообщения. Локали ru/en/fa/zh.
This commit is contained in:
Case211
2026-07-14 07:28:33 +05:00
parent d7ea3c0635
commit 2f743d82db
6 changed files with 164 additions and 5 deletions

View File

@@ -535,6 +535,15 @@ export const adminUsersApi = {
return response.data;
},
// Send direct Telegram message to user via bot (parity with bot's admin action)
sendMessage: async (
userId: number,
text: string,
): Promise<{ success: boolean; message: string }> => {
const response = await apiClient.post(`/cabinet/admin/users/${userId}/send-message`, { text });
return response.data;
},
// Update restrictions
updateRestrictions: async (
userId: number,