80daed081d
Creates a new `GenerateCosmoRouterConfig` function to build and serialize a Cosmo Router configuration from subgraphs. Implements PubSub mechanism for managing schema updates, allowing subscription to updates. Adds Subscription resolver and updates existing structures to accommodate new functionalities. This enhances the system's capabilities for dynamic updates and configuration management.
91 lines
2.1 KiB
Go
91 lines
2.1 KiB
Go
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
|
|
|
|
package model
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type Supergraph interface {
|
|
IsSupergraph()
|
|
}
|
|
|
|
type APIKey struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Key *string `json:"key,omitempty"`
|
|
Organization *Organization `json:"organization"`
|
|
Refs []string `json:"refs"`
|
|
Read bool `json:"read"`
|
|
Publish bool `json:"publish"`
|
|
}
|
|
|
|
type InputAPIKey struct {
|
|
Name string `json:"name"`
|
|
OrganizationID string `json:"organizationId"`
|
|
Refs []string `json:"refs"`
|
|
Read bool `json:"read"`
|
|
Publish bool `json:"publish"`
|
|
}
|
|
|
|
type InputSubGraph struct {
|
|
Ref string `json:"ref"`
|
|
Service string `json:"service"`
|
|
URL *string `json:"url,omitempty"`
|
|
WsURL *string `json:"wsUrl,omitempty"`
|
|
Sdl string `json:"sdl"`
|
|
}
|
|
|
|
type Mutation struct {
|
|
}
|
|
|
|
type Organization struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Users []*User `json:"users"`
|
|
APIKeys []*APIKey `json:"apiKeys"`
|
|
}
|
|
|
|
type Query struct {
|
|
}
|
|
|
|
type SchemaUpdate struct {
|
|
Ref string `json:"ref"`
|
|
ID string `json:"id"`
|
|
SubGraphs []*SubGraph `json:"subGraphs"`
|
|
CosmoRouterConfig *string `json:"cosmoRouterConfig,omitempty"`
|
|
}
|
|
|
|
type SubGraph struct {
|
|
ID string `json:"id"`
|
|
Service string `json:"service"`
|
|
URL *string `json:"url,omitempty"`
|
|
WsURL *string `json:"wsUrl,omitempty"`
|
|
Sdl string `json:"sdl"`
|
|
ChangedBy string `json:"changedBy"`
|
|
ChangedAt time.Time `json:"changedAt"`
|
|
}
|
|
|
|
type SubGraphs struct {
|
|
ID string `json:"id"`
|
|
MinDelaySeconds int `json:"minDelaySeconds"`
|
|
Sdl string `json:"sdl"`
|
|
SubGraphs []*SubGraph `json:"subGraphs"`
|
|
}
|
|
|
|
func (SubGraphs) IsSupergraph() {}
|
|
|
|
type Subscription struct {
|
|
}
|
|
|
|
type Unchanged struct {
|
|
ID string `json:"id"`
|
|
MinDelaySeconds int `json:"minDelaySeconds"`
|
|
}
|
|
|
|
func (Unchanged) IsSupergraph() {}
|
|
|
|
type User struct {
|
|
ID string `json:"id"`
|
|
}
|