Documentation
¶
Index ¶
- Variables
- func CmdInitialize() (string, string)
- func DISetup() di.Container
- func DetermineConnection(d *DbSettings) string
- type AssetContainer
- type AssetDetails
- type ConfigPath
- type ConfigWriter
- type ConnectionType
- type Containers
- type DbConfig
- type DbSettings
- type MainSettings
- type WordPressSettings
- type XormDB
- type Yaml
Constants ¶
This section is empty.
Variables ¶
var Cntnrs = new(Containers)
var Compat = false
true by default, for now.
var Services = []di.Def{ { Name: "configData", Scope: di.App, Build: func(ctn di.Container) (interface{}, error) { var cfg MainSettings config := cfg.GetConfig() return config, nil }}, { Name: "configWriter", Scope: di.App, Build: func(ctn di.Container) (interface{}, error) { var writer ConfigWriter return writer, nil }}, { Name: "dbData", Scope: di.App, Build: func(ctn di.Container) (interface{}, error) { var db DbSettings dbConfig := db.GetDbConfig() return dbConfig, nil }}, { Name: "dbConn", Scope: di.App, Build: func(ctn di.Container) (interface{}, error) { var conn DbConfig dbConfig := ctn.Get("dbData").(*DbSettings) dbConn := conn.ConnectDB(dbConfig) return dbConn, nil }, Close: func(obj interface{}) error { return obj.(*DbConfig).Xorm.Close() }}, { Name: "db", Scope: di.Request, Build: func(ctn di.Container) (interface{}, error) { conn := ctn.Get("dbConn").(*DbConfig) return conn, nil }, Close: func(obj interface{}) error { return obj.(*DbConfig).Xorm.Close() }}, }
Functions ¶
func CmdInitialize ¶
func DetermineConnection ¶
func DetermineConnection(d *DbSettings) string
Types ¶
type AssetContainer ¶
type AssetContainer struct {
AD []*AssetDetails
}
var Asset AssetContainer
func LoadTableData ¶
func LoadTableData() AssetContainer
func (*AssetContainer) AddNewAsset ¶
func (a *AssetContainer) AddNewAsset(asset *AssetDetails) []*AssetDetails
type AssetDetails ¶
type ConfigPath ¶
type ConfigWriter ¶
type ConfigWriter struct {
ConfigPath *ConfigPath
}
func WriterAccessContainer ¶
func WriterAccessContainer(di di.Container) *ConfigWriter
--- Provides global access to configuration data via dependency injection container -------------------------------------
func (*ConfigWriter) NewConfig ¶
func (c *ConfigWriter) NewConfig() (*ConfigWriter, error)
--- Create new config file ------------------------------------------------------------------------------------
func (*ConfigWriter) NewDbConfig ¶
func (c *ConfigWriter) NewDbConfig() (*ConfigWriter, error)
func (*ConfigWriter) SetConfig ¶
func (c *ConfigWriter) SetConfig() (*ConfigWriter, error)
--- Save current data to config -------------------------------------------------------------------------------
func (*ConfigWriter) SetDbConfig ¶
func (c *ConfigWriter) SetDbConfig() (*ConfigWriter, error)
--- Save current data to dbconfig -----------------------------------------------------------------------------
type ConnectionType ¶
type ConnectionType int
type Containers ¶
type Containers struct { Dac *MainSettings Dbd *DbSettings Wtr *ConfigWriter }
type DbConfig ¶
type DbConfig struct { Db *DbSettings Xorm *XormDB }
func (*DbConfig) ConnectDB ¶
func (xdb *DbConfig) ConnectDB(d *DbSettings) *DbConfig
type DbSettings ¶
type DbSettings struct { Providers []string Database int `json:"database"` Data struct { Address string `json:"address"` Username string `json:"username"` Password string `json:"password"` DbName string `json:"dbname"` TablePrefix string `json:"tableprefix"` } `json:"data"` }
--- Maps dbconfig.yml fields to DbSettings fields -------------------------------------------------------------------
func DatabaseContainer ¶
func DatabaseContainer(di di.Container) *DbSettings
--- Provides global access to configuration data via dependency injection container -------------------------------------
func (*DbSettings) GetDbConfig ¶
func (d *DbSettings) GetDbConfig() *DbSettings
--- Gets called from Services and returns DbSettings to Dependency Injection container ------------------------------
type MainSettings ¶
type MainSettings struct { System struct { Token string `json:"token"` CommandPrefix string `json:"commandprefix"` RequireEmail string `json:"requireemail"` ConsoleLogLevel int `json:"consoleloglevel"` FileLogLevel int `json:"fileloglevel"` } `json:"system"` Integrations struct { WordPress string `json:"wordpress"` Connection string `json:"connection"` WebAddress string `json:"webaddress"` } `json:"integrations"` Discord struct { Guild string `json:"guild"` BotUsers []string `json:"botusers"` Roles map[string]string `json:"roles"` } `json:"discord"` Assets struct { AssetCodes []string `json:"assetcodes"` ReplaceDate map[string]string `json:"replacedate"` AssetReplaced map[string]string `json:"assetreplaced"` AssetReplacement map[string]string `json:"assetreplacement"` ApiKeys map[string]string `json:"apikey"` Packages map[string]string `json:"package"` Version map[string]string `json:"version"` } `json:"assets"` }
func DataAccessContainer ¶
func DataAccessContainer(di di.Container) *MainSettings
--- Provides global access to configuration data via dependency injection container -------------------------------------
func (*MainSettings) GetConfig ¶
func (m *MainSettings) GetConfig() *MainSettings
type WordPressSettings ¶
type WordPressSettings struct { ConnectionType int ConnectionDetails struct { SiteAddress string `json:"site_address"` ClientId string `json:"client_id"` ClientSecret string `json:"client_secret"` Redirect string `json:"redirect"` AppName string `json:"app_name"` AccessUrl string `json:"access_url"` AuthorizeUrl string `json:"authorize_url"` GrantType string `json:"grant_type"` } Assets map[string]string `json:"assets"` }