aboutsummaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/migrations.go11
-rw-r--r--db/user.go10
2 files changed, 19 insertions, 2 deletions
diff --git a/db/migrations.go b/db/migrations.go
index f0df49c..e8fc40d 100644
--- a/db/migrations.go
+++ b/db/migrations.go
@@ -89,4 +89,15 @@ var migrations []Migration = []Migration{
89 "DROP TYPE market_config_status", 89 "DROP TYPE market_config_status",
90 }, 90 },
91 }, 91 },
92 {
93 Version: 201805131000,
94 Up: []string{
95 "CREATE TYPE user_role AS ENUM ('admin', 'user')",
96 "ALTER TABLE users ADD role user_role NOT NULL DEFAULT 'user'",
97 },
98 Down: []string{
99 "ALTER TABLE users DROP COLUMN role",
100 "DROP TYPE user_role",
101 },
102 },
92} 103}
diff --git a/db/user.go b/db/user.go
index 64ca6a6..24ce491 100644
--- a/db/user.go
+++ b/db/user.go
@@ -11,10 +11,16 @@ const (
11 AwaitingConfirmation 11 AwaitingConfirmation
12) 12)
13 13
14type UserRole string
15
16const RoleUser UserRole = "user"
17const RoleAdmin UserRole = "admin"
18
14type User struct { 19type User struct {
15 Id int64 20 Id int64
16 Email string `sql:",unique,notnull"` 21 Role UserRole
17 PasswordHash string `sql:",notnull"` 22 Email string
23 PasswordHash string
18 OtpSecret string 24 OtpSecret string
19 IsOtpSetup bool 25 IsOtpSetup bool
20 Status UserStatus 26 Status UserStatus