54 lines
1.6 KiB
Protocol Buffer
54 lines
1.6 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package communities.v1;
|
||
|
|
||
|
import "communities/v1/enums.proto";
|
||
|
|
||
|
// ChatIdentity represents the user defined identity associated with their public chat key
|
||
|
message ChatIdentity {
|
||
|
// Lamport timestamp of the message
|
||
|
uint64 clock = 1;
|
||
|
|
||
|
// ens_name is the valid ENS name associated with the chat key
|
||
|
string ens_name = 2;
|
||
|
|
||
|
// images is a string indexed mapping of images associated with an identity
|
||
|
map<string, IdentityImage> images = 3;
|
||
|
|
||
|
// display name is the user set identity, valid only for organisations
|
||
|
string display_name = 4;
|
||
|
|
||
|
// description is the user set description, valid only for organisations
|
||
|
string description = 5;
|
||
|
|
||
|
string color = 6;
|
||
|
}
|
||
|
|
||
|
// ProfileImage represents data associated with a user's profile image
|
||
|
message IdentityImage {
|
||
|
|
||
|
// payload is a context based payload for the profile image data,
|
||
|
// context is determined by the `source_type`
|
||
|
bytes payload = 1;
|
||
|
|
||
|
// source_type signals the image payload source
|
||
|
SourceType source_type = 2;
|
||
|
|
||
|
// image_type signals the image type and method of parsing the payload
|
||
|
ImageType image_type =3;
|
||
|
|
||
|
// SourceType are the predefined types of image source allowed
|
||
|
enum SourceType {
|
||
|
UNKNOWN_SOURCE_TYPE = 0;
|
||
|
|
||
|
// RAW_PAYLOAD image byte data
|
||
|
RAW_PAYLOAD = 1;
|
||
|
|
||
|
// ENS_AVATAR uses the ENS record's resolver get-text-data.avatar data
|
||
|
// The `payload` field will be ignored if ENS_AVATAR is selected
|
||
|
// The application will read and parse the ENS avatar data as image payload data, URLs will be ignored
|
||
|
// The parent `ChatMessageIdentity` must have a valid `ens_name` set
|
||
|
ENS_AVATAR = 2;
|
||
|
}
|
||
|
}
|