diff --git a/appview/db/registration.go b/appview/db/registration.go --- a/appview/db/registration.go +++ b/appview/db/registration.go @@ -5,51 +5,12 @@ "database/sql" "fmt" "strings" "time" -) - -// Registration represents a knot registration. Knot would've been a better -// name but we're stuck with this for historical reasons. -type Registration struct { - Id int64 - Domain string - ByDid string - Created *time.Time - Registered *time.Time - NeedsUpgrade bool -} -func (r *Registration) Status() Status { - if r.NeedsUpgrade { - return NeedsUpgrade - } else if r.Registered != nil { - return Registered - } else { - return Pending - } -} - -func (r *Registration) IsRegistered() bool { - return r.Status() == Registered -} - -func (r *Registration) IsNeedsUpgrade() bool { - return r.Status() == NeedsUpgrade -} - -func (r *Registration) IsPending() bool { - return r.Status() == Pending -} - -type Status uint32 - -const ( - Registered Status = iota - Pending - NeedsUpgrade + "tangled.org/core/appview/models" ) -func GetRegistrations(e Execer, filters ...filter) ([]Registration, error) { - var registrations []Registration +func GetRegistrations(e Execer, filters ...filter) ([]models.Registration, error) { + var registrations []models.Registration var conditions []string var args []any @@ -81,7 +42,7 @@ for rows.Next() { var createdAt string var registeredAt sql.Null[string] var needsUpgrade int - var reg Registration + var reg models.Registration err = rows.Scan(®.Id, ®.Domain, ®.ByDid, &createdAt, ®isteredAt, &needsUpgrade) if err != nil { diff --git a/appview/models/registration.go b/appview/models/registration.go new file mode 100644 --- /dev/null +++ b/appview/models/registration.go @@ -0,0 +1,44 @@ +package models + +import "time" + +// Registration represents a knot registration. Knot would've been a better +// name but we're stuck with this for historical reasons. +type Registration struct { + Id int64 + Domain string + ByDid string + Created *time.Time + Registered *time.Time + NeedsUpgrade bool +} + +func (r *Registration) Status() Status { + if r.NeedsUpgrade { + return NeedsUpgrade + } else if r.Registered != nil { + return Registered + } else { + return Pending + } +} + +func (r *Registration) IsRegistered() bool { + return r.Status() == Registered +} + +func (r *Registration) IsNeedsUpgrade() bool { + return r.Status() == NeedsUpgrade +} + +func (r *Registration) IsPending() bool { + return r.Status() == Pending +} + +type Status uint32 + +const ( + Registered Status = iota + Pending + NeedsUpgrade +) diff --git a/appview/pages/pages.go b/appview/pages/pages.go --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -324,7 +324,7 @@ return p.execute("user/settings/emails", w, params) } type UpgradeBannerParams struct { - Registrations []db.Registration + Registrations []models.Registration Spindles []db.Spindle } @@ -334,7 +334,7 @@ } type KnotsParams struct { LoggedInUser *oauth.User - Registrations []db.Registration + Registrations []models.Registration } func (p *Pages) Knots(w io.Writer, params KnotsParams) error { @@ -343,7 +343,7 @@ } type KnotParams struct { LoggedInUser *oauth.User - Registration *db.Registration + Registration *models.Registration Members []string Repos map[string][]models.Repo IsOwner bool @@ -354,7 +354,7 @@ return p.execute("knots/dashboard", w, params) } type KnotListingParams struct { - *db.Registration + *models.Registration } func (p *Pages) KnotListing(w io.Writer, params KnotListingParams) error {