datasource

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const Lens scene.InfraName = "datasource"

Variables

This section is empty.

Functions

This section is empty.

Types

type DataSource

type DataSource interface {
	scene.Disposable
	scene.Setupable
	DataSourceName() scene.ImplName
	Status() error
}

type DatabaseConfig added in v0.3.4

type DatabaseConfig struct {
	Host     string `scfg:"host"`
	Port     int    `scfg:"port"`
	Username string `scfg:"username"`
	Password string `scfg:"password"`
	Database string `scfg:"database,default=scene"`
	Options  string `scfg:"options"` // in format of "key1=value1&key2=value2"
}

DatabaseConfig is a struct that contains the configuration for a database. Universal database configuration. "scfg" is the tag name used in infrastructure/config.

func DatabaseConfigFromDSN added in v0.3.4

func DatabaseConfigFromDSN(dsn string) DatabaseConfig

DatabaseConfigFromDSN parses a DSN string and returns a DatabaseConfig.

func (DatabaseConfig) MongoDSN added in v0.3.4

func (d DatabaseConfig) MongoDSN() string

func (DatabaseConfig) MysqlDSN added in v0.3.4

func (d DatabaseConfig) MysqlDSN() string

func (DatabaseConfig) RedisDSN added in v0.3.4

func (d DatabaseConfig) RedisDSN() string

func (DatabaseConfig) SqliteDSN added in v0.3.4

func (d DatabaseConfig) SqliteDSN() string

type FileConfig added in v0.3.4

type FileConfig struct {
	Path string
}

func NewFileConfig added in v0.3.4

func NewFileConfig(path string) FileConfig

type JsonDataSource

type JsonDataSource interface {
	DataSource
	Load() ([]byte, error)
	Save(data []byte) error
}

type MongoDataSource

type MongoDataSource interface {
	DataSource
	Database() *mongo.Database
	Collection(coll string) *mongo.Collection
}

type MysqlDataSource

type MysqlDataSource interface {
	SqlDataSource
}

type RedisDataSource

type RedisDataSource interface {
	DataSource
	Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
	Get(ctx context.Context, key string) (string, error)
	GetValue(ctx context.Context, key string, value interface{}) error
	Delete(ctx context.Context, key string) error
}

type SqlDataSource

type SqlDataSource interface {
	DataSource
	Connection() *sql.DB
}

type SqliteDataSource

type SqliteDataSource interface {
	SqlDataSource
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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