sqlstore

package
v0.0.1-test Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2022 License: AGPL-3.0 Imports: 46 Imported by: 593

Documentation

Index

Constants

View Source
const MainOrgName = "Main Org."

MainOrgName is the name of the main organization.

Variables

View Source
var TimeNow = time.Now

TimeNow makes it possible to test usage of time

Functions

func IsTestDBMSSQL

func IsTestDBMSSQL() bool

func IsTestDbMySQL

func IsTestDbMySQL() bool

func IsTestDbPostgres

func IsTestDbPostgres() bool

func MockTimeNow

func MockTimeNow(constTime time.Time)

func NotServiceAccountFilter

func NotServiceAccountFilter(ss *SQLStore) string

func ResetTimeNow

func ResetTimeNow()

func UserDeletions

func UserDeletions() []string

func WrapDatabaseDriverWithHooks

func WrapDatabaseDriverWithHooks(dbType string, tracer tracing.Tracer) string

WrapDatabaseDriverWithHooks creates a fake database driver that executes pre and post functions which we use to gather metrics about database queries. It also registers the metrics.

Types

type ContextSessionKey

type ContextSessionKey struct{}

ContextSessionKey is used as key to save values in `context.Context`

type DBSession

type DBSession struct {
	*xorm.Session
	// contains filtered or unexported fields
}

func (*DBSession) InsertId

func (sess *DBSession) InsertId(bean interface{}) (int64, error)

func (*DBSession) PublishAfterCommit

func (sess *DBSession) PublishAfterCommit(msg interface{})

type DBTransactionFunc

type DBTransactionFunc func(sess *DBSession) error

type DashboardTag

type DashboardTag struct {
	Id          int64
	DashboardId int64
	Term        string
}

type DatabaseConfig

type DatabaseConfig struct {
	Type                        string
	Host                        string
	Name                        string
	User                        string
	Pwd                         string
	Path                        string
	SslMode                     string
	CaCertPath                  string
	ClientKeyPath               string
	ClientCertPath              string
	ServerCertName              string
	ConnectionString            string
	IsolationLevel              string
	MaxOpenConn                 int
	MaxIdleConn                 int
	ConnMaxLifetime             int
	CacheMode                   string
	UrlQueryParams              map[string][]string
	SkipMigrations              bool
	MigrationLockAttemptTimeout int
}

type ITestDB

type ITestDB interface {
	Helper()
	Fatalf(format string, args ...interface{})
	Logf(format string, args ...interface{})
	Log(args ...interface{})
}

ITestDB is an interface of arguments for testing db

type InitTestDBOpt

type InitTestDBOpt struct {
	// EnsureDefaultOrgAndUser flags whether to ensure that default org and user exist.
	EnsureDefaultOrgAndUser bool
	FeatureFlags            []string
}

InitTestDBOpt contains options for InitTestDB.

type SQLBuilder

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

func NewSqlBuilder

func NewSqlBuilder(cfg *setting.Cfg) SQLBuilder

func (*SQLBuilder) AddParams

func (sb *SQLBuilder) AddParams(params ...interface{})

func (*SQLBuilder) GetParams

func (sb *SQLBuilder) GetParams() []interface{}

func (*SQLBuilder) GetSQLString

func (sb *SQLBuilder) GetSQLString() string

func (*SQLBuilder) Write

func (sb *SQLBuilder) Write(sql string, params ...interface{})

func (*SQLBuilder) WriteDashboardPermissionFilter

func (sb *SQLBuilder) WriteDashboardPermissionFilter(user *user.SignedInUser, permission models.PermissionType)

type SQLStore

type SQLStore struct {
	Cfg *setting.Cfg

	CacheService *localcache.CacheService

	Dialect migrator.Dialect
	// contains filtered or unexported fields
}

func InitTestDB

func InitTestDB(t ITestDB, opts ...InitTestDBOpt) *SQLStore

InitTestDB initializes the test DB.

func InitTestDBWithMigration

func InitTestDBWithMigration(t ITestDB, migration registry.DatabaseMigrator, opts ...InitTestDBOpt) *SQLStore

InitTestDBWithMigration initializes the test DB given custom migrations.

func ProvideService

