Skip to content

Commit a4bfef2

Browse files
lunnyzeripath
andauthored
Move db related basic functions to models/db (#17075)
* Move db related basic functions to models/db * Fix lint * Fix lint * Fix test * Fix lint * Fix lint * revert unnecessary change * Fix test * Fix wrong replace string * Use *Context * Correct committer spelling and fix wrong replaced words Co-authored-by: zeripath <art27@cantab.net>
1 parent 462306e commit a4bfef2

File tree

335 files changed

+4176
-3639
lines changed

Some content is hidden

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

335 files changed

+4176
-3639
lines changed

cmd/cmd.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"strings"
1616
"syscall"
1717

18-
"code.gitea.io/gitea/models"
18+
"code.gitea.io/gitea/models/db"
1919
"code.gitea.io/gitea/modules/setting"
2020
"code.gitea.io/gitea/modules/util"
2121

@@ -65,7 +65,7 @@ func initDBDisableConsole(disableConsole bool) error {
6565
setting.InitDBConfig()
6666

6767
setting.NewXORMLogService(disableConsole)
68-
if err := models.SetEngine(); err != nil {
68+
if err := db.SetEngine(); err != nil {
6969
return fmt.Errorf("models.SetEngine: %v", err)
7070
}
7171
return nil

cmd/convert.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package cmd
77
import (
88
"fmt"
99

10-
"code.gitea.io/gitea/models"
10+
"code.gitea.io/gitea/models/db"
1111
"code.gitea.io/gitea/modules/log"
1212
"code.gitea.io/gitea/modules/setting"
1313

@@ -39,7 +39,7 @@ func runConvert(ctx *cli.Context) error {
3939
return nil
4040
}
4141

42-
if err := models.ConvertUtf8ToUtf8mb4(); err != nil {
42+
if err := db.ConvertUtf8ToUtf8mb4(); err != nil {
4343
log.Fatal("Failed to convert database from utf8 to utf8mb4: %v", err)
4444
return err
4545
}

cmd/doctor.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"strings"
1313
"text/tabwriter"
1414

15-
"code.gitea.io/gitea/models"
15+
"code.gitea.io/gitea/models/db"
1616
"code.gitea.io/gitea/models/migrations"
1717
"code.gitea.io/gitea/modules/doctor"
1818
"code.gitea.io/gitea/modules/log"
@@ -96,7 +96,7 @@ func runRecreateTable(ctx *cli.Context) error {
9696
setting.Cfg.Section("log").Key("XORM").SetValue(",")
9797

9898
setting.NewXORMLogService(!ctx.Bool("debug"))
99-
if err := models.SetEngine(); err != nil {
99+
if err := db.SetEngine(); err != nil {
100100
fmt.Println(err)
101101
fmt.Println("Check if you are using the right config file. You can use a --config directive to specify one.")
102102
return nil
@@ -108,13 +108,13 @@ func runRecreateTable(ctx *cli.Context) error {
108108
names = append(names, args.Get(i))
109109
}
110110

111-
beans, err := models.NamesToBean(names...)
111+
beans, err := db.NamesToBean(names...)
112112
if err != nil {
113113
return err
114114
}
115115
recreateTables := migrations.RecreateTables(beans...)
116116

117-
return models.NewEngine(context.Background(), func(x *xorm.Engine) error {
117+
return db.NewEngine(context.Background(), func(x *xorm.Engine) error {
118118
if err := migrations.EnsureUpToDate(x); err != nil {
119119
return err
120120
}

cmd/dump.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"strings"
1515
"time"
1616

17-
"code.gitea.io/gitea/models"
17+
"code.gitea.io/gitea/models/db"
1818
"code.gitea.io/gitea/modules/json"
1919
"code.gitea.io/gitea/modules/log"
2020
"code.gitea.io/gitea/modules/setting"
@@ -174,7 +174,7 @@ func runDump(ctx *cli.Context) error {
174174
}
175175
setting.NewServices() // cannot access session settings otherwise
176176

177-
err := models.SetEngine()
177+
err := db.SetEngine()
178178
if err != nil {
179179
return err
180180
}
@@ -264,7 +264,7 @@ func runDump(ctx *cli.Context) error {
264264
log.Info("Dumping database...")
265265
}
266266

267-
if err := models.DumpDatabase(dbDump.Name(), targetDBType); err != nil {
267+
if err := db.DumpDatabase(dbDump.Name(), targetDBType); err != nil {
268268
fatal("Failed to dump database: %v", err)
269269
}
270270

cmd/migrate.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package cmd
77
import (
88
"context"
99

10-
"code.gitea.io/gitea/models"
10+
"code.gitea.io/gitea/models/db"
1111
"code.gitea.io/gitea/models/migrations"
1212
"code.gitea.io/gitea/modules/log"
1313
"code.gitea.io/gitea/modules/setting"
@@ -35,7 +35,7 @@ func runMigrate(ctx *cli.Context) error {
3535
log.Info("Configuration file: %s", setting.CustomConf)
3636
setting.InitDBConfig()
3737

38-
if err := models.NewEngine(context.Background(), migrations.Migrate); err != nil {
38+
if err := db.NewEngine(context.Background(), migrations.Migrate); err != nil {
3939
log.Fatal("Failed to initialize ORM engine: %v", err)
4040
return err
4141
}

cmd/migrate_storage.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"strings"
1111

1212
"code.gitea.io/gitea/models"
13+
"code.gitea.io/gitea/models/db"
1314
"code.gitea.io/gitea/models/migrations"
1415
"code.gitea.io/gitea/modules/log"
1516
"code.gitea.io/gitea/modules/setting"
@@ -117,7 +118,7 @@ func runMigrateStorage(ctx *cli.Context) error {
117118
log.Info("Configuration file: %s", setting.CustomConf)
118119
setting.InitDBConfig()
119120

120-
if err := models.NewEngine(context.Background(), migrations.Migrate); err != nil {
121+
if err := db.NewEngine(context.Background(), migrations.Migrate); err != nil {
121122
log.Fatal("Failed to initialize ORM engine: %v", err)
122123
return err
123124
}

contrib/fixtures/fixture_generation.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"path/filepath"
1212

1313
"code.gitea.io/gitea/models"
14+
"code.gitea.io/gitea/models/db"
1415
)
1516

1617
// To generate derivative fixtures, execute the following from Gitea's repository base dir:
@@ -31,11 +32,11 @@ var (
3132
func main() {
3233
pathToGiteaRoot := "."
3334
fixturesDir = filepath.Join(pathToGiteaRoot, "models", "fixtures")
34-
if err := models.CreateTestEngine(fixturesDir); err != nil {
35+
if err := db.CreateTestEngine(fixturesDir); err != nil {
3536
fmt.Printf("CreateTestEngine: %+v", err)
3637
os.Exit(1)
3738
}
38-
if err := models.PrepareTestDatabase(); err != nil {
39+
if err := db.PrepareTestDatabase(); err != nil {
3940
fmt.Printf("PrepareTestDatabase: %+v\n", err)
4041
os.Exit(1)
4142
}

contrib/pr/checkout.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"time"
2727

2828
"code.gitea.io/gitea/models"
29+
"code.gitea.io/gitea/models/db"
2930
gitea_git "code.gitea.io/gitea/modules/git"
3031
"code.gitea.io/gitea/modules/markup"
3132
"code.gitea.io/gitea/modules/markup/external"
@@ -87,27 +88,27 @@ func runPR() {
8788
setting.Database.Path = ":memory:"
8889
setting.Database.Timeout = 500
8990
*/
90-
db := setting.Cfg.Section("database")
91-
db.NewKey("DB_TYPE", "sqlite3")
92-
db.NewKey("PATH", ":memory:")
91+
dbCfg := setting.Cfg.Section("database")
92+
dbCfg.NewKey("DB_TYPE", "sqlite3")
93+
dbCfg.NewKey("PATH", ":memory:")
9394

9495
routers.NewServices()
9596
setting.Database.LogSQL = true
9697
//x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")
9798

98-
models.NewEngine(context.Background(), func(_ *xorm.Engine) error {
99+
db.NewEngine(context.Background(), func(_ *xorm.Engine) error {
99100
return nil
100101
})
101-
models.HasEngine = true
102+
db.HasEngine = true
102103
//x.ShowSQL(true)
103-
err = models.InitFixtures(
104+
err = db.InitFixtures(
104105
path.Join(curDir, "models/fixtures/"),
105106
)
106107
if err != nil {
107108
fmt.Printf("Error initializing test database: %v\n", err)
108109
os.Exit(1)
109110
}
110-
models.LoadFixtures()
111+
db.LoadFixtures()
111112
util.RemoveAll(setting.RepoRootPath)
112113
util.RemoveAll(models.LocalCopyPath())
113114
util.CopyDir(path.Join(curDir, "integrations/gitea-repositories-meta"), setting.RepoRootPath)

integrations/admin_user_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"testing"
1111

1212
"code.gitea.io/gitea/models"
13+
"code.gitea.io/gitea/models/db"
1314

1415
"github.com/stretchr/testify/assert"
1516
)
@@ -60,7 +61,7 @@ func makeRequest(t *testing.T, formData models.User, headerCode int) {
6061
})
6162

6263
session.MakeRequest(t, req, headerCode)
63-
user := models.AssertExistsAndLoadBean(t, &models.User{ID: formData.ID}).(*models.User)
64+
user := db.AssertExistsAndLoadBean(t, &models.User{ID: formData.ID}).(*models.User)
6465
assert.Equal(t, formData.Name, user.Name)
6566
assert.Equal(t, formData.LoginName, user.LoginName)
6667
assert.Equal(t, formData.Email, user.Email)

integrations/api_admin_org_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"testing"
1212

1313
"code.gitea.io/gitea/models"
14+
"code.gitea.io/gitea/models/db"
1415
api "code.gitea.io/gitea/modules/structs"
1516

1617
"github.com/stretchr/testify/assert"
@@ -42,7 +43,7 @@ func TestAPIAdminOrgCreate(t *testing.T) {
4243
assert.Equal(t, org.Location, apiOrg.Location)
4344
assert.Equal(t, org.Visibility, apiOrg.Visibility)
4445

45-
models.AssertExistsAndLoadBean(t, &models.User{
46+
db.AssertExistsAndLoadBean(t, &models.User{
4647
Name: org.UserName,
4748
LowerName: strings.ToLower(org.UserName),
4849
FullName: org.FullName,

integrations/api_admin_test.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"testing"
1111

1212
"code.gitea.io/gitea/models"
13+
"code.gitea.io/gitea/models/db"
1314
"code.gitea.io/gitea/modules/json"
1415
api "code.gitea.io/gitea/modules/structs"
1516

@@ -20,7 +21,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) {
2021
defer prepareTestEnv(t)()
2122
// user1 is an admin user
2223
session := loginUser(t, "user1")
23-
keyOwner := models.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User)
24+
keyOwner := db.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User)
2425

2526
token := getTokenForLoggedInUser(t, session)
2627
urlStr := fmt.Sprintf("/api/v1/admin/users/%s/keys?token=%s", keyOwner.Name, token)
@@ -32,7 +33,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) {
3233

3334
var newPublicKey api.PublicKey
3435
DecodeJSON(t, resp, &newPublicKey)
35-
models.AssertExistsAndLoadBean(t, &models.PublicKey{
36+
db.AssertExistsAndLoadBean(t, &models.PublicKey{
3637
ID: newPublicKey.ID,
3738
Name: newPublicKey.Title,
3839
Content: newPublicKey.Key,
@@ -43,7 +44,7 @@ func TestAPIAdminCreateAndDeleteSSHKey(t *testing.T) {
4344
req = NewRequestf(t, "DELETE", "/api/v1/admin/users/%s/keys/%d?token=%s",
4445
keyOwner.Name, newPublicKey.ID, token)
4546
session.MakeRequest(t, req, http.StatusNoContent)
46-
models.AssertNotExistsBean(t, &models.PublicKey{ID: newPublicKey.ID})
47+
db.AssertNotExistsBean(t, &models.PublicKey{ID: newPublicKey.ID})
4748
}
4849

4950
func TestAPIAdminDeleteMissingSSHKey(t *testing.T) {
@@ -52,7 +53,7 @@ func TestAPIAdminDeleteMissingSSHKey(t *testing.T) {
5253
session := loginUser(t, "user1")
5354

5455
token := getTokenForLoggedInUser(t, session)
55-
req := NewRequestf(t, "DELETE", "/api/v1/admin/users/user1/keys/%d?token=%s", models.NonexistentID, token)
56+
req := NewRequestf(t, "DELETE", "/api/v1/admin/users/user1/keys/%d?token=%s", db.NonexistentID, token)
5657
session.MakeRequest(t, req, http.StatusNotFound)
5758
}
5859

@@ -127,7 +128,7 @@ func TestAPIListUsers(t *testing.T) {
127128
}
128129
}
129130
assert.True(t, found)
130-
numberOfUsers := models.GetCount(t, &models.User{}, "type = 0")
131+
numberOfUsers := db.GetCount(t, &models.User{}, "type = 0")
131132
assert.Equal(t, numberOfUsers, len(users))
132133
}
133134

@@ -193,7 +194,7 @@ func TestAPIEditUser(t *testing.T) {
193194
json.Unmarshal(resp.Body.Bytes(), &errMap)
194195
assert.EqualValues(t, "email is not allowed to be empty string", errMap["message"].(string))
195196

196-
user2 := models.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User)
197+
user2 := db.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User)
197198
assert.False(t, user2.IsRestricted)
198199
bTrue := true
199200
req = NewRequestWithJSON(t, "PATCH", urlStr, api.EditUserOption{
@@ -204,6 +205,6 @@ func TestAPIEditUser(t *testing.T) {
204205
Restricted: &bTrue,
205206
})
206207
session.MakeRequest(t, req, http.StatusOK)
207-
user2 = models.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User)
208+
user2 = db.AssertExistsAndLoadBean(t, &models.User{LoginName: "user2"}).(*models.User)
208209
assert.True(t, user2.IsRestricted)
209210
}

0 commit comments

Comments
 (0)