chromium/components/data_sharing/public/protocol/data_sharing_sdk.proto

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.data_sharing.protocol";

option optimize_for = LITE_RUNTIME;

package data_sharing_pb;

import "components/data_sharing/public/protocol/group_data.proto";

message CreateGroupParams {
  optional string display_name = 1;
};

message CreateGroupResult {
  optional GroupData group_data = 1;
};

message ReadGroupsParams {
  repeated string group_ids = 1;
};

message ReadGroupsResult {
  repeated GroupData group_data = 1;
};

message AddMemberParams {
  optional string group_id = 1;
  oneof AddMemberOptions {
    // To add an another member, to an owned group.
    string member_gaia_id = 2;
    // To add current account to an unowned group.
    string access_token = 3;
  }
};

message RemoveMemberParams {
  optional string group_id = 1;
  optional string member_gaia_id = 2;
};

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;
}