Skip to content

Commit 1e8d14f

Browse files
Refactor
1 parent 2b83dae commit 1e8d14f

File tree

13 files changed

+92
-798
lines changed

13 files changed

+92
-798
lines changed

docs/content/doc/advanced/config-cheat-sheet.en-us.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,4 +515,4 @@ Two special environment variables are passed to the render command:
515515

516516
- `SHOW_FOOTER_BRANDING`: **false**: Show Gitea branding in the footer.
517517
- `SHOW_FOOTER_VERSION`: **true**: Show Gitea version information in the footer.
518-
- `SHOW_FOOTER_TEMPLATE_LOAD_TIME`: **true**: Show time of template execution in the footer.
518+
- `SHOW_FOOTER_TEMPLATE_LOAD_TIME`: **true**: Show time of template execution in the footer.

docs/content/doc/advanced/config-cheat-sheet.en-us.md.orig

Lines changed: 0 additions & 518 deletions
This file was deleted.

models/admin.go

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@ import (
88
"context"
99
"fmt"
1010
"os"
11-
"path/filepath"
12-
13-
"code.gitea.io/gitea/modules/setting"
14-
"gocloud.dev/blob"
1511

1612
"code.gitea.io/gitea/modules/log"
13+
"code.gitea.io/gitea/modules/setting"
1714
"code.gitea.io/gitea/modules/timeutil"
1815

1916
"github.com/Unknwon/com"
@@ -66,23 +63,10 @@ func RemoveAllWithNotice(title, path string) {
6663
}
6764

6865
func removeAllFromBucket(bucketPath, objKey string) error {
69-
var bucket *blob.Bucket
70-
var err error
7166
ctx := context.Background()
72-
if filepath.IsAbs(bucketPath) {
73-
if err := os.MkdirAll(bucketPath, 0700); err != nil {
74-
log.Fatal("Failed to create '%s': %v", bucketPath, err)
75-
}
76-
bucket, err = blob.OpenBucket(ctx, "file://"+bucketPath)
77-
if err != nil {
78-
return err
79-
}
80-
} else {
81-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
82-
if err != nil {
83-
return err
84-
}
85-
bucket = blob.PrefixedBucket(bucket, setting.AttachmentPath)
67+
bucket, err := setting.OpenBucket(ctx, bucketPath)
68+
if err != nil {
69+
return fmt.Errorf("could not open bucket: %v", err)
8670
}
8771
defer bucket.Close()
8872

models/attachment.go

Lines changed: 9 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,13 @@ import (
1010
"io"
1111
"os"
1212
"path"
13-
"path/filepath"
1413

15-
"code.gitea.io/gitea/modules/log"
1614
"code.gitea.io/gitea/modules/setting"
1715
api "code.gitea.io/gitea/modules/structs"
1816
"code.gitea.io/gitea/modules/timeutil"
1917

2018
"github.com/go-xorm/xorm"
2119
gouuid "github.com/satori/go.uuid"
22-
"gocloud.dev/blob"
2320
)
2421

2522
// Attachment represent a attachment of issue/comment/release.
@@ -82,23 +79,10 @@ func (a *Attachment) DownloadURL() string {
8279

8380
// UploadToBucket uploads attachments to bucket
8481
func (a *Attachment) UploadToBucket(buf []byte, file io.Reader) (*Attachment, error) {
85-
var bucket *blob.Bucket
86-
var err error
8782
ctx := context.Background()
88-
if filepath.IsAbs(setting.AttachmentPath) {
89-
if err := os.MkdirAll(setting.AttachmentPath, 0700); err != nil {
90-
log.Fatal("Failed to create '%s': %v", setting.AttachmentPath, err)
91-
}
92-
bucket, err = blob.OpenBucket(ctx, "file://"+setting.AttachmentPath)
93-
if err != nil {
94-
return nil, fmt.Errorf("could not open bucket: %v", err)
95-
}
96-
} else {
97-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
98-
if err != nil {
99-
return nil, fmt.Errorf("could not open bucket: %v", err)
100-
}
101-
bucket = blob.PrefixedBucket(bucket, setting.AttachmentPath)
83+
bucket, err := setting.OpenBucket(ctx, setting.AttachmentPath)
84+
if err != nil {
85+
return nil, fmt.Errorf("could not open bucket: %v", err)
10286
}
10387
defer bucket.Close()
10488

@@ -222,23 +206,10 @@ func getAttachmentByReleaseIDFileName(e Engine, releaseID int64, fileName string
222206

223207
// Open provides attachment reader from bucket
224208
func (a *Attachment) Open() (io.ReadCloser, error) {
225-
var bucket *blob.Bucket
226-
var err error
227209
ctx := context.Background()
228-
if filepath.IsAbs(setting.AttachmentPath) {
229-
if err := os.MkdirAll(setting.AttachmentPath, 0700); err != nil {
230-
log.Fatal("Failed to create '%s': %v", setting.AttachmentPath, err)
231-
}
232-
bucket, err = blob.OpenBucket(ctx, "file://"+setting.AttachmentPath)
233-
if err != nil {
234-
return nil, fmt.Errorf("could not open bucket: %v", err)
235-
}
236-
} else {
237-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
238-
if err != nil {
239-
return nil, fmt.Errorf("could not open bucket: %v", err)
240-
}
241-
bucket = blob.PrefixedBucket(bucket, setting.AttachmentPath)
210+
bucket, err := setting.OpenBucket(ctx, setting.AttachmentPath)
211+
if err != nil {
212+
return nil, fmt.Errorf("could not open bucket: %v", err)
242213
}
243214
defer bucket.Close()
244215

@@ -254,23 +225,10 @@ func (a *Attachment) Open() (io.ReadCloser, error) {
254225

255226
// deleteFromBucket deletes attachments from bucket
256227
func (a *Attachment) deleteFromBucket() error {
257-
var bucket *blob.Bucket
258-
var err error
259228
ctx := context.Background()
260-
if filepath.IsAbs(setting.AttachmentPath) {
261-
if err := os.MkdirAll(setting.AttachmentPath, 0700); err != nil {
262-
log.Fatal("Failed to create '%s': %v", setting.AttachmentPath, err)
263-
}
264-
bucket, err = blob.OpenBucket(ctx, "file://"+setting.AttachmentPath)
265-
if err != nil {
266-
return fmt.Errorf("could not open bucket: %v", err)
267-
}
268-
} else {
269-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
270-
if err != nil {
271-
return fmt.Errorf("could not open bucket: %v", err)
272-
}
273-
bucket = blob.PrefixedBucket(bucket, setting.AttachmentPath)
229+
bucket, err := setting.OpenBucket(ctx, setting.AttachmentPath)
230+
if err != nil {
231+
return fmt.Errorf("could not open bucket: %v", err)
274232
}
275233
defer bucket.Close()
276234

models/migrations/migrations.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@ import (
1717
"strings"
1818
"time"
1919

20-
"code.gitea.io/gitea/models"
21-
2220
"github.com/Unknwon/com"
2321
"github.com/go-xorm/xorm"
2422
gouuid "github.com/satori/go.uuid"
25-
"gopkg.in/ini.v1"
23+
ini "gopkg.in/ini.v1"
2624

2725
"code.gitea.io/gitea/modules/generate"
2826
"code.gitea.io/gitea/modules/log"
@@ -589,7 +587,7 @@ func attachmentRefactor(x *xorm.Engine) error {
589587

590588
attachments := make([]*Attachment, 0, len(results))
591589
for _, attach := range results {
592-
if models.IsAvatarValid(setting.AttachmentPath, string(attach["path"])) {
590+
if !com.IsExist(string(attach["path"])) {
593591
// If the attachment is already missing, there is no point to update it.
594592
continue
595593
}
@@ -640,16 +638,14 @@ func attachmentRefactor(x *xorm.Engine) error {
640638
log.Info("Failed to rename some attachments, old and new paths are saved into: %s", dumpPath)
641639
}()
642640
for _, attach := range attachments {
643-
if filepath.IsAbs(setting.AttachmentPath) {
644-
if err = os.MkdirAll(path.Dir(attach.NewPath), os.ModePerm); err != nil {
645-
isSucceed = false
646-
return err
647-
}
641+
if err = os.MkdirAll(path.Dir(attach.NewPath), os.ModePerm); err != nil {
642+
isSucceed = false
643+
return err
644+
}
648645

649-
if err = os.Rename(attach.Path, attach.NewPath); err != nil {
650-
isSucceed = false
651-
return err
652-
}
646+
if err = os.Rename(attach.Path, attach.NewPath); err != nil {
647+
isSucceed = false
648+
return err
653649
}
654650
}
655651

models/migrations/v61.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ package migrations
77
import (
88
"context"
99
"fmt"
10-
"os"
1110
"path"
12-
"path/filepath"
1311

1412
"code.gitea.io/gitea/modules/log"
1513
"code.gitea.io/gitea/modules/setting"
1614

1715
"github.com/go-xorm/xorm"
18-
"gocloud.dev/blob"
16+
17+
// Google, Azure and S3 packages for bucket storage
18+
_ "gocloud.dev/blob/azureblob"
19+
_ "gocloud.dev/blob/fileblob"
20+
_ "gocloud.dev/blob/gcsblob"
21+
_ "gocloud.dev/blob/s3blob"
1922
)
2023

2124
func addSizeToAttachment(x *xorm.Engine) error {
@@ -33,23 +36,10 @@ func addSizeToAttachment(x *xorm.Engine) error {
3336
return fmt.Errorf("query attachments: %v", err)
3437
}
3538

36-
var bucket *blob.Bucket
37-
var err error
3839
ctx := context.Background()
39-
if filepath.IsAbs(setting.AttachmentPath) {
40-
if err := os.MkdirAll(setting.AttachmentPath, 0700); err != nil {
41-
log.Fatal("Failed to create '%s': %v", setting.AttachmentPath, err)
42-
}
43-
bucket, err = blob.OpenBucket(ctx, "file://"+setting.AttachmentPath)
44-
if err != nil {
45-
return fmt.Errorf("could not open bucket: %v", err)
46-
}
47-
} else {
48-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
49-
if err != nil {
50-
return fmt.Errorf("could not open bucket: %v", err)
51-
}
52-
bucket = blob.PrefixedBucket(bucket, setting.AttachmentPath)
40+
bucket, err := setting.OpenBucket(ctx, setting.AttachmentPath)
41+
if err != nil {
42+
return fmt.Errorf("could not open bucket: %v", err)
5343
}
5444
defer bucket.Close()
5545

models/org.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import (
1111
"os"
1212
"strings"
1313

14-
"code.gitea.io/gitea/modules/setting"
15-
1614
"code.gitea.io/gitea/modules/log"
15+
"code.gitea.io/gitea/modules/setting"
1716
"code.gitea.io/gitea/modules/structs"
1817

1918
"github.com/go-xorm/xorm"

models/storage.go

Lines changed: 10 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,18 @@ import (
66
"fmt"
77
"image"
88
"image/png"
9-
"os"
10-
"path/filepath"
119

1210
"code.gitea.io/gitea/modules/log"
1311
"code.gitea.io/gitea/modules/setting"
14-
15-
"gocloud.dev/blob"
1612
)
1713

1814
// IsAvatarValid checks if the avatarLink is valid
1915
func IsAvatarValid(avatarUploadPath, objKey string) bool {
20-
var bucket *blob.Bucket
21-
var err error
2216
ctx := context.Background()
23-
if filepath.IsAbs(avatarUploadPath) {
24-
if err := os.MkdirAll(setting.AvatarUploadPath, 0700); err != nil {
25-
log.Fatal("Failed to create '%s': %v", setting.AvatarUploadPath, err)
26-
}
27-
bucket, err = blob.OpenBucket(ctx, "file://"+avatarUploadPath)
28-
if err != nil {
29-
log.Error("could not open bucket: %v", err)
30-
return false
31-
}
32-
} else {
33-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
34-
if err != nil {
35-
log.Error("could not open bucket: %v", err)
36-
return false
37-
}
38-
bucket = blob.PrefixedBucket(bucket, avatarUploadPath)
17+
bucket, err := setting.OpenBucket(ctx, avatarUploadPath)
18+
if err != nil {
19+
log.Error("could not open bucket: %v", err)
20+
return false
3921
}
4022
defer bucket.Close()
4123

@@ -49,23 +31,10 @@ func IsAvatarValid(avatarUploadPath, objKey string) bool {
4931

5032
// uploadImage uploads avatar to bucket
5133
func uploadImage(avatarUploadPath, objKey string, img image.Image) error {
52-
var bucket *blob.Bucket
53-
var err error
5434
ctx := context.Background()
55-
if filepath.IsAbs(avatarUploadPath) {
56-
if err := os.MkdirAll(avatarUploadPath, 0700); err != nil {
57-
log.Fatal("Failed to create '%s': %v", avatarUploadPath, err)
58-
}
59-
bucket, err = blob.OpenBucket(ctx, "file://"+avatarUploadPath)
60-
if err != nil {
61-
return fmt.Errorf("could not open bucket: %v", err)
62-
}
63-
} else {
64-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
65-
if err != nil {
66-
return fmt.Errorf("could not open bucket: %v", err)
67-
}
68-
bucket = blob.PrefixedBucket(bucket, avatarUploadPath)
35+
bucket, err := setting.OpenBucket(ctx, avatarUploadPath)
36+
if err != nil {
37+
return fmt.Errorf("could not open bucket: %v", err)
6938
}
7039
defer bucket.Close()
7140

@@ -91,23 +60,10 @@ func uploadImage(avatarUploadPath, objKey string, img image.Image) error {
9160

9261
// deleteAvatarFromBucket deletes user or repo avatar from bucket
9362
func deleteAvatarFromBucket(avatarUploadPath, objKey string) error {
94-
var bucket *blob.Bucket
95-
var err error
9663
ctx := context.Background()
97-
if filepath.IsAbs(avatarUploadPath) {
98-
if err := os.MkdirAll(avatarUploadPath, 0700); err != nil {
99-
log.Fatal("Failed to create '%s': %v", avatarUploadPath, err)
100-
}
101-
bucket, err = blob.OpenBucket(ctx, "file://"+avatarUploadPath)
102-
if err != nil {
103-
return fmt.Errorf("could not open bucket: %v", err)
104-
}
105-
} else {
106-
bucket, err = blob.OpenBucket(ctx, setting.FileStorage.BucketURL)
107-
if err != nil {
108-
return fmt.Errorf("could not open bucket: %v", err)
109-
}
110-
bucket = blob.PrefixedBucket(bucket, avatarUploadPath)
64+
bucket, err := setting.OpenBucket(ctx, avatarUploadPath)
65+
if err != nil {
66+
return fmt.Errorf("could not open bucket: %v", err)
11167
}
11268
defer bucket.Close()
11369

0 commit comments

Comments
 (0)