Добавить просмотр лайков сообщений канала

This commit is contained in:
AidarKC
2026-09-09 17:01:13 +03:00
parent 9f77c54955
commit 2d059e9ff5
11 changed files with 595 additions and 20 deletions
+25 -1
View File
@@ -8,6 +8,7 @@
- `ListSubscriptionsFeed` — экран списка каналов.
- `GetChannelMessages` — сообщения конкретного канала.
- `GetMessageThread` — дерево обсуждения для сообщения.
- `GetMessageLikes` — списки пользователей, поставивших лайк сообщению.
2. **UI вкладки Каналы**:
- при открытии пытается загрузить реальный feed с сервера;
@@ -33,12 +34,14 @@
1. Вызвать `ListSubscriptionsFeed`.
2. Для канала `ownedChannels[0]` вызвать `GetChannelMessages`.
3. Для первого `messages[0]` вызвать `GetMessageThread`.
4. Для первого `messages[0]` вызвать `GetMessageLikes`.
### Ошибки
1. `ListSubscriptionsFeed` с пустым login -> `bad_fields`.
2. `GetChannelMessages` с битым channel payload -> `bad_fields`.
3. `GetMessageThread` с несуществующим block -> `message_not_found`.
4. `AddBlock(CreateChannel)` с уже существующим именем -> `channel_name_already_exists`.
4. `GetMessageLikes` с битым `message.blockHash` -> `bad_hash`.
5. `AddBlock(CreateChannel)` с уже существующим именем -> `channel_name_already_exists`.
---
@@ -91,6 +94,22 @@
}
```
## 3.4 GetMessageLikes
```json
{
"op": "GetMessageLikes",
"requestId": "debug-likes-1",
"payload": {
"message": {
"blockchainName": "TestUser1-001",
"blockNumber": 123,
"blockHash": "<hash-from-GetChannelMessages>"
},
"limit": 1000
}
}
```
---
## 4) Что смотреть в ответах
@@ -115,6 +134,11 @@
- у узлов должны быть версии и счетчики.
- у каждого узла дополнительно может приходить `rawBlockB64` (Base64 сырого `block_bytes`).
### GetMessageLikes
- `payload.shining[]`, `payload.official[]`, `payload.others[]` — группы пользователей.
- у каждого пользователя есть `login`, `firstName`, `lastName`, `avatarAr`.
- `payload.truncated=true` означает, что сервер обрезал список по `limit`.
### Важно по совместимости
- `rawBlockB64` добавлен только в `GetMessageThread`.
- `GetChannelMessages` не содержит `rawBlockB64` (без изменений формата ленты).