diff --git a/components/public-api/gitpod/experimental/v1/teams.proto b/components/public-api/gitpod/experimental/v1/teams.proto index e1da6f0aeece06..497ed479aab5cf 100644 --- a/components/public-api/gitpod/experimental/v1/teams.proto +++ b/components/public-api/gitpod/experimental/v1/teams.proto @@ -49,6 +49,21 @@ message TeamInvitation { service TeamsService { // CreateTeam creates a new Team. rpc CreateTeam(CreateTeamRequest) returns (CreateTeamResponse) {}; + + // ListTeams lists the caller has access to. + rpc ListTeams(ListTeamsRequest) returns (ListTeamsResponse) {}; + + // JoinTeam makes the caller a TeamMember of the Team. + rpc JoinTeam(JoinTeamRequest) returns (JoinTeamResponse) {}; + + // ResetTeamInvitation resets the invitation_id for a Team. + rpc ResetTeamInvitation(ResetTeamInvitationRequest) returns (ResetTeamInvitationResponse) {}; + + // UpdateTeamMember updates team membership properties. + rpc UpdateTeamMember(UpdateTeamMemberRequest) returns (UpdateTeamMemberResponse) {}; + + // DeleteTeamMember removes a TeamMember from the Team. + rpc DeleteTeamMember(DeleteTeamMemberRequest) returns (DeleteTeamMemberResponse) {}; } message CreateTeamRequest { @@ -59,3 +74,52 @@ message CreateTeamRequest { message CreateTeamResponse { Team team = 1; } + +message ListTeamsRequest { + // TODO: pagination options +} + +message ListTeamsResponse { + repeated Team teams = 1; +} + +message JoinTeamRequest { + // invitation_id is the invitation ID for a Team + string invitation_id = 1; +} + +message JoinTeamResponse { + // team is the team the user has just joined + Team team = 1; +} + +message ResetTeamInvitationRequest { + string team_id = 1; +} + +message ResetTeamInvitationResponse { + // team_invitation is the new invitation for the team. + TeamInvitation team_invitation = 1; +} + +message UpdateTeamMemberRequest { + // team_id is the ID of the team in which the role is to be updated + string team_id = 1; + + // team_member is the team member being updated. + TeamMember team_member = 2; +} + +message UpdateTeamMemberResponse { + TeamMember team_member = 2; +} + +message DeleteTeamMemberRequest { + // team_id is the ID of the team in which a member should be deleted. + string team_id = 1; + + // team_member_id is the ID of the TeamMember that should be deleted from the team. + string team_member_id = 2; +} + +message DeleteTeamMemberResponse {} diff --git a/components/public-api/go/experimental/v1/teams.pb.go b/components/public-api/go/experimental/v1/teams.pb.go index 344aac464e738e..22928da64ceff2 100644 --- a/components/public-api/go/experimental/v1/teams.pb.go +++ b/components/public-api/go/experimental/v1/teams.pb.go @@ -361,6 +361,481 @@ func (x *CreateTeamResponse) GetTeam() *Team { return nil } +type ListTeamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListTeamsRequest) Reset() { + *x = ListTeamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTeamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTeamsRequest) ProtoMessage() {} + +func (x *ListTeamsRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTeamsRequest.ProtoReflect.Descriptor instead. +func (*ListTeamsRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{5} +} + +type ListTeamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Teams []*Team `protobuf:"bytes,1,rep,name=teams,proto3" json:"teams,omitempty"` +} + +func (x *ListTeamsResponse) Reset() { + *x = ListTeamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTeamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTeamsResponse) ProtoMessage() {} + +func (x *ListTeamsResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTeamsResponse.ProtoReflect.Descriptor instead. +func (*ListTeamsResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{6} +} + +func (x *ListTeamsResponse) GetTeams() []*Team { + if x != nil { + return x.Teams + } + return nil +} + +type JoinTeamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // invitation_id is the invitation ID for a Team + InvitationId string `protobuf:"bytes,1,opt,name=invitation_id,json=invitationId,proto3" json:"invitation_id,omitempty"` +} + +func (x *JoinTeamRequest) Reset() { + *x = JoinTeamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JoinTeamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinTeamRequest) ProtoMessage() {} + +func (x *JoinTeamRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinTeamRequest.ProtoReflect.Descriptor instead. +func (*JoinTeamRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{7} +} + +func (x *JoinTeamRequest) GetInvitationId() string { + if x != nil { + return x.InvitationId + } + return "" +} + +type JoinTeamResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // team is the team the user has just joined + Team *Team `protobuf:"bytes,1,opt,name=team,proto3" json:"team,omitempty"` +} + +func (x *JoinTeamResponse) Reset() { + *x = JoinTeamResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JoinTeamResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinTeamResponse) ProtoMessage() {} + +func (x *JoinTeamResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinTeamResponse.ProtoReflect.Descriptor instead. +func (*JoinTeamResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{8} +} + +func (x *JoinTeamResponse) GetTeam() *Team { + if x != nil { + return x.Team + } + return nil +} + +type ResetTeamInvitationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` +} + +func (x *ResetTeamInvitationRequest) Reset() { + *x = ResetTeamInvitationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetTeamInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetTeamInvitationRequest) ProtoMessage() {} + +func (x *ResetTeamInvitationRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetTeamInvitationRequest.ProtoReflect.Descriptor instead. +func (*ResetTeamInvitationRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{9} +} + +func (x *ResetTeamInvitationRequest) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +type ResetTeamInvitationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // team_invitation is the new invitation for the team. + TeamInvitation *TeamInvitation `protobuf:"bytes,1,opt,name=team_invitation,json=teamInvitation,proto3" json:"team_invitation,omitempty"` +} + +func (x *ResetTeamInvitationResponse) Reset() { + *x = ResetTeamInvitationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetTeamInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetTeamInvitationResponse) ProtoMessage() {} + +func (x *ResetTeamInvitationResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetTeamInvitationResponse.ProtoReflect.Descriptor instead. +func (*ResetTeamInvitationResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{10} +} + +func (x *ResetTeamInvitationResponse) GetTeamInvitation() *TeamInvitation { + if x != nil { + return x.TeamInvitation + } + return nil +} + +type UpdateTeamMemberRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // team_id is the ID of the team in which the role is to be updated + TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` + // team_member is the team member being updated. + TeamMember *TeamMember `protobuf:"bytes,2,opt,name=team_member,json=teamMember,proto3" json:"team_member,omitempty"` +} + +func (x *UpdateTeamMemberRequest) Reset() { + *x = UpdateTeamMemberRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTeamMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTeamMemberRequest) ProtoMessage() {} + +func (x *UpdateTeamMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTeamMemberRequest.ProtoReflect.Descriptor instead. +func (*UpdateTeamMemberRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{11} +} + +func (x *UpdateTeamMemberRequest) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +func (x *UpdateTeamMemberRequest) GetTeamMember() *TeamMember { + if x != nil { + return x.TeamMember + } + return nil +} + +type UpdateTeamMemberResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TeamMember *TeamMember `protobuf:"bytes,2,opt,name=team_member,json=teamMember,proto3" json:"team_member,omitempty"` +} + +func (x *UpdateTeamMemberResponse) Reset() { + *x = UpdateTeamMemberResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTeamMemberResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTeamMemberResponse) ProtoMessage() {} + +func (x *UpdateTeamMemberResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTeamMemberResponse.ProtoReflect.Descriptor instead. +func (*UpdateTeamMemberResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateTeamMemberResponse) GetTeamMember() *TeamMember { + if x != nil { + return x.TeamMember + } + return nil +} + +type DeleteTeamMemberRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // team_id is the ID of the team in which a member should be deleted. + TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` + // team_member_id is the ID of the TeamMember that should be deleted from the team. + TeamMemberId string `protobuf:"bytes,2,opt,name=team_member_id,json=teamMemberId,proto3" json:"team_member_id,omitempty"` +} + +func (x *DeleteTeamMemberRequest) Reset() { + *x = DeleteTeamMemberRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTeamMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTeamMemberRequest) ProtoMessage() {} + +func (x *DeleteTeamMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteTeamMemberRequest.ProtoReflect.Descriptor instead. +func (*DeleteTeamMemberRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{13} +} + +func (x *DeleteTeamMemberRequest) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +func (x *DeleteTeamMemberRequest) GetTeamMemberId() string { + if x != nil { + return x.TeamMemberId + } + return "" +} + +type DeleteTeamMemberResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DeleteTeamMemberResponse) Reset() { + *x = DeleteTeamMemberResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTeamMemberResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTeamMemberResponse) ProtoMessage() {} + +func (x *DeleteTeamMemberResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_teams_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteTeamMemberResponse.ProtoReflect.Descriptor instead. +func (*DeleteTeamMemberResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_teams_proto_rawDescGZIP(), []int{14} +} + var File_gitpod_experimental_v1_teams_proto protoreflect.FileDescriptor var file_gitpod_experimental_v1_teams_proto_rawDesc = []byte{ @@ -395,24 +870,105 @@ var file_gitpod_experimental_v1_teams_proto_rawDesc = []byte{ 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x2a, 0x50, 0x0a, 0x08, - 0x54, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x4f, 0x4c, 0x45, - 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x32, 0x75, - 0x0a, 0x0c, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x65, - 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x67, - 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, - 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, + 0x31, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x12, 0x0a, 0x10, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x47, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, + 0x61, 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x22, 0x36, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x44, 0x0a, 0x10, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x61, + 0x6d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x6e, + 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x0f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x69, - 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, - 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x76, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x74, 0x65, 0x61, + 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5f, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, + 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x74, 0x65, + 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x58, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x50, + 0x0a, 0x08, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x4f, + 0x4c, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, + 0x32, 0xaf, 0x05, 0x0a, 0x0c, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x65, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, + 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, + 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x08, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, + 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, + 0x31, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, + 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x69, 0x74, 0x70, + 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x77, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x10, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2f, 0x2e, + 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x61, + 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, + 0x64, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -428,27 +984,52 @@ func file_gitpod_experimental_v1_teams_proto_rawDescGZIP() []byte { } var file_gitpod_experimental_v1_teams_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_gitpod_experimental_v1_teams_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_gitpod_experimental_v1_teams_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_gitpod_experimental_v1_teams_proto_goTypes = []interface{}{ - (TeamRole)(0), // 0: gitpod.experimental.v1.TeamRole - (*Team)(nil), // 1: gitpod.experimental.v1.Team - (*TeamMember)(nil), // 2: gitpod.experimental.v1.TeamMember - (*TeamInvitation)(nil), // 3: gitpod.experimental.v1.TeamInvitation - (*CreateTeamRequest)(nil), // 4: gitpod.experimental.v1.CreateTeamRequest - (*CreateTeamResponse)(nil), // 5: gitpod.experimental.v1.CreateTeamResponse + (TeamRole)(0), // 0: gitpod.experimental.v1.TeamRole + (*Team)(nil), // 1: gitpod.experimental.v1.Team + (*TeamMember)(nil), // 2: gitpod.experimental.v1.TeamMember + (*TeamInvitation)(nil), // 3: gitpod.experimental.v1.TeamInvitation + (*CreateTeamRequest)(nil), // 4: gitpod.experimental.v1.CreateTeamRequest + (*CreateTeamResponse)(nil), // 5: gitpod.experimental.v1.CreateTeamResponse + (*ListTeamsRequest)(nil), // 6: gitpod.experimental.v1.ListTeamsRequest + (*ListTeamsResponse)(nil), // 7: gitpod.experimental.v1.ListTeamsResponse + (*JoinTeamRequest)(nil), // 8: gitpod.experimental.v1.JoinTeamRequest + (*JoinTeamResponse)(nil), // 9: gitpod.experimental.v1.JoinTeamResponse + (*ResetTeamInvitationRequest)(nil), // 10: gitpod.experimental.v1.ResetTeamInvitationRequest + (*ResetTeamInvitationResponse)(nil), // 11: gitpod.experimental.v1.ResetTeamInvitationResponse + (*UpdateTeamMemberRequest)(nil), // 12: gitpod.experimental.v1.UpdateTeamMemberRequest + (*UpdateTeamMemberResponse)(nil), // 13: gitpod.experimental.v1.UpdateTeamMemberResponse + (*DeleteTeamMemberRequest)(nil), // 14: gitpod.experimental.v1.DeleteTeamMemberRequest + (*DeleteTeamMemberResponse)(nil), // 15: gitpod.experimental.v1.DeleteTeamMemberResponse } var file_gitpod_experimental_v1_teams_proto_depIdxs = []int32{ - 2, // 0: gitpod.experimental.v1.Team.members:type_name -> gitpod.experimental.v1.TeamMember - 3, // 1: gitpod.experimental.v1.Team.team_invitation:type_name -> gitpod.experimental.v1.TeamInvitation - 0, // 2: gitpod.experimental.v1.TeamMember.role:type_name -> gitpod.experimental.v1.TeamRole - 1, // 3: gitpod.experimental.v1.CreateTeamResponse.team:type_name -> gitpod.experimental.v1.Team - 4, // 4: gitpod.experimental.v1.TeamsService.CreateTeam:input_type -> gitpod.experimental.v1.CreateTeamRequest - 5, // 5: gitpod.experimental.v1.TeamsService.CreateTeam:output_type -> gitpod.experimental.v1.CreateTeamResponse - 5, // [5:6] is the sub-list for method output_type - 4, // [4:5] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 2, // 0: gitpod.experimental.v1.Team.members:type_name -> gitpod.experimental.v1.TeamMember + 3, // 1: gitpod.experimental.v1.Team.team_invitation:type_name -> gitpod.experimental.v1.TeamInvitation + 0, // 2: gitpod.experimental.v1.TeamMember.role:type_name -> gitpod.experimental.v1.TeamRole + 1, // 3: gitpod.experimental.v1.CreateTeamResponse.team:type_name -> gitpod.experimental.v1.Team + 1, // 4: gitpod.experimental.v1.ListTeamsResponse.teams:type_name -> gitpod.experimental.v1.Team + 1, // 5: gitpod.experimental.v1.JoinTeamResponse.team:type_name -> gitpod.experimental.v1.Team + 3, // 6: gitpod.experimental.v1.ResetTeamInvitationResponse.team_invitation:type_name -> gitpod.experimental.v1.TeamInvitation + 2, // 7: gitpod.experimental.v1.UpdateTeamMemberRequest.team_member:type_name -> gitpod.experimental.v1.TeamMember + 2, // 8: gitpod.experimental.v1.UpdateTeamMemberResponse.team_member:type_name -> gitpod.experimental.v1.TeamMember + 4, // 9: gitpod.experimental.v1.TeamsService.CreateTeam:input_type -> gitpod.experimental.v1.CreateTeamRequest + 6, // 10: gitpod.experimental.v1.TeamsService.ListTeams:input_type -> gitpod.experimental.v1.ListTeamsRequest + 8, // 11: gitpod.experimental.v1.TeamsService.JoinTeam:input_type -> gitpod.experimental.v1.JoinTeamRequest + 10, // 12: gitpod.experimental.v1.TeamsService.ResetTeamInvitation:input_type -> gitpod.experimental.v1.ResetTeamInvitationRequest + 12, // 13: gitpod.experimental.v1.TeamsService.UpdateTeamMember:input_type -> gitpod.experimental.v1.UpdateTeamMemberRequest + 14, // 14: gitpod.experimental.v1.TeamsService.DeleteTeamMember:input_type -> gitpod.experimental.v1.DeleteTeamMemberRequest + 5, // 15: gitpod.experimental.v1.TeamsService.CreateTeam:output_type -> gitpod.experimental.v1.CreateTeamResponse + 7, // 16: gitpod.experimental.v1.TeamsService.ListTeams:output_type -> gitpod.experimental.v1.ListTeamsResponse + 9, // 17: gitpod.experimental.v1.TeamsService.JoinTeam:output_type -> gitpod.experimental.v1.JoinTeamResponse + 11, // 18: gitpod.experimental.v1.TeamsService.ResetTeamInvitation:output_type -> gitpod.experimental.v1.ResetTeamInvitationResponse + 13, // 19: gitpod.experimental.v1.TeamsService.UpdateTeamMember:output_type -> gitpod.experimental.v1.UpdateTeamMemberResponse + 15, // 20: gitpod.experimental.v1.TeamsService.DeleteTeamMember:output_type -> gitpod.experimental.v1.DeleteTeamMemberResponse + 15, // [15:21] is the sub-list for method output_type + 9, // [9:15] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_gitpod_experimental_v1_teams_proto_init() } @@ -517,6 +1098,126 @@ func file_gitpod_experimental_v1_teams_proto_init() { return nil } } + file_gitpod_experimental_v1_teams_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTeamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTeamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JoinTeamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JoinTeamResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResetTeamInvitationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResetTeamInvitationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTeamMemberRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTeamMemberResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTeamMemberRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_teams_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTeamMemberResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -524,7 +1225,7 @@ func file_gitpod_experimental_v1_teams_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gitpod_experimental_v1_teams_proto_rawDesc, NumEnums: 1, - NumMessages: 5, + NumMessages: 15, NumExtensions: 0, NumServices: 1, }, diff --git a/components/public-api/go/experimental/v1/teams_grpc.pb.go b/components/public-api/go/experimental/v1/teams_grpc.pb.go index dcfc7cff064344..d5477036aec25e 100644 --- a/components/public-api/go/experimental/v1/teams_grpc.pb.go +++ b/components/public-api/go/experimental/v1/teams_grpc.pb.go @@ -28,6 +28,16 @@ const _ = grpc.SupportPackageIsVersion7 type TeamsServiceClient interface { // CreateTeam creates a new Team. CreateTeam(ctx context.Context, in *CreateTeamRequest, opts ...grpc.CallOption) (*CreateTeamResponse, error) + // ListTeams lists the caller has access to. + ListTeams(ctx context.Context, in *ListTeamsRequest, opts ...grpc.CallOption) (*ListTeamsResponse, error) + // JoinTeam makes the caller a TeamMember of the Team. + JoinTeam(ctx context.Context, in *JoinTeamRequest, opts ...grpc.CallOption) (*JoinTeamResponse, error) + // ResetTeamInvitation resets the invitation_id for a Team. + ResetTeamInvitation(ctx context.Context, in *ResetTeamInvitationRequest, opts ...grpc.CallOption) (*ResetTeamInvitationResponse, error) + // UpdateTeamMember updates team membership properties. + UpdateTeamMember(ctx context.Context, in *UpdateTeamMemberRequest, opts ...grpc.CallOption) (*UpdateTeamMemberResponse, error) + // DeleteTeamMember removes a TeamMember from the Team. + DeleteTeamMember(ctx context.Context, in *DeleteTeamMemberRequest, opts ...grpc.CallOption) (*DeleteTeamMemberResponse, error) } type teamsServiceClient struct { @@ -47,12 +57,67 @@ func (c *teamsServiceClient) CreateTeam(ctx context.Context, in *CreateTeamReque return out, nil } +func (c *teamsServiceClient) ListTeams(ctx context.Context, in *ListTeamsRequest, opts ...grpc.CallOption) (*ListTeamsResponse, error) { + out := new(ListTeamsResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TeamsService/ListTeams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *teamsServiceClient) JoinTeam(ctx context.Context, in *JoinTeamRequest, opts ...grpc.CallOption) (*JoinTeamResponse, error) { + out := new(JoinTeamResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TeamsService/JoinTeam", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *teamsServiceClient) ResetTeamInvitation(ctx context.Context, in *ResetTeamInvitationRequest, opts ...grpc.CallOption) (*ResetTeamInvitationResponse, error) { + out := new(ResetTeamInvitationResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TeamsService/ResetTeamInvitation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *teamsServiceClient) UpdateTeamMember(ctx context.Context, in *UpdateTeamMemberRequest, opts ...grpc.CallOption) (*UpdateTeamMemberResponse, error) { + out := new(UpdateTeamMemberResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TeamsService/UpdateTeamMember", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *teamsServiceClient) DeleteTeamMember(ctx context.Context, in *DeleteTeamMemberRequest, opts ...grpc.CallOption) (*DeleteTeamMemberResponse, error) { + out := new(DeleteTeamMemberResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TeamsService/DeleteTeamMember", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TeamsServiceServer is the server API for TeamsService service. // All implementations must embed UnimplementedTeamsServiceServer // for forward compatibility type TeamsServiceServer interface { // CreateTeam creates a new Team. CreateTeam(context.Context, *CreateTeamRequest) (*CreateTeamResponse, error) + // ListTeams lists the caller has access to. + ListTeams(context.Context, *ListTeamsRequest) (*ListTeamsResponse, error) + // JoinTeam makes the caller a TeamMember of the Team. + JoinTeam(context.Context, *JoinTeamRequest) (*JoinTeamResponse, error) + // ResetTeamInvitation resets the invitation_id for a Team. + ResetTeamInvitation(context.Context, *ResetTeamInvitationRequest) (*ResetTeamInvitationResponse, error) + // UpdateTeamMember updates team membership properties. + UpdateTeamMember(context.Context, *UpdateTeamMemberRequest) (*UpdateTeamMemberResponse, error) + // DeleteTeamMember removes a TeamMember from the Team. + DeleteTeamMember(context.Context, *DeleteTeamMemberRequest) (*DeleteTeamMemberResponse, error) mustEmbedUnimplementedTeamsServiceServer() } @@ -63,6 +128,21 @@ type UnimplementedTeamsServiceServer struct { func (UnimplementedTeamsServiceServer) CreateTeam(context.Context, *CreateTeamRequest) (*CreateTeamResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateTeam not implemented") } +func (UnimplementedTeamsServiceServer) ListTeams(context.Context, *ListTeamsRequest) (*ListTeamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTeams not implemented") +} +func (UnimplementedTeamsServiceServer) JoinTeam(context.Context, *JoinTeamRequest) (*JoinTeamResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method JoinTeam not implemented") +} +func (UnimplementedTeamsServiceServer) ResetTeamInvitation(context.Context, *ResetTeamInvitationRequest) (*ResetTeamInvitationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetTeamInvitation not implemented") +} +func (UnimplementedTeamsServiceServer) UpdateTeamMember(context.Context, *UpdateTeamMemberRequest) (*UpdateTeamMemberResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTeamMember not implemented") +} +func (UnimplementedTeamsServiceServer) DeleteTeamMember(context.Context, *DeleteTeamMemberRequest) (*DeleteTeamMemberResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTeamMember not implemented") +} func (UnimplementedTeamsServiceServer) mustEmbedUnimplementedTeamsServiceServer() {} // UnsafeTeamsServiceServer may be embedded to opt out of forward compatibility for this service. @@ -94,6 +174,96 @@ func _TeamsService_CreateTeam_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _TeamsService_ListTeams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTeamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TeamsServiceServer).ListTeams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TeamsService/ListTeams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TeamsServiceServer).ListTeams(ctx, req.(*ListTeamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TeamsService_JoinTeam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(JoinTeamRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TeamsServiceServer).JoinTeam(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TeamsService/JoinTeam", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TeamsServiceServer).JoinTeam(ctx, req.(*JoinTeamRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TeamsService_ResetTeamInvitation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetTeamInvitationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TeamsServiceServer).ResetTeamInvitation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TeamsService/ResetTeamInvitation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TeamsServiceServer).ResetTeamInvitation(ctx, req.(*ResetTeamInvitationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TeamsService_UpdateTeamMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTeamMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TeamsServiceServer).UpdateTeamMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TeamsService/UpdateTeamMember", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TeamsServiceServer).UpdateTeamMember(ctx, req.(*UpdateTeamMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TeamsService_DeleteTeamMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTeamMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TeamsServiceServer).DeleteTeamMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TeamsService/DeleteTeamMember", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TeamsServiceServer).DeleteTeamMember(ctx, req.(*DeleteTeamMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + // TeamsService_ServiceDesc is the grpc.ServiceDesc for TeamsService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -105,6 +275,26 @@ var TeamsService_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateTeam", Handler: _TeamsService_CreateTeam_Handler, }, + { + MethodName: "ListTeams", + Handler: _TeamsService_ListTeams_Handler, + }, + { + MethodName: "JoinTeam", + Handler: _TeamsService_JoinTeam_Handler, + }, + { + MethodName: "ResetTeamInvitation", + Handler: _TeamsService_ResetTeamInvitation_Handler, + }, + { + MethodName: "UpdateTeamMember", + Handler: _TeamsService_UpdateTeamMember_Handler, + }, + { + MethodName: "DeleteTeamMember", + Handler: _TeamsService_DeleteTeamMember_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "gitpod/experimental/v1/teams.proto", diff --git a/components/public-api/go/experimental/v1/v1connect/teams.connect.go b/components/public-api/go/experimental/v1/v1connect/teams.connect.go index fb6a92e7e6f96e..68b77095b0a8b5 100644 --- a/components/public-api/go/experimental/v1/v1connect/teams.connect.go +++ b/components/public-api/go/experimental/v1/v1connect/teams.connect.go @@ -33,6 +33,16 @@ const ( type TeamsServiceClient interface { // CreateTeam creates a new Team. CreateTeam(context.Context, *connect_go.Request[v1.CreateTeamRequest]) (*connect_go.Response[v1.CreateTeamResponse], error) + // ListTeams lists the caller has access to. + ListTeams(context.Context, *connect_go.Request[v1.ListTeamsRequest]) (*connect_go.Response[v1.ListTeamsResponse], error) + // JoinTeam makes the caller a TeamMember of the Team. + JoinTeam(context.Context, *connect_go.Request[v1.JoinTeamRequest]) (*connect_go.Response[v1.JoinTeamResponse], error) + // ResetTeamInvitation resets the invitation_id for a Team. + ResetTeamInvitation(context.Context, *connect_go.Request[v1.ResetTeamInvitationRequest]) (*connect_go.Response[v1.ResetTeamInvitationResponse], error) + // UpdateTeamMember updates team membership properties. + UpdateTeamMember(context.Context, *connect_go.Request[v1.UpdateTeamMemberRequest]) (*connect_go.Response[v1.UpdateTeamMemberResponse], error) + // DeleteTeamMember removes a TeamMember from the Team. + DeleteTeamMember(context.Context, *connect_go.Request[v1.DeleteTeamMemberRequest]) (*connect_go.Response[v1.DeleteTeamMemberResponse], error) } // NewTeamsServiceClient constructs a client for the gitpod.experimental.v1.TeamsService service. By @@ -50,12 +60,42 @@ func NewTeamsServiceClient(httpClient connect_go.HTTPClient, baseURL string, opt baseURL+"/gitpod.experimental.v1.TeamsService/CreateTeam", opts..., ), + listTeams: connect_go.NewClient[v1.ListTeamsRequest, v1.ListTeamsResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TeamsService/ListTeams", + opts..., + ), + joinTeam: connect_go.NewClient[v1.JoinTeamRequest, v1.JoinTeamResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TeamsService/JoinTeam", + opts..., + ), + resetTeamInvitation: connect_go.NewClient[v1.ResetTeamInvitationRequest, v1.ResetTeamInvitationResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TeamsService/ResetTeamInvitation", + opts..., + ), + updateTeamMember: connect_go.NewClient[v1.UpdateTeamMemberRequest, v1.UpdateTeamMemberResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TeamsService/UpdateTeamMember", + opts..., + ), + deleteTeamMember: connect_go.NewClient[v1.DeleteTeamMemberRequest, v1.DeleteTeamMemberResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TeamsService/DeleteTeamMember", + opts..., + ), } } // teamsServiceClient implements TeamsServiceClient. type teamsServiceClient struct { - createTeam *connect_go.Client[v1.CreateTeamRequest, v1.CreateTeamResponse] + createTeam *connect_go.Client[v1.CreateTeamRequest, v1.CreateTeamResponse] + listTeams *connect_go.Client[v1.ListTeamsRequest, v1.ListTeamsResponse] + joinTeam *connect_go.Client[v1.JoinTeamRequest, v1.JoinTeamResponse] + resetTeamInvitation *connect_go.Client[v1.ResetTeamInvitationRequest, v1.ResetTeamInvitationResponse] + updateTeamMember *connect_go.Client[v1.UpdateTeamMemberRequest, v1.UpdateTeamMemberResponse] + deleteTeamMember *connect_go.Client[v1.DeleteTeamMemberRequest, v1.DeleteTeamMemberResponse] } // CreateTeam calls gitpod.experimental.v1.TeamsService.CreateTeam. @@ -63,10 +103,45 @@ func (c *teamsServiceClient) CreateTeam(ctx context.Context, req *connect_go.Req return c.createTeam.CallUnary(ctx, req) } +// ListTeams calls gitpod.experimental.v1.TeamsService.ListTeams. +func (c *teamsServiceClient) ListTeams(ctx context.Context, req *connect_go.Request[v1.ListTeamsRequest]) (*connect_go.Response[v1.ListTeamsResponse], error) { + return c.listTeams.CallUnary(ctx, req) +} + +// JoinTeam calls gitpod.experimental.v1.TeamsService.JoinTeam. +func (c *teamsServiceClient) JoinTeam(ctx context.Context, req *connect_go.Request[v1.JoinTeamRequest]) (*connect_go.Response[v1.JoinTeamResponse], error) { + return c.joinTeam.CallUnary(ctx, req) +} + +// ResetTeamInvitation calls gitpod.experimental.v1.TeamsService.ResetTeamInvitation. +func (c *teamsServiceClient) ResetTeamInvitation(ctx context.Context, req *connect_go.Request[v1.ResetTeamInvitationRequest]) (*connect_go.Response[v1.ResetTeamInvitationResponse], error) { + return c.resetTeamInvitation.CallUnary(ctx, req) +} + +// UpdateTeamMember calls gitpod.experimental.v1.TeamsService.UpdateTeamMember. +func (c *teamsServiceClient) UpdateTeamMember(ctx context.Context, req *connect_go.Request[v1.UpdateTeamMemberRequest]) (*connect_go.Response[v1.UpdateTeamMemberResponse], error) { + return c.updateTeamMember.CallUnary(ctx, req) +} + +// DeleteTeamMember calls gitpod.experimental.v1.TeamsService.DeleteTeamMember. +func (c *teamsServiceClient) DeleteTeamMember(ctx context.Context, req *connect_go.Request[v1.DeleteTeamMemberRequest]) (*connect_go.Response[v1.DeleteTeamMemberResponse], error) { + return c.deleteTeamMember.CallUnary(ctx, req) +} + // TeamsServiceHandler is an implementation of the gitpod.experimental.v1.TeamsService service. type TeamsServiceHandler interface { // CreateTeam creates a new Team. CreateTeam(context.Context, *connect_go.Request[v1.CreateTeamRequest]) (*connect_go.Response[v1.CreateTeamResponse], error) + // ListTeams lists the caller has access to. + ListTeams(context.Context, *connect_go.Request[v1.ListTeamsRequest]) (*connect_go.Response[v1.ListTeamsResponse], error) + // JoinTeam makes the caller a TeamMember of the Team. + JoinTeam(context.Context, *connect_go.Request[v1.JoinTeamRequest]) (*connect_go.Response[v1.JoinTeamResponse], error) + // ResetTeamInvitation resets the invitation_id for a Team. + ResetTeamInvitation(context.Context, *connect_go.Request[v1.ResetTeamInvitationRequest]) (*connect_go.Response[v1.ResetTeamInvitationResponse], error) + // UpdateTeamMember updates team membership properties. + UpdateTeamMember(context.Context, *connect_go.Request[v1.UpdateTeamMemberRequest]) (*connect_go.Response[v1.UpdateTeamMemberResponse], error) + // DeleteTeamMember removes a TeamMember from the Team. + DeleteTeamMember(context.Context, *connect_go.Request[v1.DeleteTeamMemberRequest]) (*connect_go.Response[v1.DeleteTeamMemberResponse], error) } // NewTeamsServiceHandler builds an HTTP handler from the service implementation. It returns the @@ -81,6 +156,31 @@ func NewTeamsServiceHandler(svc TeamsServiceHandler, opts ...connect_go.HandlerO svc.CreateTeam, opts..., )) + mux.Handle("/gitpod.experimental.v1.TeamsService/ListTeams", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TeamsService/ListTeams", + svc.ListTeams, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TeamsService/JoinTeam", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TeamsService/JoinTeam", + svc.JoinTeam, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TeamsService/ResetTeamInvitation", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TeamsService/ResetTeamInvitation", + svc.ResetTeamInvitation, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TeamsService/UpdateTeamMember", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TeamsService/UpdateTeamMember", + svc.UpdateTeamMember, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TeamsService/DeleteTeamMember", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TeamsService/DeleteTeamMember", + svc.DeleteTeamMember, + opts..., + )) return "/gitpod.experimental.v1.TeamsService/", mux } @@ -90,3 +190,23 @@ type UnimplementedTeamsServiceHandler struct{} func (UnimplementedTeamsServiceHandler) CreateTeam(context.Context, *connect_go.Request[v1.CreateTeamRequest]) (*connect_go.Response[v1.CreateTeamResponse], error) { return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TeamsService.CreateTeam is not implemented")) } + +func (UnimplementedTeamsServiceHandler) ListTeams(context.Context, *connect_go.Request[v1.ListTeamsRequest]) (*connect_go.Response[v1.ListTeamsResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TeamsService.ListTeams is not implemented")) +} + +func (UnimplementedTeamsServiceHandler) JoinTeam(context.Context, *connect_go.Request[v1.JoinTeamRequest]) (*connect_go.Response[v1.JoinTeamResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TeamsService.JoinTeam is not implemented")) +} + +func (UnimplementedTeamsServiceHandler) ResetTeamInvitation(context.Context, *connect_go.Request[v1.ResetTeamInvitationRequest]) (*connect_go.Response[v1.ResetTeamInvitationResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TeamsService.ResetTeamInvitation is not implemented")) +} + +func (UnimplementedTeamsServiceHandler) UpdateTeamMember(context.Context, *connect_go.Request[v1.UpdateTeamMemberRequest]) (*connect_go.Response[v1.UpdateTeamMemberResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TeamsService.UpdateTeamMember is not implemented")) +} + +func (UnimplementedTeamsServiceHandler) DeleteTeamMember(context.Context, *connect_go.Request[v1.DeleteTeamMemberRequest]) (*connect_go.Response[v1.DeleteTeamMemberResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TeamsService.DeleteTeamMember is not implemented")) +} diff --git a/components/public-api/typescript/src/gitpod/experimental/v1/teams_connectweb.ts b/components/public-api/typescript/src/gitpod/experimental/v1/teams_connectweb.ts index 25cd385be3194d..79964f15c00475 100644 --- a/components/public-api/typescript/src/gitpod/experimental/v1/teams_connectweb.ts +++ b/components/public-api/typescript/src/gitpod/experimental/v1/teams_connectweb.ts @@ -9,7 +9,7 @@ /* eslint-disable */ /* @ts-nocheck */ -import {CreateTeamRequest, CreateTeamResponse} from "./teams_pb.js"; +import {CreateTeamRequest, CreateTeamResponse, DeleteTeamMemberRequest, DeleteTeamMemberResponse, JoinTeamRequest, JoinTeamResponse, ListTeamsRequest, ListTeamsResponse, ResetTeamInvitationRequest, ResetTeamInvitationResponse, UpdateTeamMemberRequest, UpdateTeamMemberResponse} from "./teams_pb.js"; import {MethodKind} from "@bufbuild/protobuf"; /** @@ -29,5 +29,60 @@ export const TeamsService = { O: CreateTeamResponse, kind: MethodKind.Unary, }, + /** + * ListTeams lists the caller has access to. + * + * @generated from rpc gitpod.experimental.v1.TeamsService.ListTeams + */ + listTeams: { + name: "ListTeams", + I: ListTeamsRequest, + O: ListTeamsResponse, + kind: MethodKind.Unary, + }, + /** + * JoinTeam makes the caller a TeamMember of the Team. + * + * @generated from rpc gitpod.experimental.v1.TeamsService.JoinTeam + */ + joinTeam: { + name: "JoinTeam", + I: JoinTeamRequest, + O: JoinTeamResponse, + kind: MethodKind.Unary, + }, + /** + * ResetTeamInvitation resets the invitation_id for a Team. + * + * @generated from rpc gitpod.experimental.v1.TeamsService.ResetTeamInvitation + */ + resetTeamInvitation: { + name: "ResetTeamInvitation", + I: ResetTeamInvitationRequest, + O: ResetTeamInvitationResponse, + kind: MethodKind.Unary, + }, + /** + * UpdateTeamMember updates team membership properties. + * + * @generated from rpc gitpod.experimental.v1.TeamsService.UpdateTeamMember + */ + updateTeamMember: { + name: "UpdateTeamMember", + I: UpdateTeamMemberRequest, + O: UpdateTeamMemberResponse, + kind: MethodKind.Unary, + }, + /** + * DeleteTeamMember removes a TeamMember from the Team. + * + * @generated from rpc gitpod.experimental.v1.TeamsService.DeleteTeamMember + */ + deleteTeamMember: { + name: "DeleteTeamMember", + I: DeleteTeamMemberRequest, + O: DeleteTeamMemberResponse, + kind: MethodKind.Unary, + }, } } as const; diff --git a/components/public-api/typescript/src/gitpod/experimental/v1/teams_pb.ts b/components/public-api/typescript/src/gitpod/experimental/v1/teams_pb.ts index 54e1f25f7338d4..3c7a3df95c1ea3 100644 --- a/components/public-api/typescript/src/gitpod/experimental/v1/teams_pb.ts +++ b/components/public-api/typescript/src/gitpod/experimental/v1/teams_pb.ts @@ -277,3 +277,389 @@ export class CreateTeamResponse extends Message { return proto3.util.equals(CreateTeamResponse, a, b); } } + +/** + * TODO: pagination options + * + * @generated from message gitpod.experimental.v1.ListTeamsRequest + */ +export class ListTeamsRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.ListTeamsRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ListTeamsRequest { + return new ListTeamsRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ListTeamsRequest { + return new ListTeamsRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ListTeamsRequest { + return new ListTeamsRequest().fromJsonString(jsonString, options); + } + + static equals(a: ListTeamsRequest | PlainMessage | undefined, b: ListTeamsRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(ListTeamsRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.ListTeamsResponse + */ +export class ListTeamsResponse extends Message { + /** + * @generated from field: repeated gitpod.experimental.v1.Team teams = 1; + */ + teams: Team[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.ListTeamsResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "teams", kind: "message", T: Team, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ListTeamsResponse { + return new ListTeamsResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ListTeamsResponse { + return new ListTeamsResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ListTeamsResponse { + return new ListTeamsResponse().fromJsonString(jsonString, options); + } + + static equals(a: ListTeamsResponse | PlainMessage | undefined, b: ListTeamsResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(ListTeamsResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.JoinTeamRequest + */ +export class JoinTeamRequest extends Message { + /** + * invitation_id is the invitation ID for a Team + * + * @generated from field: string invitation_id = 1; + */ + invitationId = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.JoinTeamRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "invitation_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): JoinTeamRequest { + return new JoinTeamRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): JoinTeamRequest { + return new JoinTeamRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): JoinTeamRequest { + return new JoinTeamRequest().fromJsonString(jsonString, options); + } + + static equals(a: JoinTeamRequest | PlainMessage | undefined, b: JoinTeamRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(JoinTeamRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.JoinTeamResponse + */ +export class JoinTeamResponse extends Message { + /** + * team is the team the user has just joined + * + * @generated from field: gitpod.experimental.v1.Team team = 1; + */ + team?: Team; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.JoinTeamResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "team", kind: "message", T: Team }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): JoinTeamResponse { + return new JoinTeamResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): JoinTeamResponse { + return new JoinTeamResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): JoinTeamResponse { + return new JoinTeamResponse().fromJsonString(jsonString, options); + } + + static equals(a: JoinTeamResponse | PlainMessage | undefined, b: JoinTeamResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(JoinTeamResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.ResetTeamInvitationRequest + */ +export class ResetTeamInvitationRequest extends Message { + /** + * @generated from field: string team_id = 1; + */ + teamId = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.ResetTeamInvitationRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "team_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ResetTeamInvitationRequest { + return new ResetTeamInvitationRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ResetTeamInvitationRequest { + return new ResetTeamInvitationRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ResetTeamInvitationRequest { + return new ResetTeamInvitationRequest().fromJsonString(jsonString, options); + } + + static equals(a: ResetTeamInvitationRequest | PlainMessage | undefined, b: ResetTeamInvitationRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(ResetTeamInvitationRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.ResetTeamInvitationResponse + */ +export class ResetTeamInvitationResponse extends Message { + /** + * team_invitation is the new invitation for the team. + * + * @generated from field: gitpod.experimental.v1.TeamInvitation team_invitation = 1; + */ + teamInvitation?: TeamInvitation; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.ResetTeamInvitationResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "team_invitation", kind: "message", T: TeamInvitation }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ResetTeamInvitationResponse { + return new ResetTeamInvitationResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ResetTeamInvitationResponse { + return new ResetTeamInvitationResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ResetTeamInvitationResponse { + return new ResetTeamInvitationResponse().fromJsonString(jsonString, options); + } + + static equals(a: ResetTeamInvitationResponse | PlainMessage | undefined, b: ResetTeamInvitationResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(ResetTeamInvitationResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.UpdateTeamMemberRequest + */ +export class UpdateTeamMemberRequest extends Message { + /** + * team_id is the ID of the team in which the role is to be updated + * + * @generated from field: string team_id = 1; + */ + teamId = ""; + + /** + * team_member is the team member being updated. + * + * @generated from field: gitpod.experimental.v1.TeamMember team_member = 2; + */ + teamMember?: TeamMember; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.UpdateTeamMemberRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "team_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "team_member", kind: "message", T: TeamMember }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTeamMemberRequest { + return new UpdateTeamMemberRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTeamMemberRequest { + return new UpdateTeamMemberRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): UpdateTeamMemberRequest { + return new UpdateTeamMemberRequest().fromJsonString(jsonString, options); + } + + static equals(a: UpdateTeamMemberRequest | PlainMessage | undefined, b: UpdateTeamMemberRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(UpdateTeamMemberRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.UpdateTeamMemberResponse + */ +export class UpdateTeamMemberResponse extends Message { + /** + * @generated from field: gitpod.experimental.v1.TeamMember team_member = 2; + */ + teamMember?: TeamMember; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.UpdateTeamMemberResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 2, name: "team_member", kind: "message", T: TeamMember }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTeamMemberResponse { + return new UpdateTeamMemberResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTeamMemberResponse { + return new UpdateTeamMemberResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): UpdateTeamMemberResponse { + return new UpdateTeamMemberResponse().fromJsonString(jsonString, options); + } + + static equals(a: UpdateTeamMemberResponse | PlainMessage | undefined, b: UpdateTeamMemberResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(UpdateTeamMemberResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.DeleteTeamMemberRequest + */ +export class DeleteTeamMemberRequest extends Message { + /** + * team_id is the ID of the team in which a member should be deleted. + * + * @generated from field: string team_id = 1; + */ + teamId = ""; + + /** + * team_member_id is the ID of the TeamMember that should be deleted from the team. + * + * @generated from field: string team_member_id = 2; + */ + teamMemberId = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.DeleteTeamMemberRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "team_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "team_member_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): DeleteTeamMemberRequest { + return new DeleteTeamMemberRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): DeleteTeamMemberRequest { + return new DeleteTeamMemberRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): DeleteTeamMemberRequest { + return new DeleteTeamMemberRequest().fromJsonString(jsonString, options); + } + + static equals(a: DeleteTeamMemberRequest | PlainMessage | undefined, b: DeleteTeamMemberRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(DeleteTeamMemberRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.DeleteTeamMemberResponse + */ +export class DeleteTeamMemberResponse extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.DeleteTeamMemberResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): DeleteTeamMemberResponse { + return new DeleteTeamMemberResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): DeleteTeamMemberResponse { + return new DeleteTeamMemberResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): DeleteTeamMemberResponse { + return new DeleteTeamMemberResponse().fromJsonString(jsonString, options); + } + + static equals(a: DeleteTeamMemberResponse | PlainMessage | undefined, b: DeleteTeamMemberResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(DeleteTeamMemberResponse, a, b); + } +}