@@ -107,8 +107,33 @@ func getAllPages[T any](
107107 return allResults , nil
108108}
109109
110+ // parseDefaultPatternConfigurations parses the response body into pattern configurations
111+ func parseDefaultPatternConfigurations (response []byte ) ([]domain.PatternConfiguration , string , error ) {
112+ var objmap map [string ]json.RawMessage
113+ if err := json .Unmarshal (response , & objmap ); err != nil {
114+ return nil , "" , fmt .Errorf ("failed to unmarshal response: %w" , err )
115+ }
116+
117+ var patternResponses []domain.PatternDefinition
118+ if err := json .Unmarshal (objmap ["data" ], & patternResponses ); err != nil {
119+ return nil , "" , fmt .Errorf ("failed to unmarshal patterns: %w" , err )
120+ }
121+
122+ patternConfigurations := make ([]domain.PatternConfiguration , len (patternResponses ))
123+ for i , patternDef := range patternResponses {
124+ patternConfigurations [i ] = domain.PatternConfiguration {
125+ PatternDefinition : patternDef ,
126+ Parameters : patternDef .Parameters ,
127+ Enabled : patternDef .Enabled ,
128+ }
129+ }
130+
131+ return patternConfigurations , "" , nil
132+ }
133+
110134// parsePatternConfigurations parses the response body into pattern configurations
111135func parsePatternConfigurations (response []byte ) ([]domain.PatternConfiguration , string , error ) {
136+
112137 var objmap map [string ]json.RawMessage
113138 if err := json .Unmarshal (response , & objmap ); err != nil {
114139 return nil , "" , fmt .Errorf ("failed to unmarshal response: %w" , err )
@@ -141,7 +166,8 @@ func parsePatternConfigurations(response []byte) ([]domain.PatternConfiguration,
141166// GetDefaultToolPatternsConfig fetches the default patterns for a tool
142167func GetDefaultToolPatternsConfig (initFlags domain.InitFlags , toolUUID string ) ([]domain.PatternConfiguration , error ) {
143168 baseURL := fmt .Sprintf ("%s/api/v3/tools/%s/patterns?enabled=true" , CodacyApiBase , toolUUID )
144- return getAllPages (baseURL , initFlags , parsePatternConfigurations )
169+
170+ return getAllPages (baseURL , initFlags , parseDefaultPatternConfigurations )
145171}
146172
147173// GetRepositoryToolPatterns fetches the patterns for a tool in a repository
0 commit comments