74 lines
1.2 KiB
Go
74 lines
1.2 KiB
Go
package app
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/tdewolff/minify"
|
|
"github.com/tdewolff/minify/css"
|
|
"github.com/tdewolff/minify/html"
|
|
"github.com/tdewolff/minify/js"
|
|
)
|
|
|
|
type MimeType struct {
|
|
Type string
|
|
Minifier func(m *minify.M, w io.Writer, r io.Reader, params map[string]string) error
|
|
}
|
|
|
|
var PlainTextMimeType = MimeType{
|
|
Type: "text/plain",
|
|
Minifier: nil,
|
|
}
|
|
|
|
var MimeTypes = map[string]MimeType{
|
|
"css": {
|
|
Type: "text/css",
|
|
Minifier: css.Minify,
|
|
},
|
|
"html": {
|
|
Type: "text/html",
|
|
Minifier: html.Minify,
|
|
},
|
|
"tmpl": {
|
|
Type: "text/plain",
|
|
Minifier: TemplateMinifier,
|
|
},
|
|
"svg": {
|
|
Type: "image/svg+xml",
|
|
Minifier: nil,
|
|
},
|
|
"js": {
|
|
Type: "application/javascript",
|
|
Minifier: js.Minify,
|
|
},
|
|
"wasm": {
|
|
Type: "application/wasm",
|
|
Minifier: nil,
|
|
},
|
|
}
|
|
|
|
// used when requesting GET /access/domains
|
|
type GetRealmsBody struct {
|
|
Data []Realm `json:"data"`
|
|
}
|
|
|
|
// stores each realm's data
|
|
type Realm struct {
|
|
Default int `json:"default"`
|
|
Realm string `json:"realm"`
|
|
Comment string `json:"comment"`
|
|
}
|
|
|
|
// type used for templated <select>
|
|
type Select struct {
|
|
ID string
|
|
Name string
|
|
Options []Option
|
|
}
|
|
|
|
// type used for templated <option>
|
|
type Option struct {
|
|
Selected bool
|
|
Value string
|
|
Display string
|
|
}
|