views

package
v0.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2026 License: MIT Imports: 45 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Address           string
	DatabaseURL       string
	DomainName        string
	SessionCookieName string
	S3                storage.Config
	Mail              SMTPConfig
	Security          SecurityConfig
	Redis             RedisConfig
}

type ContactUserTemplate

type ContactUserTemplate struct {
	ID       int
	Name     string
	Email    string
	Role     string
	FileName null.String
}

func DBUsersContactToTemplateFormat

func DBUsersContactToTemplateFormat(usersDB []user.User) ([]ContactUserTemplate, error)

type Context

type Context struct {
	// Message is used for sending a message back to the user trying to log in, might decide to move later as it may not be needed
	Message string
	// MsgType is the bulma.io class used to indicate what should be displayed
	MsgType string
	// MsgViewed is used to clear the message after it has been viewed once
	MsgViewed bool
	// User is the stored logged-in user
	User user.User
}

Context is a struct applied to the templates.

type DocumentTemplate

type DocumentTemplate struct {
	ID       int
	Name     string
	FileName string
}

func DBDocumentsToTemplateFormat

func DBDocumentsToTemplateFormat(documentsDB []document.Document) []DocumentTemplate

type InternalContext

type InternalContext struct {
	Message   string
	MsgType   string
	MsgViewed bool
}

type ManagerTemplate

type ManagerTemplate struct {
	Name  string
	Email string
}

func DBManagersToTemplateFormat

func DBManagersToTemplateFormat(managersDB []user.User) []ManagerTemplate

type NewsTemplate

type NewsTemplate struct {
	ID          int
	Title       string
	Content     string
	Date        string
	IsFileValid bool
	FileName    null.String
}

func DBNewsToArticleTemplateFormat

func DBNewsToArticleTemplateFormat(newsDB news.News) NewsTemplate

func DBNewsToTemplateFormat

func DBNewsToTemplateFormat(newsDB []news.News) []NewsTemplate

type PlayerTemplate

type PlayerTemplate struct {
	ID              int
	Name            string
	DateOfBirth     string
	DateOfBirthForm string
	IsFileValid     bool
	FileName        null.String
	Age             int
	Position        null.String
	IsCaptain       bool
	Team            TeamTemplate
}

func DBPlayersTeamToTemplateFormat

func DBPlayersTeamToTemplateFormat(playersDB []player.Player, isYouthTeam bool) []PlayerTemplate

func DBPlayersToTemplateFormat

func DBPlayersToTemplateFormat(playersDB []player.Player, teamsDB []team.Team) []PlayerTemplate

type ProgrammeTemplate

type ProgrammeTemplate struct {
	ID              int
	Name            string
	DateOfProgramme string
	Season          SeasonTemplate
	FileName        string
}

func DBProgrammesToTemplateFormat

func DBProgrammesToTemplateFormat(programmesDB []programme.Programme, seasonsDB []programme.Season) []ProgrammeTemplate

type ProgrammeTemplateStruct

type ProgrammeTemplateStruct struct {
	Year           int
	VisitorCount   int
	Programmes     []ProgrammeTemplate
	Seasons        []programme.Season
	SelectedSeason int
	User           user.User
	Context        *Context
}

type RedisConfig added in v0.5.4

type RedisConfig struct {
	// Addresses is one or more "host:port" pairs. More than one
	// address puts the client into cluster mode, unless MasterName
	// is set, in which case it uses Sentinel-based failover.
	Addresses  []string
	MasterName string
	Username   string
	Password   string
	DB         int
	TLS        bool
	// KeyPrefix namespaces every key this app writes to Redis/Valkey,
	// e.g. "afc:dev:" or "afc:prod:". Set it differently per
	// environment so a Valkey ACL user can be scoped to only that
	// environment's keys (~afc:dev:* / ~afc:prod:*) on a shared
	// instance or cluster. Defaults to "afc:" if empty.
	KeyPrefix string
}

RedisConfig stores the configuration for an optional Redis/Valkey cache, used to share state (e.g. password reset tokens) across multiple app instances. When Addresses is empty, an in-process cache is used instead, which is only suitable for a single instance.

type SMTPConfig

type SMTPConfig struct {
	Host     string
	Username string
	Password string
	Port     int
}

SMTPConfig stores the SMTP Mailer configuration

type SeasonTemplate

type SeasonTemplate struct {
	ID      int
	Name    string
	IsValid bool
}

type SecurityConfig

type SecurityConfig struct {
	EncryptionKey           string
	AuthenticationKey       string
	Iterations              int
	ScryptWorkFactor        int
	ScryptBlockSize         int
	ScryptParallelismFactor int
	KeyLength               int
}

SecurityConfig stores the security configuration

type SponsorTemplate

type SponsorTemplate struct {
	ID       int
	Name     string
	Website  null.String
	Purpose  null.String
	FileName null.String
}

func DBSponsorsToTemplateFormat

func DBSponsorsToTemplateFormat(sponsorsDB []sponsor.Sponsor) []SponsorTemplate

type TeamTemplate

type TeamTemplate struct {
	ID       int
	Name     string
	IsActive bool
	IsYouth  bool
	IsValid  bool
}

