cmds

package
v0.1.75 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2023 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRepositoryFactory

func NewRepositoryFactory() handlers.RepositoryFactory

Types

type DBConnectionFactory

type DBConnectionFactory func(parsedLayers map[string]*layers.ParsedParameterLayer) (*sqlx.DB, error)

type SqlCommand

type SqlCommand struct {
	*cmds.CommandDescription
	Query      string            `yaml:"query"`
	SubQueries map[string]string `yaml:"subqueries,omitempty"`
	// contains filtered or unexported fields
}

SqlCommand describes a command line command that runs a query

func NewSqlCommand

func NewSqlCommand(
	description *cmds.CommandDescription,
	options ...SqlCommandOption,
) (*SqlCommand, error)

func (*SqlCommand) Description

func (s *SqlCommand) Description() *cmds.CommandDescription

func (*SqlCommand) IsValid

func (s *SqlCommand) IsValid() bool

func (*SqlCommand) Metadata added in v0.1.74

func (s *SqlCommand) Metadata(ctx context.Context, parsedLayers map[string]*layers.ParsedParameterLayer, ps map[string]interface{}) (map[string]interface{}, error)

func (*SqlCommand) RenderQuery

func (s *SqlCommand) RenderQuery(
	ctx context.Context,
	ps map[string]interface{},
	db *sqlx.DB,
) (string, error)

func (*SqlCommand) RenderQueryFull

func (s *SqlCommand) RenderQueryFull(
	ctx context.Context,
	parsedLayers map[string]*layers.ParsedParameterLayer,
	ps map[string]interface{},
) (string, error)

func (*SqlCommand) Run

func (s *SqlCommand) Run(
	ctx context.Context,
	parsedLayers map[string]*layers.ParsedParameterLayer,
	ps map[string]interface{},
	gp middlewares.Processor,
) error

func (*SqlCommand) RunQueryIntoGlaze

func (s *SqlCommand) RunQueryIntoGlaze(
	ctx context.Context,
	db *sqlx.DB,
	ps map[string]interface{},
	gp middlewares.Processor) error

func (*SqlCommand) String

func (s *SqlCommand) String() string

func (*SqlCommand) ToYAML

func (s *SqlCommand) ToYAML(w io.Writer) error

type SqlCommandDescription

type SqlCommandDescription struct {
	Name      string                            `yaml:"name"`
	Short     string                            `yaml:"short"`
	Long      string                            `yaml:"long,omitempty"`
	Layout    []*layout.Section                 `yaml:"layout,omitempty"`
	Flags     []*parameters.ParameterDefinition `yaml:"flags,omitempty"`
	Arguments []*parameters.ParameterDefinition `yaml:"arguments,omitempty"`
	Layers    []layers.ParameterLayer           `yaml:"layers,omitempty"`

	SubQueries map[string]string `yaml:"subqueries,omitempty"`
	Query      string            `yaml:"query"`
}

type SqlCommandLoader

type SqlCommandLoader struct {
	DBConnectionFactory DBConnectionFactory
}

func (*SqlCommandLoader) LoadCommandAliasFromYAML

func (scl *SqlCommandLoader) LoadCommandAliasFromYAML(s io.Reader, options ...alias.Option) ([]*alias.CommandAlias, error)

func (*SqlCommandLoader) LoadCommandFromYAML

func (scl *SqlCommandLoader) LoadCommandFromYAML(
	s io.Reader,
	options ...cmds.CommandDescriptionOption,
) ([]cmds.Command, error)

type SqlCommandOption

type SqlCommandOption func(*SqlCommand)

func WithDbConnectionFactory

func WithDbConnectionFactory(factory DBConnectionFactory) SqlCommandOption

func WithQuery

func WithQuery(query string) SqlCommandOption

func WithSubQueries

func WithSubQueries(subQueries map[string]string) SqlCommandOption

type SqletonCommand

type SqletonCommand interface {
	cmds.GlazeCommand
	RunQueryIntoGlaze(
		ctx context.Context,
		db *sqlx.DB,
		parameters map[string]interface{},
		gp middlewares.TableProcessor,
	) error
	RenderQuery(parameters map[string]interface{}) (string, error)
}

Jump to

Keyboard shortcuts

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