MCPcopy Index your code
hub / github.com/bytebase/bytebase / ListWorkspaces

Method ListWorkspaces

backend/api/v1/workspace_service.go:120–143  ·  view source on GitHub ↗
(ctx context.Context, _ *connect.Request[v1pb.ListWorkspacesRequest])

Source from the content-addressed store, hash-verified

118}
119
120func (s *WorkspaceService) ListWorkspaces(ctx context.Context, _ *connect.Request[v1pb.ListWorkspacesRequest]) (*connect.Response[v1pb.ListWorkspacesResponse], error) {
121 user, ok := GetUserFromContext(ctx)
122 if !ok || user == nil {
123 return nil, connect.NewError(connect.CodeUnauthenticated, errors.New("user not found"))
124 }
125
126 workspaces, err := s.store.ListWorkspacesByEmail(ctx, &store.FindWorkspaceMessage{
127 Email: user.Email,
128 IncludeAllUser: !s.profile.SaaS,
129 })
130 if err != nil {
131 return nil, connect.NewError(connect.CodeInternal, errors.Wrap(err, "failed to find workspaces"))
132 }
133
134 var result []*v1pb.Workspace
135 for _, ws := range workspaces {
136 result = append(result, &v1pb.Workspace{
137 Name: common.FormatWorkspace(ws.ResourceID),
138 Title: ws.Payload.GetTitle(),
139 Logo: ws.Payload.GetLogo(),
140 })
141 }
142 return connect.NewResponse(&v1pb.ListWorkspacesResponse{Workspaces: result}), nil
143}
144
145func (s *WorkspaceService) UpdateWorkspace(ctx context.Context, req *connect.Request[v1pb.UpdateWorkspaceRequest]) (*connect.Response[v1pb.Workspace], error) {
146 ws := req.Msg.Workspace

Callers

nothing calls this directly

Calls 5

FormatWorkspaceFunction · 0.92
GetUserFromContextFunction · 0.85
ListWorkspacesByEmailMethod · 0.80
GetTitleMethod · 0.45
GetLogoMethod · 0.45

Tested by

no test coverage detected