Skip to content

Commit ea25ebf

Browse files
committed
[gitpod-protocol] Add createTeam, joinTeam, getTeamMembers to Go lib
1 parent 310caaf commit ea25ebf

File tree

2 files changed

+102
-0
lines changed

2 files changed

+102
-0
lines changed

components/gitpod-protocol/go/gitpod-service.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ type APIInterface interface {
8484
TrackEvent(ctx context.Context, event *RemoteTrackMessage) (err error)
8585
GetSupportedWorkspaceClasses(ctx context.Context) (res []*SupportedWorkspaceClass, err error)
8686

87+
CreateTeam(ctx context.Context, params string) (*Team, error)
88+
GetTeamMembers(ctx context.Context, params string) ([]*TeamMemberInfo, error)
89+
JoinTeam(ctx context.Context, params string) (*Team, error)
90+
8791
InstanceUpdates(ctx context.Context, instanceID string) (<-chan *WorkspaceInstance, error)
8892
}
8993

@@ -1382,6 +1386,36 @@ func (gp *APIoverJSONRPC) GetSupportedWorkspaceClasses(ctx context.Context) (res
13821386
return
13831387
}
13841388

1389+
func (gp *APIoverJSONRPC) CreateTeam(ctx context.Context, teamName string) (res *Team, err error) {
1390+
if gp == nil {
1391+
err = errNotConnected
1392+
return
1393+
}
1394+
_params := []interface{}{teamName}
1395+
err = gp.C.Call(ctx, "createTeam", _params, &res)
1396+
return
1397+
}
1398+
1399+
func (gp *APIoverJSONRPC) GetTeamMembers(ctx context.Context, teamID string) (res []*TeamMemberInfo, err error) {
1400+
if gp == nil {
1401+
err = errNotConnected
1402+
return
1403+
}
1404+
_params := []interface{}{teamID}
1405+
err = gp.C.Call(ctx, "getTeamMembers", _params, &res)
1406+
return
1407+
}
1408+
1409+
func (gp *APIoverJSONRPC) JoinTeam(ctx context.Context, inviteID string) (res *Team, err error) {
1410+
if gp == nil {
1411+
err = errNotConnected
1412+
return
1413+
}
1414+
_params := []interface{}{inviteID}
1415+
err = gp.C.Call(ctx, "joinTeam", _params, &res)
1416+
return
1417+
}
1418+
13851419
// PermissionName is the name of a permission
13861420
type PermissionName string
13871421

@@ -2074,3 +2108,26 @@ type UserMessage struct {
20742108
Title string `json:"title,omitempty"`
20752109
URL string `json:"url,omitempty"`
20762110
}
2111+
2112+
type Team struct {
2113+
ID string `json:"id,omitempty"`
2114+
Name string `json:"name,omitempty"`
2115+
Slug string `json:"slug,omitempty"`
2116+
CreationTime string `json:"creationTime,omitempty"`
2117+
}
2118+
2119+
type TeamMemberRole string
2120+
2121+
const (
2122+
TeamMember_Owner TeamMemberRole = "owner"
2123+
TeamMember_Member TeamMemberRole = "member"
2124+
)
2125+
2126+
type TeamMemberInfo struct {
2127+
UserId string `json:"userId,omitempty"`
2128+
FullName string `json:"fullName,omitempty"`
2129+
PrimaryEmail string `json:"primaryEmail,omitempty"`
2130+
AvatarUrl string `json:"avatarUrl,omitempty"`
2131+
Role TeamMemberRole `json:"role,omitempty"`
2132+
MemberSince string `json:"memberSince,omitempty"`
2133+
}

components/gitpod-protocol/go/mock.go

Lines changed: 45 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)