func ProvideService(cfg *setting.Cfg, cacheService *localcache.CacheService, migrations registry.DatabaseMigrator, bus bus.Bus, tracer tracing.Tracer) (*SQLStore, error)

func ProvideServiceForTests

func ProvideServiceForTests(migrations registry.DatabaseMigrator) (*SQLStore, error)

func (*SQLStore) AddOrgUser

func (ss *SQLStore) AddOrgUser(ctx context.Context, cmd *models.AddOrgUserCommand) error

func (*SQLStore) Bus

func (ss *SQLStore) Bus() bus.Bus

func (*SQLStore) CreateOrg

func (ss *SQLStore) CreateOrg(ctx context.Context, cmd *models.CreateOrgCommand) error

func (*SQLStore) CreateOrgWithMember

func (ss *SQLStore) CreateOrgWithMember(name string, userID int64) (models.Org, error)

CreateOrgWithMember creates an organization with a certain name and a certain user as member.

func (*SQLStore) CreateUser

func (ss *SQLStore) CreateUser(ctx context.Context, cmd user.CreateUserCommand) (*user.User, error)

deprecated method, use only for tests

func (*SQLStore) DeleteOrg

func (ss *SQLStore) DeleteOrg(ctx context.Context, cmd *models.DeleteOrgCommand) error

func (*SQLStore) DeleteUser

func (ss *SQLStore) DeleteUser(ctx context.Context, cmd *models.DeleteUserCommand) error

func (*SQLStore) DeleteUserInSession

func (ss *SQLStore) DeleteUserInSession(ctx context.Context, sess *DBSession, cmd *models.DeleteUserCommand) error

func (*SQLStore) GetAdminStats

func (ss *SQLStore) GetAdminStats(ctx context.Context, query *models.GetAdminStatsQuery) error

func (*SQLStore) GetAlertNotifiersUsageStats

func (ss *SQLStore) GetAlertNotifiersUsageStats(ctx context.Context, query *models.GetAlertNotifierUsageStatsQuery) error

func (*SQLStore) GetDBHealthQuery

func (ss *SQLStore) GetDBHealthQuery(ctx context.Context, query *models.GetDBHealthQuery) error

GetDBHealthQuery executes a query to check the availability of the database.

func (*SQLStore) GetDBType

func (ss *SQLStore) GetDBType() core.DbType

func (*SQLStore) GetDataSourceAccessStats

func (ss *SQLStore) GetDataSourceAccessStats(ctx context.Context, query *models.GetDataSourceAccessStatsQuery) error

func (*SQLStore) GetDataSourceStats

func (ss *SQLStore) GetDataSourceStats(ctx context.Context, query *models.GetDataSourceStatsQuery) error

func (*SQLStore) GetDialect

func (ss *SQLStore) GetDialect() migrator.Dialect

GetDialect return the dialect

func (*SQLStore) GetGlobalQuotaByTarget

func (ss *SQLStore) GetGlobalQuotaByTarget(ctx context.Context, query *models.GetGlobalQuotaByTargetQuery) error

func (*SQLStore) GetOrgById

func (ss *SQLStore) GetOrgById(ctx context.Context, query *models.GetOrgByIdQuery) error

func (*SQLStore) GetOrgByName

func (ss *SQLStore) GetOrgByName(name string) (*models.Org, error)

GetOrgByName gets an organization by name.

func (*SQLStore) GetOrgByNameHandler

func (ss *SQLStore) GetOrgByNameHandler(ctx context.Context, query *models.GetOrgByNameQuery) error

func (*SQLStore) GetOrgQuotaByTarget

func (ss *SQLStore) GetOrgQuotaByTarget(ctx context.Context, query *models.GetOrgQuotaByTargetQuery) error

func (*SQLStore) GetOrgQuotas

func (ss *SQLStore) GetOrgQuotas(ctx context.Context, query *models.GetOrgQuotasQuery) error

func (*SQLStore) GetSignedInUser

func (ss *SQLStore) GetSignedInUser(ctx context.Context, query *models.GetSignedInUserQuery) error

func (*SQLStore) GetSignedInUserWithCacheCtx

func (ss *SQLStore) GetSignedInUserWithCacheCtx(ctx context.Context, query *models.GetSignedInUserQuery) error

