go-admin: github.com/GoAdminGroup/go-admin/modules/config Index | Files

package config

import "github.com/GoAdminGroup/go-admin/modules/config"

Index

Package Files

config.go

Constants

const (
    // EnvTest is a const value of test environment.
    EnvTest = "test"
    // EnvLocal is a const value of local environment.
    EnvLocal = "local"
    // EnvProd is a const value of production environment.
    EnvProd = "prod"

    // DriverMysql is a const value of mysql driver.
    DriverMysql = "mysql"
    // DriverSqlite is a const value of sqlite driver.
    DriverSqlite = "sqlite"
    // DriverPostgresql is a const value of postgresql driver.
    DriverPostgresql = "postgresql"
    // DriverMssql is a const value of mssql driver.
    DriverMssql = "mssql"
)

type Config Uses

type Config struct {
    // An map supports multi database connection. The first
    // element of Databases is the default connection. See the
    // file connection.go.
    Databases DatabaseList `json:"database",yaml:"database",ini:"database"`

    // The cookie domain used in the auth modules. see
    // the session.go.
    Domain string `json:"domain",yaml:"domain",ini:"domain"`

    // Used to set as the localize language which show in the
    // interface.
    Language string `json:"language",yaml:"language",ini:"language"`

    // The global url prefix.
    UrlPrefix string `json:"prefix",yaml:"prefix",ini:"prefix"`

    // The theme name of template.
    Theme string `json:"theme",yaml:"theme",ini:"theme"`

    // The path where files will be stored into.
    Store Store `json:"store",yaml:"store",ini:"store"`

    // The title of web page.
    Title string `json:"title",yaml:"title",ini:"title"`

    // Logo is the top text in the sidebar.
     template.HTML `json:"logo",yaml:"logo",ini:"logo"`

    // Mini-logo is the top text in the sidebar when folding.
     template.HTML `json:"mini_logo",yaml:"mini_logo",ini:"mini_logo"`

    // The url redirect to after login.
    IndexUrl string `json:"index",yaml:"index",ini:"index"`

    // Debug mode
    Debug bool `json:"debug",yaml:"debug",ini:"debug"`

    // Env is the environment,which maybe local,test,prod.
    Env string `json:"env",yaml:"env",ini:"env"`

    // Info log path.
    InfoLogPath string `json:"info_log",yaml:"info_log",ini:"info_log"`

    // Error log path.
    ErrorLogPath string `json:"error_log",yaml:"error_log",ini:"error_log"`

    // Access log path.
    AccessLogPath string `json:"access_log",yaml:"access_log",ini:"access_log"`

    // Sql operator record log switch.
    SqlLog bool `json:"sql_log",yaml:"sql_log",ini:"sql_log"`

    AccessLogOff bool `json:"access_log_off",yaml:"access_log_off",ini:"access_log_off"`
    InfoLogOff   bool `json:"info_log_off",yaml:"info_log_off",ini:"info_log_off"`
    ErrorLogOff  bool `json:"error_log_off",yaml:"error_log_off",ini:"error_log_off"`

    // Color scheme.
    ColorScheme string `json:"color_scheme",yaml:"color_scheme",ini:"color_scheme"`

    // Session valid time duration,units are seconds.
    SessionLifeTime int `json:"session_life_time",yaml:"session_life_time",ini:"session_life_time"`

    // Assets visit link.
    AssetUrl string `json:"asset_url",yaml:"asset_url",ini:"asset_url"`

    // File upload engine,default "local"
    FileUploadEngine FileUploadEngine `json:"file_upload_engine",yaml:"file_upload_engine",ini:"file_upload_engine"`

    // Custom html in the tag head.
    CustomHeadHtml template.HTML `json:"custom_head_html",yaml:"custom_head_html",ini:"custom_head_html"`

    // Custom html after body.
    CustomFootHtml template.HTML `json:"custom_foot_html",yaml:"custom_foot_html",ini:"custom_foot_html"`

    // Login page title
    LoginTitle string `json:"login_title",yaml:"login_title",ini:"login_title"`

    // Login page logo
     template.HTML `json:"login_logo",yaml:"login_logo",ini:"login_logo"`

    // Auth user table
    AuthUserTable string `json:"auth_user_table",yaml:"auth_user_table",ini:"auth_user_table"`
    // contains filtered or unexported fields
}

