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

[Breaking] Reorg the user-group apis with a explicit google group spec field. #33

Merged
merged 11 commits into from
Jun 18, 2024
11 changes: 9 additions & 2 deletions temporal/api/cloud/cloudservice/v1/request_response.proto
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,15 @@ message GetUserGroupsRequest {
string page_token = 2;
// Filter groups by the namespace they have access to - optional.
string namespace = 3;
// Filter groups by their name - optional.
string group_name = 4;
// Filter groups by the display name - optional.
string display_name = 4;
// Filter groups by the google group specification - optional.
GoogleGroupFilter google_group = 5;

message GoogleGroupFilter {
Copy link
Member

@cretz cretz Jun 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I think it's best to put all nested messages at the bottom of the parent, though some proto authors put them at the top, but I don't think it's very common to intersperse between fields. (this is pedantic and doesn't affect my approval of the PR)

// Filter groups by the google group email - optional.
string email_address = 1;
}
}

message GetUserGroupsResponse {
Expand Down
16 changes: 12 additions & 4 deletions temporal/api/cloud/identity/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,20 @@ message User {
google.protobuf.Timestamp last_modified_time = 8;
}

message GoogleGroupSpec {
// The email address of the Google group.
// The email address is immutable. Once set during creation, it cannot be changed.
string email_address = 1;
}

message UserGroupSpec {
// The name of the group as defined in the customer's IdP (e.g. Google group name in Google Workspace)
// The name is immutable. Once set, it cannot be changed
string name = 1;
// The access assigned to the group
// The display name of the group.
string display_name = 1;
// The access assigned to the group.
Access access = 2;
// The specification of the google group that this group is associated with.
// For now only google groups are supported, and this field is required.
GoogleGroupSpec google_group = 3;
}

message UserGroup {
Expand Down
Loading