Documentation
¶
Overview ¶
Package graph implements the admin GraphQL API. The schema lives in schema.graphqls; generated.go and models_gen.go are generated by gqlgen.
Index ¶
- Variables
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- type ActionVisibility
- type AdminAccount
- type AdminAccountInput
- type AdminAccountUpdate
- type AppliedPlan
- type ApplyPlanInput
- type CatalogCounts
- type CatalogCoverage
- type CatalogFilter
- type CatalogInput
- type CatalogLinks
- type CatalogPage
- type CatalogRow
- type ColumnComment
- type CommitInput
- type ComplexityRoot
- type Config
- type Configuration
- type Datasource
- type DatasourceConnection
- type DatasourceRouting
- type DirectiveRoot
- type DraftRevision
- type Entity
- type EntityCapability
- type EntityInput
- type EntityMCP
- type EntityMCPInput
- type EntityVisibility
- type ExecutionStatus
- type FieldInput
- type FieldReference
- type Grant
- type GrantInput
- type ImportColumn
- type ImportForeignKey
- type ImportIndex
- type ImportKey
- type ImportStatus
- type ImportTable
- type LaneStatus
- type McpToken
- type McpTokenInput
- type McpTokenSecret
- type Mutation
- type MutationResolver
- type PendingPlan
- type PendingState
- type PendingStateInput
- type PendingTable
- type PendingWork
- type PlanChange
- type PlanException
- type PlanObjects
- type PlanPreview
- type PlanPreviewInput
- type PlanReport
- type PlanTemplate
- type PlanTemplateInput
- type Privilege
- type PublishInput
- type Query
- type QueryResolver
- type Relationship
- type RelationshipInput
- type Resolver
- type ResolverRoot
- type Revision
- type RevisionResolver
- type RevisionState
- type Role
- type RoleInput
- type RollbackInput
- type RuntimeState
- type ScanBatch
- type ScanBatchInput
- type ScanBatchItem
- type ScanJob
- type SchemaImport
- type SchemaInfo
- type SchemaList
- type ScopeCondition
- type ScopeStats
- type ServerStatus
- type SetAdminPasswordInput
- type Simulation
- type SimulationInput
- type SlotStatus
- type TableComments
- type TableLink
- type TableRef
- type TaskStatus
- type UnappliedRevision
- type UnscannedSchemas
- type User
- type UserInput
- type UserToken
- type Validation
- type VisibilityInput
- type Workspace
- type WorkspaceConflict
- type WorkspaceEditInput
- type WorkspaceItemInput
- type WorkspaceLogEntry
- type WorkspaceNote
- type WorkspaceRef
Constants ¶
This section is empty.
Variables ¶
var AllImportStatus = []ImportStatus{ ImportStatusNew, ImportStatusConfigured, }
var AllPrivilege = []Privilege{ PrivilegeGranted, PrivilegeDenied, PrivilegeUnknown, }
var AllRevisionState = []RevisionState{ RevisionStateDraft, RevisionStatePublished, RevisionStateSuperseded, RevisionStateRolledBack, RevisionStateDiscarded, }
Functions ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type ActionVisibility ¶
type ActionVisibility struct {
Action string `json:"action"`
Result *configapp.Simulation `json:"result"`
}
type AdminAccount ¶
type AdminAccountInput ¶
type AdminAccountUpdate ¶
type AppliedPlan ¶ added in v0.1.13
type AppliedPlan = configapp.AppliedPlan
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ApplyPlanInput ¶ added in v0.1.13
type ApplyPlanInput struct {
Plan any `json:"plan"`
PlanID string `json:"planId"`
// Previewed as a review.
Review *bool `json:"review,omitempty"`
// The IDs of the exceptions to confirm, every one of them, as the administrator confirmed them.
Confirmed []string `json:"confirmed,omitempty"`
}
A plan previewed (planId) to write into the signed-in administrator's workspace.
type CatalogCounts ¶ added in v0.1.13
type CatalogCounts = configapp.CatalogCounts
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type CatalogCoverage ¶ added in v0.1.13
type CatalogCoverage = configapp.CatalogCoverage
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type CatalogFilter ¶ added in v0.1.13
type CatalogFilter = configapp.CatalogFilter
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type CatalogInput ¶ added in v0.1.13
type CatalogInput struct {
Filter *configapp.CatalogFilter `json:"filter"`
Offset *int `json:"offset,omitempty"`
// At most 500.
Limit *int `json:"limit,omitempty"`
}
type CatalogLinks ¶ added in v0.1.13
type CatalogLinks = configapp.CatalogLinks
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type CatalogPage ¶ added in v0.1.13
type CatalogPage = configapp.CatalogPage
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type CatalogRow ¶ added in v0.1.13
type CatalogRow = configapp.CatalogRow
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ColumnComment ¶
type CommitInput ¶ added in v0.1.13
type CommitInput = configapp.CommitInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ComplexityRoot ¶
type ComplexityRoot struct {
ActionVisibility struct {
Action func(childComplexity int) int
Result func(childComplexity int) int
}
AdminAccount struct {
CreatedAt func(childComplexity int) int
Disabled func(childComplexity int) int
Permissions func(childComplexity int) int
UpdatedAt func(childComplexity int) int
Username func(childComplexity int) int
}
AppliedPlan struct {
Items func(childComplexity int) int
}
CatalogCounts struct {
All func(childComplexity int) int
Drift func(childComplexity int) int
New func(childComplexity int) int
Published func(childComplexity int) int
Workspace func(childComplexity int) int
}
CatalogCoverage struct {
Datasource func(childComplexity int) int
Listed func(childComplexity int) int
OldestScan func(childComplexity int) int
Scanned func(childComplexity int) int
Unscanned func(childComplexity int) int
}
CatalogLinks struct {
Incoming func(childComplexity int) int
Outgoing func(childComplexity int) int
}
CatalogPage struct {
Counts func(childComplexity int) int
Coverage func(childComplexity int) int
Tables func(childComplexity int) int
Total func(childComplexity int) int
}
CatalogRow struct {
Added func(childComplexity int) int
Columns func(childComplexity int) int
Datasource func(childComplexity int) int
Description func(childComplexity int) int
Entity func(childComplexity int) int
ForeignKeys func(childComplexity int) int
HasKey func(childComplexity int) int
Missing func(childComplexity int) int
Ref func(childComplexity int) int
ReferencedBy func(childComplexity int) int
ScannedAt func(childComplexity int) int
Schema func(childComplexity int) int
SideEffects func(childComplexity int) int
Status func(childComplexity int) int
Table func(childComplexity int) int
View func(childComplexity int) int
}
ColumnComment struct {
Description func(childComplexity int) int
Name func(childComplexity int) int
}
Configuration struct {
Datasources func(childComplexity int) int
Entities func(childComplexity int) int
Roles func(childComplexity int) int
Settings func(childComplexity int) int
Users func(childComplexity int) int
}
Datasource struct {
Connections func(childComplexity int) int
Driver func(childComplexity int) int
Dsn func(childComplexity int) int
Name func(childComplexity int) int
ReadAfterWrite func(childComplexity int) int
Routing func(childComplexity int) int
}
DatasourceConnection struct {
Dsn func(childComplexity int) int
Name func(childComplexity int) int
Pooler func(childComplexity int) int
Role func(childComplexity int) int
}
DatasourceRouting struct {
Execute func(childComplexity int) int
Read func(childComplexity int) int
Write func(childComplexity int) int
}
DraftRevision struct {
BasedOn func(childComplexity int) int
Revision func(childComplexity int) int
}
Entity struct {
Affects func(childComplexity int) int
AllowCascade func(childComplexity int) int
Datasource func(childComplexity int) int
Description func(childComplexity int) int
Fields func(childComplexity int) int
Kind func(childComplexity int) int
LegacyAccess func(childComplexity int) int
Mcp func(childComplexity int) int
Name func(childComplexity int) int
Params func(childComplexity int) int
PrimaryKey func(childComplexity int) int
Relationships func(childComplexity int) int
Schema func(childComplexity int) int
Source func(childComplexity int) int
TenantPolicy func(childComplexity int) int
UniqueKeys func(childComplexity int) int
}
EntityCapability struct {
Action func(childComplexity int) int
Columns func(childComplexity int) int
Connection func(childComplexity int) int
Entity func(childComplexity int) int
Privilege func(childComplexity int) int
Reason func(childComplexity int) int
}
EntityMCP struct {
CustomTool func(childComplexity int) int
DmlTools func(childComplexity int) int
TrustedProcedure func(childComplexity int) int
}
EntityVisibility struct {
Actions func(childComplexity int) int
Entity func(childComplexity int) int
}
ExecutionStatus struct {
Aux func(childComplexity int) int
Io func(childComplexity int) int
Lanes func(childComplexity int) int
Tasks func(childComplexity int) int
}
Field struct {
Alias func(childComplexity int) int
Description func(childComplexity int) int
Exclude func(childComplexity int) int
Mask func(childComplexity int) int
Name func(childComplexity int) int
}
FieldReference struct {
Field func(childComplexity int) int
Kind func(childComplexity int) int
Name func(childComplexity int) int
Via func(childComplexity int) int
}
Grant struct {
Actions func(childComplexity int) int
Entity func(childComplexity int) int
FieldsRestricted func(childComplexity int) int
ReadFields func(childComplexity int) int
Rows func(childComplexity int) int
WriteFields func(childComplexity int) int
}
ImportColumn struct {
Description func(childComplexity int) int
Name func(childComplexity int) int
Nullable func(childComplexity int) int
PrimaryKey func(childComplexity int) int
Type func(childComplexity int) int
}
ImportForeignKey struct {
Columns func(childComplexity int) int
Name func(childComplexity int) int
OnDelete func(childComplexity int) int
OnUpdate func(childComplexity int) int
RefColumns func(childComplexity int) int
RefSchema func(childComplexity int) int
RefTable func(childComplexity int) int
}
ImportIndex struct {
Method func(childComplexity int) int
Name func(childComplexity int) int
Parts func(childComplexity int) int
Primary func(childComplexity int) int
Unique func(childComplexity int) int
Where func(childComplexity int) int
}
ImportKey struct {
Columns func(childComplexity int) int
Name func(childComplexity int) int
Primary func(childComplexity int) int
Reason func(childComplexity int) int
}
ImportTable struct {
Candidate func(childComplexity int) int
Columns func(childComplexity int) int
ConfiguredAs func(childComplexity int) int
Description func(childComplexity int) int
ForeignKeys func(childComplexity int) int
Indexes func(childComplexity int) int
Keys func(childComplexity int) int
Schema func(childComplexity int) int
SideEffects func(childComplexity int) int
Status func(childComplexity int) int
Table func(childComplexity int) int
}
LaneStatus struct {
Completed func(childComplexity int) int
Inflight func(childComplexity int) int
MaxConcurrent func(childComplexity int) int
MaxQueue func(childComplexity int) int
Name func(childComplexity int) int
Queued func(childComplexity int) int
Rejected func(childComplexity int) int
}
McpToken struct {
CreatedAt func(childComplexity int) int
Datasources func(childComplexity int) int
ExpiresAt func(childComplexity int) int
ID func(childComplexity int) int
LastUsedAt func(childComplexity int) int
Name func(childComplexity int) int
Retired func(childComplexity int) int
}
McpTokenSecret struct {
Info func(childComplexity int) int
Token func(childComplexity int) int
}
Mutation struct {
ApplyPlan func(childComplexity int, input ApplyPlanInput) int
CancelScanBatch func(childComplexity int, id string) int
CancelSchemaScan func(childComplexity int, id string) int
CheckpointWorkspace func(childComplexity int, comment *string) int
CommitWorkspace func(childComplexity int, input configapp.CommitInput) int
CreateAdminAccount func(childComplexity int, input AdminAccountInput) int
CreateMcpToken func(childComplexity int, input configapp.McpTokenInput) int
DeletePlanTemplate func(childComplexity int, name string) int
DiscardDraft func(childComplexity int, id string) int
EditWorkspace func(childComplexity int, input configapp.WorkspaceEditInput) int
GenerateUserToken func(childComplexity int) int
MergeDraft func(childComplexity int, id string) int
Publish func(childComplexity int, input PublishInput) int
ResetWorkspace func(childComplexity int, to string) int
ResolveConflict func(childComplexity int, id string, theirs bool) int
RetryScanBatch func(childComplexity int, id string) int
RevokeMcpToken func(childComplexity int, id string) int
Rollback func(childComplexity int, input RollbackInput) int
SavePlanTemplate func(childComplexity int, input configapp.PlanTemplateInput) int
SetAdminPassword func(childComplexity int, input SetAdminPasswordInput) int
SetPendingState func(childComplexity int, input configapp.PendingStateInput) int
StartScanBatch func(childComplexity int, input configapp.ScanBatchInput) int
StartSchemaScan func(childComplexity int, datasource string, schemas []string) int
UpdateAdminAccount func(childComplexity int, input AdminAccountUpdate) int
UpdateWorkspace func(childComplexity int, to string) int
}
PendingPlan struct {
Key func(childComplexity int) int
Report func(childComplexity int) int
State func(childComplexity int) int
Template func(childComplexity int) int
}
PendingState struct {
Key func(childComplexity int) int
Owner func(childComplexity int) int
Reason func(childComplexity int) int
Status func(childComplexity int) int
Until func(childComplexity int) int
UpdatedAt func(childComplexity int) int
UpdatedBy func(childComplexity int) int
}
PendingTable struct {
Added func(childComplexity int) int
Entity func(childComplexity int) int
Key func(childComplexity int) int
Missing func(childComplexity int) int
Ref func(childComplexity int) int
State func(childComplexity int) int
}
PendingWork struct {
Drift func(childComplexity int) int
DriftTables func(childComplexity int) int
NewTables func(childComplexity int) int
Plans func(childComplexity int) int
UnlistedDatasources func(childComplexity int) int
UnscannedSchemas func(childComplexity int) int
}
PlanChange struct {
Actions func(childComplexity int) int
Entities func(childComplexity int) int
Fields func(childComplexity int) int
Kind func(childComplexity int) int
Mask func(childComplexity int) int
Principal func(childComplexity int) int
}
PlanException struct {
Detail func(childComplexity int) int
Entity func(childComplexity int) int
ID func(childComplexity int) int
Kind func(childComplexity int) int
Level func(childComplexity int) int
Ref func(childComplexity int) int
Warning func(childComplexity int) int
}
PlanObjects struct {
Changed func(childComplexity int) int
Datasource func(childComplexity int) int
Imported func(childComplexity int) int
Schema func(childComplexity int) int
Tables func(childComplexity int) int
}
PlanPreview struct {
Added func(childComplexity int) int
Entities func(childComplexity int) int
PlanID func(childComplexity int) int
Report func(childComplexity int) int
Roles func(childComplexity int) int
Users func(childComplexity int) int
Validation func(childComplexity int) int
}
PlanReport struct {
Changes func(childComplexity int) int
Exceptions func(childComplexity int) int
Excluded func(childComplexity int) int
Matched func(childComplexity int) int
Objects func(childComplexity int) int
ScannedFrom func(childComplexity int) int
ScannedTo func(childComplexity int) int
Unscanned func(childComplexity int) int
}
PlanTemplate struct {
Author func(childComplexity int) int
Name func(childComplexity int) int
Plan func(childComplexity int) int
Recurring func(childComplexity int) int
UpdatedAt func(childComplexity int) int
Version func(childComplexity int) int
}
Query struct {
AdminAccounts func(childComplexity int) int
Capabilities func(childComplexity int) int
Catalog func(childComplexity int, input CatalogInput) int
CatalogLinks func(childComplexity int, ref string) int
CatalogRefs func(childComplexity int, filter configapp.CatalogFilter) int
CatalogTable func(childComplexity int, ref string) int
ConfigSchema func(childComplexity int) int
Diff func(childComplexity int, from string, to *string) int
Drafts func(childComplexity int) int
FieldReferences func(childComplexity int, entity string) int
McpTokens func(childComplexity int) int
Me func(childComplexity int) int
Pending func(childComplexity int) int
PendingLog func(childComplexity int, key string) int
PlanScope func(childComplexity int, scope any) int
PlanTemplateVersions func(childComplexity int, name string) int
PlanTemplates func(childComplexity int) int
PreviewPlan func(childComplexity int, input PlanPreviewInput) int
Published func(childComplexity int) int
Revision func(childComplexity int, id string) int
Revisions func(childComplexity int, limit *int) int
ScanBatches func(childComplexity int, datasource string) int
SchemaList func(childComplexity int, datasource string, refresh *bool) int
SchemaScan func(childComplexity int, id string) int
SchemaTables func(childComplexity int, datasource string, schemas []string) int
ServerStatus func(childComplexity int) int
Simulate func(childComplexity int, input SimulationInput) int
TableComments func(childComplexity int, tables []TableRef) int
Validate func(childComplexity int, revision *string) int
Visibility func(childComplexity int, input VisibilityInput) int
Workspace func(childComplexity int) int
WorkspaceLog func(childComplexity int, limit *int) int
}
Relationship struct {
Cardinality func(childComplexity int) int
JoinOn func(childComplexity int) int
Name func(childComplexity int) int
Target func(childComplexity int) int
}
Revision struct {
Author func(childComplexity int) int
Comment func(childComplexity int) int
Config func(childComplexity int) int
ContentHash func(childComplexity int) int
CreatedAt func(childComplexity int) int
ID func(childComplexity int) int
Parent func(childComplexity int) int
PublishedAt func(childComplexity int) int
Sections func(childComplexity int) int
State func(childComplexity int) int
Yaml func(childComplexity int) int
}
Role struct {
Description func(childComplexity int) int
Grants func(childComplexity int) int
Name func(childComplexity int) int
}
ScanBatch struct {
Canceled func(childComplexity int) int
Datasource func(childComplexity int) int
Done func(childComplexity int) int
Failed func(childComplexity int) int
FinishedAt func(childComplexity int) int
ID func(childComplexity int) int
Items func(childComplexity int) int
Pending func(childComplexity int) int
StartedAt func(childComplexity int) int
StartedBy func(childComplexity int) int
State func(childComplexity int) int
Total func(childComplexity int) int
}
ScanBatchItem struct {
Error func(childComplexity int) int
Schema func(childComplexity int) int
State func(childComplexity int) int
}
ScanJob struct {
Datasource func(childComplexity int) int
Error func(childComplexity int) int
ID func(childComplexity int) int
State func(childComplexity int) int
}
SchemaImport struct {
Datasource func(childComplexity int) int
DefaultSchema func(childComplexity int) int
Source func(childComplexity int) int
Tables func(childComplexity int) int
}
SchemaInfo struct {
Name func(childComplexity int) int
ScannedAt func(childComplexity int) int
Tables func(childComplexity int) int
}
SchemaList struct {
Datasource func(childComplexity int) int
DefaultSchema func(childComplexity int) int
ListedAt func(childComplexity int) int
Schemas func(childComplexity int) int
Source func(childComplexity int) int
}
ScopeCondition struct {
Matched func(childComplexity int) int
Name func(childComplexity int) int
Value func(childComplexity int) int
}
ScopeStats struct {
Conditions func(childComplexity int) int
Samples func(childComplexity int) int
Total func(childComplexity int) int
}
ServerStatus struct {
AppliedRevision func(childComplexity int) int
Execution func(childComplexity int) int
Unapplied func(childComplexity int) int
Watching func(childComplexity int) int
}
Simulation struct {
Allowed func(childComplexity int) int
FieldScopes func(childComplexity int) int
Fields func(childComplexity int) int
Grants func(childComplexity int) int
Reason func(childComplexity int) int
RowFilter func(childComplexity int) int
}
SlotStatus struct {
Size func(childComplexity int) int
Used func(childComplexity int) int
Waiting func(childComplexity int) int
}
TableComments struct {
Columns func(childComplexity int) int
Description func(childComplexity int) int
}
TableLink struct {
Columns func(childComplexity int) int
Entity func(childComplexity int) int
Name func(childComplexity int) int
Ref func(childComplexity int) int
RefColumns func(childComplexity int) int
}
TaskStatus struct {
Name func(childComplexity int) int
Running func(childComplexity int) int
}
UnappliedRevision struct {
Error func(childComplexity int) int
ID func(childComplexity int) int
RestartRequired func(childComplexity int) int
}
UnscannedSchemas struct {
Datasource func(childComplexity int) int
Schemas func(childComplexity int) int
}
User struct {
Description func(childComplexity int) int
Disabled func(childComplexity int) int
Grants func(childComplexity int) int
Name func(childComplexity int) int
Roles func(childComplexity int) int
Subject func(childComplexity int) int
TokenHash func(childComplexity int) int
}
UserToken struct {
Token func(childComplexity int) int
TokenHash func(childComplexity int) int
}
Validation struct {
ContentHash func(childComplexity int) int
Error func(childComplexity int) int
Ok func(childComplexity int) int
RestartRequired func(childComplexity int) int
Warnings func(childComplexity int) int
}
Workspace struct {
Base func(childComplexity int) int
Checkpoint func(childComplexity int) int
Conflicts func(childComplexity int) int
Notes func(childComplexity int) int
Sections func(childComplexity int) int
Taken func(childComplexity int) int
UpdatedAt func(childComplexity int) int
UpdatedBy func(childComplexity int) int
Version func(childComplexity int) int
}
WorkspaceConflict struct {
FromBy func(childComplexity int) int
FromID func(childComplexity int) int
ID func(childComplexity int) int
Key func(childComplexity int) int
Kind func(childComplexity int) int
Mine func(childComplexity int) int
MineGone func(childComplexity int) int
Path func(childComplexity int) int
Source func(childComplexity int) int
Theirs func(childComplexity int) int
TheirsGone func(childComplexity int) int
}
WorkspaceLogEntry struct {
At func(childComplexity int) int
By func(childComplexity int) int
Items func(childComplexity int) int
Note func(childComplexity int) int
Op func(childComplexity int) int
Version func(childComplexity int) int
}
WorkspaceNote struct {
By func(childComplexity int) int
Source func(childComplexity int) int
Text func(childComplexity int) int
}
WorkspaceRef struct {
Key func(childComplexity int) int
Kind func(childComplexity int) int
}
}
type Config ¶
type Config = graphql.Config[ResolverRoot, DirectiveRoot, ComplexityRoot]
type Configuration ¶
type Configuration struct {
Datasources []Datasource
Entities []Entity
Roles []Role
Users []User
Settings any
}
Configuration is the read model of a configuration: its datasources (with secrets redacted) and its sections as the workspace holds them, item by item (configapp.Sections).
type Datasource ¶
type Datasource struct {
Name string `json:"name"`
Driver string `json:"driver"`
// The read connection's DSN with passwords redacted.
Dsn string `json:"dsn"`
Connections []DatasourceConnection `json:"connections"`
// The connection reads, writes and procedure calls use.
Routing *DatasourceRouting `json:"routing"`
// How long a session reads from the write connection after writing (a Go duration); empty when off.
ReadAfterWrite *string `json:"readAfterWrite,omitempty"`
}
type DatasourceConnection ¶
type DatasourceRouting ¶
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type DraftRevision ¶ added in v0.1.13
type Entity ¶
type Entity = configapp.EntityItem
The configuration read model is the workspace's items: a value as the configuration says it, null when unset. (Field is bound in gqlgen.yml: an alias of that name would also bind the introspection type __Field.)
type EntityCapability ¶
type EntityCapability struct {
Entity string `json:"entity"`
Action string `json:"action"`
Privilege Privilege `json:"privilege"`
// The connection the action routes to.
Connection string `json:"connection"`
// Columns granted at column level when the table-level privilege is not.
Columns []string `json:"columns,omitempty"`
Reason *string `json:"reason,omitempty"`
}
type EntityInput ¶
type EntityInput struct {
Name string `json:"name"`
Source *string `json:"source,omitempty"`
Datasource *string `json:"datasource,omitempty"`
Schema *string `json:"schema,omitempty"`
Kind *string `json:"kind,omitempty"`
Description *string `json:"description,omitempty"`
PrimaryKey []string `json:"primaryKey,omitempty"`
UniqueKeys [][]string `json:"uniqueKeys,omitempty"`
Fields []FieldInput `json:"fields,omitempty"`
Relationships []RelationshipInput `json:"relationships,omitempty"`
TenantPolicy any `json:"tenantPolicy,omitempty"`
LegacyAccess any `json:"legacyAccess,omitempty"`
Mcp *EntityMCPInput `json:"mcp,omitempty"`
Params []string `json:"params,omitempty"`
Affects []string `json:"affects,omitempty"`
AllowCascade *bool `json:"allowCascade,omitempty"`
}
type EntityMCP ¶ added in v0.1.13
type EntityMCP = configapp.EntityMCPItem
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type EntityMCPInput ¶
type EntityVisibility ¶
type EntityVisibility struct {
Entity string `json:"entity"`
// One result per action that applies to the entity kind.
Actions []ActionVisibility `json:"actions"`
}
type ExecutionStatus ¶ added in v0.1.13
type ExecutionStatus struct {
// IO slots every lane draws on.
Io *SlotStatus `json:"io"`
// The part of the IO slots the lanes other than serve hold together.
Aux *SlotStatus `json:"aux"`
Lanes []LaneStatus `json:"lanes"`
// Background tasks running, by name.
Tasks []TaskStatus `json:"tasks"`
}
type FieldInput ¶
type FieldReference ¶ added in v0.1.13
type FieldReference = configapp.FieldReference
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type Grant ¶
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type GrantInput ¶
type ImportColumn ¶
type ImportForeignKey ¶
type ImportForeignKey struct {
Name string `json:"name"`
Columns []string `json:"columns"`
RefSchema string `json:"refSchema"`
RefTable string `json:"refTable"`
RefColumns []string `json:"refColumns"`
// Referential action that writes referencing rows (cascade, set_null, set_default); null when it only checks.
OnDelete *string `json:"onDelete,omitempty"`
OnUpdate *string `json:"onUpdate,omitempty"`
}
type ImportIndex ¶ added in v0.1.12
type ImportIndex struct {
Name string `json:"name"`
// The database's name for the index structure, lower-cased: for example
// btree, hash, gin, gist, brin, spgist (PostgreSQL); btree, hash, fulltext,
// spatial (MySQL, OceanBase).
Method string `json:"method"`
// Key parts in order: a column, a column prefix such as title(20), or an
// expression as the database prints it; parts the database does not report
// are left out (empty when it reports none).
Parts []string `json:"parts"`
Unique bool `json:"unique"`
Primary bool `json:"primary"`
// The predicate of a partial index; null for a full one.
Where *string `json:"where,omitempty"`
}
type ImportStatus ¶
type ImportStatus string
const ( // No configured entity reads this table. ImportStatusNew ImportStatus = "NEW" // An entity of the same datasource already reads this table. ImportStatusConfigured ImportStatus = "CONFIGURED" )
func (ImportStatus) IsValid ¶
func (e ImportStatus) IsValid() bool
func (ImportStatus) MarshalGQL ¶
func (e ImportStatus) MarshalGQL(w io.Writer)
func (ImportStatus) MarshalJSON ¶
func (e ImportStatus) MarshalJSON() ([]byte, error)
func (ImportStatus) String ¶
func (e ImportStatus) String() string
func (*ImportStatus) UnmarshalGQL ¶
func (e *ImportStatus) UnmarshalGQL(v any) error
func (*ImportStatus) UnmarshalJSON ¶
func (e *ImportStatus) UnmarshalJSON(b []byte) error
type ImportTable ¶
type ImportTable struct {
Schema string `json:"schema"`
Table string `json:"table"`
Description string `json:"description"`
Status ImportStatus `json:"status"`
// The configured entity name when status is CONFIGURED.
ConfiguredAs *string `json:"configuredAs,omitempty"`
Columns []ImportColumn `json:"columns"`
// The primary key and unique keys, including those that cannot identify a row.
Keys []ImportKey `json:"keys"`
// Every index, in the database's own terms; the unique ones are also keys.
Indexes []ImportIndex `json:"indexes"`
ForeignKeys []ImportForeignKey `json:"foreignKeys"`
// Triggers or rules: a write may change other tables.
SideEffects bool `json:"sideEffects"`
// A zero-permission entity proposal; add it to a draft to configure it.
Candidate *configapp.EntityItem `json:"candidate"`
}
type LaneStatus ¶ added in v0.1.13
type LaneStatus struct {
// serve, admin, scan or background.
Name string `json:"name"`
MaxConcurrent int `json:"maxConcurrent"`
MaxQueue int `json:"maxQueue"`
Inflight int `json:"inflight"`
Queued int `json:"queued"`
// Work turned away since the process started.
Rejected int `json:"rejected"`
// Work run since the process started.
Completed int `json:"completed"`
}
type McpToken ¶ added in v0.1.13
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type McpTokenInput ¶ added in v0.1.13
type McpTokenInput = configapp.McpTokenInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type McpTokenSecret ¶ added in v0.1.13
type McpTokenSecret = configapp.McpTokenSecret
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type MutationResolver ¶
type MutationResolver interface {
StartSchemaScan(ctx context.Context, datasource string, schemas []string) (*configapp.ScanJob, error)
CancelSchemaScan(ctx context.Context, id string) (*configapp.ScanJob, error)
Publish(ctx context.Context, input PublishInput) (*Revision, error)
Rollback(ctx context.Context, input RollbackInput) (*Revision, error)
DiscardDraft(ctx context.Context, id string) (*Revision, error)
GenerateUserToken(ctx context.Context) (*UserToken, error)
CreateAdminAccount(ctx context.Context, input AdminAccountInput) (*AdminAccount, error)
UpdateAdminAccount(ctx context.Context, input AdminAccountUpdate) (*AdminAccount, error)
SetAdminPassword(ctx context.Context, input SetAdminPasswordInput) (*AdminAccount, error)
EditWorkspace(ctx context.Context, input configapp.WorkspaceEditInput) (*configapp.Workspace, error)
ApplyPlan(ctx context.Context, input ApplyPlanInput) (*configapp.AppliedPlan, error)
UpdateWorkspace(ctx context.Context, to string) (*configapp.Workspace, error)
ResetWorkspace(ctx context.Context, to string) (*configapp.Workspace, error)
MergeDraft(ctx context.Context, id string) (*configapp.Workspace, error)
ResolveConflict(ctx context.Context, id string, theirs bool) (*configapp.Workspace, error)
CheckpointWorkspace(ctx context.Context, comment *string) (*Revision, error)
CommitWorkspace(ctx context.Context, input configapp.CommitInput) (*Revision, error)
SavePlanTemplate(ctx context.Context, input configapp.PlanTemplateInput) (*configapp.PlanTemplate, error)
DeletePlanTemplate(ctx context.Context, name string) (bool, error)
SetPendingState(ctx context.Context, input configapp.PendingStateInput) (*configapp.PendingState, error)
CreateMcpToken(ctx context.Context, input configapp.McpTokenInput) (*configapp.McpTokenSecret, error)
RevokeMcpToken(ctx context.Context, id string) (bool, error)
StartScanBatch(ctx context.Context, input configapp.ScanBatchInput) (*configapp.ScanBatch, error)
CancelScanBatch(ctx context.Context, id string) (*configapp.ScanBatch, error)
RetryScanBatch(ctx context.Context, id string) (*configapp.ScanBatch, error)
}
type PendingPlan ¶ added in v0.1.13
type PendingPlan = configapp.PendingPlan
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PendingState ¶ added in v0.1.13
type PendingState = configapp.PendingState
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PendingStateInput ¶ added in v0.1.13
type PendingStateInput = configapp.PendingStateInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PendingTable ¶ added in v0.1.13
type PendingTable = configapp.PendingTable
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PendingWork ¶ added in v0.1.13
type PendingWork = configapp.PendingWork
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PlanChange ¶ added in v0.1.13
type PlanChange = configapp.PlanChange
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PlanException ¶ added in v0.1.13
type PlanException = configapp.PlanException
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PlanObjects ¶ added in v0.1.13
type PlanObjects = configapp.PlanObjects
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PlanPreview ¶ added in v0.1.13
type PlanPreview struct {
// Identifies the plan with what it was evaluated against (base revision,
// workspace and scans); an agent applies a plan only while it still evaluates to it.
PlanID string `json:"planId"`
Report *configapp.PlanReport `json:"report"`
// Entities added or changed, whole.
Entities []configapp.EntityItem `json:"entities"`
// IDs of the entities added.
Added []string `json:"added"`
// Roles and users added or changed, whole.
Roles []configapp.RoleItem `json:"roles"`
Users []configapp.UserItem `json:"users"`
// The draft with the plan applied, as validate checks it.
Validation *configapp.Validation `json:"validation"`
}
type PlanPreviewInput ¶ added in v0.1.13
type PlanReport ¶ added in v0.1.13
type PlanReport = configapp.PlanReport
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PlanTemplate ¶ added in v0.1.13
type PlanTemplate = configapp.PlanTemplate
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type PlanTemplateInput ¶ added in v0.1.13
type PlanTemplateInput = configapp.PlanTemplateInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type Privilege ¶
type Privilege string
func (Privilege) MarshalGQL ¶
func (Privilege) MarshalJSON ¶
func (*Privilege) UnmarshalGQL ¶
func (*Privilege) UnmarshalJSON ¶
type PublishInput ¶
type PublishInput struct {
// The draft to publish.
ID string `json:"id"`
RestartRequired *bool `json:"restartRequired,omitempty"`
// The published revision the caller based its work on; when another revision
// was published since, publish fails with extensions.code CONFLICT.
ExpectedPublished *string `json:"expectedPublished,omitempty"`
}
type QueryResolver ¶
type QueryResolver interface {
Me(ctx context.Context) (*AdminAccount, error)
ServerStatus(ctx context.Context) (*ServerStatus, error)
ConfigSchema(ctx context.Context) (any, error)
Published(ctx context.Context) (*Revision, error)
Revision(ctx context.Context, id string) (*Revision, error)
Revisions(ctx context.Context, limit *int) ([]Revision, error)
SchemaList(ctx context.Context, datasource string, refresh *bool) (*configapp.SchemaList, error)
SchemaTables(ctx context.Context, datasource string, schemas []string) (*SchemaImport, error)
SchemaScan(ctx context.Context, id string) (*configapp.ScanJob, error)
TableComments(ctx context.Context, tables []TableRef) ([]*TableComments, error)
Validate(ctx context.Context, revision *string) (*configapp.Validation, error)
Capabilities(ctx context.Context) ([]EntityCapability, error)
Diff(ctx context.Context, from string, to *string) (string, error)
Simulate(ctx context.Context, input SimulationInput) (*configapp.Simulation, error)
Visibility(ctx context.Context, input VisibilityInput) ([]EntityVisibility, error)
AdminAccounts(ctx context.Context) ([]AdminAccount, error)
Catalog(ctx context.Context, input CatalogInput) (*configapp.CatalogPage, error)
CatalogRefs(ctx context.Context, filter configapp.CatalogFilter) ([]string, error)
CatalogTable(ctx context.Context, ref string) (*ImportTable, error)
CatalogLinks(ctx context.Context, ref string) (*configapp.CatalogLinks, error)
PlanScope(ctx context.Context, scope any) (*configapp.ScopeStats, error)
PreviewPlan(ctx context.Context, input PlanPreviewInput) (*PlanPreview, error)
PlanTemplates(ctx context.Context) ([]configapp.PlanTemplate, error)
PlanTemplateVersions(ctx context.Context, name string) ([]configapp.PlanTemplate, error)
Pending(ctx context.Context) (*configapp.PendingWork, error)
PendingLog(ctx context.Context, key string) ([]configapp.PendingState, error)
Workspace(ctx context.Context) (*configapp.Workspace, error)
WorkspaceLog(ctx context.Context, limit *int) ([]configapp.WorkspaceLogEntry, error)
FieldReferences(ctx context.Context, entity string) ([]configapp.FieldReference, error)
Drafts(ctx context.Context) ([]DraftRevision, error)
McpTokens(ctx context.Context) ([]configapp.McpToken, error)
ScanBatches(ctx context.Context, datasource string) ([]configapp.ScanBatch, error)
}
type Relationship ¶
type Relationship = configapp.RelationshipItem
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type RelationshipInput ¶
type Resolver ¶
type Resolver struct {
App *configapp.Service
Accounts accounts.Service
// Status reports the serving process; nil reports nothing applied.
Status func() RuntimeState
}
Resolver is the root resolver. It holds no per-request state: the configuration service holds the business rules and the resolvers adapt GraphQL to it.
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
Mutation returns MutationResolver implementation.
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
Query returns QueryResolver implementation.
func (*Resolver) Revision ¶
func (r *Resolver) Revision() RevisionResolver
Revision returns RevisionResolver implementation.
type ResolverRoot ¶
type ResolverRoot interface {
Mutation() MutationResolver
Query() QueryResolver
Revision() RevisionResolver
}
type Revision ¶
type Revision struct {
ID string
Parent *string
State RevisionState
ContentHash string
Author string
Comment string
CreatedAt time.Time
PublishedAt *time.Time
// contains filtered or unexported fields
}
Revision is the GraphQL Revision. The payload stays private: config and yaml are resolved from it only when a query selects them.
type RevisionResolver ¶
type RevisionState ¶
type RevisionState string
const ( RevisionStateDraft RevisionState = "DRAFT" RevisionStatePublished RevisionState = "PUBLISHED" RevisionStateSuperseded RevisionState = "SUPERSEDED" RevisionStateRolledBack RevisionState = "ROLLED_BACK" // A draft an administrator decided not to publish. RevisionStateDiscarded RevisionState = "DISCARDED" )
func (RevisionState) IsValid ¶
func (e RevisionState) IsValid() bool
func (RevisionState) MarshalGQL ¶
func (e RevisionState) MarshalGQL(w io.Writer)
func (RevisionState) MarshalJSON ¶
func (e RevisionState) MarshalJSON() ([]byte, error)
func (RevisionState) String ¶
func (e RevisionState) String() string
func (*RevisionState) UnmarshalGQL ¶
func (e *RevisionState) UnmarshalGQL(v any) error
func (*RevisionState) UnmarshalJSON ¶
func (e *RevisionState) UnmarshalJSON(b []byte) error
type Role ¶
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type RoleInput ¶
type RoleInput struct {
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Grants []GrantInput `json:"grants,omitempty"`
}
type RollbackInput ¶
type RuntimeState ¶
type RuntimeState struct {
// Applied is the store revision being served; 0 when unknown.
Applied int64
Watching bool
// Unapplied is a published revision not applied; nil when none.
Unapplied *bootstrap.StaleState
// Execution is a snapshot of the execution bus; nil when unknown.
Execution *bus.Stats
}
RuntimeState is what the serving process reports about itself.
type ScanBatch ¶ added in v0.1.13
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ScanBatchInput ¶ added in v0.1.13
type ScanBatchInput = configapp.ScanBatchInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ScanBatchItem ¶ added in v0.1.13
type ScanBatchItem = configapp.ScanBatchItem
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ScanJob ¶ added in v0.1.12
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type SchemaImport ¶
type SchemaImport struct {
Datasource string `json:"datasource"`
// The schema where entities without a schema read (unqualified names
// resolve); null when the database cannot report it.
DefaultSchema *string `json:"defaultSchema,omitempty"`
Tables []ImportTable `json:"tables"`
// Identifies the database the datasource reads (its driver and read
// connection); results of another source are stale.
Source string `json:"source"`
}
type SchemaInfo ¶ added in v0.1.12
type SchemaInfo = configapp.SchemaInfo
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type SchemaList ¶ added in v0.1.12
type SchemaList = configapp.SchemaList
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ScopeCondition ¶ added in v0.1.13
type ScopeCondition = configapp.ScopeCondition
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ScopeStats ¶ added in v0.1.13
type ScopeStats = configapp.ScopeStats
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type ServerStatus ¶
type ServerStatus struct {
// Revision this process serves; null when it does not track the store.
AppliedRevision *string `json:"appliedRevision,omitempty"`
// Whether the process applies newly published revisions (--watch).
Watching bool `json:"watching"`
// A published revision this process has not applied.
Unapplied *UnappliedRevision `json:"unapplied,omitempty"`
// What the process runs on its execution bus; null when unknown.
Execution *ExecutionStatus `json:"execution,omitempty"`
}
type SetAdminPasswordInput ¶
type Simulation ¶
type Simulation = configapp.Simulation
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type SimulationInput ¶
type SimulationInput struct {
// Default: the signed-in administrator's workspace.
Revision *string `json:"revision,omitempty"`
// A configured user name, or role:<name> to evaluate a role.
User string `json:"user"`
Entity string `json:"entity"`
Action string `json:"action"`
// Requested fields; empty means the default projection.
Fields []string `json:"fields,omitempty"`
// Extra subject attributes; configured user attributes win.
Subject any `json:"subject,omitempty"`
}
type SlotStatus ¶ added in v0.1.13
type TableComments ¶
type TableComments struct {
Description string `json:"description"`
Columns []ColumnComment `json:"columns"`
}
type TableLink ¶ added in v0.1.13
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type TaskStatus ¶ added in v0.1.13
type UnappliedRevision ¶ added in v0.1.13
type UnscannedSchemas ¶ added in v0.1.13
type UnscannedSchemas = configapp.UnscannedSchemas
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type User ¶
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type UserInput ¶
type UserInput struct {
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Roles []string `json:"roles,omitempty"`
Grants []GrantInput `json:"grants,omitempty"`
Subject any `json:"subject,omitempty"`
Disabled *bool `json:"disabled,omitempty"`
TokenHash *string `json:"tokenHash,omitempty"`
}
type Validation ¶
type Validation = configapp.Validation
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type VisibilityInput ¶
type Workspace ¶ added in v0.1.13
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type WorkspaceConflict ¶ added in v0.1.13
type WorkspaceConflict = configapp.WorkspaceConflict
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type WorkspaceEditInput ¶ added in v0.1.13
type WorkspaceEditInput = configapp.WorkspaceEditInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type WorkspaceItemInput ¶ added in v0.1.13
type WorkspaceItemInput = configapp.WorkspaceItemInput
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type WorkspaceLogEntry ¶ added in v0.1.13
type WorkspaceLogEntry = configapp.WorkspaceLogEntry
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type WorkspaceNote ¶ added in v0.1.13
type WorkspaceNote = configapp.WorkspaceNote
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).
type WorkspaceRef ¶ added in v0.1.13
type WorkspaceRef = configapp.WorkspaceRef
The configuration service's results and inputs, under the names of their GraphQL types (gqlgen binds those names in this package).