Skip to content

Commit 4e1d2b2

Browse files
committed
Decoupled models into a separate package. Plus more refactoring.
1 parent b822c45 commit 4e1d2b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+482
-404
lines changed

Godeps/Godeps.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/migrate.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
package cmd
22

33
import (
4-
"log"
5-
6-
"github.com/RichardKnop/go-oauth2-server/migrations"
7-
"github.com/RichardKnop/go-oauth2-server/oauth"
4+
"github.com/RichardKnop/go-oauth2-server/models"
5+
"github.com/RichardKnop/go-oauth2-server/util/migrations"
86
)
97

108
// Migrate runs database migrations
119
func Migrate() error {
1210
_, db, err := initConfigDB(true, false)
13-
log.Print(db)
14-
log.Print("NFIOANFUWA")
15-
log.Print(err)
1611
if err != nil {
1712
return err
1813
}
@@ -24,7 +19,7 @@ func Migrate() error {
2419
}
2520

2621
// Run migrations for the oauth service
27-
if err := oauth.MigrateAll(db); err != nil {
22+
if err := models.MigrateAll(db); err != nil {
2823
return err
2924
}
3025

health/routes.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package health
22

33
import (
44
"github.com/gorilla/mux"
5-
"github.com/RichardKnop/go-oauth2-server/routes"
5+
"github.com/RichardKnop/go-oauth2-server/util/routes"
66
)
77

88
// RegisterRoutes registers route handlers for the health service

health/service_interface.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package health
22

33
import (
44
"github.com/gorilla/mux"
5-
"github.com/RichardKnop/go-oauth2-server/routes"
5+
"github.com/RichardKnop/go-oauth2-server/util/routes"
66
)
77

88
// ServiceInterface defines exported methods

models/common.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package models
2+
3+
import (
4+
"time"
5+
6+
"github.com/jinzhu/gorm"
7+
)
8+
9+
// TimestampModel ...
10+
type TimestampModel struct {
11+
CreatedAt time.Time
12+
UpdatedAt time.Time
13+
DeletedAt *time.Time
14+
}
15+
16+
// EmailTokenModel is an abstract model which can be used for objects from which
17+
// we derive redirect emails (email confirmation, password reset and such)
18+
type EmailTokenModel struct {
19+
gorm.Model
20+
Reference string `sql:"type:varchar(40);unique;not null"`
21+
EmailSent bool `sql:"index;not null"`
22+
EmailSentAt *time.Time
23+
ExpiresAt time.Time `sql:"index;not null"`
24+
}

oauth/migrations.go renamed to models/migrations.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
package oauth
1+
package models
22

33
import (
44
"fmt"
55

6+
"github.com/RichardKnop/go-oauth2-server/util/migrations"
67
"github.com/jinzhu/gorm"
7-
"github.com/RichardKnop/go-oauth2-server/migrations"
88
)
99

1010
var (
1111
list = []migrations.MigrationStage{
1212
{
13-
Name: "oauth_initial",
13+
Name: "initial",
1414
Function: migrate0001,
1515
},
1616
}
@@ -22,77 +22,81 @@ func MigrateAll(db *gorm.DB) error {
2222
}
2323

2424
func migrate0001(db *gorm.DB, name string) error {
25+
//-------------
26+
// OAUTH models
27+
//-------------
28+
2529
// Create tables
26-
if err := db.CreateTable(new(Client)).Error; err != nil {
30+
if err := db.CreateTable(new(OauthClient)).Error; err != nil {
2731
return fmt.Errorf("Error creating oauth_clients table: %s", err)
2832
}
29-
if err := db.CreateTable(new(Scope)).Error; err != nil {
33+
if err := db.CreateTable(new(OauthScope)).Error; err != nil {
3034
return fmt.Errorf("Error creating oauth_scopes table: %s", err)
3135
}
32-
if err := db.CreateTable(new(Role)).Error; err != nil {
36+
if err := db.CreateTable(new(OauthRole)).Error; err != nil {
3337
return fmt.Errorf("Error creating oauth_roles table: %s", err)
3438
}
35-
if err := db.CreateTable(new(User)).Error; err != nil {
39+
if err := db.CreateTable(new(OauthUser)).Error; err != nil {
3640
return fmt.Errorf("Error creating oauth_users table: %s", err)
3741
}
38-
if err := db.CreateTable(new(RefreshToken)).Error; err != nil {
42+
if err := db.CreateTable(new(OauthRefreshToken)).Error; err != nil {
3943
return fmt.Errorf("Error creating oauth_refresh_tokens table: %s", err)
4044
}
41-
if err := db.CreateTable(new(AccessToken)).Error; err != nil {
45+
if err := db.CreateTable(new(OauthAccessToken)).Error; err != nil {
4246
return fmt.Errorf("Error creating oauth_access_tokens table: %s", err)
4347
}
44-
if err := db.CreateTable(new(AuthorizationCode)).Error; err != nil {
48+
if err := db.CreateTable(new(OauthAuthorizationCode)).Error; err != nil {
4549
return fmt.Errorf("Error creating oauth_authorization_codes table: %s", err)
4650
}
47-
err := db.Model(new(User)).AddForeignKey(
51+
err := db.Model(new(OauthUser)).AddForeignKey(
4852
"role_id", "oauth_roles(id)",
4953
"RESTRICT", "RESTRICT",
5054
).Error
5155
if err != nil {
5256
return fmt.Errorf("Error creating foreign key on "+
5357
"oauth_users.role_id for oauth_roles(id): %s", err)
5458
}
55-
err = db.Model(new(RefreshToken)).AddForeignKey(
59+
err = db.Model(new(OauthRefreshToken)).AddForeignKey(
5660
"client_id", "oauth_clients(id)",
5761
"RESTRICT", "RESTRICT",
5862
).Error
5963
if err != nil {
6064
return fmt.Errorf("Error creating foreign key on "+
6165
"oauth_refresh_tokens.client_id for oauth_clients(id): %s", err)
6266
}
63-
err = db.Model(new(RefreshToken)).AddForeignKey(
67+
err = db.Model(new(OauthRefreshToken)).AddForeignKey(
6468
"user_id", "oauth_users(id)",
6569
"RESTRICT", "RESTRICT",
6670
).Error
6771
if err != nil {
6872
return fmt.Errorf("Error creating foreign key on "+
6973
"oauth_refresh_tokens.user_id for oauth_users(id): %s", err)
7074
}
71-
err = db.Model(new(AccessToken)).AddForeignKey(
75+
err = db.Model(new(OauthAccessToken)).AddForeignKey(
7276
"client_id", "oauth_clients(id)",
7377
"RESTRICT", "RESTRICT",
7478
).Error
7579
if err != nil {
7680
return fmt.Errorf("Error creating foreign key on "+
7781
"oauth_access_tokens.client_id for oauth_clients(id): %s", err)
7882
}
79-
err = db.Model(new(AccessToken)).AddForeignKey(
83+
err = db.Model(new(OauthAccessToken)).AddForeignKey(
8084
"user_id", "oauth_users(id)",
8185
"RESTRICT", "RESTRICT",
8286
).Error
8387
if err != nil {
8488
return fmt.Errorf("Error creating foreign key on "+
8589
"oauth_access_tokens.user_id for oauth_users(id): %s", err)
8690
}
87-
err = db.Model(new(AuthorizationCode)).AddForeignKey(
91+
err = db.Model(new(OauthAuthorizationCode)).AddForeignKey(
8892
"client_id", "oauth_clients(id)",
8993
"RESTRICT", "RESTRICT",
9094
).Error
9195
if err != nil {
9296
return fmt.Errorf("Error creating foreign key on "+
9397
"oauth_authorization_codes.client_id for oauth_clients(id): %s", err)
9498
}
95-
err = db.Model(new(AuthorizationCode)).AddForeignKey(
99+
err = db.Model(new(OauthAuthorizationCode)).AddForeignKey(
96100
"user_id", "oauth_users(id)",
97101
"RESTRICT", "RESTRICT",
98102
).Error

0 commit comments

Comments
 (0)