workspace

package
v0.12.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2022 License: AGPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnsureSessionData added in v0.8.3

func EnsureSessionData(ctx context.Context, source *SessionDataSource, session *db_common.DatabaseSession) (err error, warnings []string)

EnsureSessionData determines whether session scoped data (introspection tables and prepared statements) exists for this session, and if not, creates it

func LoadResourceNames added in v0.8.0

func LoadResourceNames(workspacePath string) (*modconfig.WorkspaceResources, error)

LoadResourceNames builds lists of all workspace resource names

Types

type SessionDataSource added in v0.8.3

type SessionDataSource struct {
	PreparedStatementSource  func() *modconfig.WorkspaceResourceMaps
	IntrospectionTableSource func() *modconfig.WorkspaceResourceMaps
}

func NewSessionDataSource added in v0.8.3

func NewSessionDataSource(w *Workspace, preparedStatementSource *modconfig.WorkspaceResourceMaps) *SessionDataSource

type Workspace

type Workspace struct {
	Path                string
	ModInstallationPath string
	Mod                 *modconfig.Mod

	// maps of mod resources from this mod and ALL DEPENDENCIES, keyed by long and short names
	Queries    map[string]*modconfig.Query
	Controls   map[string]*modconfig.Control
	Benchmarks map[string]*modconfig.Benchmark
	Mods       map[string]*modconfig.Mod
	Reports    map[string]*modconfig.Report
	Panels     map[string]*modconfig.Panel
	Variables  map[string]*modconfig.Variable
	// contains filtered or unexported fields
}

func Load

func Load(ctx context.Context, workspacePath string) (*Workspace, error)

Load creates a Workspace and loads the workspace mod

func (*Workspace) CheckRequiredPluginsInstalled added in v0.6.0

func (w *Workspace) CheckRequiredPluginsInstalled() error

func (*Workspace) Close

func (w *Workspace) Close()

func (*Workspace) GetChildControls added in v0.5.0

func (w *Workspace) GetChildControls() []*modconfig.Control

GetChildControls builds a flat list of all controls in the worlspace, including dependencies

func (*Workspace) GetControl added in v0.6.1

func (w *Workspace) GetControl(controlName string) (*modconfig.Control, bool)

func (*Workspace) GetControlMap added in v0.6.1

func (w *Workspace) GetControlMap() map[string]*modconfig.Control

func (*Workspace) GetQueriesFromArgs added in v0.8.0

func (w *Workspace) GetQueriesFromArgs(args []string) ([]string, *modconfig.WorkspaceResourceMaps, error)

GetQueriesFromArgs retrieves queries from args

For each arg check if it is a named query or a file, before falling back to treating it as sql

func (*Workspace) GetQuery added in v0.6.1

func (w *Workspace) GetQuery(queryName string) (*modconfig.Query, bool)

func (*Workspace) GetQueryMap added in v0.6.1

func (w *Workspace) GetQueryMap() map[string]*modconfig.Query

func (*Workspace) GetResourceMaps added in v0.5.0

func (w *Workspace) GetResourceMaps() *modconfig.WorkspaceResourceMaps

GetResourceMaps returns all resource maps NOTE: this function DOES NOT LOCK the load lock so should only be called in a context where the file watcher is not running

func (*Workspace) PublishReportEvent added in v0.7.1

func (w *Workspace) PublishReportEvent(e reportevents.ReportEvent)

func (*Workspace) RegisterReportEventHandler added in v0.7.1

func (w *Workspace) RegisterReportEventHandler(handler reportevents.ReportEventHandler)

func (*Workspace) ResolveControlQuery added in v0.8.0

func (w *Workspace) ResolveControlQuery(control *modconfig.Control, args *modconfig.QueryArgs) (string, error)

ResolveControlQuery resolves the query for the given Control

func (*Workspace) ResolveQueryAndArgs added in v0.8.0

func (w *Workspace) ResolveQueryAndArgs(sqlString string) (string, modconfig.QueryProvider, error)

ResolveQueryAndArgs attempts to resolve 'arg' to a query and query args

func (*Workspace) SetOnFileWatcherEventMessages added in v0.10.0

func (w *Workspace) SetOnFileWatcherEventMessages(f func())

func (*Workspace) SetupWatcher

func (w *Workspace) SetupWatcher(ctx context.Context, client db_common.Client, errorHandler func(context.Context, error)) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL