zotregistry.dev/zot@v1.4.4-0.20240314164342-eec277e14d20/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 CVEDiffResult() GQLType { 29 return GQLType{ 30 Name: "CVEDiffResult", 31 } 32 } 33 34 func PaginatedImagesResult() GQLType { 35 return GQLType{ 36 Name: "PaginatedImagesResult", 37 } 38 } 39 40 func Referrer() GQLType { 41 return GQLType{ 42 Name: "Referrer", 43 } 44 } 45 46 func GlobalSearchResult() GQLType { 47 return GQLType{ 48 Name: "GlobalSearchResult", 49 } 50 } 51 52 func ImageListQuery() GQLQuery { 53 return GQLQuery{ 54 Name: "ImageList", 55 Args: []string{"repo", "requestedPage"}, 56 ReturnType: PaginatedImagesResult(), 57 } 58 } 59 60 func CVEDiffListForImagesQuery() GQLQuery { 61 return GQLQuery{ 62 Name: "CVEDiffListForImages", 63 Args: []string{"minuend", "subtrahend", "requestedPage", "searchedCVE", "excludedCVE"}, 64 ReturnType: CVEDiffResult(), 65 } 66 } 67 68 func ImageListForDigestQuery() GQLQuery { 69 return GQLQuery{ 70 Name: "ImageListForDigest", 71 Args: []string{"id", "requestedPage"}, 72 ReturnType: PaginatedImagesResult(), 73 } 74 } 75 76 func BaseImageListQuery() GQLQuery { 77 return GQLQuery{ 78 Name: "BaseImageList", 79 Args: []string{"image", "digest", "requestedPage"}, 80 ReturnType: PaginatedImagesResult(), 81 } 82 } 83 84 func DerivedImageListQuery() GQLQuery { 85 return GQLQuery{ 86 Name: "DerivedImageList", 87 Args: []string{"image", "digest", "requestedPage"}, 88 ReturnType: PaginatedImagesResult(), 89 } 90 } 91 92 func CVEListForImageQuery() GQLQuery { 93 return GQLQuery{ 94 Name: "CVEListForImage", 95 Args: []string{"image", "requestedPage", "searchedCVE", "excludedCVE", "severity"}, 96 ReturnType: CVEResultForImage(), 97 } 98 } 99 100 func ImageListForCVEQuery() GQLQuery { 101 return GQLQuery{ 102 Name: "ImageListForCVE", 103 Args: []string{"id", "filter", "requestedPage"}, 104 ReturnType: PaginatedImagesResult(), 105 } 106 } 107 108 func ImageListWithCVEFixedQuery() GQLQuery { 109 return GQLQuery{ 110 Name: "ImageListWithCVEFixed", 111 Args: []string{"id", "image", "filter", "requestedPage"}, 112 ReturnType: PaginatedImagesResult(), 113 } 114 } 115 116 func ReferrersQuery() GQLQuery { 117 return GQLQuery{ 118 Name: "Referrers", 119 Args: []string{"repo", "digest", "type"}, 120 ReturnType: Referrer(), 121 } 122 } 123 124 func GlobalSearchQuery() GQLQuery { 125 return GQLQuery{ 126 Name: "GlobalSearch", 127 Args: []string{"query", "filter", "requestedPage"}, 128 ReturnType: GlobalSearchResult(), 129 } 130 }