in pkg/client/sonar/sonar.go [377:405]
func (sc Client) checkProfileExist(requiredProfileName string) (exits bool, profileId string, isDefault bool, error error) {
resp, err := sc.resty.R().
Get(fmt.Sprintf("/qualityprofiles/search?qualityProfile=%v", strings.ReplaceAll(requiredProfileName, " ", "+")))
if err != nil {
return false, "", false, fmt.Errorf("failed to get default quality profile!: %w", err)
}
if resp.IsError() {
errMsg := fmt.Sprintf("Request for quality profile failed! Response - %v", resp.StatusCode())
return false, "", false, errors.New(errMsg)
}
var qualityProfilesSearchResponse QualityProfilesSearchResponse
err = json.Unmarshal(resp.Body(), &qualityProfilesSearchResponse)
if err != nil {
return false, "", false, fmt.Errorf("%s: %w", resp.Body(), err)
}
if qualityProfilesSearchResponse.Profiles == nil {
return false, "", false, nil
}
profiles := qualityProfilesSearchResponse.Profiles
for index := range profiles {
if profiles[index].Name == requiredProfileName {
return true, profiles[index].Key, profiles[index].IsDefault, nil
}
}
return false, "", false, nil
}