package store import ( "time" "atlas9.dev/c/core" "atlas9.dev/c/core/dbi" "atlas9.dev/c/core/tokens" ) type EmailVerificationToken struct { UserID core.ID } type EmailVerificationTask struct { UserID core.ID Email string Token string } type EmailVerificationTokenStore tokens.Store[EmailVerificationToken] func NewEmailVerificationTokenStore(tx dbi.DBI) EmailVerificationTokenStore { return NewSqliteTokenStore[EmailVerificationToken]( tx, "email_verification_tokens", 24*time.Hour, tokens.RandomString(10), tokens.RandomString(20), ) }