MCPcopy Create free account
hub / github.com/coder/coder / ProtoFromApp

Function ProtoFromApp

codersdk/agentsdk/convert.go:286–314  ·  view source on GitHub ↗
(a codersdk.WorkspaceApp)

Source from the content-addressed store, hash-verified

284}
285
286func ProtoFromApp(a codersdk.WorkspaceApp) (*proto.WorkspaceApp, error) {
287 sharingLevel, ok := proto.WorkspaceApp_SharingLevel_value[strings.ToUpper(string(a.SharingLevel))]
288 if !ok {
289 return nil, xerrors.Errorf("unknown sharing level %s", a.SharingLevel)
290 }
291 health, ok := proto.WorkspaceApp_Health_value[strings.ToUpper(string(a.Health))]
292 if !ok {
293 return nil, xerrors.Errorf("unknown health %s", a.Health)
294 }
295 return &proto.WorkspaceApp{
296 Id: a.ID[:],
297 Url: a.URL,
298 External: a.External,
299 Slug: a.Slug,
300 DisplayName: a.DisplayName,
301 Command: a.Command,
302 Icon: a.Icon,
303 Subdomain: a.Subdomain,
304 SubdomainName: a.SubdomainName,
305 SharingLevel: proto.WorkspaceApp_SharingLevel(sharingLevel),
306 Healthcheck: &proto.WorkspaceApp_Healthcheck{
307 Url: a.Healthcheck.URL,
308 Interval: durationpb.New(time.Duration(a.Healthcheck.Interval) * time.Second),
309 Threshold: a.Healthcheck.Threshold,
310 },
311 Health: proto.WorkspaceApp_Health(health),
312 Hidden: a.Hidden,
313 }, nil
314}
315
316func ServiceBannerFromProto(sbp *proto.ServiceBanner) codersdk.BannerConfig {
317 return codersdk.BannerConfig{

Callers 1

ProtoFromAppsFunction · 0.85

Calls 5

WorkspaceApp_SharingLevelTypeAlias · 0.92
WorkspaceApp_HealthTypeAlias · 0.92
DurationMethod · 0.80
NewMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected