52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
|
// Package config holds some (mostly static) configuration for the app.
|
||
|
package config
|
||
|
|
||
|
import (
|
||
|
"regexp"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
// Branding
|
||
|
const (
|
||
|
Title = "gosocial"
|
||
|
Subtitle = "A purpose built social networking app."
|
||
|
)
|
||
|
|
||
|
// Paths and layouts
|
||
|
const (
|
||
|
TemplatePath = "./web/templates"
|
||
|
StaticPath = "./web/static"
|
||
|
SettingsPath = "./settings.json"
|
||
|
)
|
||
|
|
||
|
// Security
|
||
|
const (
|
||
|
BcryptCost = 14
|
||
|
SessionCookieName = "session_id"
|
||
|
CSRFCookieName = "csrf_token"
|
||
|
CSRFInputName = "_csrf" // html input name
|
||
|
SessionCookieMaxAge = 60 * 60 * 24 * 30
|
||
|
SessionRedisKeyFormat = "session/%s"
|
||
|
)
|
||
|
|
||
|
// Authentication
|
||
|
const (
|
||
|
// Skip the email verification step. The signup page will directly ask for
|
||
|
// email+username+password rather than only email and needing verification.
|
||
|
SkipEmailVerification = false
|
||
|
SignupTokenRedisKey = "signup-token/%s"
|
||
|
SignupTokenExpires = 24 * time.Hour
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
UsernameRegexp = regexp.MustCompile(`^[a-z0-9_-]{3,32}$`)
|
||
|
)
|
||
|
|
||
|
// Variables set by main.go to make them readily available.
|
||
|
var (
|
||
|
RuntimeVersion string
|
||
|
RuntimeBuild string
|
||
|
RuntimeBuildDate string
|
||
|
Debug bool // app is in debug mode
|
||
|
)
|