Documentation ¶
Index ¶
- Constants
- Variables
- func Db() *bolthold.Store
- func EventBus() *hub.Hub
- func Init()
- type Config
- func (c *Config) ActivationLink(token string) string
- func (c *Config) CacheDuration(key string, defaultVal time.Duration) time.Duration
- func (c *Config) IsDev() bool
- func (c *Config) ListenAddr() string
- func (c *Config) SMTPAuth() smtp.Auth
- func (c *Config) SMTPHost() string
- func (c *Config) SessionTimeout() time.Duration
- func (c *Config) Validate() error
Constants ¶
View Source
const ( SessionKey = "kitsquid_session" UserKey = "user" TemplateContextKey = "tplCtx" RemoteIPKey = "remoteIp" KitVvzBaseURL = "https://campus.kit.edu/sp/campus/all" FacultyIdx = 0 OverallRatingKey = "overall" DeletedUserName = "(gelöschter Benutzer)" MaxEventSearchResults = 25 EventAccountDelete = "account.delete" )
Variables ¶
View Source
var Messages = map[string]string{
"signup_success": "Du hast dich erfolgreich registriert. Eine Bestätigungsmail ist auf dem Weg in dein Postfach",
"logout_success": "Du hast dich erfolgreich ausgeloggt",
"activate_failure": "Dein Account konnte nicht aktiviert werden. Bitte wende dich an den Admin",
"activate_success": "Dein Account ist aktiviert. Du kannst dich jetzt einloggen",
"account_change_success": "Deine Angaben wurden aktualisiert",
"account_delete_success": "Dein Account wurde gelöscht",
}
Messages is a set of messages displayed to the user
TODO: Use proper i18n
Functions ¶
Types ¶
type Config ¶
type Config struct { Env string `default:"development" env:"KITSQUID_ENV"` Version string QuickStart bool `default:"false" env:"KITSQUID_QUICK_START"` Port int `default:"8080" env:"KITSQUID_PORT"` Addr string `default:"" env:"KITSQUID_ADDR"` URL string `env:"KITSQUID_URL"` Rate string `default:"60-M" env:"KITSQUID_RATE_LIMIT"` TLS struct { Enable bool `default:"false" env:"KITSQUID_TLS"` KeyPath string `default:"etc/key.pem" yaml:"key" env:"KITSQUID_TLS_KEY"` CertPath string `default:"etc/cert.pem" yaml:"cert" env:"KITSQUID_TLS_CERT"` } Db struct { Path string `default:"kitsquid.db" env:"KITSQUID_DB_FILE"` Encoding string `default:"gob" env:"KITSQUID_DB_ENCODING"` } Mail struct { From string `default:"no-reply@kitsquid.de" env:"KITSQUID_MAIL_SENDER"` SMTP struct { Host string `env:"SMTP_HOST"` Port int `default:"25" env:"SMTP_PORT"` User string `env:"SMTP_USER"` Password string `env:"SMTP_PASSWORD"` } } Cache map[string]string Auth struct { Salt string `default:"0" env:"KITSQUID_AUTH_SALT"` Session struct { Timeout string `default:"1d" env:"KITSQUID_AUTH_SESSION_TIMEOUT"` } Admin struct { User string `env:"KITSQUID_ADMIN_USER"` Password string `env:"KITSQUID_ADMIN_PASSWORD"` Gender string `env:"KITSQUID_ADMIN_GENDER"` Major string `env:"KITSQUID_ADMIN_MAJOR"` Degree string `env:"KITSQUID_ADMIN_DEGREE"` } Whitelist []common.UserWhitelistItem } Recaptcha struct { ClientID string `yaml:"client_id" env:"KITSQUAD_RECAPTCHA_ID"` ClientSecret string `yaml:"client_secret" env:"KITSQUAD_RECAPTCHA_SECRET"` } Misc struct { Pagesize int `default:"50"` } University struct { Majors []string Degrees []string WinterSemesterPrefix string `default:"WS"` SummerSemesterPrefix string `default:"SS"` } }
Config contains all configurable and derived properties in this application
func (*Config) ActivationLink ¶
ActivationLink generates an activation link Url from a given activation token
func (*Config) CacheDuration ¶
CacheDuration returns a duration corresponding to the TTL of the cache with the given key
func (*Config) IsDev ¶
IsDev returns whether or not the application is supposed to run in development mode
func (*Config) ListenAddr ¶
ListenAddr returns the address + port string for the web server to listen on
func (*Config) SessionTimeout ¶
SessionTimeout returns a duration corresponding to a session's timeout
Click to show internal directories.
Click to hide internal directories.