package api import ( "fmt" "git.tilde.town/tildetown/bbj2/server/cmd/config" "git.tilde.town/tildetown/bbj2/server/cmd/db" ) type HTTPError struct { Msg string Code int } func (e *HTTPError) Error() string { return fmt.Sprintf("%d %s", e.Code, e.Msg) } type BBJResponse struct { Error bool `json:"error"` Data interface{} `json:"data"` Usermap map[string]db.User `json:"usermap"` } type API struct { User *db.User Opts config.Options } type instanceInfo struct { InstanceName string `json:"instance_name"` AllowAnon bool `json:"allow_anon"` Admins []string } func (a *API) InstanceInfo() (*BBJResponse, error) { return &BBJResponse{ Data: instanceInfo{ InstanceName: a.Opts.Config.InstanceName, AllowAnon: a.Opts.Config.AllowAnon, Admins: a.Opts.Config.Admins, }, }, nil } type ApiHandler func() (*BBJResponse, error)