func DBTeamsToTemplateFormat

func DBTeamsToTemplateFormat(teamsDB []team.Team) []TeamTemplate

type TemplateHelper

type TemplateHelper struct {
	UserPermissions []role.Role
	ActivePage      string
	Assumed         bool
}

type UserTemplate

type UserTemplate struct {
	ID           int
	Name         string
	Email        string
	Phone        string
	TeamID       int
	Role         string
	RoleTemplate string
	IsFileValid  bool
	FileName     null.String
}

func DBUserToTemplateFormat

func DBUserToTemplateFormat(userDB user.User) UserTemplate

func DBUsersToTemplateFormat

func DBUsersToTemplateFormat(usersDB []user.User) []UserTemplate

type Views

type Views struct {
	// contains filtered or unexported fields
}

Views encapsulates our view dependencies

func New

func New(conf *Config, host string, interval time.Duration) *Views

func (*Views) AccountFunc

func (v *Views) AccountFunc(c echo.Context) error

func (*Views) AffiliationAddFunc

func (v *Views) AffiliationAddFunc(c echo.Context) error

func (*Views) AffiliationDeleteFunc

func (v *Views) AffiliationDeleteFunc(c echo.Context) error

func (*Views) ChangePasswordFunc

func (v *Views) ChangePasswordFunc(c echo.Context) error

ChangePasswordFunc handles the password change from a user

func (*Views) ContactFunc

func (v *Views) ContactFunc(c echo.Context) error

func (*Views) CustomHTTPErrorHandler

func (v *Views) CustomHTTPErrorHandler(err error, c echo.Context)

func (*Views) DeleteResetToken added in v0.5.4

func (v *Views) DeleteResetToken(ctx context.Context, token string)

DeleteResetToken invalidates a password reset token after use.

func (*Views) DocumentAddFunc

func (v *Views) DocumentAddFunc(c echo.Context) error

func (*Views) DocumentDeleteFunc

func (v *Views) DocumentDeleteFunc(c echo.Context) error

func (*Views) DocumentsFunc

func (v *Views) DocumentsFunc(c echo.Context) error

func (*Views) DownloadFunc

func (v *Views) DownloadFunc(c echo.Context) error

func (*Views) Error404

func (v *Views) Error404(c echo.Context) error

func (*Views) GalleryFunc

func (v *Views) GalleryFunc(c echo.Context) error

func (*Views) GetResetToken added in v0.5.4

func (v *Views) GetResetToken(ctx context.Context, token string) (int, bool)

GetResetToken looks up the user ID a password reset token was issued for.

func (*Views) GetVisitorCount

func (v *Views) GetVisitorCount() int

func (*Views) HomeFunc

func (v *Views) HomeFunc(c echo.Context) error

func (*Views) ImageAddFunc

func (v *Views) ImageAddFunc(c echo.Context) error

func (*Views) ImageDeleteFunc

func (v *Views) ImageDeleteFunc(c echo.Context) error

func (*Views) InfoEditFunc

func (v *Views) InfoEditFunc(c echo.Context) error

func (*Views) InfoFunc

func (v *Views) InfoFunc(c echo.Context) error

func (*Views) LoginFunc

func (v *Views) LoginFunc(c echo.Context) error

LoginFunc implements the login functionality, will add a cookie to the cookie store for managing authentication

func (*Views) LogoutFunc

func (v *Views) LogoutFunc(c echo.Context) error

LogoutFunc Implements the logout functionality. Will delete the session information from the cookie store

func (*Views) NewsAddFunc

func (v *Views) NewsAddFunc(c echo.Context) error

func (*Views) NewsArticleFunc

func (v *Views) NewsArticleFunc(c echo.Context) error

func (*Views) NewsDeleteFunc

func (v *Views) NewsDeleteFunc(c echo.Context) error

func (*Views) NewsEditFunc

func (v *Views) NewsEditFunc(c echo.Context) error

func (*Views) NewsFunc

func (v *Views) NewsFunc(c echo.Context) error

func (*Views) PlayerAddFunc

func (v *Views) PlayerAddFunc(c echo.Context) error

func (*Views) PlayerDeleteFunc

func (v *Views) PlayerDeleteFunc(c echo.Context) error

func (*Views) PlayerEditFunc

func (v *Views) PlayerEditFunc(c echo.Context) error

func (*Views) PlayersFunc

func (v *Views) PlayersFunc(c echo.Context) error

func (*Views) ProgrammeAddFunc

func (v *Views) ProgrammeAddFunc(c echo.Context) error

func (*Views) ProgrammeDeleteFunc

func (v *Views) ProgrammeDeleteFunc(c echo.Context) error

func (*Views) ProgrammeSeasonAddFunc

func (v *Views) ProgrammeSeasonAddFunc(c echo.Context) error

func (*Views) ProgrammeSeasonDeleteFunc

func (v *Views) ProgrammeSeasonDeleteFunc(c echo.Context) error

func (*Views) ProgrammeSeasonEditFunc

func (v *Views) ProgrammeSeasonEditFunc(c echo.Context) error