Config type is the global config of goAdmin. It will be initialized in the engine.

func Get Uses

func Get() Config

Get gets the config.

func ReadFromINI Uses

func ReadFromINI(path string) Config

ReadFromINI read the Config from a INI file.

func ReadFromJson Uses

func ReadFromJson(path string) Config

ReadFromJson read the Config from a JSON file.

func ReadFromYaml Uses

func ReadFromYaml(path string) Config

ReadFromYaml read the Config from a YAML file.

func Set Uses

func Set(cfg Config) Config

Set sets the config.

func (Config) AssertPrefix Uses

func (c Config) AssertPrefix() string

AssertPrefix return the prefix of assert.

func (Config) GetIndexURL Uses

func (c Config) GetIndexURL() string

GetIndexURL get the index url with prefix.

func (Config) Index Uses

func (c Config) Index() string

Index return the index url without prefix.

func (Config) IsLocalEnvironment Uses

func (c Config) IsLocalEnvironment() bool

IsLocalEnvironment check the environment if it is local.

func (Config) IsProductionEnvironment Uses

func (c Config) IsProductionEnvironment() bool

IsProductionEnvironment check the environment if it is production.

func (Config) IsTestEnvironment Uses

func (c Config) IsTestEnvironment() bool

IsTestEnvironment check the environment if it is test.

func (Config) Prefix Uses

func (c Config) Prefix() string

Prefix return the prefix.

func (Config) PrefixFixSlash Uses

func (c Config) PrefixFixSlash() string

PrefixFixSlash return the prefix fix the slash error.

func (Config) URLRemovePrefix Uses

func (c Config) URLRemovePrefix(url string) string

URLRemovePrefix remove prefix from the given url.

func (Config) Url Uses

func (c Config) Url(suffix string) string

Url get url with the given suffix.

type Database Uses

type Database struct {
    Host       string `json:"host",yaml:"host",ini:"host"`
    Port       string `json:"port",yaml:"port",ini:"port"`
    User       string `json:"user",yaml:"user",ini:"user"`
    Pwd        string `json:"pwd",yaml:"pwd",ini:"pwd"`
    Name       string `json:"name",yaml:"name",ini:"name"`
    MaxIdleCon int    `json:"max_idle_con",yaml:"max_idle_con",ini:"max_idle_con"`
    MaxOpenCon int    `json:"max_open_con",yaml:"max_open_con",ini:"max_open_con"`
    Driver     string `json:"driver",yaml:"driver",ini:"driver"`
    File       string `json:"file",yaml:"file",ini:"file"`
    Dsn        string `json:"dsn",yaml:"dsn",ini:"dsn"`
}

Database is a type of database connection config.

Because a little difference of different database driver. The Config has multiple options but may not be used. Such as the sqlite driver only use the File option which can be ignored when the driver is mysql.

If the Dsn is configured, when driver is mysql/postgresql/ mssql, the other configurations will be ignored, except for MaxIdleCon and MaxOpenCon.

type DatabaseList Uses

type DatabaseList map[string]Database

DatabaseList is a map of Database.

func (DatabaseList) Add Uses

func (d DatabaseList) Add(key string, db Database)

Add add a Database to the DatabaseList.

func (DatabaseList) GetDefault Uses

func (d DatabaseList) GetDefault() Database

GetDefault get the default Database.

func (DatabaseList) GroupByDriver Uses

func (d DatabaseList) GroupByDriver() map[string]DatabaseList

GroupByDriver group the Databases with the drivers.

type FileUploadEngine Uses

type FileUploadEngine struct {
    Name   string
    Config map[string]interface{}
}

FileUploadEngine is a file upload engine.

type Store Uses

type Store struct {
    Path   string
    Prefix string
}

Store is the file store config. Path is the local store path. and prefix is the url prefix used to visit it.

Package config imports 11 packages (graph) and is imported by 71 packages. Updated 2020-01-20. Refresh now. Tools for package owners.