github.com/weaviate/weaviate@v1.24.6/adapters/handlers/graphql/utils/helper_objects.go (about)

     1  //                           _       _
     2  // __      _____  __ ___   ___  __ _| |_ ___
     3  // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
     4  //  \ V  V /  __/ (_| |\ V /| | (_| | ||  __/
     5  //   \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
     6  //
     7  //  Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
     8  //
     9  //  CONTACT: hello@weaviate.io
    10  //
    11  
    12  // Package utils provides utility methods and classes to support the graphql endpoint for Weaviate
    13  package utils
    14  
    15  import (
    16  	"errors"
    17  
    18  	"github.com/tailor-inc/graphql"
    19  )
    20  
    21  // GraphQLNetworkFieldContents contains all objects regarding GraphQL fields
    22  type GraphQLNetworkFieldContents struct {
    23  	NetworkGetObject        *graphql.Object // Object containing all fields for GraphQL Network Get schema generation
    24  	NetworkMetaObject       *graphql.Object // Object containing all fields for GraphQL Network Meta schema generation
    25  	NetworkFetchObject      *graphql.Object // Object containing all fields for GraphQL Network Fetch schema generation
    26  	NetworkIntrospectObject *graphql.Object // Object containing all fields for GraphQL Network Introspect schema generation
    27  	NetworkAggregateObject  *graphql.Object // Object containing all fields for GraphQL Network Aggregate schema generation
    28  }
    29  
    30  // FilterContainer contains all objects regarding GraphQL filters. Some filter elements are declared as global variables in the prototype, this struct achieves the same goal.
    31  type FilterContainer struct {
    32  	WhereOperatorEnum                           *graphql.Enum                   // Object containing all fields for the Where filter
    33  	Operands                                    *graphql.InputObject            // Object containing all Operands
    34  	LocalFilterOptions                          map[string]*graphql.InputObject // Object containing all fields for Local filters
    35  	NetworkFilterOptions                        map[string]*graphql.InputObject // Object containing all fields for Network filters
    36  	FetchThingsActionsWhereFilterArgConf        *graphql.ArgumentConfig         // Object containing the Where filter fields for Fetch Objects
    37  	IntrospectThingsActionsWhereFilterArgConf   *graphql.ArgumentConfig         // Object containing the Where filter fields for Introspect Objects
    38  	WeaviateNetworkWhereKeywordsInpObj          *graphql.InputObject            // Object containing a global filter element
    39  	WeaviateNetworkIntrospectPropertiesObjField *graphql.Field                  // Object containing a global filter element
    40  }
    41  
    42  var ErrEmptySchema = errors.New("there are no classes defined yet")