Documentation
¶
Overview ¶
templ: version: v0.3.977
templ: version: v0.3.977
Index ¶
- func FSStatic() (http.FileSystem, error)
- func FSStaticDev() http.FileSystem
- type App
- func (*App) Head(r *http.Request) (body templ.Component, err error)
- func (*App) POSTCause500(r *http.Request) error
- func (*App) POSTSignOut(r *http.Request, session Session) (closeSession bool, redirect string, err error)
- func (*App) Recover500(err error, sse *datastar.ServerSentEventGenerator) error
- type Base
- type Chat
- type EventMessagingRead
- type EventMessagingSent
- type EventMessagingWriting
- type EventMessagingWritingStopped
- type EventPostArchived
- type EventSessionClosed
- type Metrics
- type PageError404
- type PageError500
- type PageIndex
- type PageLogin
- func (PageLogin) GET(r *http.Request, session Session) (body templ.Component, redirect string, disableRefreshAfterHidden bool, ...)
- func (p PageLogin) POSTSubmit(r *http.Request, session Session, signals struct{ ... }) (body templ.Component, redirect string, redirectStatus int, newSession Session, ...)
- type PageMessages
- func (p PageMessages) GET(r *http.Request, session Session, query struct{ ... }) (body templ.Component, redirect string, enableBackgroundStreaming bool, ...)
- func (p PageMessages) OnMessagingRead(event EventMessagingRead, sse *datastar.ServerSentEventGenerator, ...) error
- func (p PageMessages) OnMessagingSent(event EventMessagingSent, sse *datastar.ServerSentEventGenerator, ...) error
- func (PageMessages) OnMessagingWriting(event EventMessagingWriting, sse *datastar.ServerSentEventGenerator, ...) error
- func (PageMessages) OnMessagingWritingStopped(event EventMessagingWritingStopped, sse *datastar.ServerSentEventGenerator, ...) error
- func (p PageMessages) POSTRead(r *http.Request, session Session, query struct{ ... }, signals struct{ ... }, ...) error
- func (p PageMessages) POSTSendMessage(r *http.Request, session Session, signals struct{ ... }, ...) error
- func (p PageMessages) POSTWriting(r *http.Request, session Session, signals struct{ ... }, ...) error
- func (p PageMessages) POSTWritingStopped(r *http.Request, session Session, signals struct{ ... }, ...) error
- type PageMyPosts
- type PagePost
- func (p PagePost) GET(r *http.Request, session Session, path struct{ ... }) (body, head templ.Component, redirect string, err error)
- func (p PagePost) OnPostArchived(event EventPostArchived, sse *datastar.ServerSentEventGenerator, ...) error
- func (p PagePost) POSTSendMessage(r *http.Request, sse *datastar.ServerSentEventGenerator, session Session, ...) error
- type PageSearch
- type PageSettings
- func (p PageSettings) GET(r *http.Request, session Session) (body templ.Component, redirect string, err error)
- func (p PageSettings) OnSessionClosed(event EventSessionClosed, sse *datastar.ServerSentEventGenerator, ...) error
- func (p PageSettings) POSTCloseAllSessions(r *http.Request, session Session, dispatch func(EventSessionClosed) error) (redirect string, err error)
- func (p PageSettings) POSTCloseSession(r *http.Request, sessionToken string, session Session, path struct{ ... }, ...) (closeSession bool, redirect string, err error)
- func (p PageSettings) POSTSave(r *http.Request, sse *datastar.ServerSentEventGenerator, session Session, ...) (redirect string, err error)
- type PageUser
- type SearchParams
- type Session
- type SessionManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FSStatic ¶
func FSStatic() (http.FileSystem, error)
FSStatic returns an http.FileSystem from the embedded filesystem. Use this in production mode.
func FSStaticDev ¶
func FSStaticDev() http.FileSystem
FSStaticDev returns an http.FileSystem that reads from the filesystem. Use this in development mode for live reloading without server recompilation.
Types ¶
type App ¶
type App struct {
Metrics
// contains filtered or unexported fields
}
func NewApp ¶
func NewApp( sessions SessionManager, repo *domain.Repository, ) *App
func (*App) POSTCause500 ¶
POSTCause500 is /cause-500-internal-error/{$}
func (*App) POSTSignOut ¶
func (*App) POSTSignOut(r *http.Request, session Session) ( closeSession bool, redirect string, err error, )
POSTSignOut is /sign-out/{$}
func (*App) Recover500 ¶
func (*App) Recover500( err error, sse *datastar.ServerSentEventGenerator, ) error
type Base ¶
type Base struct{ App *App }
Base is the main page wrapper
func (Base) OnMessagingRead ¶
func (b Base) OnMessagingRead( event EventMessagingRead, sse *datastar.ServerSentEventGenerator, session Session, ) error
func (Base) OnMessagingSent ¶
func (b Base) OnMessagingSent( event EventMessagingSent, sse *datastar.ServerSentEventGenerator, session Session, ) error
type EventMessagingRead ¶
type EventMessagingRead struct {
TargetUserIDs []string `json:"-"`
ChatID string `json:"chat-id"`
UserID string `json:"user-id"`
MessageID string `json:"message-id"`
}
EventMessagingRead is "messaging.read"
type EventMessagingSent ¶
type EventMessagingSent struct {
TargetUserIDs []string `json:"-"`
ChatID string `json:"chat-id"`
UserID string `json:"user-id"`
}
EventMessagingSent is "messaging.sent"
type EventMessagingWriting ¶
type EventMessagingWriting struct {
TargetUserIDs []string `json:"-"`
ChatID string `json:"chat-id"`
UserID string `json:"user-id"`
}
EventMessagingWriting is "messaging.writing"
type EventMessagingWritingStopped ¶
type EventMessagingWritingStopped struct {
TargetUserIDs []string `json:"-"`
ChatID string `json:"chat-id"`
UserID string `json:"user-id"`
}
EventMessagingWritingStopped is "messaging.writing-stopped"
type EventPostArchived ¶
type EventPostArchived struct {
PostID string `json:"post-id"`
}
EventPostArchived is "posts.archived"
type EventSessionClosed ¶
EventSessionClosed is "sessions.closed"
type Metrics ¶
type Metrics struct {
LoginSubmissions *prometheus.CounterVec
ChatMessagesSent *prometheus.CounterVec
}
type PageError404 ¶
PageError404 is /not-found
type PageLogin ¶
type PageLogin struct{ App *App }
PageLogin is /login
func (PageLogin) POSTSubmit ¶
func (p PageLogin) POSTSubmit( r *http.Request, session Session, signals struct { EmailOrUsername string `json:"emailorusername"` Password string `json:"password"` }, ) ( body templ.Component, redirect string, redirectStatus int, newSession Session, err error, )
POSTSubmit is /login/submit
type PageMessages ¶
PageMessages is /messages
func (PageMessages) OnMessagingRead ¶
func (p PageMessages) OnMessagingRead( event EventMessagingRead, sse *datastar.ServerSentEventGenerator, session Session, signals struct { Chat string `json:"chatselected"` }, ) error
func (PageMessages) OnMessagingSent ¶
func (p PageMessages) OnMessagingSent( event EventMessagingSent, sse *datastar.ServerSentEventGenerator, session Session, signals struct { Chat string `json:"chatselected"` }, ) error
func (PageMessages) OnMessagingWriting ¶
func (PageMessages) OnMessagingWriting( event EventMessagingWriting, sse *datastar.ServerSentEventGenerator, session Session, ) error
func (PageMessages) OnMessagingWritingStopped ¶
func (PageMessages) OnMessagingWritingStopped( event EventMessagingWritingStopped, sse *datastar.ServerSentEventGenerator, session Session, ) error
func (PageMessages) POSTRead ¶
func (p PageMessages) POSTRead( r *http.Request, session Session, query struct { MessageID string `query:"msgid"` }, signals struct { ChatSelected string `json:"chatselected"` }, dispatch func(EventMessagingRead) error, ) error
POSTRead is /messages/read/{$}
func (PageMessages) POSTSendMessage ¶
func (p PageMessages) POSTSendMessage( r *http.Request, session Session, signals struct { ChatSelected string `json:"chatselected"` MessageText string `json:"messagetext"` }, dispatch func( EventMessagingWritingStopped, EventMessagingSent, ) error, ) error
POSTSendMessage is /messages/sendmessage/{$}
func (PageMessages) POSTWriting ¶
func (p PageMessages) POSTWriting( r *http.Request, session Session, signals struct { ChatSelected string `json:"chatselected"` }, dispatch func( EventMessagingWriting, ) error, ) error
POSTWriting is /messages/writing/{$}
func (PageMessages) POSTWritingStopped ¶
func (p PageMessages) POSTWritingStopped( r *http.Request, session Session, signals struct { ChatSelected string `json:"chatselected"` }, dispatch func( EventMessagingWritingStopped, ) error, ) error
POSTWritingStopped is /messages/writing-stopped/{$}
type PageMyPosts ¶
PageMyPosts is /my-posts
type PagePost ¶
PagePost is /post/{slug}
func (PagePost) OnPostArchived ¶
func (p PagePost) OnPostArchived( event EventPostArchived, sse *datastar.ServerSentEventGenerator, session Session, ) error
func (PagePost) POSTSendMessage ¶
func (p PagePost) POSTSendMessage( r *http.Request, sse *datastar.ServerSentEventGenerator, session Session, path struct { Slug string `path:"slug"` }, signals struct { MessageText string `json:"messagetext"` }, dispatch func(EventMessagingSent) error, ) error
POSTSendMessage is /post/{slug}/send-message/{$}
type PageSearch ¶
PageSearch is /search
func (PageSearch) GET ¶
func (p PageSearch) GET( r *http.Request, session Session, query SearchParams, ) (body templ.Component, err error)
func (PageSearch) POSTParamChange ¶
func (p PageSearch) POSTParamChange( r *http.Request, sse *datastar.ServerSentEventGenerator, session Session, signals SearchParams, ) error
POSTParamChange is /search/paramchange/{$}
type PageSettings ¶
PageSettings is /settings
func (PageSettings) OnSessionClosed ¶
func (p PageSettings) OnSessionClosed( event EventSessionClosed, sse *datastar.ServerSentEventGenerator, sessionToken string, session Session, ) error
func (PageSettings) POSTCloseAllSessions ¶
func (p PageSettings) POSTCloseAllSessions( r *http.Request, session Session, dispatch func(EventSessionClosed) error, ) (redirect string, err error)
POSTCloseAllSessions is /settings/close-all-sessions/{$}
func (PageSettings) POSTCloseSession ¶
func (p PageSettings) POSTCloseSession( r *http.Request, sessionToken string, session Session, path struct { Token string `path:"token"` }, dispatch func(EventSessionClosed) error, ) ( closeSession bool, redirect string, err error, )
POSTCloseSession is /settings/close-session/{token}/{$}
type PageUser ¶
PageUser is /user/{name}/{$}
func (PageUser) OnPostArchived ¶
func (p PageUser) OnPostArchived( event EventPostArchived, sse *datastar.ServerSentEventGenerator, session Session, ) error
type SearchParams ¶
type SearchParams struct {
Term string `json:"term" query:"t" reflectsignal:"term"`
Category string `json:"category" query:"c" reflectsignal:"category"`
PriceMin int64 `json:"pmin,omitempty" query:"pmin" reflectsignal:"pmin"`
PriceMax int64 `json:"pmax,omitempty" query:"pmax" reflectsignal:"pmax"`
Location string `json:"location" query:"l" reflectsignal:"location"`
}
type SessionManager ¶
type SessionManager interface {
Session(ctx context.Context, token string) (Session, error)
CloseSession(ctx context.Context, token string) error
CloseAllUserSessions(
ctx context.Context, buffer []string, userID string,
) ([]string, error)
UserSessions(
ctx context.Context, userID string,
) iter.Seq2[string, Session]
}