Documentation ¶
Overview ¶
Package config stores and exports the configuration for server-side use and the public availability JSON struct, which includes a small subset of the server configuration.
Index ¶
- Variables
- func Clear()
- func ClearBoards()
- func GetBoards() []string
- func GetClient() ([]byte, string)
- func IsBoard(b string) bool
- func RemoveBoard(b string)
- func Set(c Configs) error
- func SetBoardConfigs(conf BoardConfigs) (bool, error)
- func SetClient(json []byte, cHash string)
- type BoardConfContainer
- type BoardConfigs
- type BoardPublic
- type Configs
- type DatabaseBoardConfigs
- type PostParseConfigs
- type Public
Constants ¶
This section is empty.
Variables ¶
var ( // AllBoardConfigs stores board-specific configurations for the /all/ // metaboard. Constant. AllBoardConfigs = BoardConfContainer{ BoardConfigs: BoardConfigs{ ID: "all", BoardPublic: BoardPublic{ PostParseConfigs: PostParseConfigs{ HashCommands: true, }, Spoilers: true, CodeTags: true, Spoiler: "default.jpg", Title: "Aggregator metaboard", Banners: []string{}, }, }, Hash: "0", } // Defaults contains the default server configuration values Defaults = Configs{ ThreadExpiry: 14, BoardExpiry: 7, JPEGQuality: 80, PNGQuality: 20, MaxSize: 5, MaxHeight: 6000, MaxWidth: 6000, SessionExpiry: 30, Salt: "LALALALALALALALALALALALALALALALALALALALA", FeedbackEmail: "admin@email.com", Public: Public{ DefaultCSS: "moe", FAQ: defaultFAQ, DefaultLang: "en_GB", Links: map[string]string{"4chan": "http://www.4chan.org/"}, }, } // EightballDefaults contains the default eightball answer set EightballDefaults = []string{ "Yes", "No", "Maybe", "It can't be helped", "Hell yeah, motherfucker!", "Anta baka?", } )
Functions ¶
func ClearBoards ¶
func ClearBoards()
ClearBoards clears any existing board configuration entries. Only use in tests.
func GetClient ¶
GetClient returns public availability configuration JSON and a truncated configuration MD5 hash
func RemoveBoard ¶
func RemoveBoard(b string)
RemoveBoard removes a board from the exiting board list and deletes its configurations. To be called, when a board is deleted.
func SetBoardConfigs ¶
func SetBoardConfigs(conf BoardConfigs) (bool, error)
SetBoardConfigs sets configurations for a specific board as well as pregenerates their public JSON and hash. Returns if any changes were made to the configs in result.
Types ¶
type BoardConfContainer ¶
type BoardConfContainer struct { BoardConfigs JSON []byte Hash string }
BoardConfContainer contains configurations for an individual board as well as pregenerated public JSON and it's hash
func GetBoardConfigs ¶
func GetBoardConfigs(b string) BoardConfContainer
GetBoardConfigs returns board-specific configurations for a board combined with pregenerated public JSON of these configurations and their hash
type BoardConfigs ¶
type BoardConfigs struct { BoardPublic ID string `json:"id" gorethink:"id"` Eightball []string `json:"eightball" gorethink:"eightball"` Staff map[string][]string `json:"staff" gorethink:"staff"` }
BoardConfigs stores board-specific configuration
type BoardPublic ¶
type BoardPublic struct { PostParseConfigs Spoilers bool `json:"spoilers" gorethink:"spoilers"` CodeTags bool `json:"codeTags" gorethink:"codeTags"` Spoiler string `json:"spoiler" gorethink:"spoiler"` Title string `json:"title" gorethink:"title"` Notice string `json:"notice" gorethink:"notice"` Rules string `json:"rules" gorethink:"rules"` Banners []string `json:"banners" gorethink:"banners"` }
BoardPublic contains publically accessible board-specific configurations
type Configs ¶
type Configs struct { Public PruneThreads bool `json:"pruneThreads" gorethink:"pruneThreads"` PruneBoards bool `json:"pruneBoards" gorethink:"pruneBoards"` Pyu bool `json:"pyu" gorethink:"pyu"` MaxWidth uint16 `json:"maxWidth" gorethink:"maxWidth"` MaxHeight uint16 `json:"maxHeight" gorethink:"maxHeight"` JPEGQuality int PNGQuality int ThreadExpiry uint `json:"threadExpiry" gorethink:"threadExpiry"` BoardExpiry uint `json:"boardExpiry" gorethink:"boardExpiry"` MaxSize int64 `json:"maxSize" gorethink:"maxSize"` Salt string `json:"salt" gorethink:"salt"` FeedbackEmail string `json:"feedbackEmail" gorethink:"feedbackEmail"` CaptchaPrivateKey string `json:"captchaPrivateKey" gorethink:"captchaPrivateKey"` SessionExpiry time.Duration `json:"sessionExpiry" gorethink:"sessionExpiry"` }
Configs stores the global server configuration
type DatabaseBoardConfigs ¶
type DatabaseBoardConfigs struct { BoardConfigs Created time.Time `gorethink:"created"` }
DatabaseBoardConfigs contains extra fields not exposed on database reads
type PostParseConfigs ¶
type PostParseConfigs struct { ReadOnly bool `json:"readOnly" gorethink:"readOnly"` TextOnly bool `json:"textOnly" gorethink:"textOnly"` ForcedAnon bool `json:"forcedAnon" gorethink:"forcedAnon"` HashCommands bool `json:"hashCommands" gorethink:"hashCommands"` }
PostParseConfigs contains board-specific flags for post text parsing
type Public ¶
type Public struct { Radio bool `json:"radio" gorethink:"radio"` Hats bool `json:"hats" gorethink:"hats"` IllyaDance bool `json:"illyaDance" gorethink:"illyaDance"` Captcha bool `json:"captcha" gorethink:"captcha"` Mature bool `json:"mature" gorethink:"mature"` DefaultLang string `json:"defaultLang" gorethink:"defaultLang"` DefaultCSS string `json:"defaultCSS" gorethink:"defaultCSS"` CaptchaPublicKey string `json:"captchaPublicKey" gorethink:"captchaPublicKey"` FAQ string Links map[string]string `json:"links" gorethink:"links"` }
Public contains configurations exposeable through public availability APIs