Skip to content

Commit 4e8fc50

Browse files
authored
fix: use pointer for sastResponse and returning nil instead of empty [IDE-724] (#333)
2 parents b8bef86 + 79f2667 commit 4e8fc50

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

internal/api/api.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type ApiClient interface {
2323
GetFeatureFlag(flagname string, origId string) (bool, error)
2424
GetUserMe() (string, error)
2525
GetSelf() (contract.SelfResponse, error)
26-
GetSastSettings(orgId string) (sast_contract.SastResponse, error)
26+
GetSastSettings(orgId string) (*sast_contract.SastResponse, error)
2727
}
2828

2929
var _ ApiClient = (*snykApiClient)(nil)
@@ -198,28 +198,26 @@ func (a *snykApiClient) GetSelf() (contract.SelfResponse, error) {
198198
return selfData, nil
199199
}
200200

201-
func (a *snykApiClient) GetSastSettings(orgId string) (sast_contract.SastResponse, error) {
202-
var response sast_contract.SastResponse
203-
var defaultResult sast_contract.SastResponse
204-
201+
func (a *snykApiClient) GetSastSettings(orgId string) (*sast_contract.SastResponse, error) {
205202
endpoint := a.url + "/v1/cli-config/settings/sast?org=" + url.QueryEscape(orgId)
206203
res, err := a.client.Get(endpoint)
207204
if err != nil {
208-
return defaultResult, fmt.Errorf("unable to retrieve settings: %w", err)
205+
return nil, fmt.Errorf("unable to retrieve settings: %w", err)
209206
}
210207
//goland:noinspection GoUnhandledErrorResult
211208
defer res.Body.Close()
212209

213210
body, err := io.ReadAll(res.Body)
214211
if err != nil {
215-
return defaultResult, fmt.Errorf("unable to retrieve settings: %w", err)
212+
return nil, fmt.Errorf("unable to retrieve settings: %w", err)
216213
}
217214

215+
var response sast_contract.SastResponse
218216
if err = json.Unmarshal(body, &response); err != nil {
219-
return defaultResult, fmt.Errorf("unable to retrieve settings (status: %d): %w", res.StatusCode, err)
217+
return nil, fmt.Errorf("unable to retrieve settings (status: %d): %w", res.StatusCode, err)
220218
}
221219

222-
return response, err
220+
return &response, err
223221
}
224222

225223
// clientGet performs an HTTP GET request to the Snyk API, handling query parameters,

internal/mocks/api.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/local_workflows/code_workflow.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ func getSastSettings(engine workflow.Engine) (*sast_contract.SastResponse, error
5454
tmp, err := apiClient.GetSastSettings(org)
5555
if err != nil {
5656
engine.GetLogger().Err(err).Msg("Failed to access settings.")
57-
return &tmp, err
57+
return nil, err
5858
}
5959

60-
engine.GetConfiguration().Set(code_workflow.ConfigurationSastSettings, &tmp)
61-
return &tmp, nil
60+
engine.GetConfiguration().Set(code_workflow.ConfigurationSastSettings, tmp)
61+
return tmp, nil
6262
}
6363

6464
func getSastSettingsConfig(engine workflow.Engine) configuration.DefaultValueFunction {
@@ -70,7 +70,7 @@ func getSastSettingsConfig(engine workflow.Engine) configuration.DefaultValueFun
7070
response, err := getSastSettings(engine)
7171
if err != nil {
7272
engine.GetLogger().Err(err).Msg("Failed to access settings.")
73-
return false, err
73+
return nil, err
7474
}
7575

7676
return response, nil

0 commit comments

Comments
 (0)