SHA256
Доделать профиль, связи и серверные миграции
This commit is contained in:
@@ -132,8 +132,6 @@
|
||||
"login": "Alice",
|
||||
"outFriends": ["Bob"],
|
||||
"inFriends": ["Kate"],
|
||||
"outCloseFriends": [],
|
||||
"inCloseFriends": [],
|
||||
"outContacts": [],
|
||||
"inContacts": [],
|
||||
"outFollows": [],
|
||||
@@ -148,8 +146,6 @@
|
||||
"inSiblings": [],
|
||||
"outKnownPersons": [],
|
||||
"inKnownPersons": [],
|
||||
"outOfficialAccounts": [],
|
||||
"inOfficialAccounts": [],
|
||||
"outShineConfirmed": [],
|
||||
"inShineConfirmed": [],
|
||||
"outShineSeen": [],
|
||||
@@ -175,7 +171,6 @@
|
||||
### Примечание
|
||||
|
||||
Поля `known_person`, `shine_confirmed`, `shine_seen` в UI считаются недопроверенной зоной проекта; при изменениях этой логики нужна ручная end-to-end проверка.
|
||||
`outCloseFriends` / `inCloseFriends` возвращают близких друзей, а `outOfficialAccounts` / `inOfficialAccounts` - подтверждённые официальные аккаунты.
|
||||
|
||||
---
|
||||
|
||||
@@ -210,3 +205,45 @@
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Profile relation lists (v18)
|
||||
|
||||
### `ListUserProfileRelations`
|
||||
|
||||
Lightweight paged lists used by clickable counters in a user profile. Supported `listType` values:
|
||||
|
||||
- `friends`
|
||||
- `close_friends`
|
||||
- `primary_received`
|
||||
- `primary_given`
|
||||
- `shine_received`
|
||||
- `shine_given`
|
||||
|
||||
Request:
|
||||
|
||||
```json
|
||||
{
|
||||
"op": "ListUserProfileRelations",
|
||||
"requestId": "profile-rel-1",
|
||||
"payload": { "login": "Alice", "listType": "friends", "limit": 100, "offset": 0 }
|
||||
}
|
||||
```
|
||||
|
||||
Each item contains a ready-to-render user card: `login`, `firstName`, `lastName`, `avatarAr`, `accountRole`, `shineStatus`, effective `relationType`, `primaryConfirmed`, `shineConfirmed`, plus received primary/shine confirmation counters.
|
||||
|
||||
Effective relation priority is `close_friend > friend > contact > none`. Effective `70/80` confirmations are filtered by current voting/status rules; raw blockchain connections are not deleted when temporarily ineffective.
|
||||
|
||||
### Voting rules
|
||||
|
||||
- new `80` requires the actor to have `account_role=primary`;
|
||||
- `80` cannot be added to a target with `account_role=non_voting`;
|
||||
- new `70` requires actor `account_role=primary` and `shine=shining` (legacy `shine=yes` is normalized to `shining`);
|
||||
- `70` cannot be added to a target with `shine=not_interested`;
|
||||
- a `non_voting` target may still receive `70` if its shine status allows it;
|
||||
- old raw `70/80` remain in `connections_state`, but are excluded from effective lists/counts while either side is ineligible. They become effective again automatically if statuses permit later.
|
||||
|
||||
### `ListContacts` additions (v18)
|
||||
|
||||
Every dialog item now also carries `firstName`, `lastName`, `avatarAr`, `accountRole`, and `shineStatus`. `relationFlag` priority is now `close_friend > friend > contact > none`.
|
||||
|
||||
Reference in New Issue
Block a user