zotregistry.io/zot@v1.4.4-0.20231124084042-02a8ed785457/pkg/cli/client/gql_queries.go (about) 1 //go:build search 2 // +build search 3 4 package client 5 6 type GQLField struct { 7 Name string 8 Type GQLType 9 } 10 11 type GQLType struct { 12 Name string 13 Fields []GQLField 14 } 15 16 type GQLQuery struct { 17 Name string 18 Args []string 19 ReturnType GQLType 20 } 21 22 func CVEResultForImage() GQLType { 23 return GQLType{ 24 Name: "CVEResultForImage", 25 } 26 } 27 28 func PaginatedImagesResult() GQLType { 29 return GQLType{ 30 Name: "PaginatedImagesResult", 31 } 32 } 33 34 func Referrer() GQLType { 35 return GQLType{ 36 Name: "Referrer", 37 } 38 } 39 40 func GlobalSearchResult() GQLType { 41 return GQLType{ 42 Name: "GlobalSearchResult", 43 } 44 } 45 46 func ImageListQuery() GQLQuery { 47 return GQLQuery{ 48 Name: "ImageList", 49 Args: []string{"repo", "requestedPage"}, 50 ReturnType: PaginatedImagesResult(), 51 } 52 } 53 54 func ImageListForDigestQuery() GQLQuery { 55 return GQLQuery{ 56 Name: "ImageListForDigest", 57 Args: []string{"id", "requestedPage"}, 58 ReturnType: PaginatedImagesResult(), 59 } 60 } 61 62 func BaseImageListQuery() GQLQuery { 63 return GQLQuery{ 64 Name: "BaseImageList", 65 Args: []string{"image", "digest", "requestedPage"}, 66 ReturnType: PaginatedImagesResult(), 67 } 68 } 69 70 func DerivedImageListQuery() GQLQuery { 71 return GQLQuery{ 72 Name: "DerivedImageList", 73 Args: []string{"image", "digest", "requestedPage"}, 74 ReturnType: PaginatedImagesResult(), 75 } 76 } 77 78 func CVEListForImageQuery() GQLQuery { 79 return GQLQuery{ 80 Name: "CVEListForImage", 81 Args: []string{"image", "requestedPage", "searchedCVE"}, 82 ReturnType: CVEResultForImage(), 83 } 84 } 85 86 func ImageListForCVEQuery() GQLQuery { 87 return GQLQuery{ 88 Name: "ImageListForCVE", 89 Args: []string{"id", "filter", "requestedPage"}, 90 ReturnType: PaginatedImagesResult(), 91 } 92 } 93 94 func ImageListWithCVEFixedQuery() GQLQuery { 95 return GQLQuery{ 96 Name: "ImageListWithCVEFixed", 97 Args: []string{"id", "image", "filter", "requestedPage"}, 98 ReturnType: PaginatedImagesResult(), 99 } 100 } 101 102 func ReferrersQuery() GQLQuery { 103 return GQLQuery{ 104 Name: "Referrers", 105 Args: []string{"repo", "digest", "type"}, 106 ReturnType: Referrer(), 107 } 108 } 109 110 func GlobalSearchQuery() GQLQuery { 111 return GQLQuery{ 112 Name: "GlobalSearch", 113 Args: []string{"query", "filter", "requestedPage"}, 114 ReturnType: GlobalSearchResult(), 115 } 116 }