(setting *store.SettingMessage)
| 13 | ) |
| 14 | |
| 15 | func convertToSettingMessage(setting *store.SettingMessage) (*v1pb.Setting, error) { |
| 16 | settingName := fmt.Sprintf("%s%s", common.SettingNamePrefix, convertStoreSettingNameToV1(setting.Name).String()) |
| 17 | switch setting.Name { |
| 18 | case storepb.SettingName_APP_IM: |
| 19 | storeValue, ok := setting.Value.(*storepb.AppIMSetting) |
| 20 | if !ok { |
| 21 | return nil, connect.NewError(connect.CodeInternal, errors.Errorf("invalid setting value type for %s", setting.Name)) |
| 22 | } |
| 23 | v1Value := convertToAppIMSetting(storeValue) |
| 24 | return &v1pb.Setting{ |
| 25 | Name: settingName, |
| 26 | Value: &v1pb.SettingValue{ |
| 27 | Value: &v1pb.SettingValue_AppIm{ |
| 28 | AppIm: v1Value, |
| 29 | }, |
| 30 | }, |
| 31 | }, nil |
| 32 | case storepb.SettingName_WORKSPACE_PROFILE: |
| 33 | storeValue, ok := setting.Value.(*storepb.WorkspaceProfileSetting) |
| 34 | if !ok { |
| 35 | return nil, connect.NewError(connect.CodeInternal, errors.Errorf("invalid setting value type for %s", setting.Name)) |
| 36 | } |
| 37 | v1Value := convertToWorkspaceProfileSetting(storeValue) |
| 38 | return &v1pb.Setting{ |
| 39 | Name: settingName, |
| 40 | Value: &v1pb.SettingValue{ |
| 41 | Value: &v1pb.SettingValue_WorkspaceProfile{ |
| 42 | WorkspaceProfile: v1Value, |
| 43 | }, |
| 44 | }, |
| 45 | }, nil |
| 46 | case storepb.SettingName_WORKSPACE_APPROVAL: |
| 47 | storeValue, ok := setting.Value.(*storepb.WorkspaceApprovalSetting) |
| 48 | if !ok { |
| 49 | return nil, connect.NewError(connect.CodeInternal, errors.Errorf("invalid setting value type for %s", setting.Name)) |
| 50 | } |
| 51 | v1Value := &v1pb.WorkspaceApprovalSetting{} |
| 52 | for _, rule := range storeValue.Rules { |
| 53 | if rule.Source == storepb.WorkspaceApprovalSetting_Rule_EXPORT_DATA { //nolint:staticcheck // Keep filtering legacy store rules from the public API. |
| 54 | continue |
| 55 | } |
| 56 | template := convertToApprovalTemplate(rule.Template) |
| 57 | v1Value.Rules = append(v1Value.Rules, &v1pb.WorkspaceApprovalSetting_Rule{ |
| 58 | Source: v1pb.WorkspaceApprovalSetting_Rule_Source(rule.Source), |
| 59 | Condition: rule.Condition, |
| 60 | Template: template, |
| 61 | }) |
| 62 | } |
| 63 | return &v1pb.Setting{ |
| 64 | Name: settingName, |
| 65 | Value: &v1pb.SettingValue{ |
| 66 | Value: &v1pb.SettingValue_WorkspaceApproval{ |
| 67 | WorkspaceApproval: v1Value, |
| 68 | }, |
| 69 | }, |
| 70 | }, nil |
| 71 | case storepb.SettingName_DATA_CLASSIFICATION: |
| 72 | storeValue, ok := setting.Value.(*storepb.DataClassificationSetting) |
no test coverage detected