SimpleTutorialHosting/internal/models/models.go

42 lines
887 B
Go
Raw Normal View History

2024-10-27 11:12:56 +00:00
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"`
}