package store import ( "time" "atlas9.dev/c/core" "atlas9.dev/c/core/dbi" "atlas9.dev/c/core/tokens" ) type PasswordResetData struct { UserID core.ID } type PasswordResetTaskData struct { UserID core.ID Email string Token string } type PasswordResetTokenStore tokens.Store[PasswordResetData] func NewPasswordResetTokenStore(tx dbi.DBI) PasswordResetTokenStore { return NewSqliteTokenStore[PasswordResetData]( tx, "password_reset_tokens", time.Hour, tokens.RandomString(10), tokens.RandomString(20), ) }