func (*Views) ProgrammeSeasonSelectFunc

func (v *Views) ProgrammeSeasonSelectFunc(c echo.Context) error

func (*Views) ProgrammesFunc

func (v *Views) ProgrammesFunc(c echo.Context) error

func (*Views) ProgrammesSeasonsFunc

func (v *Views) ProgrammesSeasonsFunc(c echo.Context) error

func (*Views) RecordVisit

func (v *Views) RecordVisit(visitorID string)

func (*Views) RemoveImageFunc

func (v *Views) RemoveImageFunc(c echo.Context) error

func (*Views) RequireClubSecretaryHigher

func (v *Views) RequireClubSecretaryHigher(next echo.HandlerFunc) echo.HandlerFunc

func (*Views) RequireNotManager

func (v *Views) RequireNotManager(next echo.HandlerFunc) echo.HandlerFunc

func (*Views) RequireNotManagerNotPhotographer

func (v *Views) RequireNotManagerNotPhotographer(next echo.HandlerFunc) echo.HandlerFunc

func (*Views) RequireUserManagement

func (v *Views) RequireUserManagement(next echo.HandlerFunc) echo.HandlerFunc

func (*Views) RequiresLogin

func (v *Views) RequiresLogin(next echo.HandlerFunc) echo.HandlerFunc

RequiresLogin is a middleware which will be used for each httpHandler to check if there is any active session

func (*Views) ResetURLFunc

func (v *Views) ResetURLFunc(c echo.Context) error

func (*Views) ResetUserPasswordFunc

func (v *Views) ResetUserPasswordFunc(c echo.Context) error

func (*Views) SetResetToken added in v0.5.4

func (v *Views) SetResetToken(ctx context.Context, token string, userID int, ttl time.Duration) error

SetResetToken stores a mapping of a one-time password reset token to a user ID, expiring after ttl. When Redis is configured this is shared across every app instance; otherwise it only lives in this instance's memory, which requires sticky sessions/single-instance deployment for the reset flow to work reliably.

func (*Views) SponsorAddFunc

func (v *Views) SponsorAddFunc(c echo.Context) error

func (*Views) SponsorDeleteFunc

func (v *Views) SponsorDeleteFunc(c echo.Context) error

func (*Views) SponsorsFunc

func (v *Views) SponsorsFunc(c echo.Context) error

func (*Views) Stop

func (v *Views) Stop()

func (*Views) TeamAddFunc

func (v *Views) TeamAddFunc(c echo.Context) error

func (*Views) TeamDeleteFunc

func (v *Views) TeamDeleteFunc(c echo.Context) error

func (*Views) TeamEditFunc

func (v *Views) TeamEditFunc(c echo.Context) error

func (*Views) TeamFunc

func (v *Views) TeamFunc(c echo.Context) error

func (*Views) TeamsFunc

func (v *Views) TeamsFunc(c echo.Context) error

func (*Views) UploadImageFunc

func (v *Views) UploadImageFunc(c echo.Context) error

func (*Views) UserAddFunc

func (v *Views) UserAddFunc(c echo.Context) error

func (*Views) UserDeleteFunc

func (v *Views) UserDeleteFunc(c echo.Context) error

func (*Views) UserEditFunc

func (v *Views) UserEditFunc(c echo.Context) error

func (*Views) UsersFunc

func (v *Views) UsersFunc(c echo.Context) error

func (*Views) UsersSetDisplayEmailFunc

func (v *Views) UsersSetDisplayEmailFunc(c echo.Context) error

func (*Views) VisitorTrackingMiddleware

func (v *Views) VisitorTrackingMiddleware(next echo.HandlerFunc) echo.HandlerFunc

func (*Views) WhatsOnAddFunc

func (v *Views) WhatsOnAddFunc(c echo.Context) error

func (*Views) WhatsOnArticleFunc

func (v *Views) WhatsOnArticleFunc(c echo.Context) error

func (*Views) WhatsOnDeleteFunc

func (v *Views) WhatsOnDeleteFunc(c echo.Context) error

func (*Views) WhatsOnEditFunc

func (v *Views) WhatsOnEditFunc(c echo.Context) error

func (*Views) WhatsOnFunc

func (v *Views) WhatsOnFunc(c echo.Context) error

func (*Views) WhatsOnSelectFunc

func (v *Views) WhatsOnSelectFunc(c echo.Context) error

func (*Views) WhatsOnTomePeriodFunc

func (v *Views) WhatsOnTomePeriodFunc(c echo.Context) error

type WhatsOnTemplate

type WhatsOnTemplate struct {
	ID              int
	Title           string
	Content         string
	Date            string
	DateOfEvent     string
	DateOfEventForm string
	IsFileValid     bool
	FileName        null.String
}

func DBWhatsOnToArticleTemplateFormat

func DBWhatsOnToArticleTemplateFormat(whatsOnDB whatson.WhatsOn) WhatsOnTemplate

func DBWhatsOnToTemplateFormat

func DBWhatsOnToTemplateFormat(whatsOnsDB []whatson.WhatsOn) []WhatsOnTemplate

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL