Documentation
¶
Index ¶
- func GetMetadataObjectsWithDir(ec *cli.ExecutionContext, dir ...string) metadataobject.Objects
- func PrintContextRichDiffBetweenProjectDirectories(opts PrintContextRichDiffBetweenProjectDirectoriesOpts) error
- type Handler
- func (h *Handler) BuildJSONMetadata() ([]byte, error)
- func (h *Handler) BuildYAMLMetadata() ([]byte, error)
- func (h *Handler) DropInconsistentMetadata() error
- func (h *Handler) ExportMetadata() (map[string][]byte, error)
- func (h *Handler) GetInconsistentMetadata() (bool, []InconsistentMetadataObject, error)
- func (h *Handler) ReloadMetadata() (io.Reader, error)
- func (h *Handler) ResetMetadata() error
- func (h *Handler) SetMetadataObjects(objects metadataobject.Objects)
- func (h *Handler) V1ApplyMetadata() (io.Reader, error)
- func (h *Handler) V2ApplyMetadata(disallowInconsistentMetadata bool) (*hasura.V2ReplaceMetadataResponse, error)
- func (h *Handler) WriteMetadata(files map[string][]byte) error
- type InconsistentMetadataObject
- type Metadata
- type PrintContextRichDiffBetweenProjectDirectoriesOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetMetadataObjectsWithDir ¶
func GetMetadataObjectsWithDir(ec *cli.ExecutionContext, dir ...string) metadataobject.Objects
func PrintContextRichDiffBetweenProjectDirectories ¶
func PrintContextRichDiffBetweenProjectDirectories(opts PrintContextRichDiffBetweenProjectDirectoriesOpts) error
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler will be responsible for interaction between a hasura instance and Objects
func NewHandler ¶
func NewHandler(objects metadataobject.Objects, v1MetadataOps hasura.CommonMetadataOperations, v2MetadataOps hasura.V2CommonMetadataOperations, logger *logrus.Logger) *Handler
func NewHandlerFromEC ¶
func NewHandlerFromEC(ec *cli.ExecutionContext) *Handler
func (*Handler) BuildJSONMetadata ¶ added in v2.5.1
func (*Handler) BuildYAMLMetadata ¶ added in v2.5.1
func (*Handler) DropInconsistentMetadata ¶
func (*Handler) GetInconsistentMetadata ¶
func (h *Handler) GetInconsistentMetadata() (bool, []InconsistentMetadataObject, error)
func (*Handler) ReloadMetadata ¶
ReloadMetadata - Reload Hasura GraphQL Engine metadata on the database
func (*Handler) ResetMetadata ¶
func (*Handler) SetMetadataObjects ¶
func (h *Handler) SetMetadataObjects(objects metadataobject.Objects)
func (*Handler) V2ApplyMetadata ¶
func (h *Handler) V2ApplyMetadata(disallowInconsistentMetadata bool) (*hasura.V2ReplaceMetadataResponse, error)
type InconsistentMetadataObject ¶
type InconsistentMetadataObject struct {
Definition interface{} `json:"definition" mapstructure:"definition"`
Reason interface{} `json:"reason" mapstructure:"reason"`
Type interface{} `json:"type" mapstructure:"type"`
}
func (InconsistentMetadataObject) GetDescription ¶
func (obj InconsistentMetadataObject) GetDescription() string
func (InconsistentMetadataObject) GetName ¶
func (obj InconsistentMetadataObject) GetName() string
func (InconsistentMetadataObject) GetReason ¶
func (obj InconsistentMetadataObject) GetReason() string
func (InconsistentMetadataObject) GetType ¶
func (obj InconsistentMetadataObject) GetType() string
type Metadata ¶ added in v2.5.1
type Metadata struct {
Version interface{} `yaml:"version" mapstructure:"version"`
Sources interface{} `yaml:"sources,omitempty" mapstructure:"sources,omitempty"`
Tables interface{} `yaml:"tables,omitempty" mapstructure:"tables,omitempty"`
Functions interface{} `yaml:"functions,omitempty" mapstructure:"functions,omitempty"`
Actions interface{} `yaml:"actions,omitempty" mapstructure:"actions,omitempty"`
CustomTypes interface{} `yaml:"custom_types,omitempty" mapstructure:"custom_types,omitempty"`
RemoteSchemas interface{} `yaml:"remote_schemas,omitempty" mapstructure:"remote_schemas,omitempty"`
QueryCollections interface{} `yaml:"query_collections,omitempty" mapstructure:"query_collections,omitempty"`
AllowList interface{} `yaml:"allowlist,omitempty" mapstructure:"allowlist,omitempty"`
CronTriggers interface{} `yaml:"cron_triggers,omitempty" mapstructure:"cron_triggers,omitempty"`
Network interface{} `yaml:"network,omitempty" mapstructure:"network,omitempty"`
APILimits interface{} `yaml:"api_limits,omitempty" mapstructure:"api_limits,omitempty"`
RestEndpoints interface{} `yaml:"rest_endpoints,omitempty" mapstructure:"rest_endpoints,omitempty"`
InheritedRoles interface{} `yaml:"inherited_roles,omitempty" mapstructure:"inherited_roles,omitempty"`
Opentelemetry interface{} `yaml:"opentelemetry,omitempty" mapstructure:"opentelemetry,omitempty"`
BackendConfig interface{} `yaml:"backend_configs,omitempty" mapstructure:"backend_configs,omitempty"`
// HGE Pro
GraphQLSchemaIntrospection interface{} `yaml:"graphql_schema_introspection,omitempty" mapstructure:"graphql_schema_introspection,omitempty"`
MetricsConfig interface{} `yaml:"metrics_config,omitempty" mapstructure:"metrics_config,omitempty"`
}
Metadata does not strictly mirror the actual structure of server metadata this is evident in the struct below, because V3 metadata does not contain "tables" / "functions" key
this is rather a utility / helper struct which allow us to unmarshal / marshal metadata bytes in a specific order.
func GenMetadataFromMap ¶ added in v2.5.1
Click to show internal directories.
Click to hide internal directories.