deprecated method, use only for tests

func (*SQLStore) GetSqlxSession

func (ss *SQLStore) GetSqlxSession() *session.SessionDB

func (*SQLStore) GetSystemStats

func (ss *SQLStore) GetSystemStats(ctx context.Context, query *models.GetSystemStatsQuery) error

func (*SQLStore) GetSystemUserCountStats

func (ss *SQLStore) GetSystemUserCountStats(ctx context.Context, query *models.GetSystemUserCountStatsQuery) error

func (*SQLStore) GetTeamsByUser

func (ss *SQLStore) GetTeamsByUser(ctx context.Context, query *models.GetTeamsByUserQuery) error

GetTeamsByUser is used by the Guardian when checking a users' permissions TODO: use team.Service after user service is split

func (*SQLStore) GetUserById

func (ss *SQLStore) GetUserById(ctx context.Context, query *models.GetUserByIdQuery) error

func (*SQLStore) GetUserOrgList

func (ss *SQLStore) GetUserOrgList(ctx context.Context, query *models.GetUserOrgListQuery) error

func (*SQLStore) GetUserProfile

func (ss *SQLStore) GetUserProfile(ctx context.Context, query *models.GetUserProfileQuery) error

func (*SQLStore) GetUserQuotaByTarget

func (ss *SQLStore) GetUserQuotaByTarget(ctx context.Context, query *models.GetUserQuotaByTargetQuery) error

func (*SQLStore) GetUserQuotas

func (ss *SQLStore) GetUserQuotas(ctx context.Context, query *models.GetUserQuotasQuery) error

func (*SQLStore) InTransaction

func (ss *SQLStore) InTransaction(ctx context.Context, fn func(ctx context.Context) error) error

InTransaction starts a transaction and calls the fn It stores the session in the context

func (*SQLStore) Migrate

func (ss *SQLStore) Migrate(isDatabaseLockingEnabled bool) error

Migrate performs database migrations. Has to be done in a second phase (after initialization), since other services can register migrations during the initialization phase.

func (*SQLStore) Quote

func (ss *SQLStore) Quote(value string) string

Quote quotes the value in the used SQL dialect

func (*SQLStore) Reset

func (ss *SQLStore) Reset() error

Reset resets database state. If default org and user creation is enabled, it will be ensured they exist in the database.

func (*SQLStore) SearchOrgs

func (ss *SQLStore) SearchOrgs(ctx context.Context, query *models.SearchOrgsQuery) error

func (*SQLStore) SetUsingOrg

func (ss *SQLStore) SetUsingOrg(ctx context.Context, cmd *models.SetUsingOrgCommand) error

deprecated method, use only for tests

func (*SQLStore) Sync

func (ss *SQLStore) Sync() error

Sync syncs changes to the database.

func (*SQLStore) UpdateOrgAddress

func (ss *SQLStore) UpdateOrgAddress(ctx context.Context, cmd *models.UpdateOrgAddressCommand) error

func (*SQLStore) UpdateOrgQuota

func (ss *SQLStore) UpdateOrgQuota(ctx context.Context, cmd *models.UpdateOrgQuotaCmd) error

func (*SQLStore) UpdateUserQuota

func (ss *SQLStore) UpdateUserQuota(ctx context.Context, cmd *models.UpdateUserQuotaCmd) error

func (*SQLStore) WithDbSession

func (ss *SQLStore) WithDbSession(ctx context.Context, callback DBTransactionFunc) error

