Skip to content

Commit

Permalink
chore: update workspace setting in demo mode
Browse files Browse the repository at this point in the history
  • Loading branch information
boojack committed Oct 12, 2024
1 parent 74498a7 commit b2f6075
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions server/router/api/v1/workspace_setting_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@ func (s *APIV1Service) GetWorkspaceSetting(ctx context.Context, request *v1pb.Ge
}

func (s *APIV1Service) SetWorkspaceSetting(ctx context.Context, request *v1pb.SetWorkspaceSettingRequest) (*v1pb.WorkspaceSetting, error) {
if s.Profile.Mode == "demo" {
return nil, status.Errorf(codes.InvalidArgument, "setting workspace setting is not allowed in demo mode")
}

user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
Expand All @@ -73,7 +69,14 @@ func (s *APIV1Service) SetWorkspaceSetting(ctx context.Context, request *v1pb.Se
return nil, status.Errorf(codes.PermissionDenied, "permission denied")
}

workspaceSetting, err := s.Store.UpsertWorkspaceSetting(ctx, convertWorkspaceSettingToStore(request.Setting))
updateSetting := convertWorkspaceSettingToStore(request.Setting)
// Don't allow to update workspace general setting in demo mode.
// Such as disallow user registration, disallow password auth, etc.
if s.Profile.Mode == "demo" && updateSetting.Key == storepb.WorkspaceSettingKey_GENERAL {
return nil, status.Errorf(codes.InvalidArgument, "setting workspace setting is not allowed in demo mode")
}

workspaceSetting, err := s.Store.UpsertWorkspaceSetting(ctx, updateSetting)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to upsert workspace setting: %v", err)
}
Expand Down

0 comments on commit b2f6075

Please sign in to comment.