store

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OpenDatabase

func OpenDatabase(c DatabaseConnConfig) (*sqlx.DB, error)

Types

type Column

type Column struct {
	Name      string `json:"name"`
	FieldName string `json:"fieldName"`
}

Column is used to store original column name(Name) and custom name(FieldName) for json response. This is required, because sql row can contain multiple columns with same name

type DataSource

type DataSource struct {
	DatabaseConnConfig
	Query string
}

type DatabaseConfig

func GetDatabaseConfigsFromDataSource

func GetDatabaseConfigsFromDataSource(dataSource DataSource) ([]DatabaseConfig, error)

func GetDatabaseConfigsFromDataSources

func GetDatabaseConfigsFromDataSources(dataSources []DataSource) ([]DatabaseConfig, []error)

type DatabaseConnConfig

type DatabaseConnConfig struct {
	Hostname string `db:"hostname"`
	Port     int    `db:"port"`
	Name     string `db:"name"`
	Username string `db:"username"`
	Password string `db:"password"`
	Type     string `db:"type"`
}

type DatabaseConnPoolConfig

type DatabaseConnPoolConfig struct {
	MaxOpenConns             int `db:"maxOpenConns"`
	MaxIdleConns             int `db:"maxIdleConns"`
	ConnMaxLifetimeInSeconds int `db:"connMaxLifetimeInSeconds"`
	ConnMaxIdleTimeInSeconds int `db:"connMaxIdleTimeInSeconds"`
}

type DatabaseGroup

type DatabaseGroup struct {
	GroupName string `db:"groupName" json:"groupName"`
	GroupType string `db:"groupType" json:"groupType"`
}

type DatabaseInstance

type DatabaseInstance struct {
	Config DatabaseConfig
	DB     *sqlx.DB
}

type DatabaseItem

type DatabaseItem struct {
	DatabaseGroup
	Type string `json:"type"`
}

type DatabaseStore

type DatabaseStore struct {
	// contains filtered or unexported fields
}

func NewDatabaseStore

func NewDatabaseStore() *DatabaseStore

func (*DatabaseStore) AddDatabase

func (s *DatabaseStore) AddDatabase(config DatabaseConfig) error

func (*DatabaseStore) AddDatabases

func (s *DatabaseStore) AddDatabases(databases []DatabaseConfig)

func (*DatabaseStore) GetDatabaseItems

func (s *DatabaseStore) GetDatabaseItems() []DatabaseItem

func (*DatabaseStore) GetTablesMetadata

func (s *DatabaseStore) GetTablesMetadata(groupName string, groupType string) (map[string][]string, error)

func (*DatabaseStore) QueryDatabase

func (s *DatabaseStore) QueryDatabase(ctx context.Context, groupName string, groupType string, query string) GroupQueryResult

func (*DatabaseStore) QueryMultipleDatabases

func (s *DatabaseStore) QueryMultipleDatabases(ctx context.Context, groupType string, query string) []GroupQueryResult

type DatabaseStoreI

type DatabaseStoreI interface {
	AddDatabases(databases []DatabaseConfig)
	AddDatabase(config DatabaseConfig) error
	GetTablesMetadata(groupName string, groupType string) (map[string][]string, error)
	QueryDatabase(ctx context.Context, groupName string, groupType string, query string) GroupQueryResult
	QueryMultipleDatabases(ctx context.Context, groupType string, query string) []GroupQueryResult
	GetDatabaseItems() []DatabaseItem
}

type DatabaseStoreMock

type DatabaseStoreMock struct {
	AddDatabasesFunc           func(databases []DatabaseConfig)
	AddDatabaseFunc            func(config DatabaseConfig) error
	GetTablesMetadataFunc      func(groupName string, groupType string) (map[string][]string, error)
	QueryDatabaseFunc          func(ctx context.Context, groupName string, groupType string, query string) GroupQueryResult
	QueryMultipleDatabasesFunc func(ctx context.Context, groupType string, query string) []GroupQueryResult
	GetDatabaseItemsFunc       func() []DatabaseItem
}

func (DatabaseStoreMock) AddDatabase

func (d DatabaseStoreMock) AddDatabase(config DatabaseConfig) error

func (DatabaseStoreMock) AddDatabases

func (d DatabaseStoreMock) AddDatabases(databases []DatabaseConfig)

func (DatabaseStoreMock) GetDatabaseItems

func (d DatabaseStoreMock) GetDatabaseItems() []DatabaseItem

func (DatabaseStoreMock) GetTablesMetadata

func (d DatabaseStoreMock) GetTablesMetadata(groupName string, groupType string) (map[string][]string, error)

func (DatabaseStoreMock) QueryDatabase

func (d DatabaseStoreMock) QueryDatabase(ctx context.Context, groupName string, groupType string, query string) GroupQueryResult

func (DatabaseStoreMock) QueryMultipleDatabases

func (d DatabaseStoreMock) QueryMultipleDatabases(ctx context.Context, groupType string, query string) []GroupQueryResult

type GroupQueryResult

type GroupQueryResult struct {
	GroupName string      `json:"groupName"`
	Data      *QueryData  `json:"data"`
	Error     *QueryError `json:"error"`
}

type QueryData

type QueryData struct {
	Columns []Column                 `json:"columns"`
	Rows    []map[string]interface{} `json:"rows"`
}

type QueryError

type QueryError struct {
	Message string `json:"message"`
	Err     error  `json:"err"`
}

func NewQueryError

func NewQueryError(err error) *QueryError

Jump to

Keyboard shortcuts

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