Appearance
obj+me.virmesh.social.friend
双方署名済みの mutual friend relation object です。
draft
Description
mutual friend 成立時に生成される、双方署名済みの relation object です。
friendPayload には request sender / receiver の pair を role 固定で入れ、両者が同じ canonical JSON に署名します。
この friendPayload は friend request 作成時点で固定され、accept 時には不足している側の署名だけを追加します。
playerA は request sender、playerB は request receiver です。
playerASignature / playerBSignature はそれぞれ対応する player の署名です。
Aliases
friendme.virmesh.social.friend
Fields
friendPayload.playerAstringRequiredfriend request sender の player identifier です。
friendPayload.playerBstringRequiredfriend request receiver の player identifier です。
playerASignaturestringRequiredcanonical JSON of friendPayload に対する friendPayload.playerA の署名です。
playerBSignaturestringRequiredcanonical JSON of friendPayload に対する friendPayload.playerB の署名です。
Examples
mutual-signed friend relation
{
"friendPayload": {
"playerA": "medi:player:ed25519:player-a-public-key",
"playerB": "medi:player:ed25519:player-b-public-key"
},
"playerASignature": "base64-signature-by-player-a",
"playerBSignature": "base64-signature-by-player-b"
}Related objects
Referenced by
| Kind | Reference | Field |
|---|---|---|
| Action response (200) | me.virmesh.social.acceptFriendRequest | payload.friend |
| Action response (200) | me.virmesh.social.listFriends | payload.friends |
| Status payload | status+me.virmesh.success.friendRequestAccepted | payload.friend |
| Status payload | status+me.virmesh.success.friendsListed | payload.friends |