components

package
v0.0.0-...-90fb85e Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2019 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cntnrs = new(Containers)
View Source
var Compat = false

true by default, for now.

View Source
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 CmdInitialize() (string, string)

func DISetup

func DISetup() di.Container

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 AssetDetails struct {
	AssetCode        string
	AssetName        string
	AssetApiKey      string
	AssetRole        string
	AssetReplaced    string
	AssetReplacement string
	ReplaceDate      string
}

type ConfigPath

type ConfigPath struct {
	FolderName string
	FileName   string
	DbFileName string
	Path       string
	DbPath     string
}

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"`
}

type XormDB

type XormDB struct {
	Engine *xorm.Engine
	// contains filtered or unexported fields
}

func (*XormDB) Close

func (x *XormDB) Close() (err error)

func (*XormDB) Run

func (x *XormDB) Run()

type Yaml

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

func New

func New() *Yaml

Creates and returns a YAML struct.

func Open

func Open(file string) (*Yaml, error)

Creates and returns a YAML struct, from a file.

func (*Yaml) Get

func (y *Yaml) Get(route ...interface{}) interface{}

Returns a YAML setting

func (*Yaml) Read

func (y *Yaml) Read(filename string) error

Loads a YAML file from disk.

func (*Yaml) Save

func (y *Yaml) Save() error

Writes changes to the currently opened YAML file.

func (*Yaml) Set

func (y *Yaml) Set(params ...interface{}) error

Sets a YAML setting

func (*Yaml) Write

func (y *Yaml) Write(filename string) error

Writes the current YAML struct to disk.

Jump to

Keyboard shortcuts

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