chore: add favicon provider workspace setting

This commit is contained in:
Steven
2024-04-06 23:58:56 +08:00
parent 69f2c7ad89
commit 07c863b251
9 changed files with 229 additions and 145 deletions

View File

@ -34,6 +34,7 @@ func (s *APIV2Service) GetWorkspaceProfile(ctx context.Context, _ *apiv1pb.GetWo
profile.EnableSignup = setting.GetEnableSignup()
profile.CustomStyle = setting.GetCustomStyle()
profile.CustomScript = setting.GetCustomScript()
profile.FaviconProvider = setting.GetFaviconProvider()
}
return &apiv1pb.GetWorkspaceProfileResponse{
Profile: profile,
@ -70,6 +71,8 @@ func (s *APIV2Service) GetWorkspaceSetting(ctx context.Context, _ *apiv1pb.GetWo
workspaceSetting.CustomScript = v.GetCustomScript()
} else if v.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_DEFAULT_VISIBILITY {
workspaceSetting.DefaultVisibility = apiv1pb.Visibility(v.GetDefaultVisibility())
} else if v.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_FAVICON_PROVIDER {
workspaceSetting.FaviconProvider = v.GetFaviconProvider()
} else if isAdmin {
// For some settings, only admin can get the value.
if v.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_LICENSE_KEY {
@ -142,6 +145,15 @@ func (s *APIV2Service) UpdateWorkspaceSetting(ctx context.Context, request *apiv
}); err != nil {
return nil, status.Errorf(codes.Internal, "failed to update workspace setting: %v", err)
}
} else if path == "favicon_provider" {
if _, err := s.Store.UpsertWorkspaceSetting(ctx, &storepb.WorkspaceSetting{
Key: storepb.WorkspaceSettingKey_WORKSPACE_SETTING_FAVICON_PROVIDER,
Value: &storepb.WorkspaceSetting_FaviconProvider{
FaviconProvider: request.Setting.FaviconProvider,
},
}); err != nil {
return nil, status.Errorf(codes.Internal, "failed to update workspace setting: %v", err)
}
} else {
return nil, status.Errorf(codes.InvalidArgument, "invalid path: %s", path)
}