42 lines
887 B
Go
42 lines
887 B
Go
package models
|
|
|
|
import "crypto/tls"
|
|
|
|
type Video struct {
|
|
Title string `json:"title"`
|
|
Key string `json:"key"`
|
|
Description string `json:"description"`
|
|
Order int `json:"order"`
|
|
}
|
|
|
|
type Config struct {
|
|
Videos []Video `json:"videos"`
|
|
}
|
|
|
|
type Role string
|
|
|
|
const (
|
|
RoleAdmin Role = "admin"
|
|
RoleViewer Role = "viewer"
|
|
)
|
|
|
|
type User struct {
|
|
ID string `json:"id"`
|
|
Username string `json:"username"`
|
|
Role Role `json:"role"`
|
|
}
|
|
|
|
type DevAuthConfig struct {
|
|
Users []User `json:"users"`
|
|
}
|
|
|
|
type SAMLConfig struct {
|
|
RootURL string `json:"root_url"`
|
|
KeyPair tls.Certificate `json:"-"`
|
|
Certificate string `json:"certificate"`
|
|
PrivateKey string `json:"private_key"`
|
|
IDPMetadata []byte `json:"idp_metadata"`
|
|
AdminGroup string `json:"admin_group"`
|
|
ViewerGroup string `json:"viewer_group"`
|
|
}
|