Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(protocol): add berty protocol proto #1385

Merged
merged 6 commits into from
Sep 27, 2019
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
249 changes: 249 additions & 0 deletions api/bertyprotocol.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
syntax = "proto3";

option go_package = "berty.tech/go/pkg/bertyprotocol";

import "google/protobuf/descriptor.proto";


// // @To Test
moul marked this conversation as resolved.
Show resolved Hide resolved
// extend google.protobuf.MethodOptions {
// string id = 53001;
// }

service Protocol {
rpc EventSubscribe(EventSubscribeRequest) returns (stream EventStream); // { option (id) = "account"; };
moul marked this conversation as resolved.
Show resolved Hide resolved

// Account
rpc AccountExportData(AccountExportDataRequest) returns (AccountExportDataReply); // { option (id) = "account"; };
rpc AccountGetInformation(AccountGetInformationRequest) returns (AccountGetInformationReply); // { option (id) = "account"; };
rpc AccountGetNetworkConfiguration(GetNetworkConfigurationRequest) returns (GetNetworkConfigurationReply); // { option (id) = "account"; };
moul marked this conversation as resolved.
Show resolved Hide resolved
rpc AccountLinkNewDevice(AccountLinkNewDeviceRequest) returns (AccountLinkNewDeviceReply); // { option (id) = "account"; };

// Account Public Contact Request
rpc AccountPublicContactRequestDisable(PublicContactRequestDisableRequest) returns (PublicContactRequestDisableReply); // { option (id) = "account"; };
rpc AccountPublicContactRequestEnable(PublicContactRequestEnableRequest) returns (PublicContactRequestEnableReply); // { option (id) = "account"; };
rpc AccountPublicContactRequestResetLink(AccountPublicContactRequestResetLinkRequest) returns (AccountPublicContactRequestResetLinkReply); // { option (id) = "account"; };

// Contact Request
rpc ContactRequestAccept(ContactRequestAcceptRequest) returns (ContactRequestAcceptReply);
rpc ContactRequestDiscard(ContactRequestDiscardRequest) returns (ContactRequestDiscardReply);
rpc ContactRequestListIncoming(ContactRequestListIncomingRequest) returns (stream ContactRequestListIncomingReply);
rpc ContactRequestListOutgoing(ContactRequestListOutgoingRequest) returns (stream ContactRequestListOutgoingReply);
rpc ContactRequestSend(ContactRequestSendRequest) returns (ContactRequestSendReply);

// Contact
rpc ContactGet(ContactGetRequest) returns (ContactGetReply);
rpc ContactInitStream(ContactInitStreamRequest) returns (ContactInitStreamReply);
moul marked this conversation as resolved.
Show resolved Hide resolved
rpc ContactList(ContactListRequest) returns (stream ContactListReply);
rpc ContactRemove(ContactRemoveRequest) returns (ContactRemoveReply);

// Device
rpc DeviceOpenStream(DeviceOpenStreamRequest) returns (DeviceOpenStreamReply);
moul marked this conversation as resolved.
Show resolved Hide resolved

// Group
rpc GroupCreate(GroupCreateRequest) returns (GroupCreateReply);
rpc GroupGenerateInviteLink(GroupGenerateInviteLinkRequest) returns (GroupGenerateInviteLinkReply);
rpc GroupLeave(GroupLeaveRequest) returns (GroupLeaveReply);
rpc GroupList(GroupListRequest) returns (stream GroupListReply);

// Group Message
moul marked this conversation as resolved.
Show resolved Hide resolved
rpc GroupMessageCreate(GroupMessageCreateRequest) returns (GroupMessageCreateReply);
rpc GroupMessageList(GroupMessageListRequest) returns (stream GroupMessageListReply);
moul marked this conversation as resolved.
Show resolved Hide resolved

// Group Request
moul marked this conversation as resolved.
Show resolved Hide resolved
rpc GroupRequestAccept(GroupRequestAcceptRequest) returns (GroupRequestAcceptReply);
rpc GroupRequestCreate(GroupRequestCreateRequest) returns (GroupRequestCreateReply);
rpc GroupRequestDiscard(GroupRequestDiscardRequest) returns (GroupRequestDiscardReply);
rpc GroupRequestList(GroupRequestListRequest) returns (stream GroupRequestListReply);
}

moul marked this conversation as resolved.
Show resolved Hide resolved
// Account
message ContactGetRequest {
string account_id = 1;
}
message ContactGetReply {
string contact_id = 1;
}

message AccountGetInformationRequest {
string account_id = 1;
}

message AccountGetInformationReply {
// account information
}

message GetNetworkConfigurationRequest {
string account_id = 1;

}
message GetNetworkConfigurationReply {
// NetworkConfiguration
}

message AccountPublicContactRequestResetLinkRequest {
string account_id = 1;
}
message AccountPublicContactRequestResetLinkReply {}

message PublicContactRequestDisableRequest {
string account_id = 1;
}
message PublicContactRequestDisableReply {}

message PublicContactRequestEnableRequest {
string account_id = 1;
}
message PublicContactRequestEnableReply {}

message AccountExportDataRequest {
string account_id = 1;
}
message AccountExportDataReply {}

message AccountLinkNewDeviceRequest {
string account_id = 1;
}
message AccountLinkNewDeviceReply {}

message ContactsModuleVoidRequest {
string account_id = 1;
}
message ContactsModuleVoidReply {}

message GroupsModuleVoidRequest {
string account_id = 1;
}
message GroupsModuleVoidReply {}

message EventSubscribeRequest {
string account_id = 1;
}
message EventStream {
moul marked this conversation as resolved.
Show resolved Hide resolved
// Account Event
moul marked this conversation as resolved.
Show resolved Hide resolved
}


// Device

message DeviceOpenStreamRequest {
string device_id = 1;
}
message DeviceOpenStreamReply {}


// Contact

message ContactRequestAcceptRequest {
string contact_id = 1;
}
message ContactRequestAcceptReply {}

message ContactRequestDiscardRequest {
string contact_id = 1;
}
message ContactRequestDiscardReply {}

message ContactInitStreamRequest {
string contact_id = 1;
}
message ContactInitStreamReply {}

message ContactRemoveRequest {
string contact_id = 1;
}
message ContactRemoveReply {}

// GroupMember

message ContactListRequest {

};

message ContactListReply {
};

message ContactRequestListIncomingRequest {
};

message ContactRequestListIncomingReply {
};

message ContactContactGetRequest {
};

message ContactContactGetReply {
};

message ContactRequestSendRequest {
};

message ContactRequestSendReply {
};


message GroupRequestListRequest {
};

message GroupRequestListReply {
};

message GroupRequestAcceptRequest {
};

message GroupRequestAcceptReply {
};

message GroupRequestDiscardRequest {
};

message GroupRequestDiscardReply {
};

message GroupRequestCreateRequest {
};

message GroupRequestCreateReply {
};

message GroupListRequest {
};

message GroupListReply {
};

message GroupCreateRequest {
};

message GroupCreateReply {
};

message GroupGenerateInviteLinkRequest {
};

message GroupGenerateInviteLinkReply {
};

message GroupLeaveRequest {
};

message GroupLeaveReply {
};

message GroupMessageListRequest {
};

message GroupMessageListReply {
};

message GroupMessageCreateRequest {
};

message GroupMessageCreateReply {
};

message ContactRequestListOutgoingRequest {
};

message ContactRequestListOutgoingReply {
};