Documentation ¶
Index ¶
- func NewTemplateFuncs(custom template.FuncMap) template.FuncMap
- func TmplAdd(values ...any) (int, error)
- func TmplAddf(values ...any) (float64, error)
- func TmplDiv(values ...any) (int, error)
- func TmplDivf(values ...any) (float64, error)
- func TmplFormatDuration(d time.Duration) string
- func TmplFormatDurationStat(d time.Duration) string
- func TmplFormatSizeIEC(bytes uint64) string
- func TmplFormatSizeSI(bytes uint64) string
- func TmplFormatTime(t time.Time, format string) string
- func TmplHasPrefix(value, prefix any) bool
- func TmplHasString(haystack []string, value any) bool
- func TmplHasSuffix(value, suffix any) bool
- func TmplInts(start, end int) []int
- func TmplJoin(strs []string, sep string) string
- func TmplMap(pairs ...any) (map[string]any, error)
- func TmplMarshalJSON(value any) (string, error)
- func TmplMax(values ...any) (int, error)
- func TmplMaxf(values ...any) (float64, error)
- func TmplMin(values ...any) (int, error)
- func TmplMinf(values ...any) (float64, error)
- func TmplMod(values ...any) (int, error)
- func TmplMul(values ...any) (int, error)
- func TmplMulf(values ...any) (float64, error)
- func TmplNeg(x any) (int, error)
- func TmplNegf(x any) (float64, error)
- func TmplQueryReplace(q url.Values, pairs ...any) (template.URL, error)
- func TmplQueryString(q url.Values) template.URL
- func TmplReplaceAll(value any, old, new string) string
- func TmplSlice(elements ...any) []any
- func TmplSliceContains(haystack []any, needle any) bool
- func TmplStatusText(code int) string
- func TmplSub(values ...any) (int, error)
- func TmplSubf(values ...any) (float64, error)
- func TmplTimeSince(t time.Time) time.Duration
- func TmplToStrings(value any) ([]string, error)
- func TmplUnescapeHTML(s string) template.HTML
- func TmplUnescapeJS(s string) template.JS
- type AccountReader
- type AppData
- type CSRF
- type Form
- type Handler
- func (h *Handler) AttachContext(next http.HandlerFunc) http.HandlerFunc
- func (h *Handler) AttachContextLogger(next http.HandlerFunc) http.HandlerFunc
- func (h *Handler) Config(ctx context.Context) *system.Config
- func (h *Handler) Logger(ctx context.Context) *slog.Logger
- func (h *Handler) Passport(ctx context.Context) guard.Passport
- func (h *Handler) PassportByEmail(ctx context.Context, email string) (guard.Passport, error)
- func (h *Handler) PassportByUser(ctx context.Context, user *account.User) guard.Passport
- func (h *Handler) RenewSession(ctx context.Context) ([]byte, error)
- func (h *Handler) SendEmail(ctx context.Context, templateFiles fs.FS, templatePaths []string, ...) error
- func (h *Handler) SendSMS(ctx context.Context, to, body string) error
- func (h *Handler) SendTOTPSMS(email, tel string) error
- func (h *Handler) Template(files fs.FS, patterns []string, funcs template.FuncMap, name string) *template.Template
- func (h *Handler) User(ctx context.Context) *account.User
- type Query
- type Renderer
- func (rn *Renderer) ErrorView(w http.ResponseWriter, r *http.Request, msg string, err error, view string, ...)
- func (rn *Renderer) ErrorViewFunc(w http.ResponseWriter, r *http.Request, msg string, err error, view string, ...)
- func (rn *Renderer) HandlerFunc(view string) http.HandlerFunc
- func (rn *Renderer) SetViewVars(name string, vars ViewVarsFunc)
- func (rn *Renderer) View(w http.ResponseWriter, r *http.Request, status int, view string, vars Vars)
- func (rn *Renderer) ViewFunc(w http.ResponseWriter, r *http.Request, status int, view string, ...)
- type Repo
- type SessionData
- type State
- type Svc
- type SystemReader
- type TemplatePathsFunc
- type TemplateProcessFunc
- type Tenant
- type URL
- type Vars
- type ViewData
- type ViewDataFunc
- type ViewVarsFunc
- type WebReadWriter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TmplFormatDuration ¶
func TmplFormatDurationStat ¶
func TmplFormatSizeIEC ¶
func TmplFormatSizeSI ¶
func TmplHasPrefix ¶
func TmplHasString ¶
func TmplHasSuffix ¶
func TmplMarshalJSON ¶
func TmplReplaceAll ¶
func TmplSliceContains ¶
func TmplStatusText ¶
func TmplToStrings ¶
func TmplUnescapeHTML ¶
func TmplUnescapeJS ¶
Types ¶
type AccountReader ¶
type AccountReader interface { account.Reader FindRoleByName(ctx context.Context, name string) (*account.Role, error) FindRoles(ctx context.Context, sortTopID string) ([]*account.Role, int, error) FindRolesPageBySearch(ctx context.Context, page, size int, sortTopID string, sorts []string, search string) ([]*account.Role, int, error) CountUsersByRoleID(ctx context.Context, roleID string) (int, error) FindUsersPageBySearch(ctx context.Context, page, size int, sortTopID string, sorts []string, search string) ([]*account.User, int, error) }
type Handler ¶
func (*Handler) AttachContext ¶
func (h *Handler) AttachContext(next http.HandlerFunc) http.HandlerFunc
func (*Handler) AttachContextLogger ¶
func (h *Handler) AttachContextLogger(next http.HandlerFunc) http.HandlerFunc
func (*Handler) PassportByEmail ¶
func (*Handler) PassportByUser ¶
func (*Handler) SendTOTPSMS ¶
type Renderer ¶
type Renderer struct {
// contains filtered or unexported fields
}
func NewRenderer ¶
func NewRenderer(h *Handler, templateFiles fs.FS, templatePaths TemplatePathsFunc, funcs template.FuncMap, process TemplateProcessFunc) *Renderer
func (*Renderer) ErrorViewFunc ¶
func (rn *Renderer) ErrorViewFunc(w http.ResponseWriter, r *http.Request, msg string, err error, view string, dataFunc ViewDataFunc)
func (*Renderer) HandlerFunc ¶
func (rn *Renderer) HandlerFunc(view string) http.HandlerFunc
func (*Renderer) SetViewVars ¶
func (rn *Renderer) SetViewVars(name string, vars ViewVarsFunc)
func (*Renderer) ViewFunc ¶
func (rn *Renderer) ViewFunc(w http.ResponseWriter, r *http.Request, status int, view string, dataFunc ViewDataFunc)
type Repo ¶
type Repo struct { Account AccountReader System SystemReader Web WebReadWriter }
type SessionData ¶
type SessionData struct { // General session keys Flash []string FlashImportant []string FlashError []string Redirect string HighlightID string // Account session keys UserID string Email string TOTPMethod string HasActivatedTOTP bool IsAwaitingTOTP bool IsSignedIn bool KnownPasswordBreachCount int }
type SystemReader ¶
type TemplatePathsFunc ¶
type TemplateProcessFunc ¶
type ViewData ¶
type ViewDataFunc ¶
type ViewDataFunc func(data *ViewData)
type WebReadWriter ¶
type WebReadWriter interface { session.ReadWriter AddEmailVerificationToken(ctx context.Context, email string, ttl time.Duration) (string, error) FindEmailVerificationTokenEmail(ctx context.Context, token string) (string, error) ConsumeEmailVerificationToken(ctx context.Context, token string) error AddResetPasswordToken(ctx context.Context, email string, ttl time.Duration) (string, error) FindResetPasswordTokenEmail(ctx context.Context, token string) (string, error) ConsumeResetPasswordToken(ctx context.Context, token string) error AddSignInMagicLinkToken(ctx context.Context, email string, ttl time.Duration) (string, error) FindSignInMagicLinkTokenEmail(ctx context.Context, token string) (string, error) ConsumeSignInMagicLinkToken(ctx context.Context, token string) error AddTOTPResetVerifyToken(ctx context.Context, email string, ttl time.Duration) (string, error) FindTOTPResetVerifyTokenEmail(ctx context.Context, token string) (string, error) ConsumeTOTPResetVerifyToken(ctx context.Context, token string) error AddResetTOTPToken(ctx context.Context, email string, ttl time.Duration) (string, error) FindResetTOTPTokenEmail(ctx context.Context, token string) (string, error) ConsumeResetTOTPToken(ctx context.Context, token string) error }
Click to show internal directories.
Click to hide internal directories.