mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-08 05:47:07 +09:00
8567 lines
245 KiB
Protocol Buffer
8567 lines
245 KiB
Protocol Buffer
syntax = "proto3";
|
||
package anytype;
|
||
option go_package = "pb";
|
||
|
||
import "pkg/lib/pb/model/protos/models.proto";
|
||
import "pkg/lib/pb/model/protos/localstore.proto";
|
||
|
||
import "pb/protos/events.proto";
|
||
import "google/protobuf/struct.proto";
|
||
|
||
|
||
import "google/protobuf/descriptor.proto";
|
||
|
||
// To disable authorization in specific method use no_auth option inside Request of that method
|
||
extend google.protobuf.MessageOptions {
|
||
bool no_auth = 7777;
|
||
}
|
||
|
||
/*
|
||
* Rpc is a namespace, that agregates all of the service commands between client and middleware.
|
||
* Structure: Topic > Subtopic > Subsub... > Action > (Request, Response).
|
||
* Request – message from a client.
|
||
* Response – message from a middleware.
|
||
*/
|
||
message Rpc {
|
||
message App {
|
||
message GetVersion {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
string version = 2;
|
||
string details = 3; // build date, branch and commit
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SetDeviceState {
|
||
message Request {
|
||
DeviceState deviceState = 1;
|
||
|
||
enum DeviceState {
|
||
BACKGROUND = 0;
|
||
FOREGROUND = 1;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
message Shutdown {
|
||
message Request {
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
message Space {
|
||
message LeaveApprove {
|
||
message Request {
|
||
string spaceId = 1;
|
||
repeated string identities = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
NO_APPROVE_REQUESTS = 105;
|
||
NOT_SHAREABLE = 106;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message MakeShareable {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message InviteChange {
|
||
message Request {
|
||
string spaceId = 1;
|
||
model.ParticipantPermissions permissions = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
INCORRECT_PERMISSIONS = 105;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message InviteGenerate {
|
||
message Request {
|
||
string spaceId = 1;
|
||
model.InviteType inviteType = 2;
|
||
model.ParticipantPermissions permissions = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string inviteCid = 2;
|
||
string inviteFileKey = 3;
|
||
model.InviteType inviteType = 4;
|
||
model.ParticipantPermissions permissions = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
NOT_SHAREABLE = 105;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message StopSharing {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message InviteGetCurrent {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string inviteCid = 2;
|
||
string inviteFileKey = 3;
|
||
model.InviteType inviteType = 4;
|
||
model.ParticipantPermissions permissions = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_ACTIVE_INVITE = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message InviteGetGuest {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string inviteCid = 2;
|
||
string inviteFileKey = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
INVALID_SPACE_TYPE = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
message InviteRevoke {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
LIMIT_REACHED = 103;
|
||
REQUEST_FAILED = 104;
|
||
NOT_SHAREABLE = 105;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message InviteView {
|
||
message Request {
|
||
string inviteCid = 1;
|
||
string inviteFileKey = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string spaceId = 2;
|
||
string spaceName = 3;
|
||
string spaceIconCid = 4;
|
||
string creatorName = 5;
|
||
bool isGuestUserInvite = 6; // deprecated, use inviteType
|
||
model.InviteType inviteType = 7;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
INVITE_NOT_FOUND = 101;
|
||
INVITE_BAD_CONTENT = 102;
|
||
SPACE_IS_DELETED = 103;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Join {
|
||
message Request {
|
||
string networkId = 1; // not-empty only for self-hosting
|
||
string spaceId = 2;
|
||
string inviteCid = 3;
|
||
string inviteFileKey = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
INVITE_NOT_FOUND = 103;
|
||
INVITE_BAD_CONTENT = 104;
|
||
REQUEST_FAILED = 105;
|
||
LIMIT_REACHED = 106;
|
||
NOT_SHAREABLE = 107;
|
||
DIFFERENT_NETWORK = 108;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message JoinCancel {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
NO_SUCH_REQUEST = 105;
|
||
NOT_SHAREABLE = 106;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message RequestApprove {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string identity = 2;
|
||
model.ParticipantPermissions permissions = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
NO_SUCH_REQUEST = 103;
|
||
INCORRECT_PERMISSIONS = 104;
|
||
REQUEST_FAILED = 105;
|
||
LIMIT_REACHED = 106;
|
||
NOT_SHAREABLE = 107;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message RequestDecline {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string identity = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
NO_SUCH_REQUEST = 105;
|
||
NOT_SHAREABLE = 106;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ParticipantRemove {
|
||
message Request {
|
||
string spaceId = 1;
|
||
repeated string identities = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
PARTICIPANT_NOT_FOUND = 103;
|
||
REQUEST_FAILED = 104;
|
||
LIMIT_REACHED = 105;
|
||
NOT_SHAREABLE = 106;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ParticipantPermissionsChange {
|
||
message Request {
|
||
string spaceId = 1;
|
||
repeated model.ParticipantPermissionChange changes = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
PARTICIPANT_NOT_FOUND = 105;
|
||
INCORRECT_PERMISSIONS = 106;
|
||
NOT_SHAREABLE = 107;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Delete {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
int64 timestamp = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NO_SUCH_SPACE = 101;
|
||
SPACE_IS_DELETED = 102;
|
||
REQUEST_FAILED = 103;
|
||
LIMIT_REACHED = 104;
|
||
NOT_SHAREABLE = 105;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SetOrder {
|
||
message Request {
|
||
string spaceViewId = 1;
|
||
repeated string spaceViewOrder = 2; // result order of space view ids
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message UnsetOrder {
|
||
message Request {
|
||
string spaceViewId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Wallet {
|
||
message Create {
|
||
/**
|
||
* Front-end-to-middleware request to create a new wallet
|
||
*/
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string rootPath = 1; // Path to a wallet directory
|
||
string fulltextPrimaryLanguage = 2; // optional, default fts language
|
||
}
|
||
|
||
/**
|
||
* Middleware-to-front-end response, that can contain mnemonic of a created account and a NULL error or an empty mnemonic and a non-NULL error
|
||
*/
|
||
message Response {
|
||
Error error = 1;
|
||
string mnemonic = 2; // Mnemonic of a new account (sequence of words, divided by spaces)
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error; mnemonic should be non-empty
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Root path is wrong
|
||
|
||
FAILED_TO_CREATE_LOCAL_REPO = 101;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Recover {
|
||
/**
|
||
* Front end to middleware request-to-recover-a wallet with this mnemonic and a rootPath
|
||
*/
|
||
message Request {
|
||
option (no_auth) = true;
|
||
|
||
string rootPath = 1; // Path to a wallet directory
|
||
string mnemonic = 2; // Mnemonic of a wallet to recover
|
||
string fulltextPrimaryLanguage = 3; // optional, default fts language
|
||
}
|
||
|
||
/**
|
||
* Middleware-to-front-end response, that can contain a NULL error or a non-NULL error
|
||
*/
|
||
message Response {
|
||
Error error = 1; // Error while trying to recover a wallet
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error; wallet successfully recovered
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Root path or mnemonic is wrong
|
||
|
||
FAILED_TO_CREATE_LOCAL_REPO = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Convert {
|
||
message Request {
|
||
string mnemonic = 1; // Mnemonic of a wallet to convert
|
||
string entropy = 2; // entropy of a wallet to convert
|
||
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1; // Error while trying to recover a wallet
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error; wallet successfully recovered
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // mnemonic is wrong
|
||
}
|
||
}
|
||
|
||
string entropy = 2;
|
||
string mnemonic = 3;
|
||
}
|
||
}
|
||
|
||
message CreateSession {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
oneof auth {
|
||
string mnemonic = 1; // cold auth
|
||
string appKey = 2; // persistent app key, that can be used to restore session
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string token = 2;
|
||
string appToken = 3; // in case of mnemonic auth, need to be persisted by client
|
||
string accountId = 4; // temp, should be replaced with AccountInfo message
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
APP_TOKEN_NOT_FOUND_IN_THE_CURRENT_ACCOUNT = 101; // means the client logged into another account or the account directory has been cleaned
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CloseSession {
|
||
message Request {
|
||
string token = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message Account {
|
||
message Config {
|
||
bool enableDataview = 1;
|
||
bool enableDebug = 2;
|
||
bool enablePrereleaseChannel = 3;
|
||
bool enableSpaces = 4;
|
||
|
||
google.protobuf.Struct extra = 100;
|
||
}
|
||
|
||
message Create {
|
||
/**
|
||
* Front end to middleware request-to-create-an account
|
||
*/
|
||
message Request {
|
||
option (no_auth) = true;
|
||
|
||
string name = 1; // Account name
|
||
oneof avatar {//TODO: Remove if not needed, GO-1926
|
||
string avatarLocalPath = 2; // Path to an image, that will be used as an avatar of this account
|
||
}
|
||
string storePath = 3; // Path to local storage
|
||
int64 icon = 4; // Option of pre-installed icon
|
||
bool disableLocalNetworkSync = 5; // Disable local network discovery
|
||
NetworkMode networkMode = 6; // optional, default is DefaultConfig
|
||
string networkCustomConfigFilePath = 7; // config path for the custom network mode }
|
||
bool preferYamuxTransport = 8; // optional, default is false, recommended in case of problems with QUIC transport
|
||
string jsonApiListenAddr = 9; // optional, if empty json api will not be started; 127.0.0.1:31009 should be the default one
|
||
string joinStreamUrl = 10; // anytype:// schema URL to join an embed stream
|
||
}
|
||
/**
|
||
* Middleware-to-front-end response for an account creation request, that can contain a NULL error and created account or a non-NULL error and an empty account
|
||
*/
|
||
message Response {
|
||
Error error = 1; // Error while trying to create an account
|
||
anytype.model.Account account = 2; // A newly created account; In case of a failure, i.e. error is non-NULL, the account model should contain empty/default-value fields
|
||
Config config = 3; // deprecated, use account, GO-1926
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error; Account should be non-empty
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Avatar or name is not correct
|
||
|
||
ACCOUNT_CREATED_BUT_FAILED_TO_START_NODE = 101;
|
||
ACCOUNT_CREATED_BUT_FAILED_TO_SET_NAME = 102;
|
||
FAILED_TO_STOP_RUNNING_NODE = 104;
|
||
FAILED_TO_WRITE_CONFIG = 105;
|
||
FAILED_TO_CREATE_LOCAL_REPO = 106;
|
||
ACCOUNT_CREATION_IS_CANCELED = 107;
|
||
|
||
CONFIG_FILE_NOT_FOUND = 200;
|
||
CONFIG_FILE_INVALID = 201;
|
||
CONFIG_FILE_NETWORK_ID_MISMATCH = 202;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Recover {
|
||
/**
|
||
* Front end to middleware request-to-start-search of an accounts for a recovered mnemonic.
|
||
* Each of an account that would be found will come with an AccountAdd event
|
||
*/
|
||
message Request {
|
||
}
|
||
|
||
/**
|
||
* Middleware-to-front-end response to an account recover request, that can contain a NULL error and created account or a non-NULL error and an empty account
|
||
*/
|
||
message Response {
|
||
Error error = 1; // Error while trying to recover an account
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error;
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2;
|
||
|
||
NEED_TO_RECOVER_WALLET_FIRST = 102;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Delete {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1; // Error while trying to recover an account
|
||
anytype.model.Account.Status status = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error;
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_ALREADY_DELETED = 101;
|
||
UNABLE_TO_CONNECT = 102;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message RevertDeletion {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1; // Error while trying to recover an account
|
||
anytype.model.Account.Status status = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error;
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_ACTIVE = 101;
|
||
UNABLE_TO_CONNECT = 102;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Migrate {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string id = 1; // Id of a selected account
|
||
string rootPath = 2;
|
||
string fulltextPrimaryLanguage = 3; // optional, default fts language
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
int64 requiredSpace = 3;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Id or root path is wrong
|
||
|
||
ACCOUNT_NOT_FOUND = 101;
|
||
CANCELED = 102;
|
||
NOT_ENOUGH_FREE_SPACE = 103;
|
||
// TODO: [storage] Add specific error codes for migration problems
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message MigrateCancel {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string id = 1; // Id of a selected account
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Id or root path is wrong
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Select {
|
||
/**
|
||
* Front end to middleware request-to-launch-a specific account using account id and a root path
|
||
* User can select an account from those, that came with an AccountAdd events
|
||
*/
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string id = 1; // Id of a selected account
|
||
string rootPath = 2; // Root path is optional, set if this is a first request
|
||
bool disableLocalNetworkSync = 3; // Disable local network discovery
|
||
NetworkMode networkMode = 4; // optional, default is DefaultConfig
|
||
string networkCustomConfigFilePath = 5; // config path for the custom network mode
|
||
bool preferYamuxTransport = 6; // optional, default is false, recommended in case of problems with QUIC transport
|
||
string jsonApiListenAddr = 7; // optional, if empty json api will not be started; 127.0.0.1:31009 should be the default one
|
||
string fulltextPrimaryLanguage = 8; // optional, default fts language
|
||
string joinStreamURL = 9; // anytype:// schema URL to join an embed stream
|
||
}
|
||
|
||
/**
|
||
* Middleware-to-front-end response for an account select request, that can contain a NULL error and selected account or a non-NULL error and an empty account
|
||
*/
|
||
message Response {
|
||
Error error = 1; // Error while trying to launch/select an account
|
||
anytype.model.Account account = 2; // Selected account
|
||
Config config = 3; // deprecated, use account, GO-1926
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Id or root path is wrong
|
||
|
||
FAILED_TO_CREATE_LOCAL_REPO = 101;
|
||
LOCAL_REPO_EXISTS_BUT_CORRUPTED = 102;
|
||
FAILED_TO_RUN_NODE = 103;
|
||
FAILED_TO_FIND_ACCOUNT_INFO = 104;
|
||
LOCAL_REPO_NOT_EXISTS_AND_MNEMONIC_NOT_SET = 105;
|
||
FAILED_TO_STOP_SEARCHER_NODE = 106;
|
||
ANOTHER_ANYTYPE_PROCESS_IS_RUNNING = 108;
|
||
FAILED_TO_FETCH_REMOTE_NODE_HAS_INCOMPATIBLE_PROTO_VERSION = 110;
|
||
ACCOUNT_IS_DELETED = 111;
|
||
ACCOUNT_LOAD_IS_CANCELED = 112;
|
||
ACCOUNT_STORE_NOT_MIGRATED = 113;
|
||
|
||
CONFIG_FILE_NOT_FOUND = 200;
|
||
CONFIG_FILE_INVALID = 201;
|
||
CONFIG_FILE_NETWORK_ID_MISMATCH = 202;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Stop {
|
||
/**
|
||
* Front end to middleware request to stop currently running account node and optionally remove the locally stored data
|
||
*/
|
||
message Request {
|
||
bool removeData = 1;
|
||
}
|
||
|
||
/**
|
||
* Middleware-to-front-end response for an account stop request
|
||
*/
|
||
message Response {
|
||
Error error = 1; // Error while trying to launch/select an account
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0; // No error
|
||
UNKNOWN_ERROR = 1; // Any other errors
|
||
BAD_INPUT = 2; // Id or root path is wrong
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
FAILED_TO_STOP_NODE = 102;
|
||
FAILED_TO_REMOVE_ACCOUNT_DATA = 103;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Move {
|
||
/**
|
||
* Front-end-to-middleware request to move a account to a new disk location
|
||
*/
|
||
message Request {
|
||
string newPath = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
FAILED_TO_STOP_NODE = 101;
|
||
FAILED_TO_IDENTIFY_ACCOUNT_DIR = 102;
|
||
FAILED_TO_REMOVE_ACCOUNT_DATA = 103;
|
||
FAILED_TO_CREATE_LOCAL_REPO = 104;
|
||
FAILED_TO_WRITE_CONFIG = 105;
|
||
FAILED_TO_GET_CONFIG = 106;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ConfigUpdate {
|
||
message Request {
|
||
string IPFSStorageAddr = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
FAILED_TO_WRITE_CONFIG = 102;
|
||
}
|
||
}
|
||
}
|
||
|
||
enum Timezones {
|
||
GMT = 0;
|
||
ECT = 1;
|
||
EET = 2;
|
||
EAT = 3;
|
||
MET = 4;
|
||
NET = 5;
|
||
PLT = 6;
|
||
IST = 7;
|
||
BST = 8;
|
||
VST = 9;
|
||
CTT = 10;
|
||
JST = 11;
|
||
ACT = 12;
|
||
AET = 13;
|
||
SST = 14;
|
||
NST = 15;
|
||
MIT = 16;
|
||
HST = 17;
|
||
AST = 18;
|
||
PST = 19;
|
||
MST = 20;
|
||
CST = 21;
|
||
IET = 22;
|
||
PRT = 23;
|
||
CNT = 24;
|
||
BET = 25;
|
||
BRT = 26;
|
||
CAT = 27;
|
||
}
|
||
}
|
||
|
||
message GetConfig {//TODO: Remove this request if we do not need it, GO-1926
|
||
message Get {
|
||
message Request {
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
message RecoverFromLegacyExport {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string path = 1;
|
||
string rootPath = 2;
|
||
int64 icon = 3;
|
||
string fulltextPrimaryLanguage = 4; // optional, default fts language
|
||
}
|
||
|
||
message Response {
|
||
string accountId = 1;
|
||
string personalSpaceId = 3;
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
DIFFERENT_ACCOUNT = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message EnableLocalNetworkSync {
|
||
message Request {
|
||
}
|
||
message Response {
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
ACCOUNT_IS_NOT_RUNNING = 4;
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message ChangeJsonApiAddr {
|
||
message Request {
|
||
string listenAddr = 1; // make sure to use 127.0.0.1:x to not listen on all interfaces; recommended value is 127.0.0.1:31009
|
||
}
|
||
message Response {
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
ACCOUNT_IS_NOT_RUNNING = 4;
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message ChangeNetworkConfigAndRestart {
|
||
message Request {
|
||
NetworkMode networkMode = 1;
|
||
string networkCustomConfigFilePath = 2;
|
||
}
|
||
message Response {
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
ACCOUNT_IS_NOT_RUNNING = 4;
|
||
|
||
ACCOUNT_FAILED_TO_STOP = 100;
|
||
CONFIG_FILE_NOT_FOUND = 200;
|
||
CONFIG_FILE_INVALID = 201;
|
||
CONFIG_FILE_NETWORK_ID_MISMATCH = 202;
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
enum NetworkMode {
|
||
DefaultConfig = 0; // use network config that embedded in binary
|
||
LocalOnly = 1; // disable any-sync network and use only local p2p nodes
|
||
CustomConfig = 2; // use config provided in networkConfigFilePath
|
||
}
|
||
|
||
message LocalLink {
|
||
message NewChallenge {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string appName = 1; // just for info, not secure to rely on
|
||
model.Account.Auth.LocalApiScope scope = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string challengeId = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
TOO_MANY_REQUESTS = 102; // protection from overuse
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SolveChallenge {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string challengeId = 1;
|
||
string answer = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string sessionToken = 2; // ephemeral token for the session
|
||
string appKey = 3; // persistent key, that can be used to restore session via CreateSession
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
INVALID_CHALLENGE_ID = 102;
|
||
CHALLENGE_ATTEMPTS_EXCEEDED = 103;
|
||
INCORRECT_ANSWER = 104;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ListApps {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated model.Account.Auth.AppInfo app = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message CreateApp {
|
||
message Request {
|
||
model.Account.Auth.AppInfo app = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string appKey = 2; // persistent key, that can be used to restore session via CreateSession or for JSON API
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message RevokeApp {
|
||
message Request {
|
||
string appHash = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NOT_FOUND = 3;
|
||
|
||
ACCOUNT_IS_NOT_RUNNING = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
message Workspace {
|
||
message GetCurrent {
|
||
message Request {
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
string workspaceId = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message GetAll {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string workspaceIds = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Create {
|
||
message Request {
|
||
google.protobuf.Struct details = 1; // object details
|
||
anytype.Rpc.Object.ImportUseCase.Request.UseCase useCase = 2; // use case
|
||
bool withChat = 3; // create space-level chat; temporary solution, should be removed after chats released for all users
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string spaceId = 2;
|
||
string startingObjectId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Open {
|
||
message Request {
|
||
string spaceId = 1;
|
||
bool withChat = 2; // create space-level chat if not exists; temporary solution, should be removed after chats released for all users
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
model.Account.Info info = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
FAILED_TO_LOAD = 100;
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Object {
|
||
message Add {
|
||
message Request {
|
||
string spaceId = 2;
|
||
string objectId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
google.protobuf.Struct details = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ListAdd {
|
||
message Request {
|
||
string spaceId = 2;
|
||
repeated string objectIds = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string objectIds = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ListRemove {
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string ids = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetInfo {
|
||
message Request {
|
||
string spaceId = 1;
|
||
google.protobuf.Struct details = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Select {
|
||
message Request {
|
||
string workspaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Export {
|
||
message Request {
|
||
// the path where export files will place
|
||
string path = 1;
|
||
string workspaceId = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
message Publishing {
|
||
enum PublishStatus {
|
||
// PublishStatusCreated means publish is created but not uploaded yet
|
||
PublishStatusCreated = 0;
|
||
// PublishStatusCreated means publish is active
|
||
PublishStatusPublished = 1;
|
||
}
|
||
message PublishState {
|
||
string spaceId = 1;
|
||
string objectId = 2;
|
||
string uri = 3;
|
||
PublishStatus status = 4;
|
||
string version = 5;
|
||
int64 timestamp = 6;
|
||
int64 size = 7;
|
||
bool joinSpace = 8;
|
||
google.protobuf.Struct details = 9;
|
||
}
|
||
|
||
message Create {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string objectId = 2;
|
||
string uri = 3;
|
||
bool joinSpace = 4;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
string uri = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NO_SUCH_OBJECT = 101;
|
||
NO_SUCH_SPACE = 102;
|
||
LIMIT_EXCEEDED = 103;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Remove {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string objectId = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NO_SUCH_OBJECT = 101;
|
||
NO_SUCH_SPACE = 102;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message List {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
repeated PublishState publishes = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NO_SUCH_SPACE = 102;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ResolveUri {
|
||
message Request {
|
||
string uri = 1;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
PublishState publish = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NO_SUCH_URI = 101;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message GetStatus {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string objectId = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
PublishState publish = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NO_SUCH_OBJECT = 101;
|
||
NO_SUCH_SPACE = 102;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Object {
|
||
message Open {
|
||
message Request {
|
||
string contextId = 1; // id of the context blo1k
|
||
string objectId = 2;
|
||
string traceId = 3;
|
||
string spaceId = 5; // Required only for date objects
|
||
|
||
bool includeRelationsAsDependentObjects = 4; // some clients may set this option instead if having the single subscription to all relations
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
model.ObjectView objectView = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_FOUND = 3;
|
||
ANYTYPE_NEEDS_UPGRADE = 10; // failed to read unknown data format – need to upgrade anytype
|
||
OBJECT_DELETED = 4;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Close {
|
||
message Request {
|
||
string contextId = 1; // deprecated, GO-1926
|
||
string objectId = 2;
|
||
string spaceId = 3; // Required only for date objects
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Show {
|
||
message Request {
|
||
string contextId = 1; // deprecated, GO-1926
|
||
string objectId = 2;
|
||
string traceId = 3;
|
||
string spaceId = 5; // Required only for date objects
|
||
|
||
bool includeRelationsAsDependentObjects = 4; // some clients may set this option instead if having the single subscription to all relations
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
model.ObjectView objectView = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NOT_FOUND = 3;
|
||
OBJECT_DELETED = 4;
|
||
ANYTYPE_NEEDS_UPGRADE = 10; // failed to read unknown data format – need to upgrade anytype
|
||
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Create {
|
||
message Request {
|
||
google.protobuf.Struct details = 1; // object details
|
||
repeated anytype.model.InternalFlag internalFlags = 2;
|
||
string templateId = 3;
|
||
string spaceId = 4;
|
||
string objectTypeUniqueKey = 5;
|
||
bool withChat = 6;
|
||
bool createTypeWidgetIfMissing = 7; // experimental flag to auto-create type widget if missing
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 3;
|
||
ResponseEvent event = 4;
|
||
google.protobuf.Struct details = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateBookmark {
|
||
message Request {
|
||
google.protobuf.Struct details = 1;
|
||
string spaceId = 2;
|
||
bool withChat = 3;
|
||
string templateId = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
google.protobuf.Struct details = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateRelation {
|
||
message Request {
|
||
google.protobuf.Struct details = 1;
|
||
string spaceId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
string key = 3;
|
||
google.protobuf.Struct details = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateRelationOption {
|
||
message Request {
|
||
google.protobuf.Struct details = 1;
|
||
string spaceId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
google.protobuf.Struct details = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateSet {
|
||
message Request {
|
||
repeated string source = 1;
|
||
google.protobuf.Struct details = 2; // if omitted the name of page will be the same with object type
|
||
string templateId = 3; // optional template id for creating from template
|
||
repeated anytype.model.InternalFlag internalFlags = 4;
|
||
string spaceId = 5;
|
||
bool withChat = 6;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 3;
|
||
ResponseEvent event = 4;
|
||
google.protobuf.Struct details = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
UNKNOWN_OBJECT_TYPE_URL = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateObjectType {
|
||
message Request {
|
||
google.protobuf.Struct details = 1;
|
||
repeated anytype.model.InternalFlag internalFlags = 2;
|
||
string spaceId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
google.protobuf.Struct details = 2;
|
||
string objectId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateFromUrl {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string objectTypeUniqueKey = 2;
|
||
string url = 3;
|
||
google.protobuf.Struct details = 4;
|
||
bool addPageContent = 5;
|
||
bool withChat = 6;
|
||
string templateId = 7;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
google.protobuf.Struct details = 3;
|
||
string chatId = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ChatAdd {
|
||
message Request {
|
||
string objectId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string chatId = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BookmarkFetch {
|
||
message Request {
|
||
string contextId = 1;
|
||
string url = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ToBookmark {
|
||
message Request {
|
||
string contextId = 1;
|
||
string url = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Duplicate {
|
||
message Request {
|
||
string contextId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
// created template id
|
||
string id = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message OpenBreadcrumbs {
|
||
message Request {
|
||
string contextId = 1; // deprecated, GO-1926
|
||
string traceId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
ResponseEvent event = 3;
|
||
model.ObjectView objectView = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetBreadcrumbs {
|
||
message Request {
|
||
string breadcrumbsId = 1;
|
||
repeated string ids = 2; // page ids
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ShareByLink {
|
||
message Request {
|
||
string objectId = 1;
|
||
}
|
||
|
||
message Response {
|
||
string link = 1;
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
// deprecated in favor of SearchWithMeta
|
||
message Search {
|
||
message Request {
|
||
string spaceId = 8;
|
||
repeated anytype.model.Block.Content.Dataview.Filter filters = 1;
|
||
repeated anytype.model.Block.Content.Dataview.Sort sorts = 2;
|
||
string fullText = 3;
|
||
int32 offset = 4;
|
||
int32 limit = 5;
|
||
// additional filter by objectTypes
|
||
repeated string objectTypeFilter = 6; // DEPRECATED, GO-1926
|
||
// needed keys in details for return, when empty - will return all
|
||
repeated string keys = 7;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated google.protobuf.Struct records = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SearchWithMeta {
|
||
message Request {
|
||
string spaceId = 11;
|
||
repeated anytype.model.Block.Content.Dataview.Filter filters = 1;
|
||
repeated anytype.model.Block.Content.Dataview.Sort sorts = 2;
|
||
string fullText = 3;
|
||
int32 offset = 4;
|
||
int32 limit = 5;
|
||
// additional filter by objectTypes
|
||
repeated string objectTypeFilter = 6; // DEPRECATED, GO-1926
|
||
// needed keys in details for return, when empty - will return all
|
||
repeated string keys = 7;
|
||
bool returnMeta = 8; // add ResultMeta to each result
|
||
bool returnMetaRelationDetails = 9; // add relation option details to meta
|
||
bool returnHTMLHighlightsInsteadOfRanges = 10; //DEPRECATED
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated model.Search.Result results = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Graph {
|
||
message Request {
|
||
repeated anytype.model.Block.Content.Dataview.Filter filters = 1;
|
||
int32 limit = 2;
|
||
// additional filter by objectTypes
|
||
repeated string objectTypeFilter = 3; // DEPRECATED, GO-1926
|
||
repeated string keys = 4;
|
||
string spaceId = 5;
|
||
string collectionId = 6;
|
||
repeated string setSource = 7;
|
||
}
|
||
|
||
message Edge {
|
||
enum Type {
|
||
Link = 0;
|
||
Relation = 1;
|
||
}
|
||
string source = 1;
|
||
string target = 2;
|
||
string name = 3;
|
||
Type type = 4;
|
||
string description = 5;
|
||
string iconImage = 6;
|
||
string iconEmoji = 7;
|
||
bool hidden = 8;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated google.protobuf.Struct nodes = 2;
|
||
repeated Edge edges = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SearchSubscribe {
|
||
message Request {
|
||
string spaceId = 15;
|
||
// (optional) subscription identifier
|
||
// client can provide some string or middleware will generate it automatically
|
||
// if subId is already registered on middleware, the new query will replace previous subscription
|
||
string subId = 1;
|
||
// filters
|
||
repeated anytype.model.Block.Content.Dataview.Filter filters = 2;
|
||
// sorts
|
||
repeated anytype.model.Block.Content.Dataview.Sort sorts = 3;
|
||
// results limit
|
||
int64 limit = 5;
|
||
// initial offset; middleware will find afterId
|
||
int64 offset = 6;
|
||
// (required) needed keys in details for return, for object fields mw will return (and subscribe) objects as dependent
|
||
repeated string keys = 7;
|
||
|
||
// (optional) pagination: middleware will return results after given id
|
||
string afterId = 8;
|
||
// (optional) pagination: middleware will return results before given id
|
||
string beforeId = 9;
|
||
|
||
repeated string source = 10;
|
||
|
||
// disable dependent subscription
|
||
bool noDepSubscription = 13;
|
||
string collectionId = 14;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
repeated google.protobuf.Struct records = 2;
|
||
repeated google.protobuf.Struct dependencies = 3;
|
||
|
||
string subId = 4;
|
||
|
||
Event.Object.Subscription.Counters counters = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CrossSpaceSearchSubscribe {
|
||
message Request {
|
||
// (optional) subscription identifier
|
||
// client can provide some string or middleware will generate it automatically
|
||
// if subId is already registered on middleware, the new query will replace previous subscription
|
||
string subId = 1;
|
||
// filters
|
||
repeated anytype.model.Block.Content.Dataview.Filter filters = 2;
|
||
// sorts
|
||
repeated anytype.model.Block.Content.Dataview.Sort sorts = 3;
|
||
// (required) needed keys in details for return, for object fields mw will return (and subscribe) objects as dependent
|
||
repeated string keys = 7;
|
||
|
||
repeated string source = 10;
|
||
|
||
// disable dependent subscription
|
||
bool noDepSubscription = 13;
|
||
string collectionId = 14;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
repeated google.protobuf.Struct records = 2;
|
||
repeated google.protobuf.Struct dependencies = 3;
|
||
|
||
string subId = 4;
|
||
|
||
Event.Object.Subscription.Counters counters = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CrossSpaceSearchUnsubscribe {
|
||
message Request {
|
||
string subId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message GroupsSubscribe {
|
||
message Request {
|
||
string spaceId = 6;
|
||
string subId = 1;
|
||
string relationKey = 2;
|
||
repeated anytype.model.Block.Content.Dataview.Filter filters = 3;
|
||
repeated string source = 4;
|
||
string collectionId = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
repeated anytype.model.Block.Content.Dataview.Group groups = 2;
|
||
|
||
string subId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SubscribeIds {
|
||
message Request {
|
||
string spaceId = 13;
|
||
// (optional) subscription identifier
|
||
// client can provide some string or middleware will generate it automatically
|
||
// if subId is already registered on middleware, the new query will replace previous subscription
|
||
string subId = 1;
|
||
// ids for subscribe
|
||
repeated string ids = 2;
|
||
// sorts
|
||
// (required) needed keys in details for return, for object fields mw will return (and subscribe) objects as dependent
|
||
repeated string keys = 3;
|
||
|
||
// disable dependent subscription
|
||
bool noDepSubscription = 12;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
repeated google.protobuf.Struct records = 2;
|
||
repeated google.protobuf.Struct dependencies = 3;
|
||
|
||
string subId = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SearchUnsubscribe {
|
||
message Request {
|
||
repeated string subIds = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetLayout {
|
||
message Request {
|
||
string contextId = 1;
|
||
anytype.model.ObjectType.Layout layout = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetIsFavorite {
|
||
message Request {
|
||
string contextId = 1;
|
||
bool isFavorite = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetIsArchived {
|
||
message Request {
|
||
string contextId = 1;
|
||
bool isArchived = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetSource {
|
||
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string source = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message WorkspaceSetDashboard {
|
||
|
||
message Request {
|
||
string contextId = 1;
|
||
string objectId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
string objectId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetObjectType {
|
||
message Request {
|
||
string contextId = 1;
|
||
string objectTypeUniqueKey = 3;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetInternalFlags {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated anytype.model.InternalFlag internalFlags = 7;
|
||
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetDetails {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated anytype.model.Detail details = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ToSet {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string source = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ToCollection {
|
||
message Request {
|
||
string contextId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// Available undo/redo operations
|
||
message UndoRedoCounter {
|
||
int32 undo = 1;
|
||
int32 redo = 2;
|
||
}
|
||
|
||
message Undo {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
UndoRedoCounter counters = 3;
|
||
string blockId = 4;
|
||
anytype.model.Range range = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
CAN_NOT_MOVE = 3;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Redo {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
UndoRedoCounter counters = 3;
|
||
string blockId = 4;
|
||
anytype.model.Range range = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
CAN_NOT_MOVE = 3;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListDuplicate {
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string ids = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListDelete {
|
||
// Deletes the object, keys from the local store and unsubscribe from remote changes. Also offloads all orphan files
|
||
message Request {
|
||
repeated string objectIds = 1; // objects to remove
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetIsArchived {
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
bool isArchived = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetIsFavorite {
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
bool isFavorite = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetObjectType {
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
string objectTypeUniqueKey = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetDetails {
|
||
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
repeated anytype.model.Detail details = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListModifyDetailValues {
|
||
message Request {
|
||
repeated string objectIds = 1;
|
||
repeated Operation operations = 2;
|
||
|
||
message Operation {
|
||
string relationKey = 1;
|
||
google.protobuf.Value add = 2;
|
||
google.protobuf.Value set = 3;
|
||
google.protobuf.Value remove = 4;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ApplyTemplate {
|
||
message Request {
|
||
string contextId = 1;
|
||
// id of template
|
||
string templateId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListExport {
|
||
message Request {
|
||
string spaceId = 10;
|
||
// the path where export files will place
|
||
string path = 1;
|
||
// ids of documents for export, when empty - will export all available docs
|
||
repeated string objectIds = 2;
|
||
// export format
|
||
anytype.model.Export.Format format = 3;
|
||
// save as zip file
|
||
bool zip = 4;
|
||
// include all nested
|
||
bool includeNested = 5;
|
||
// include all files
|
||
bool includeFiles = 6;
|
||
// for protobuf export
|
||
bool isJson = 7;
|
||
// for migration
|
||
bool includeArchived = 9;
|
||
// for integrations like raycast and web publishing
|
||
bool noProgress = 11;
|
||
StateFilters linksStateFilters = 12;
|
||
bool includeBacklinks = 13;
|
||
bool includeSpace = 14;
|
||
}
|
||
message StateFilters {
|
||
repeated RelationsWhiteList relationsWhiteList = 1;
|
||
bool removeBlocks = 2;
|
||
}
|
||
message RelationsWhiteList {
|
||
anytype.model.ObjectType.Layout layout = 1;
|
||
repeated string allowedRelations = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
int32 succeed = 4;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message Export {
|
||
message Request {
|
||
string spaceId = 10;
|
||
// ids of documents for export, when empty - will export all available docs
|
||
string objectId = 2;
|
||
// export format
|
||
anytype.model.Export.Format format = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string result = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message Import {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string spaceId = 14;
|
||
oneof params {
|
||
NotionParams notionParams = 1;
|
||
BookmarksParams bookmarksParams = 2; //for internal use
|
||
MarkdownParams markdownParams = 3;
|
||
HtmlParams htmlParams = 4;
|
||
TxtParams txtParams = 5;
|
||
PbParams pbParams = 6;
|
||
CsvParams csvParams = 7;
|
||
}
|
||
repeated Snapshot snapshots = 8; // optional, for external developers usage
|
||
bool updateExistingObjects = 9;
|
||
anytype.model.Import.Type type = 10;
|
||
Mode mode = 11;
|
||
bool noProgress = 12;
|
||
bool isMigration = 13;
|
||
bool isNewSpace = 15;
|
||
|
||
message NotionParams {
|
||
string apiKey = 1;
|
||
}
|
||
|
||
message MarkdownParams {
|
||
repeated string path = 1;
|
||
}
|
||
|
||
message BookmarksParams {
|
||
string url = 1;
|
||
}
|
||
|
||
message HtmlParams {
|
||
repeated string path = 1;
|
||
}
|
||
|
||
message TxtParams {
|
||
repeated string path = 1;
|
||
}
|
||
|
||
message PbParams {
|
||
repeated string path = 1;
|
||
bool noCollection = 2;
|
||
string collectionTitle = 3;
|
||
Type importType = 4;
|
||
enum Type {
|
||
SPACE = 0;
|
||
EXPERIENCE = 1;
|
||
};
|
||
}
|
||
|
||
message CsvParams {
|
||
repeated string path = 1;
|
||
Mode mode = 2;
|
||
bool useFirstRowForRelations = 3;
|
||
string delimiter = 4;
|
||
bool transposeRowsAndColumns = 5;
|
||
enum Mode {
|
||
COLLECTION = 0;
|
||
TABLE = 1;
|
||
};
|
||
}
|
||
|
||
enum Mode {
|
||
ALL_OR_NOTHING = 0;
|
||
IGNORE_ERRORS = 1;
|
||
};
|
||
|
||
message Snapshot {
|
||
string id = 1;
|
||
anytype.model.SmartBlockSnapshotBase snapshot = 2;
|
||
};
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1; // deprecated
|
||
string collectionId = 2; // deprecated
|
||
int64 objectsCount = 3; // deprecated
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
NO_OBJECTS_TO_IMPORT = 5;
|
||
IMPORT_IS_CANCELED = 6;
|
||
LIMIT_OF_ROWS_OR_RELATIONS_EXCEEDED = 7;
|
||
FILE_LOAD_ERROR = 8;
|
||
INSUFFICIENT_PERMISSIONS = 9;
|
||
}
|
||
}
|
||
}
|
||
|
||
message Notion {
|
||
message ValidateToken {
|
||
message Request {
|
||
string token = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
UNAUTHORIZED = 4;
|
||
FORBIDDEN = 5;
|
||
SERVICE_UNAVAILABLE = 6;
|
||
ACCOUNT_IS_NOT_RUNNING = 7;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
message ImportList {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated ImportResponse response = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
}
|
||
}
|
||
|
||
}
|
||
message ImportResponse {
|
||
Type type = 1;
|
||
enum Type {
|
||
Notion = 0;
|
||
Markdown = 1;
|
||
Html = 2;
|
||
Txt = 3;
|
||
};
|
||
}
|
||
}
|
||
|
||
message ImportUseCase {
|
||
message Request {
|
||
string spaceId = 2;
|
||
UseCase useCase = 1;
|
||
|
||
enum UseCase {
|
||
NONE = 0;
|
||
GET_STARTED = 1;
|
||
EMPTY = 2;
|
||
GUIDE_ONLY = 3; // only the guide without other tables
|
||
GET_STARTED_MOBILE = 4;
|
||
EMPTY_MOBILE = 5;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
string startingObjectId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ImportExperience {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string url = 2;
|
||
string title = 3;
|
||
bool isNewSpace = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INSUFFICIENT_PERMISSION = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message DateByTimestamp {
|
||
message Request {
|
||
string spaceId = 1;
|
||
int64 timestamp = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
google.protobuf.Struct details = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ObjectCollection {
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
string afterId = 2;
|
||
repeated string objectIds = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Remove {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string objectIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Sort {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string objectIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ObjectRelation {
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string relationKeys = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Delete {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string relationKeys = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ListAvailable {
|
||
message Request {
|
||
string contextId = 1;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.Relation relations = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message AddFeatured {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string relations = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message RemoveFeatured {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string relations = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ObjectType {
|
||
message Relation {
|
||
message Add {
|
||
message Request {
|
||
string objectTypeUrl = 1;
|
||
repeated string relationKeys = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.Relation relations = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
READONLY_OBJECT_TYPE = 3;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Remove {
|
||
message Request {
|
||
string objectTypeUrl = 1;
|
||
repeated string relationKeys = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
READONLY_OBJECT_TYPE = 3;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Recommended {
|
||
message RelationsSet {
|
||
message Request {
|
||
string typeObjectId = 1;
|
||
repeated string relationObjectIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
READONLY_OBJECT_TYPE = 3;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message FeaturedRelationsSet {
|
||
message Request {
|
||
string typeObjectId = 1;
|
||
repeated string relationObjectIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
READONLY_OBJECT_TYPE = 3;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListConflictingRelations {
|
||
message Request {
|
||
string spaceId = 1;
|
||
string typeObjectId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string relationIds = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
READONLY_OBJECT_TYPE = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ResolveLayoutConflicts {
|
||
message Request {
|
||
string typeObjectId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Relation {
|
||
message ListRemoveOption {
|
||
message Request {
|
||
repeated string optionIds = 1;
|
||
bool checkInObjects = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
OPTION_USED_BY_OBJECTS = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Options {
|
||
message Request {
|
||
string relationKey = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
model.RelationOptions options = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListWithValue {
|
||
message Request {
|
||
string spaceId = 1;
|
||
google.protobuf.Value value = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated ResponseItem list = 2;
|
||
|
||
message ResponseItem {
|
||
string relationKey = 1;
|
||
int64 counter = 2;
|
||
}
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message History {
|
||
message Version {
|
||
string id = 1;
|
||
repeated string previousIds = 2;
|
||
string authorId = 3;
|
||
string authorName = 4;
|
||
int64 time = 5;
|
||
int64 groupId = 6;
|
||
}
|
||
|
||
// returns list of versions (changes)
|
||
message GetVersions {
|
||
message Request {
|
||
string objectId = 1;
|
||
// when indicated, results will include versions before given id
|
||
string lastVersionId = 2;
|
||
// desired count of versions
|
||
int32 limit = 3;
|
||
bool notIncludeVersion = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated Version versions = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// returns blockShow event for given version
|
||
message ShowVersion {
|
||
message Request {
|
||
string objectId = 1;
|
||
string versionId = 2;
|
||
string traceId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
model.ObjectView objectView = 2;
|
||
History.Version version = 3;
|
||
string traceId = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetVersion {
|
||
message Request {
|
||
string objectId = 1;
|
||
string versionId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message DiffVersions {
|
||
message Request {
|
||
string objectId = 1;
|
||
string spaceId = 2;
|
||
string currentVersion = 3;
|
||
string previousVersion = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated Event.Message historyEvents = 2;
|
||
anytype.model.ObjectView objectView = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message File {
|
||
message Reconcile {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Offload {
|
||
message Request {
|
||
string id = 1;
|
||
bool includeNotPinned = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
uint64 bytesOffloaded = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
NODE_NOT_STARTED = 103;
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SpaceOffload {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
int32 filesOffloaded = 2;
|
||
uint64 bytesOffloaded = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
NODE_NOT_STARTED = 103;
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListOffload {
|
||
message Request {
|
||
repeated string onlyIds = 1; // empty means all
|
||
bool includeNotPinned = 2; // false mean not-yet-pinned files will be not
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
int32 filesOffloaded = 2;
|
||
uint64 bytesOffloaded = 3;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
NODE_NOT_STARTED = 103;
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Upload {
|
||
message Request {
|
||
string spaceId = 6;
|
||
string url = 1;
|
||
string localPath = 2;
|
||
anytype.model.Block.Content.File.Type type = 3;
|
||
bool disableEncryption = 4; // deprecated, has no affect, GO-1926
|
||
anytype.model.Block.Content.File.Style style = 5;
|
||
google.protobuf.Struct details = 7; // additional details for file object
|
||
anytype.model.ObjectOrigin origin = 8;
|
||
anytype.model.ImageKind imageKind = 9;
|
||
bool createTypeWidgetIfMissing = 10; // experimental flag to auto-create type widget if missing
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
google.protobuf.Struct details = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Download {
|
||
message Request {
|
||
string objectId = 1;
|
||
string path = 2; // path to save file. Temp directory is used if empty
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string localPath = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Drop {
|
||
message Request {
|
||
string contextId = 1;
|
||
string dropTargetId = 2; // id of the simple block to insert considering position
|
||
anytype.model.Block.Position position = 3; // position relatively to the dropTargetId simple block
|
||
repeated string localFilePaths = 4;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SpaceUsage {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
Usage usage = 2;
|
||
|
||
message Usage {
|
||
uint64 filesCount = 1;
|
||
uint64 cidsCount = 2;
|
||
uint64 bytesUsage = 3;
|
||
uint64 bytesLeft = 4;
|
||
uint64 bytesLimit = 5;
|
||
uint64 localBytesUsage = 6;
|
||
}
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message NodeUsage {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
Usage usage = 2;
|
||
repeated Space spaces = 3;
|
||
|
||
message Usage {
|
||
uint64 filesCount = 1;
|
||
uint64 cidsCount = 2;
|
||
uint64 bytesUsage = 3;
|
||
uint64 bytesLeft = 4;
|
||
uint64 bytesLimit = 5;
|
||
uint64 localBytesUsage = 6;
|
||
}
|
||
|
||
message Space {
|
||
string spaceId = 1;
|
||
uint64 filesCount = 2;
|
||
uint64 cidsCount = 3;
|
||
uint64 bytesUsage = 4;
|
||
}
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Navigation {
|
||
enum Context {
|
||
Navigation = 0;
|
||
MoveTo = 1; // do not show sets/archive
|
||
LinkTo = 2; // same for mention, do not show sets/archive
|
||
}
|
||
|
||
message ListObjects {
|
||
message Request {
|
||
Context context = 1;
|
||
string fullText = 2;
|
||
int32 limit = 3;
|
||
int32 offset = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.ObjectInfo objects = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Get the info for page alongside with info for all inbound and outbound links from/to this page
|
||
*/
|
||
message GetObjectInfoWithLinks {
|
||
message Request {
|
||
string objectId = 1;
|
||
Context context = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
anytype.model.ObjectInfoWithLinks object = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Template {
|
||
message CreateFromObject {
|
||
message Request {
|
||
// id of block for making them template
|
||
string contextId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
// created template id
|
||
string id = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Clone {
|
||
message Request {
|
||
// id of template block for cloning
|
||
string contextId = 1;
|
||
string spaceId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
// created template id
|
||
string id = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ExportAll {
|
||
message Request {
|
||
// the path where export files will place
|
||
string path = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message LinkPreview {
|
||
message Request {
|
||
string url = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
anytype.model.LinkPreview linkPreview = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Unsplash {
|
||
message Search {
|
||
message Request {
|
||
string query = 1; // empty means random images
|
||
int32 limit = 2; // may be omitted if the request was cached previously with another limit
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated Picture pictures = 2;
|
||
|
||
message Picture {
|
||
string id = 1;
|
||
string url = 2;
|
||
string artist = 3;
|
||
string artistUrl = 4;
|
||
}
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
RATE_LIMIT_EXCEEDED = 100;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Download {
|
||
message Request {
|
||
string pictureId = 1;
|
||
string spaceId = 2;
|
||
anytype.model.ImageKind imageKind = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
RATE_LIMIT_EXCEEDED = 100;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message AI {
|
||
message WritingTools {
|
||
message Request {
|
||
ProviderConfig config = 1;
|
||
WritingMode mode = 2;
|
||
Language language = 3;
|
||
string text = 4;
|
||
|
||
enum WritingMode {
|
||
DEFAULT = 0;
|
||
SUMMARIZE = 1;
|
||
GRAMMAR = 2;
|
||
SHORTEN = 3;
|
||
EXPAND = 4;
|
||
BULLET = 5;
|
||
TABLE = 6;
|
||
CASUAL = 7;
|
||
FUNNY = 8;
|
||
CONFIDENT = 9;
|
||
STRAIGHTFORWARD = 10;
|
||
PROFESSIONAL = 11;
|
||
TRANSLATE = 12;
|
||
// ...
|
||
}
|
||
|
||
enum Language {
|
||
EN = 0;
|
||
ES = 1;
|
||
FR = 2;
|
||
DE = 3;
|
||
IT = 4;
|
||
PT = 5;
|
||
HI = 6;
|
||
TH = 7;
|
||
// ...
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string text = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
RATE_LIMIT_EXCEEDED = 100;
|
||
ENDPOINT_NOT_REACHABLE = 101;
|
||
MODEL_NOT_FOUND = 102;
|
||
AUTH_REQUIRED = 103;
|
||
LANGUAGE_NOT_SUPPORTED = 104;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Autofill {
|
||
message Request {
|
||
ProviderConfig config = 1;
|
||
AutofillMode mode = 2;
|
||
repeated string options = 3;
|
||
repeated string context = 4;
|
||
|
||
enum AutofillMode {
|
||
TAG = 0;
|
||
RELATION = 1;
|
||
TYPE = 2;
|
||
TITLE = 3;
|
||
DESCRIPTION = 4;
|
||
// ...
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string text = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
RATE_LIMIT_EXCEEDED = 100;
|
||
ENDPOINT_NOT_REACHABLE = 101;
|
||
MODEL_NOT_FOUND = 102;
|
||
AUTH_REQUIRED = 103;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSummary {
|
||
message Request {
|
||
ProviderConfig config = 1;
|
||
string spaceId = 2;
|
||
repeated string objectIds = 3;
|
||
string prompt = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
RATE_LIMIT_EXCEEDED = 100;
|
||
ENDPOINT_NOT_REACHABLE = 101;
|
||
MODEL_NOT_FOUND = 102;
|
||
AUTH_REQUIRED = 103;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ObjectCreateFromUrl {
|
||
message Request {
|
||
ProviderConfig config = 1;
|
||
string spaceId = 2;
|
||
string url = 3;
|
||
google.protobuf.Struct details = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string objectId = 2;
|
||
google.protobuf.Struct details = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
RATE_LIMIT_EXCEEDED = 100;
|
||
ENDPOINT_NOT_REACHABLE = 101;
|
||
MODEL_NOT_FOUND = 102;
|
||
AUTH_REQUIRED = 103;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ProviderConfig {
|
||
Provider provider = 1;
|
||
string endpoint = 2;
|
||
string model = 3;
|
||
string token = 4;
|
||
float temperature = 5;
|
||
}
|
||
|
||
enum Provider {
|
||
OLLAMA = 0;
|
||
OPENAI = 1;
|
||
LMSTUDIO = 2;
|
||
LLAMACPP = 3;
|
||
// ...
|
||
}
|
||
}
|
||
|
||
message Gallery {
|
||
message DownloadManifest {
|
||
message Request {
|
||
string url = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
anytype.model.ManifestInfo info = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message DownloadIndex {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated Category categories = 2;
|
||
repeated anytype.model.ManifestInfo experiences = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
UNMARSHALLING_ERROR = 3;
|
||
DOWNLOAD_ERROR = 4;
|
||
}
|
||
}
|
||
|
||
message Category {
|
||
string id = 1;
|
||
repeated string experiences = 2;
|
||
string icon = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// Block commands
|
||
message Block {
|
||
message Replace {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Block block = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Split {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Range range = 3;
|
||
anytype.model.Block.Content.Text.Style style = 4;
|
||
Mode mode = 5;
|
||
|
||
enum Mode {
|
||
// new block will be created under existing
|
||
BOTTOM = 0;
|
||
// new block will be created above existing
|
||
TOP = 1;
|
||
// new block will be created as the first children of existing
|
||
INNER = 2;
|
||
// new block will be created after header (not required for set at client side, will auto set for title block)
|
||
TITLE = 3;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Merge {
|
||
message Request {
|
||
string contextId = 1;
|
||
string firstBlockId = 2;
|
||
string secondBlockId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Copy {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated anytype.model.Block blocks = 2;
|
||
anytype.model.Range selectedTextRange = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string textSlot = 2;
|
||
string htmlSlot = 3;
|
||
repeated anytype.model.Block anySlot = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Paste {
|
||
message Request {
|
||
string contextId = 1;
|
||
string focusedBlockId = 2;
|
||
anytype.model.Range selectedTextRange = 3;
|
||
repeated string selectedBlockIds = 4;
|
||
bool isPartOfBlock = 5;
|
||
|
||
string textSlot = 6;
|
||
string htmlSlot = 7;
|
||
repeated anytype.model.Block anySlot = 8;
|
||
repeated File fileSlot = 9;
|
||
string url = 10;
|
||
|
||
message File {
|
||
string name = 1;
|
||
bytes data = 2;
|
||
string localPath = 3;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string blockIds = 2;
|
||
int32 caretPosition = 3;
|
||
bool isSameBlockCaret = 4;
|
||
ResponseEvent event = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Cut {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated anytype.model.Block blocks = 2;
|
||
anytype.model.Range selectedTextRange = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string textSlot = 2;
|
||
string htmlSlot = 3;
|
||
repeated anytype.model.Block anySlot = 4;
|
||
ResponseEvent event = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Upload {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string filePath = 3;
|
||
string url = 4;
|
||
bytes bytes = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Download {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Create a Smart/Internal block. Request can contain a block with a content, or it can be an empty block with a specific block.content.
|
||
* **Example scenario**
|
||
* 1A. Create Page on a dashboard
|
||
* 1. Front -> MW: Rpc.Block.Create.Request(blockId:dashboard.id, position:bottom, block: emtpy block with page content and id = "")
|
||
* 2. Front -> MW: Rpc.Block.Close.Request(block: dashboard.id)
|
||
* 3. Front <- MW: Rpc.Block.Close.Response(err)
|
||
* 4. Front <- MW: Rpc.Block.Create.Response(page.id)
|
||
* 5. Front <- MW: Rpc.Block.Open.Response(err)
|
||
* 6. Front <- MW: Event.Block.Show(page)
|
||
* 1B. Create Page on a Page
|
||
* 1. Front -> MW: Rpc.Block.Create.Request(blockId:dashboard.id, position:bottom, block: emtpy block with page content and id = "")
|
||
* 2. Front <- MW: Rpc.Block.Create.Response(newPage.id)
|
||
* 3. Front <- MW: Event.Block.Show(newPage)
|
||
*/
|
||
message Create {
|
||
// common simple block command
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest block
|
||
anytype.model.Block block = 3;
|
||
anytype.model.Block.Position position = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateWidget {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest block
|
||
anytype.model.Block block = 3;
|
||
anytype.model.Block.Position position = 4;
|
||
anytype.model.Block.Content.Widget.Layout widgetLayout = 5;
|
||
int32 objectLimit = 6;
|
||
string viewId = 7;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Remove blocks from the childrenIds of its parents
|
||
*/
|
||
message ListDelete {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
repeated string blockIds = 2; // targets to remove
|
||
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetFields {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
google.protobuf.Struct fields = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetAlign {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2; // when empty - align will be applied as layoutAlign
|
||
anytype.model.Block.Align align = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetVerticalAlign {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
repeated string blockIds = 2;
|
||
anytype.model.Block.VerticalAlign verticalAlign = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetFields {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated BlockField blockFields = 2;
|
||
|
||
message BlockField {
|
||
string blockId = 1;
|
||
google.protobuf.Struct fields = 2;
|
||
}
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Makes blocks copy by given ids and paste it to shown place
|
||
*/
|
||
message ListDuplicate {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest block
|
||
repeated string blockIds = 3; // id of block for duplicate
|
||
anytype.model.Block.Position position = 4;
|
||
string targetContextId = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string blockIds = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListUpdate {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
oneof field {
|
||
Text text = 3;
|
||
string backgroundColor = 4;
|
||
anytype.model.Block.Align align = 5;
|
||
google.protobuf.Struct fields = 6;
|
||
anytype.model.Block.Content.Div.Style divStyle = 7;
|
||
model.Block.Content.File.Style fileStyle = 8;
|
||
}
|
||
message Text {
|
||
oneof field {
|
||
anytype.model.Block.Content.Text.Style style = 1;
|
||
string color = 2;
|
||
anytype.model.Block.Content.Text.Mark mark = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListConvertToObjects {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
string objectTypeUniqueKey = 3;
|
||
string templateId = 4;
|
||
anytype.model.Block block = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string linkIds = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListMoveToExistingObject {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
string targetContextId = 3;
|
||
string dropTargetId = 4; // id of the simple block to insert considering position
|
||
anytype.model.Block.Position position = 5; // position relatively to the dropTargetId simple block
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListMoveToNewObject {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
google.protobuf.Struct details = 3; // new object details
|
||
string dropTargetId = 4; // id of the simple block to insert considering position
|
||
anytype.model.Block.Position position = 5; // position relatively to the dropTargetId simple block
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string linkId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListTurnInto {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
anytype.model.Block.Content.Text.Style style = 3;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetBackgroundColor {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
string color = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Export {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated anytype.model.Block blocks = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetCarriage {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Range range = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Preview {
|
||
message Request {
|
||
string html = 1;
|
||
string url = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.Block blocks = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockLatex {
|
||
message SetText {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string text = 3;
|
||
model.Block.Content.Latex.Processor processor = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SetProcessor {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
model.Block.Content.Latex.Processor processor = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message BlockText {
|
||
message SetText {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string text = 3;
|
||
anytype.model.Block.Content.Text.Marks marks = 4;
|
||
anytype.model.Range selectedTextRange = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetColor {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string color = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetMarks {
|
||
/*
|
||
* Get marks list in the selected range in text block.
|
||
*/
|
||
message Get {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Range range = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetStyle {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Block.Content.Text.Style style = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetChecked {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
bool checked = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetIcon {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string iconImage = 3; // in case both image and emoji are set, image has a priority to show
|
||
string iconEmoji = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetStyle {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
anytype.model.Block.Content.Text.Style style = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetColor {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
string color = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListSetMark {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
anytype.model.Block.Content.Text.Mark mark = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListClearStyle {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ListClearContent {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockTable {
|
||
message Create {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest block
|
||
anytype.model.Block.Position position = 3;
|
||
uint32 rows = 4;
|
||
uint32 columns = 5;
|
||
bool withHeaderRow = 6;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message RowCreate {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest row
|
||
anytype.model.Block.Position position = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message RowSetHeader {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2;
|
||
bool isHeader = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message RowListFill {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
repeated string blockIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message RowListClean {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
repeated string blockIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ColumnListFill {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
repeated string blockIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ColumnCreate {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest column
|
||
anytype.model.Block.Position position = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message RowDelete {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest row
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ColumnDelete {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2; // id of the closest column
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ColumnMove {
|
||
message Request {
|
||
string contextId = 1;
|
||
string targetId = 2;
|
||
string dropTargetId = 3;
|
||
anytype.model.Block.Position position = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message RowDuplicate {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2;
|
||
string blockId = 3; // block to duplicate
|
||
anytype.model.Block.Position position = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ColumnDuplicate {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2;
|
||
string blockId = 3; // block to duplicate
|
||
anytype.model.Block.Position position = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Expand {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string targetId = 2;
|
||
uint32 columns = 3; // number of columns to append
|
||
uint32 rows = 4; // number of rows to append
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Sort {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string columnId = 2;
|
||
anytype.model.Block.Content.Dataview.Sort.Type type = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockFile {
|
||
message SetName {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string name = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetTargetObjectId {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string objectId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message CreateAndUpload {
|
||
message Request {
|
||
string contextId = 1;
|
||
string targetId = 2;
|
||
anytype.model.Block.Position position = 3;
|
||
string url = 4;
|
||
string localPath = 5;
|
||
anytype.model.Block.Content.File.Type fileType = 6;
|
||
anytype.model.ImageKind imageKind = 7;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ListSetStyle {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
model.Block.Content.File.Style style = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockImage {
|
||
message SetName {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string name = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetWidth {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
int32 width = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockVideo {
|
||
message SetName {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string name = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetWidth {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
int32 width = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockLink {
|
||
message CreateWithObject {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
google.protobuf.Struct details = 3; // new object details
|
||
string templateId = 5; // optional template id for creating from template
|
||
repeated anytype.model.InternalFlag internalFlags = 7;
|
||
string spaceId = 8;
|
||
string objectTypeUniqueKey = 9;
|
||
anytype.model.Block block = 10;
|
||
|
||
// link block params
|
||
string targetId = 2; // id of the closest simple block
|
||
anytype.model.Block.Position position = 4;
|
||
google.protobuf.Struct fields = 6; // deprecated link block fields
|
||
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
string targetId = 3;
|
||
ResponseEvent event = 4;
|
||
google.protobuf.Struct details = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ListSetAppearance {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
anytype.model.Block.Content.Link.IconSize iconSize = 4;
|
||
anytype.model.Block.Content.Link.CardStyle cardStyle = 5;
|
||
anytype.model.Block.Content.Link.Description description = 6;
|
||
repeated string relations = 7;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockRelation {
|
||
message SetKey {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string key = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string relationKey = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockBookmark {
|
||
message Fetch {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string url = 3;
|
||
string templateId = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateAndFetch {
|
||
message Request {
|
||
string contextId = 1;
|
||
string targetId = 2;
|
||
anytype.model.Block.Position position = 3;
|
||
string url = 4;
|
||
string templateId = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockDiv {
|
||
message ListSetStyle {
|
||
message Request {
|
||
string contextId = 1;
|
||
repeated string blockIds = 2;
|
||
anytype.model.Block.Content.Div.Style style = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockDataview {
|
||
message View {
|
||
message Create {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to insert the new block
|
||
anytype.model.Block.Content.Dataview.View view = 4;
|
||
repeated string source = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
string viewId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Update {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
anytype.model.Block.Content.Dataview.View view = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Delete {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string blockId = 2; // id of the dataview
|
||
string viewId = 4; // id of the view to remove
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SetPosition {
|
||
message Request {
|
||
string contextId = 1; // id of the context object
|
||
string blockId = 2; // id of the dataview
|
||
string viewId = 4; // id of the view to remove
|
||
uint32 position = 5; // index of view position (0 - means first)
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
// set the current active view locally
|
||
message SetActive {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block
|
||
string viewId = 3; // id of active view
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Relation {
|
||
message Set {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to set relation
|
||
repeated string relationKeys = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to add relation
|
||
repeated string relationKeys = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Delete {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to add relation
|
||
repeated string relationKeys = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message SetSource {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
repeated string source = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message GroupOrder {
|
||
message Update {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Block.Content.Dataview.GroupOrder groupOrder = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ObjectOrder {
|
||
message Update {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
repeated anytype.model.Block.Content.Dataview.ObjectOrder objectOrders = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Move {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string viewId = 3;
|
||
string groupId = 4;
|
||
string afterId = 5;
|
||
repeated string objectIds = 6;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message CreateFromExistingObject {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string targetObjectId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string blockId = 2;
|
||
string targetObjectId = 3;
|
||
repeated anytype.model.Block.Content.Dataview.View view = 4;
|
||
ResponseEvent event = 5;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Filter {
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
anytype.model.Block.Content.Dataview.Filter filter = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Remove {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
repeated string ids = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Replace {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
string id = 4;
|
||
anytype.model.Block.Content.Dataview.Filter filter = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Sort {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
repeated string ids = 4; // new order of filters
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Sort {
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
anytype.model.Block.Content.Dataview.Sort sort = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Remove {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
repeated string ids = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Replace {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
string id = 4;
|
||
anytype.model.Block.Content.Dataview.Sort sort = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SSort {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
repeated string ids = 4; // new order of sorts
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message ViewRelation {
|
||
message Add {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
anytype.model.Block.Content.Dataview.Relation relation = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Remove {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
repeated string relationKeys = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Replace {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
string relationKey = 4;
|
||
anytype.model.Block.Content.Dataview.Relation relation = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Sort {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2; // id of dataview block to update
|
||
string viewId = 3; // id of view to update
|
||
repeated string relationKeys = 4; // new order of relations
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message BlockWidget {
|
||
message SetTargetId {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string targetId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetLayout {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
anytype.model.Block.Content.Widget.Layout layout = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetLimit {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
int32 limit = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SetViewId {
|
||
message Request {
|
||
string contextId = 1;
|
||
string blockId = 2;
|
||
string viewId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
message Debug {
|
||
|
||
message TreeInfo {
|
||
string treeId = 1;
|
||
repeated string headIds = 2;
|
||
}
|
||
|
||
message Stat {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string jsonStat = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message TreeHeads {
|
||
message Request {
|
||
string treeId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string spaceId = 2;
|
||
TreeInfo info = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Tree {
|
||
message Request {
|
||
string treeId = 1;
|
||
string path = 2;
|
||
bool unanonymized = 3; // set to true to disable mocking of the actual data inside changes
|
||
bool generateSvg = 4; // set to true to write both ZIP and SVG files
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string filename = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SpaceSummary {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string spaceId = 2;
|
||
repeated TreeInfo infos = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message StackGoroutines {
|
||
message Request {
|
||
string path = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ExportLocalstore {
|
||
message Request {
|
||
// the path where export files will place
|
||
string path = 1;
|
||
// ids of documents for export, when empty - will export all available docs
|
||
repeated string docIds = 2;
|
||
string spaceId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Subscriptions {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string subscriptions = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message OpenedObjects {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated string objectIDs = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message RunProfiler {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
int32 durationInSeconds = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message AccountSelectTrace {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string dir = 1; // empty means using OS-provided temp dir
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ExportLog {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string dir = 1; // empty means using OS-provided temp dir
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string path = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NO_FOLDER = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Ping {
|
||
message Request {
|
||
int32 index = 1;
|
||
int32 numberOfEventsToSend = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
int32 index = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message AnystoreObjectChanges {
|
||
message Request {
|
||
string objectId = 1;
|
||
OrderBy orderBy = 2;
|
||
|
||
enum OrderBy {
|
||
ORDER_ID = 0;
|
||
ITERATION_ORDER = 1;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated Change changes = 2;
|
||
bool wrongOrder = 3;
|
||
|
||
message Change {
|
||
string changeId = 1;
|
||
string orderId = 2;
|
||
string error = 3;
|
||
google.protobuf.Struct change = 4;
|
||
}
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message NetCheck {
|
||
message Request {
|
||
string clientYml = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string result = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Initial {
|
||
message SetParameters {
|
||
message Request {
|
||
option (no_auth) = true;
|
||
string platform = 1;
|
||
string version = 2;
|
||
string workdir = 3;
|
||
string logLevel = 4;
|
||
bool doNotSendLogs = 5;
|
||
bool doNotSaveLogs = 6;
|
||
bool doNotSendTelemetry = 7;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Log {
|
||
message Send {
|
||
message Request {
|
||
string message = 1;
|
||
Level level = 2;
|
||
|
||
enum Level {
|
||
DEBUG = 0;
|
||
ERROR = 1;
|
||
FATAL = 2;
|
||
INFO = 3;
|
||
PANIC = 4;
|
||
WARNING = 5;
|
||
}
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Process {
|
||
message Cancel {
|
||
message Request {
|
||
string id = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Subscribe {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message Unsubscribe {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message GenericErrorResponse {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
|
||
message Notification {
|
||
message List {
|
||
message Request {
|
||
bool includeRead = 1;
|
||
int64 limit = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.Notification notifications = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Reply {
|
||
message Request {
|
||
repeated string ids = 1;
|
||
anytype.model.Notification.ActionType actionType = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Test {
|
||
message Request {}
|
||
message Response {
|
||
Error error = 1;
|
||
anytype.model.Notification notification = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* A Membership is a bundle of several "Features"
|
||
* every user should have one and only one tier
|
||
* users can not have N tiers (no combining)
|
||
*/
|
||
message Membership {
|
||
/**
|
||
* Get the current status of the membership
|
||
* including the tier, status, dates, etc
|
||
* WARNING: this can be cached by Anytype heart
|
||
*/
|
||
message GetStatus {
|
||
message Request {
|
||
// pass true to force the cache update
|
||
// by default this is false
|
||
bool noCache = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
anytype.model.Membership data = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
|
||
MEMBERSHIP_NOT_FOUND = 6;
|
||
MEMBERSHIP_WRONG_STATE = 7;
|
||
CAN_NOT_CONNECT = 8;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Check if the requested name is valid and vacant for the requested tier
|
||
* before requesting a payment link and paying
|
||
*/
|
||
message IsNameValid {
|
||
message Request {
|
||
uint32 requestedTier = 1;
|
||
|
||
string nsName = 2;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
TOO_SHORT = 3;
|
||
TOO_LONG = 4;
|
||
HAS_INVALID_CHARS = 5;
|
||
TIER_FEATURES_NO_NAME = 6;
|
||
// if everything is fine - "name is already taken" check should be done in the NS
|
||
// see IsNameAvailable()
|
||
TIER_NOT_FOUND = 7;
|
||
|
||
NOT_LOGGED_IN = 8;
|
||
PAYMENT_NODE_ERROR = 9;
|
||
CACHE_ERROR = 10;
|
||
// for some probable future use (if needed)
|
||
CAN_NOT_RESERVE = 11;
|
||
CAN_NOT_CONNECT = 12;
|
||
// Same as if NameService.ResolveName returned that name is already
|
||
// occupied by some user
|
||
NAME_IS_RESERVED = 13;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Generate a unique id for payment request (for mobile clients)
|
||
* Generate a link to Stripe/Crypto where user can pay for the membership (for desktop client)
|
||
*/
|
||
message RegisterPaymentRequest {
|
||
message Request {
|
||
uint32 requestedTier = 1;
|
||
|
||
anytype.model.Membership.PaymentMethod paymentMethod = 2;
|
||
|
||
// if empty - then no name requested
|
||
// if non-empty - PP node will register that name on behalf of the user
|
||
string nsName = 3;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 4;
|
||
|
||
// for some tiers and payment methods (like crypto) we need an e-mail
|
||
// please get if either from:
|
||
// 1. Membership.GetStatus() -> anytype.model.Membership.userEmail field
|
||
// 2. Ask user from the UI
|
||
string userEmail = 5;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
// will feature current billing ID
|
||
// stripe.com/?client_reference_id=1234
|
||
string paymentUrl = 2;
|
||
// billingID is only needed for mobile clients
|
||
string billingId = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
|
||
TIER_NOT_FOUND = 6;
|
||
TIER_INVALID = 7;
|
||
PAYMENT_METHOD_INVALID = 8;
|
||
BAD_ANYNAME = 9;
|
||
MEMBERSHIP_ALREADY_EXISTS = 10;
|
||
CAN_NOT_CONNECT = 11;
|
||
// for tiers and payment methods that require that
|
||
EMAIL_WRONG_FORMAT = 12;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Generate a link to the portal where user can:
|
||
* a) change his billing details
|
||
* b) see payment info, invoices, etc
|
||
* c) cancel membership
|
||
*/
|
||
message GetPortalLinkUrl {
|
||
message Request {
|
||
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
string portalUrl = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
CAN_NOT_CONNECT = 6;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Finalize {
|
||
message Request {
|
||
// if empty - then no name requested
|
||
// if non-empty - PP node will register that name on behalf of the user
|
||
string nsName = 1;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
|
||
MEMBERSHIP_NOT_FOUND = 6;
|
||
MEMBERSHIP_WRONG_STATE = 7;
|
||
|
||
BAD_ANYNAME = 8;
|
||
|
||
CAN_NOT_CONNECT = 9;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Get the current status of the e-mail verification.
|
||
* Status can change if you call GetVerificationEmail or VerifyEmailCode
|
||
*/
|
||
message GetVerificationEmailStatus {
|
||
message Request {
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
anytype.model.Membership.EmailVerificationStatus status = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CAN_NOT_CONNECT = 12;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Send an e-mail with verification code to the user
|
||
* can be called multiple times but with some timeout (N seconds) between calls
|
||
*/
|
||
message GetVerificationEmail {
|
||
message Request {
|
||
string email = 1;
|
||
|
||
bool subscribeToNewsletter = 2;
|
||
|
||
bool insiderTipsAndTutorials = 3;
|
||
|
||
// if we are coming from the onboarding list
|
||
bool isOnboardingList = 4;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
|
||
EMAIL_WRONG_FORMAT = 6;
|
||
EMAIL_ALREADY_VERIFIED = 7;
|
||
EMAIL_ALREDY_SENT = 8;
|
||
EMAIL_FAILED_TO_SEND = 9;
|
||
|
||
MEMBERSHIP_ALREADY_EXISTS = 10;
|
||
CAN_NOT_CONNECT = 11;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Verify the e-mail address of the user
|
||
* need a correct code that was sent to the user when calling GetVerificationEmail
|
||
*/
|
||
message VerifyEmailCode {
|
||
message Request {
|
||
string code = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
|
||
EMAIL_ALREADY_VERIFIED = 6;
|
||
CODE_EXPIRED = 7;
|
||
CODE_WRONG = 8;
|
||
|
||
MEMBERSHIP_NOT_FOUND = 9;
|
||
MEMBERSHIP_ALREADY_ACTIVE = 10;
|
||
CAN_NOT_CONNECT = 11;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Tiers can change on the backend so if you want to show users the latest data
|
||
* you can call this method to get the latest tiers
|
||
*/
|
||
message GetTiers {
|
||
message Request {
|
||
// pass true to force the cache update
|
||
// by default this is false
|
||
bool noCache = 1;
|
||
|
||
string locale = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.MembershipTierData tiers = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
CAN_NOT_CONNECT = 6;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message VerifyAppStoreReceipt {
|
||
message Request {
|
||
// receipt is a JWT-encoded string including info about subscription purchase
|
||
string receipt = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
NOT_LOGGED_IN = 3;
|
||
PAYMENT_NODE_ERROR = 4;
|
||
CACHE_ERROR = 5;
|
||
INVALID_RECEIPT = 6;
|
||
PURCHASE_REGISTRATION_ERROR = 7;
|
||
SUBSCRIPTION_RENEW_ERROR = 8;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message NameService {
|
||
message ResolveName {
|
||
message Request {
|
||
string nsName = 1;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
bool available = 2;
|
||
|
||
// EOA -> SCW -> name
|
||
// This field is non-empty only if name is "already registered"
|
||
string ownerScwEthAddress = 3;
|
||
|
||
// This field is non-empty only if name is "already registered"
|
||
string ownerEthAddress = 4;
|
||
|
||
// A content hash attached to this name
|
||
// This field is non-empty only if name is "already registered"
|
||
string ownerAnyAddress = 5;
|
||
|
||
// A SpaceId attached to this name
|
||
// This field is non-empty only if name is "already registered"
|
||
string spaceId = 6;
|
||
|
||
// A timestamp when this name expires
|
||
int64 nameExpires = 7;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
CAN_NOT_CONNECT = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ResolveAnyId {
|
||
message Request {
|
||
string anyId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
bool found = 2;
|
||
|
||
// not including suffix
|
||
string nsName = 3;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
CAN_NOT_CONNECT = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ResolveSpaceId {
|
||
message Request {
|
||
string spaceId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
bool found = 2;
|
||
|
||
// not including suffix
|
||
string nsName = 3;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 4;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
CAN_NOT_CONNECT = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message UserAccount {
|
||
message Get {
|
||
message Request {
|
||
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
// this will use ReverseResolve to get current name
|
||
// user can buy many names, but
|
||
// only 1 name can be set as "current": ETH address <-> name
|
||
string nsNameAttached = 2;
|
||
|
||
anytype.model.NameserviceNameType nsNameType = 3;
|
||
|
||
// Number of names that the user can reserve
|
||
uint64 namesCountLeft = 4;
|
||
|
||
// Number of operations: update name, add new data, etc
|
||
uint64 operationsCountLeft = 5;
|
||
|
||
// TODO: all operations list
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
NOT_LOGGED_IN = 3;
|
||
BAD_NAME_RESOLVE = 4;
|
||
CAN_NOT_CONNECT = 5;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Broadcast {
|
||
message PayloadEvent {
|
||
message Request {
|
||
string payload = 1;
|
||
}
|
||
message Response {
|
||
ResponseEvent event = 1;
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Device {
|
||
message SetName {
|
||
message Request {
|
||
string deviceId = 1;
|
||
string name = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message List {
|
||
message Request {}
|
||
message Response {
|
||
Error error = 1;
|
||
repeated anytype.model.DeviceInfo devices = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message NetworkState {
|
||
message Set {
|
||
message Request {
|
||
anytype.model.DeviceNetworkType deviceNetworkType = 1;
|
||
}
|
||
message Response {
|
||
Error error = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
INTERNAL_ERROR = 3;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Chat {
|
||
message AddMessage {
|
||
message Request {
|
||
string chatObjectId = 1;
|
||
model.ChatMessage message = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
string messageId = 2;
|
||
ResponseEvent event = 3;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
message EditMessageContent {
|
||
message Request {
|
||
string chatObjectId = 1;
|
||
string messageId = 2;
|
||
model.ChatMessage editedMessage = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ToggleMessageReaction {
|
||
message Request {
|
||
string chatObjectId = 1;
|
||
string messageId = 2;
|
||
string emoji = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message DeleteMessage {
|
||
message Request {
|
||
string chatObjectId = 1;
|
||
string messageId = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message GetMessages {
|
||
message Request {
|
||
string chatObjectId = 1;
|
||
string afterOrderId = 4; // OrderId of the message after which to get messages
|
||
string beforeOrderId = 2; // OrderId of the message before which to get messages
|
||
int32 limit = 3;
|
||
bool includeBoundary = 5; // If true, include a message at the boundary (afterOrderId or beforeOrderId)
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated model.ChatMessage messages = 2;
|
||
model.ChatState chatState = 3;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message GetMessagesByIds {
|
||
message Request {
|
||
string chatObjectId = 1;
|
||
repeated string messageIds = 2;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated model.ChatMessage messages = 2;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SubscribeLastMessages {
|
||
message Request {
|
||
string chatObjectId = 1; // Identifier for the chat
|
||
int32 limit = 2; // Number of max last messages to return and subscribe
|
||
string subId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated model.ChatMessage messages = 2; // List of messages
|
||
int32 numMessagesBefore = 3; // Number of messages before the returned messages
|
||
model.ChatState chatState = 4; // Chat state
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Unsubscribe {
|
||
message Request {
|
||
string chatObjectId = 1; // Identifier for the chat
|
||
string subId = 2;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message SubscribeToMessagePreviews {
|
||
message Request {
|
||
string subId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
repeated ChatPreview previews = 2;
|
||
|
||
message ChatPreview {
|
||
string spaceId = 1;
|
||
string chatObjectId = 2;
|
||
model.ChatMessage message = 3;
|
||
model.ChatState state = 4;
|
||
repeated google.protobuf.Struct dependencies = 5;
|
||
}
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message UnsubscribeFromMessagePreviews {
|
||
message Request {
|
||
string subId = 1;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message ReadMessages {
|
||
enum ReadType {
|
||
Messages = 0;
|
||
Mentions = 1;
|
||
}
|
||
|
||
message Request {
|
||
ReadType type = 1;
|
||
string chatObjectId = 2; // id of the chat object
|
||
string afterOrderId = 3; // read from this orderId; if empty - read from the beginning of the chat
|
||
string beforeOrderId = 4; // read til this orderId
|
||
string lastStateId = 5; // stateId from the last processed ChatState event(or GetMessages). Used to prevent race conditions
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
|
||
MESSAGES_NOT_FOUND = 100; // chat is empty or invalid beforeOrderId/lastDbState
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Unread {
|
||
enum ReadType {
|
||
Messages = 0;
|
||
Mentions = 1;
|
||
}
|
||
|
||
message Request {
|
||
ReadType type = 1;
|
||
string chatObjectId = 2;
|
||
string afterOrderId = 3;
|
||
}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
ResponseEvent event = 2;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
message ReadAll {
|
||
message Request {}
|
||
|
||
message Response {
|
||
Error error = 1;
|
||
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
// ...
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
message PushNotification {
|
||
message RegisterToken {
|
||
message Request {
|
||
string token = 1;
|
||
Platform platform = 2;
|
||
}
|
||
enum Platform {
|
||
IOS = 0;
|
||
Android = 1;
|
||
}
|
||
message Response {
|
||
Error error = 1;
|
||
message Error {
|
||
Code code = 1;
|
||
string description = 2;
|
||
|
||
enum Code {
|
||
NULL = 0;
|
||
UNKNOWN_ERROR = 1;
|
||
BAD_INPUT = 2;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
message Empty {
|
||
|
||
}
|
||
|
||
message StreamRequest {
|
||
string token = 1;
|
||
}
|