syntax = "proto2";
package data_sharing_pb;
import "components/data_sharing/public/protocol/group_data.proto";
import "components/sync/protocol/collaboration_group_metadata.proto";
option java_multiple_files = true;
option java_package = "org.chromium.components.data_sharing.protocol";
option optimize_for = LITE_RUNTIME;
message CreateGroupParams {
optional string display_name = 1;
optional sync_pb.CollaborationGroupMetadata collaboration_group_metadata = 2;
}
message CreateGroupResult {
optional GroupData group_data = 1;
}
message ReadGroupsParams {
reserved 1, 3;
message GroupParams {
reserved 3;
optional string group_id = 1;
optional string consistency_token = 2;
}
repeated GroupParams group_params = 2;
}
message FailedReadGroupResult {
optional string group_id = 1;
enum FailureReason {
FAILURE_REASON_UNSPECIFIED = 0;
GROUP_NOT_FOUND = 1;
USER_NOT_MEMBER = 2;
TRANSIENT_ERROR = 3;
}
optional FailureReason failure_reason = 2;
}
message ReadGroupsResult {
repeated GroupData group_data = 1;
repeated FailedReadGroupResult failed_read_group_results = 2;
}
message ReadGroupWithTokenParams {
optional string group_id = 1;
optional string access_token = 2;
}
message AddMemberParams {
optional string group_id = 1;
oneof AddMemberOptions {
string member_gaia_id = 2;
string access_token = 3;
}
}
message RemoveMemberParams {
optional string group_id = 1;
optional string member_gaia_id = 2;
}
message LeaveGroupParams {
optional string group_id = 1;
}
message DeleteGroupParams {
optional string group_id = 1;
}
message LookupGaiaIdByEmailParams {
optional string email = 1;
}
message LookupGaiaIdByEmailResult {
optional string gaia_id = 1;
}
message AddAccessTokenParams {
optional string group_id = 1;
}
message AddAccessTokenResult {
optional GroupData group_data = 1;
}