WithDbSession calls the callback with the session in the context (if exists). Otherwise it creates a new one that is closed upon completion. A session is stored in the context if sqlstore.InTransaction() has been been previously called with the same context (and it's not committed/rolledback yet).

func (*SQLStore) WithNewDbSession

func (ss *SQLStore) WithNewDbSession(ctx context.Context, callback DBTransactionFunc) error

WithNewDbSession calls the callback with a new session that is closed upon completion.

func (*SQLStore) WithTransactionalDbSession

func (ss *SQLStore) WithTransactionalDbSession(ctx context.Context, callback DBTransactionFunc) error

WithTransactionalDbSession calls the callback with a session within a transaction.

type Store

type Store interface {
	GetAdminStats(ctx context.Context, query *models.GetAdminStatsQuery) error
	GetAlertNotifiersUsageStats(ctx context.Context, query *models.GetAlertNotifierUsageStatsQuery) error
	GetDataSourceStats(ctx context.Context, query *models.GetDataSourceStatsQuery) error
	GetDataSourceAccessStats(ctx context.Context, query *models.GetDataSourceAccessStatsQuery) error
	GetDialect() migrator.Dialect
	GetDBType() core.DbType
	GetSystemStats(ctx context.Context, query *models.GetSystemStatsQuery) error
	GetOrgByName(name string) (*models.Org, error)
	GetOrgById(context.Context, *models.GetOrgByIdQuery) error
	GetOrgByNameHandler(ctx context.Context, query *models.GetOrgByNameQuery) error
	CreateUser(ctx context.Context, cmd user.CreateUserCommand) (*user.User, error)
	GetUserProfile(ctx context.Context, query *models.GetUserProfileQuery) error
	GetSignedInUser(ctx context.Context, query *models.GetSignedInUserQuery) error
	WithDbSession(ctx context.Context, callback DBTransactionFunc) error
	WithNewDbSession(ctx context.Context, callback DBTransactionFunc) error
	GetOrgQuotaByTarget(ctx context.Context, query *models.GetOrgQuotaByTargetQuery) error
	GetOrgQuotas(ctx context.Context, query *models.GetOrgQuotasQuery) error
	UpdateOrgQuota(ctx context.Context, cmd *models.UpdateOrgQuotaCmd) error
	GetUserQuotaByTarget(ctx context.Context, query *models.GetUserQuotaByTargetQuery) error
	GetUserQuotas(ctx context.Context, query *models.GetUserQuotasQuery) error
	UpdateUserQuota(ctx context.Context, cmd *models.UpdateUserQuotaCmd) error
	GetGlobalQuotaByTarget(ctx context.Context, query *models.GetGlobalQuotaByTargetQuery) error
	WithTransactionalDbSession(ctx context.Context, callback DBTransactionFunc) error
	InTransaction(ctx context.Context, fn func(ctx context.Context) error) error
	Migrate(bool) error
	Sync() error
	Reset() error
	Quote(value string) string
	GetDBHealthQuery(ctx context.Context, query *models.GetDBHealthQuery) error
	SearchOrgs(ctx context.Context, query *models.SearchOrgsQuery) error
	GetSqlxSession() *session.SessionDB
}

type XormLogger

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

func NewXormLogger

func NewXormLogger(level glog.Lvl, grafanaLog glog.Logger) *XormLogger

func (*XormLogger) Debug

func (s *XormLogger) Debug(v ...interface{})

Debug implement core.ILogger

func (*XormLogger) Debugf

func (s *XormLogger) Debugf(format string, v ...interface{})

Debugf implement core.ILogger

func (*XormLogger) Error

func (s *XormLogger) Error(v ...interface{})

Error implement core.ILogger

func (*XormLogger) Errorf

func (s *XormLogger) Errorf(format string, v ...interface{})

Errorf implement core.ILogger

func (*XormLogger) Info

func (s *XormLogger) Info(v ...interface{})

Info implement core.ILogger

func (*XormLogger) Infof

func (s *XormLogger) Infof(format string, v ...interface{})

Infof implement core.ILogger

func (*XormLogger) IsShowSQL

func (s *XormLogger) IsShowSQL() bool

IsShowSQL implement core.ILogger

func (*XormLogger) Level

func (s *XormLogger) Level() core.LogLevel

Level implement core.ILogger

func (*XormLogger) SetLevel

func (s *XormLogger) SetLevel(l core.LogLevel)

SetLevel implement core.ILogger

func (*XormLogger) ShowSQL

func (s *XormLogger) ShowSQL(show ...bool)

ShowSQL implement core.ILogger

func (*XormLogger) Warn

func (s *XormLogger) Warn(v ...interface{})

Warn implement core.ILogger

func (*XormLogger) Warnf

func (s *XormLogger) Warnf(format string, v ...interface{})

Warnf implement core.ILogger

Directories

Path Synopsis
db
Package searchstore converts search queries to SQL.
Package searchstore converts search queries to SQL.

Jump to

Keyboard shortcuts

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