Documentation
¶
Index ¶
- Constants
- func APIChoreListIcsFile(db *sql.DB, view *View, apiKey string) http.Handler
- func ChoreAddHandler(db *sql.DB, view *View) http.Handler
- func ChoreCompleteHandler(db *sql.DB, view *View) http.Handler
- func ChoreDeleteHandler(db *sql.DB) http.Handler
- func ChoreEditPage(db *sql.DB, view *View) http.Handler
- func ChoreExpediteHandler(db *sql.DB, view *View) http.Handler
- func ChoreListAPIMux(db *sql.DB, view *View, apiKey string) *http.ServeMux
- func ChoreListChartDataHandler(db *sql.DB, view *View) http.Handler
- func ChoreListChartPage(db *sql.DB, view *View) http.Handler
- func ChoreListCreateInviteHandler(db *sql.DB, view *View, inviteStore *InviteStore) http.Handler
- func ChoreListDeleteInviteHandler(db *sql.DB, view *View, inviteStore *InviteStore) http.Handler
- func ChoreListEditPage(db *sql.DB, view *View) http.Handler
- func ChoreListLeaveHandler(db *sql.DB, view *View) http.Handler
- func ChoreListMux(db *sql.DB, view *View, inviteStore *InviteStore) *http.ServeMux
- func ChoreListNewChorePage(view *View) http.Handler
- func ChoreListNewHandler(db *sql.DB) http.Handler
- func ChoreListNewPage(view *View) http.Handler
- func ChoreListPage(db *sql.DB, view *View) http.Handler
- func ChoreListRender(ctx context.Context, db *sql.DB, view *View, w http.ResponseWriter, ...) error
- func ChoreListUpdateHandler(db *sql.DB, view *View) http.Handler
- func ChoreListsPage(db *sql.DB, view *View) http.Handler
- func ChoreListsRender(ctx context.Context, db *sql.DB, view *View, w http.ResponseWriter, ...) error
- func ChoreMux(db *sql.DB, view *View) http.Handler
- func ChoreSnoozeHandler(db *sql.DB, view *View) http.Handler
- func ChoreUpdateHandler(db *sql.DB, view *View) http.Handler
- func Coalesce[T comparable](a, b T) T
- func Complete(ctx context.Context, db *sql.DB, userID, id string, occurredAt date.Date) error
- func Delete(ctx context.Context, db *sql.DB, id string) error
- func Expedite(ctx context.Context, db *sql.DB, today date.Date, userID, id string) error
- func GenerateInvite(ctx context.Context, db *sql.DB) (string, error)
- func GetMigratedDB(ctx context.Context, dir fs.FS, path string, conn string) (*sql.DB, error)
- func LoginPage(view *View) http.Handler
- func Mux(db *sql.DB, view *View, authConfig auth.Config, apiKey string) http.Handler
- func NewId() string
- func Run(ctx context.Context, args []string, stdin io.Reader, stdout io.Writer, ...) error
- func RunCfg(ctx context.Context, stdout io.Writer, cfg Config, public fs.FS, ...) error
- func SettingsPage(view *View, db *sql.DB) http.Handler
- func Snooze(ctx context.Context, db *sql.DB, today date.Date, userID, id string, ...) error
- type AuthProvider
- type Chore
- func ChoreFromDb(row cdb.Chore) Chore
- func ChoresFromDb(dbChores []cdb.Chore) []Chore
- func Create(ctx context.Context, db *sql.DB, today date.Date, userID string, input Input) (*Chore, error)
- func Get(ctx context.Context, db cdb.DBTX, userID, id string) (*Chore, error)
- func Update(ctx context.Context, db *sql.DB, prev *Chore, input Input) (*Chore, error)
- func (c *Chore) DurationToNext() date.Duration
- func (c *Chore) DurationToNextFrom(today date.Date) date.Duration
- func (c Chore) IsDate() bool
- func (c Chore) IsDateRepeating() bool
- func (c Chore) IsInterval() bool
- func (c Chore) IsOneshot() bool
- func (c *Chore) NextCompletion() date.Date
- func (c *Chore) Repeats() bool
- type ChoreEditView
- type ChoreListChartView
- type ChoreListDataView
- type ChoreListDataViewCalendar
- type ChoreListDataViewSeries
- type ChoreListEditView
- type ChoreListIcsView
- type ChoreListView
- type ChoreListsView
- type CompletionInput
- type Config
- type DBTokenStore
- type HtmlTemplateProvider
- type Input
- type InviteAcceptView
- type InviteCreateView
- type InviteStore
- func (s *InviteStore) CreateInvite(ctx context.Context, userID string, now time.Time, r *http.Request) (string, error)
- func (s *InviteStore) CreateInvitePage(ctx context.Context, userID string, w http.ResponseWriter, r *http.Request) error
- func (s *InviteStore) CreateInviteWithChoreList(ctx context.Context, userID, choreListID string, now time.Time, ...) (string, error)
- func (s *InviteStore) DeleteInviteInChoreList(ctx context.Context, inviteID, choreListID string) error
- func (s *InviteStore) InviteAccept(ctx context.Context, userID string, inviteID string, now time.Time, ...) error
- func (s *InviteStore) InvitePage(ctx context.Context, userID string, inviteID string, now time.Time, ...) error
- type InviteView
- type ListView
- type RequestDetails
- type Section
- type SettingsView
- type View
- func (v *View) ChoreCreatePage(w http.ResponseWriter, r *http.Request, d ChoreEditView) error
- func (v *View) ChoreEditPage(w http.ResponseWriter, r *http.Request, d ChoreEditView) error
- func (v *View) ChoreListChartData(w http.ResponseWriter, r *http.Request, d *ChoreListDataView) error
- func (v *View) ChoreListChartPage(w http.ResponseWriter, r *http.Request, d ChoreListChartView) error
- func (v *View) ChoreListEditPage(w http.ResponseWriter, r *http.Request, d ChoreListEditView) error
- func (v *View) ChoreListIcs(w http.ResponseWriter, r *http.Request, d *ChoreListIcsView) error
- func (v *View) ChoreListNewPage(w http.ResponseWriter, r *http.Request) error
- func (v *View) ChoreListPage(w http.ResponseWriter, r *http.Request, d ChoreListView) error
- func (v *View) ChoreListsPage(w http.ResponseWriter, r *http.Request, d ChoreListsView) error
- func (v *View) ChoreModal(w http.ResponseWriter, r *http.Request, d *Chore) error
- func (v *View) InviteAcceptPage(w http.ResponseWriter, r *http.Request, d InviteAcceptView) error
- func (v *View) InviteCreate(w http.ResponseWriter, r *http.Request, d InviteCreateView) error
- func (v *View) InvitePage(w http.ResponseWriter, r *http.Request, d InviteView) error
- func (v *View) LoginPage(w http.ResponseWriter, r *http.Request) error
- func (v *View) SettingsPage(w http.ResponseWriter, r *http.Request, d SettingsView) error
Constants ¶
View Source
const ( ChoreTypeOneshot = "oneshot" ChoreTypeInterval = "interval" ChoreTypeDate = "date" ChoreTypeDateRepeating = "date-repeating" )
Variables ¶
This section is empty.
Functions ¶
func APIChoreListIcsFile ¶
func ChoreListMux ¶
func ChoreListNewChorePage ¶
func ChoreListNewPage ¶
func ChoreListRender ¶
func ChoreListsRender ¶
func Coalesce ¶
func Coalesce[T comparable](a, b T) T
func GetMigratedDB ¶
Types ¶
type AuthProvider ¶
type AuthProvider struct {
// contains filtered or unexported fields
}
func NewAuthProvider ¶
func NewAuthProvider(db *sql.DB) *AuthProvider
func (*AuthProvider) AuthenticateUser ¶
type Chore ¶
type Chore struct {
ID string
Name string
ChoreType string
Link string
CreatedAt date.Date
Interval date.Duration
LastCompletion date.Date
SnoozedFor date.Duration
ChoreListID string
RepeatsLeft int64 // -1 means infinite
}
func ChoreFromDb ¶
func ChoresFromDb ¶
func (*Chore) DurationToNext ¶
func (*Chore) DurationToNextFrom ¶
func (Chore) IsDateRepeating ¶
func (Chore) IsInterval ¶
func (*Chore) NextCompletion ¶
type ChoreEditView ¶
type ChoreEditView struct {
*RequestDetails
Chore Chore
ChoreType string
}
func (ChoreEditView) IsDate ¶
func (c ChoreEditView) IsDate() bool
func (ChoreEditView) IsDateRepeating ¶
func (c ChoreEditView) IsDateRepeating() bool
func (ChoreEditView) IsEdit ¶
func (c ChoreEditView) IsEdit() bool
func (ChoreEditView) IsInterval ¶
func (c ChoreEditView) IsInterval() bool
func (ChoreEditView) IsOneshot ¶
func (c ChoreEditView) IsOneshot() bool
func (ChoreEditView) RepeatsValue ¶
func (c ChoreEditView) RepeatsValue() string
type ChoreListChartView ¶
type ChoreListChartView struct {
*RequestDetails
List cdb.ChoreList
}
type ChoreListDataView ¶
type ChoreListDataView struct {
Data []ChoreListDataViewSeries `json:"data"`
}
type ChoreListDataViewCalendar ¶
type ChoreListDataViewCalendar struct {
Range string `json:"range"`
}
type ChoreListDataViewSeries ¶
type ChoreListEditView ¶
type ChoreListEditView struct {
*RequestDetails
List cdb.ChoreList
Members []cdb.GetChoreListMembersRow
Invites []cdb.Invitation
}
func (ChoreListEditView) IsEdit ¶
func (c ChoreListEditView) IsEdit() bool
type ChoreListIcsView ¶
func (*ChoreListIcsView) NextCompletionOf ¶
func (v *ChoreListIcsView) NextCompletionOf(c Chore) date.Date
type ChoreListView ¶
type ChoreListsView ¶
type ChoreListsView struct {
*RequestDetails
ChoreLists []cdb.GetChoreListsByUserRow
}
type CompletionInput ¶
type DBTokenStore ¶
func (*DBTokenStore) DeleteSessions ¶
func (s *DBTokenStore) DeleteSessions(ctx context.Context, userID string) error
func (*DBTokenStore) StoreSession ¶
type HtmlTemplateProvider ¶
type HtmlTemplateProvider struct {
templ.TemplateProvider
}
func (*HtmlTemplateProvider) ExecuteTemplate ¶
func (p *HtmlTemplateProvider) ExecuteTemplate(w io.Writer, name string, data interface{}) error
type Input ¶
type InviteAcceptView ¶
type InviteAcceptView struct {
*RequestDetails
InviteID string
ChoreListName string
InviterName string
ExistingUser bool
}
type InviteCreateView ¶
type InviteCreateView struct {
ChoreLists []cdb.GetChoreListsByUserRow
}
type InviteStore ¶
type InviteStore struct {
// contains filtered or unexported fields
}
func (*InviteStore) CreateInvite ¶
func (*InviteStore) CreateInvitePage ¶
func (s *InviteStore) CreateInvitePage(ctx context.Context, userID string, w http.ResponseWriter, r *http.Request) error
func (*InviteStore) CreateInviteWithChoreList ¶
func (*InviteStore) DeleteInviteInChoreList ¶
func (s *InviteStore) DeleteInviteInChoreList(ctx context.Context, inviteID, choreListID string) error
func (*InviteStore) InviteAccept ¶
func (*InviteStore) InvitePage ¶
type InviteView ¶
type RequestDetails ¶
type RequestDetails struct {
// contains filtered or unexported fields
}
func (*RequestDetails) CurrPath ¶
func (r *RequestDetails) CurrPath() string
func (*RequestDetails) PrevPath ¶
func (r *RequestDetails) PrevPath() string
type SettingsView ¶
type SettingsView struct {
*RequestDetails
UserID string
Usernames []string
ChoreLists []cdb.GetChoreListsByUserRow
CreatedInvites []cdb.GetInvitationsByCreatorRow
}
type View ¶
type View struct {
// contains filtered or unexported fields
}
func NewView ¶
func NewView(p templ.TemplateProvider) *View
func (*View) ChoreCreatePage ¶
func (v *View) ChoreCreatePage(w http.ResponseWriter, r *http.Request, d ChoreEditView) error
func (*View) ChoreEditPage ¶
func (v *View) ChoreEditPage(w http.ResponseWriter, r *http.Request, d ChoreEditView) error
func (*View) ChoreListChartData ¶
func (v *View) ChoreListChartData(w http.ResponseWriter, r *http.Request, d *ChoreListDataView) error
func (*View) ChoreListChartPage ¶
func (v *View) ChoreListChartPage(w http.ResponseWriter, r *http.Request, d ChoreListChartView) error
func (*View) ChoreListEditPage ¶
func (v *View) ChoreListEditPage(w http.ResponseWriter, r *http.Request, d ChoreListEditView) error
func (*View) ChoreListIcs ¶
func (v *View) ChoreListIcs(w http.ResponseWriter, r *http.Request, d *ChoreListIcsView) error
func (*View) ChoreListNewPage ¶
func (*View) ChoreListPage ¶
func (v *View) ChoreListPage(w http.ResponseWriter, r *http.Request, d ChoreListView) error
func (*View) ChoreListsPage ¶
func (v *View) ChoreListsPage(w http.ResponseWriter, r *http.Request, d ChoreListsView) error
func (*View) ChoreModal ¶
func (*View) InviteAcceptPage ¶
func (v *View) InviteAcceptPage(w http.ResponseWriter, r *http.Request, d InviteAcceptView) error
func (*View) InviteCreate ¶
func (v *View) InviteCreate(w http.ResponseWriter, r *http.Request, d InviteCreateView) error
func (*View) InvitePage ¶
func (v *View) InvitePage(w http.ResponseWriter, r *http.Request, d InviteView) error
func (*View) SettingsPage ¶
func (v *View) SettingsPage(w http.ResponseWriter, r *http.Request, d SettingsView) error
Click to show internal directories.
Click to hide internal directories.