1package models
2
3import "time"
4
5// Registration represents a knot registration. Knot would've been a better
6// name but we're stuck with this for historical reasons.
7type Registration struct {
8 Id int64
9 Domain string
10 ByDid string
11 Created *time.Time
12 Registered *time.Time
13 NeedsUpgrade bool
14}
15
16func (r *Registration) Status() Status {
17 if r.NeedsUpgrade {
18 return NeedsUpgrade
19 } else if r.Registered != nil {
20 return Registered
21 } else {
22 return Pending
23 }
24}
25
26func (r *Registration) IsRegistered() bool {
27 return r.Status() == Registered
28}
29
30func (r *Registration) IsNeedsUpgrade() bool {
31 return r.Status() == NeedsUpgrade
32}
33
34func (r *Registration) IsPending() bool {
35 return r.Status() == Pending
36}
37
38type Status uint32
39
40const (
41 Registered Status = iota
42 Pending
43 NeedsUpgrade
44)