11package ocicontainer
22
33import (
4- "encoding/json"
54 "fmt"
6- "io"
75 "net/http"
86 "strings"
97 "sync"
108
9+ artUtils "github.com/jfrog/jfrog-cli-artifactory/artifactory/utils"
1110 "github.com/jfrog/jfrog-client-go/artifactory"
1211 "github.com/jfrog/jfrog-client-go/artifactory/services/utils"
1312 "github.com/jfrog/jfrog-client-go/utils/errorutils"
@@ -79,7 +78,7 @@ func searchArtifactoryForFilesByPath(repository string, paths []string, serviceM
7978 repository , strings .Join (pathConditions , ",\n " ))
8079
8180 // Execute AQL search
82- allResults , err := executeAqlQuery (serviceManager , aqlQuery )
81+ allResults , err := artUtils . ExecuteAqlQuery (serviceManager , aqlQuery )
8382 if err != nil {
8483 return []utils.ResultItem {}, fmt .Errorf ("failed to search Artifactory for layers by path: %w" , err )
8584 }
@@ -117,7 +116,7 @@ func SearchForImageLayersInPath(imageName, repository string, paths []string, se
117116 repository , path , excludePath )
118117
119118 // Execute AQL search
120- allResults , err = executeAqlQuery (serviceManager , aqlQuery )
119+ allResults , err = artUtils . ExecuteAqlQuery (serviceManager , aqlQuery )
121120 if err != nil {
122121 return []utils.ResultItem {}, fmt .Errorf ("failed to search Artifactory for layers in path: %w" , err )
123122 }
@@ -138,7 +137,7 @@ func SearchManifestPathByDigest(repo, digest string, serviceManager artifactory.
138137 "@docker.manifest.digest": "%s"
139138 }).include("path")` , repo , strings .TrimPrefix (digest , "sha256:" ), digest )
140139
141- results , err := executeAqlQuery (serviceManager , aqlQuery )
140+ results , err := artUtils . ExecuteAqlQuery (serviceManager , aqlQuery )
142141 if err != nil {
143142 return "" , err
144143 }
@@ -180,35 +179,6 @@ func deduplicateResultsBySha256(results []utils.ResultItem) []utils.ResultItem {
180179 return deduplicated
181180}
182181
183- // executeAqlQuery executes an AQL query and parses the JSON response
184- func executeAqlQuery (serviceManager artifactory.ArtifactoryServicesManager , aqlQuery string ) ([]utils.ResultItem , error ) {
185- reader , err := serviceManager .Aql (aqlQuery )
186- if err != nil {
187- return nil , fmt .Errorf ("failed to search Artifactory for layers: %w" , err )
188- }
189- defer func () {
190- if reader != nil {
191- _ = reader .Close ()
192- }
193- }()
194-
195- aqlResults , err := io .ReadAll (reader )
196- if err != nil {
197- return nil , errorutils .CheckError (err )
198- }
199- parsedResult := new (utils.AqlSearchResult )
200- if err = json .Unmarshal (aqlResults , parsedResult ); err != nil {
201- return nil , errorutils .CheckError (err )
202- }
203-
204- var allResults []utils.ResultItem
205- if parsedResult .Results != nil {
206- allResults = parsedResult .Results
207- }
208-
209- return allResults , nil
210- }
211-
212182// MARKER LAYER HANDLING
213183
214184// getMarkerLayerShasFromSearchResult separates marker layers from regular layers
0 commit comments