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  }