Skip to content

Commit 1807546

Browse files
authored
Merge branch 'main' into improve-milestone-issue-header
2 parents 7a171ec + 9e446db commit 1807546

File tree

469 files changed

+4444
-4317
lines changed

Some content is hidden

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

469 files changed

+4444
-4317
lines changed

.eslintrc.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ plugins:
1818
- eslint-plugin-regexp
1919
- eslint-plugin-sonarjs
2020
- eslint-plugin-unicorn
21+
- eslint-plugin-vitest-globals
2122
- eslint-plugin-wc
2223

2324
env:
@@ -45,6 +46,9 @@ overrides:
4546
- files: ["*.config.*"]
4647
rules:
4748
import/no-unused-modules: [0]
49+
- files: ["**/*.test.*", "web_src/js/test/setup.js"]
50+
env:
51+
vitest-globals/env: true
4852
- files: ["web_src/js/modules/fetch.js", "web_src/js/standalone/**/*"]
4953
rules:
5054
no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression]

.yamllint.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,3 @@ rules:
4444
ignore: |
4545
.venv
4646
node_modules
47-
/models/fixtures
48-
/models/migrations/fixtures

cmd/admin.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ func runRepoSyncReleases(_ *cli.Context) error {
389389
}
390390
log.Trace(" currentNumReleases is %d, running SyncReleasesWithTags", oldnum)
391391

392-
if err = repo_module.SyncReleasesWithTags(repo, gitRepo); err != nil {
392+
if err = repo_module.SyncReleasesWithTags(ctx, repo, gitRepo); err != nil {
393393
log.Warn(" SyncReleasesWithTags: %v", err)
394394
gitRepo.Close()
395395
continue
@@ -438,7 +438,7 @@ func runRegenerateKeys(_ *cli.Context) error {
438438
if err := initDB(ctx); err != nil {
439439
return err
440440
}
441-
return asymkey_model.RewriteAllPublicKeys()
441+
return asymkey_model.RewriteAllPublicKeys(ctx)
442442
}
443443

444444
func parseOAuth2Config(c *cli.Context) *oauth2.Source {

cmd/migrate_storage_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"strings"
1010
"testing"
1111

12+
"code.gitea.io/gitea/models/db"
1213
"code.gitea.io/gitea/models/packages"
1314
"code.gitea.io/gitea/models/unittest"
1415
user_model "code.gitea.io/gitea/models/user"
@@ -30,7 +31,7 @@ func TestMigratePackages(t *testing.T) {
3031
assert.NoError(t, err)
3132
defer buf.Close()
3233

33-
v, f, err := packages_service.CreatePackageAndAddFile(&packages_service.PackageCreationInfo{
34+
v, f, err := packages_service.CreatePackageAndAddFile(db.DefaultContext, &packages_service.PackageCreationInfo{
3435
PackageInfo: packages_service.PackageInfo{
3536
Owner: creator,
3637
PackageType: packages.TypeGeneric,

docs/content/installation/from-source.en-us.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,6 @@ If pre-built frontend files are present it is possible to only build the backend
128128
TAGS="bindata" make backend
129129
```
130130

131-
Webpack source maps are by default enabled in development builds and disabled in production builds. They can be enabled by setting the `ENABLE_SOURCEMAP=true` environment variable.
132-
133131
## Test
134132

135133
After following the steps above, a `gitea` binary will be available in the working directory.
@@ -260,3 +258,11 @@ GOARCH=amd64 \
260258
TAGS="bindata sqlite sqlite_unlock_notify" \
261259
make build
262260
```
261+
262+
## Source Maps
263+
264+
By default, gitea generates reduced source maps for frontend files to conserve space. This can be controlled with the `ENABLE_SOURCEMAP` environment variable:
265+
266+
- `ENABLE_SOURCEMAP=true` generates all source maps, the default for development builds
267+
- `ENABLE_SOURCEMAP=reduced` generates limited source maps, the default for production builds
268+
- `ENABLE_SOURCEMAP=false` generates no source maps

docs/content/installation/from-source.zh-cn.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ TAGS="bindata sqlite sqlite_unlock_notify" make build
100100
TAGS="bindata" make backend
101101
```
102102

103-
在开发构建中,默认启用 Webpack 源映射,在生产构建中禁用。可以通过设置`ENABLE_SOURCEMAP=true`环境变量来启用它们。
104-
105103
## 测试
106104

107105
按照上述步骤完成后,工作目录中将会有一个`gitea`二进制文件。可以从该目录进行测试,或将其移动到带有测试数据的目录中。当手动从命令行启动 Gitea 时,可以通过按下`Ctrl + C`来停止程序。
@@ -221,3 +219,11 @@ GOARCH=amd64 \
221219
TAGS="bindata sqlite sqlite_unlock_notify" \
222220
make build
223221
```
222+
223+
## 源映射
224+
225+
默认情况下,gitea 会为前端文件生成精简的源映射以节省空间。 这可以通过“ENABLE_SOURCEMAP”环境变量进行控制:
226+
227+
- `ENABLE_SOURCEMAP=true` 生成所有源映射,这是开发版本的默认设置
228+
- `ENABLE_SOURCEMAP=reduced` 生成有限的源映射,这是生产版本的默认设置
229+
- `ENABLE_SOURCEMAP=false` 不生成源映射

go.mod

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ require (
1919
github.com/PuerkitoBio/goquery v1.8.1
2020
github.com/alecthomas/chroma/v2 v2.9.1
2121
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
22-
github.com/blevesearch/bleve/v2 v2.3.9
22+
github.com/blevesearch/bleve/v2 v2.3.10
2323
github.com/bufbuild/connect-go v1.10.0
2424
github.com/buildkite/terminal-to-html/v3 v3.9.1
2525
github.com/caddyserver/certmagic v0.19.2
@@ -145,22 +145,22 @@ require (
145145
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
146146
github.com/aymerick/douceur v0.2.0 // indirect
147147
github.com/beorn7/perks v1.0.1 // indirect
148-
github.com/bits-and-blooms/bitset v1.8.0 // indirect
149-
github.com/blevesearch/bleve_index_api v1.0.5 // indirect
150-
github.com/blevesearch/geo v0.1.17 // indirect
148+
github.com/bits-and-blooms/bitset v1.9.0 // indirect
149+
github.com/blevesearch/bleve_index_api v1.0.6 // indirect
150+
github.com/blevesearch/geo v0.1.18 // indirect
151151
github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
152152
github.com/blevesearch/gtreap v0.1.1 // indirect
153153
github.com/blevesearch/mmap-go v1.0.4 // indirect
154-
github.com/blevesearch/scorch_segment_api/v2 v2.1.5 // indirect
154+
github.com/blevesearch/scorch_segment_api/v2 v2.1.6 // indirect
155155
github.com/blevesearch/segment v0.9.1 // indirect
156156
github.com/blevesearch/snowballstem v0.9.0 // indirect
157157
github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect
158158
github.com/blevesearch/vellum v1.0.10 // indirect
159-
github.com/blevesearch/zapx/v11 v11.3.9 // indirect
160-
github.com/blevesearch/zapx/v12 v12.3.9 // indirect
161-
github.com/blevesearch/zapx/v13 v13.3.9 // indirect
162-
github.com/blevesearch/zapx/v14 v14.3.9 // indirect
163-
github.com/blevesearch/zapx/v15 v15.3.12 // indirect
159+
github.com/blevesearch/zapx/v11 v11.3.10 // indirect
160+
github.com/blevesearch/zapx/v12 v12.3.10 // indirect
161+
github.com/blevesearch/zapx/v13 v13.3.10 // indirect
162+
github.com/blevesearch/zapx/v14 v14.3.10 // indirect
163+
github.com/blevesearch/zapx/v15 v15.3.13 // indirect
164164
github.com/boombuler/barcode v1.0.1 // indirect
165165
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 // indirect
166166
github.com/cention-sany/utf7 v0.0.0-20170124080048-26cad61bd60a // indirect

go.sum

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -149,18 +149,18 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
149149
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
150150
github.com/bits-and-blooms/bitset v1.1.10/go.mod h1:w0XsmFg8qg6cmpTtJ0z3pKgjTDBMMnI/+I2syrE6XBE=
151151
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
152-
github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c=
153-
github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
152+
github.com/bits-and-blooms/bitset v1.9.0 h1:g1YivPG8jOtrN013Fe8OBXubkiTwvm7/vG2vXz03ANU=
153+
github.com/bits-and-blooms/bitset v1.9.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
154154
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4=
155155
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI=
156156
github.com/blevesearch/bleve/v2 v2.0.5/go.mod h1:ZjWibgnbRX33c+vBRgla9QhPb4QOjD6fdVJ+R1Bk8LM=
157-
github.com/blevesearch/bleve/v2 v2.3.9 h1:pUMvK0mxAexqasZcVj8lazmWnEW5XiV0tASIqANiNTQ=
158-
github.com/blevesearch/bleve/v2 v2.3.9/go.mod h1:1PibElcjlQMQHF9uS9mRv58ODQgj4pCWHA1Wfd+qagU=
157+
github.com/blevesearch/bleve/v2 v2.3.10 h1:z8V0wwGoL4rp7nG/O3qVVLYxUqCbEwskMt4iRJsPLgg=
158+
github.com/blevesearch/bleve/v2 v2.3.10/go.mod h1:RJzeoeHC+vNHsoLR54+crS1HmOWpnH87fL70HAUCzIA=
159159
github.com/blevesearch/bleve_index_api v1.0.0/go.mod h1:fiwKS0xLEm+gBRgv5mumf0dhgFr2mDgZah1pqv1c1M4=
160-
github.com/blevesearch/bleve_index_api v1.0.5 h1:Lc986kpC4Z0/n1g3gg8ul7H+lxgOQPcXb9SxvQGu+tw=
161-
github.com/blevesearch/bleve_index_api v1.0.5/go.mod h1:YXMDwaXFFXwncRS8UobWs7nvo0DmusriM1nztTlj1ms=
162-
github.com/blevesearch/geo v0.1.17 h1:AguzI6/5mHXapzB0gE9IKWo+wWPHZmXZoscHcjFgAFA=
163-
github.com/blevesearch/geo v0.1.17/go.mod h1:uRMGWG0HJYfWfFJpK3zTdnnr1K+ksZTuWKhXeSokfnM=
160+
github.com/blevesearch/bleve_index_api v1.0.6 h1:gyUUxdsrvmW3jVhhYdCVL6h9dCjNT/geNU7PxGn37p8=
161+
github.com/blevesearch/bleve_index_api v1.0.6/go.mod h1:YXMDwaXFFXwncRS8UobWs7nvo0DmusriM1nztTlj1ms=
162+
github.com/blevesearch/geo v0.1.18 h1:Np8jycHTZ5scFe7VEPLrDoHnnb9C4j636ue/CGrhtDw=
163+
github.com/blevesearch/geo v0.1.18/go.mod h1:uRMGWG0HJYfWfFJpK3zTdnnr1K+ksZTuWKhXeSokfnM=
164164
github.com/blevesearch/go-porterstemmer v1.0.3 h1:GtmsqID0aZdCSNiY8SkuPJ12pD4jI+DdXTAn4YRcHCo=
165165
github.com/blevesearch/go-porterstemmer v1.0.3/go.mod h1:angGc5Ht+k2xhJdZi511LtmxuEf0OVpvUUNrwmM1P7M=
166166
github.com/blevesearch/gtreap v0.1.1 h1:2JWigFrzDMR+42WGIN/V2p0cUvn4UP3C4Q5nmaZGW8Y=
@@ -169,8 +169,8 @@ github.com/blevesearch/mmap-go v1.0.2/go.mod h1:ol2qBqYaOUsGdm7aRMRrYGgPvnwLe6Y+
169169
github.com/blevesearch/mmap-go v1.0.4 h1:OVhDhT5B/M1HNPpYPBKIEJaD0F3Si+CrEKULGCDPWmc=
170170
github.com/blevesearch/mmap-go v1.0.4/go.mod h1:EWmEAOmdAS9z/pi/+Toxu99DnsbhG1TIxUoRmJw/pSs=
171171
github.com/blevesearch/scorch_segment_api/v2 v2.0.1/go.mod h1:lq7yK2jQy1yQjtjTfU931aVqz7pYxEudHaDwOt1tXfU=
172-
github.com/blevesearch/scorch_segment_api/v2 v2.1.5 h1:1g713kpCQZ8u4a3stRGBfrwVOuGRnmxOVU5MQkUPrHU=
173-
github.com/blevesearch/scorch_segment_api/v2 v2.1.5/go.mod h1:f2nOkKS1HcjgIWZgDAErgBdxmr2eyt0Kn7IY+FU1Xe4=
172+
github.com/blevesearch/scorch_segment_api/v2 v2.1.6 h1:CdekX/Ob6YCYmeHzD72cKpwzBjvkOGegHOqhAkXp6yA=
173+
github.com/blevesearch/scorch_segment_api/v2 v2.1.6/go.mod h1:nQQYlp51XvoSVxcciBjtvuHPIVjlWrN1hX4qwK2cqdc=
174174
github.com/blevesearch/segment v0.9.0/go.mod h1:9PfHYUdQCgHktBgvtUOF4x+pc4/l8rdH0u5spnW85UQ=
175175
github.com/blevesearch/segment v0.9.1 h1:+dThDy+Lvgj5JMxhmOVlgFfkUtZV2kw49xax4+jTfSU=
176176
github.com/blevesearch/segment v0.9.1/go.mod h1:zN21iLm7+GnBHWTao9I+Au/7MBiL8pPFtJBJTsk6kQw=
@@ -184,20 +184,20 @@ github.com/blevesearch/vellum v1.0.4/go.mod h1:cMhywHI0de50f7Nj42YgvyD6bFJ2WkNRv
184184
github.com/blevesearch/vellum v1.0.10 h1:HGPJDT2bTva12hrHepVT3rOyIKFFF4t7Gf6yMxyMIPI=
185185
github.com/blevesearch/vellum v1.0.10/go.mod h1:ul1oT0FhSMDIExNjIxHqJoGpVrBpKCdgDQNxfqgJt7k=
186186
github.com/blevesearch/zapx/v11 v11.2.0/go.mod h1:gN/a0alGw1FZt/YGTo1G6Z6XpDkeOfujX5exY9sCQQM=
187-
github.com/blevesearch/zapx/v11 v11.3.9 h1:y3ijS4h4MJdmQ07MHASxat4owAixreK2xdo76w9ncrw=
188-
github.com/blevesearch/zapx/v11 v11.3.9/go.mod h1:jcAYnQwlr+LqD2vLjDWjWiZDXDXGFqPbpPDRTd3XmS4=
187+
github.com/blevesearch/zapx/v11 v11.3.10 h1:hvjgj9tZ9DeIqBCxKhi70TtSZYMdcFn7gDb71Xo/fvk=
188+
github.com/blevesearch/zapx/v11 v11.3.10/go.mod h1:0+gW+FaE48fNxoVtMY5ugtNHHof/PxCqh7CnhYdnMzQ=
189189
github.com/blevesearch/zapx/v12 v12.2.0/go.mod h1:fdjwvCwWWwJW/EYTYGtAp3gBA0geCYGLcVTtJEZnY6A=
190-
github.com/blevesearch/zapx/v12 v12.3.9 h1:MXGLlZ03oxXH3DMJTZaBaRj2xb6t4wQVZeZK/wu1M6w=
191-
github.com/blevesearch/zapx/v12 v12.3.9/go.mod h1:QXCMwmOkdLnMDgTN1P4CcuX5F851iUOtOwXbw0HMBYs=
190+
github.com/blevesearch/zapx/v12 v12.3.10 h1:yHfj3vXLSYmmsBleJFROXuO08mS3L1qDCdDK81jDl8s=
191+
github.com/blevesearch/zapx/v12 v12.3.10/go.mod h1:0yeZg6JhaGxITlsS5co73aqPtM04+ycnI6D1v0mhbCs=
192192
github.com/blevesearch/zapx/v13 v13.2.0/go.mod h1:o5rAy/lRS5JpAbITdrOHBS/TugWYbkcYZTz6VfEinAQ=
193-
github.com/blevesearch/zapx/v13 v13.3.9 h1:+VAz9V0VmllHXlZV4DCvfYj0nqaZHgF3MeEHwOyRBwQ=
194-
github.com/blevesearch/zapx/v13 v13.3.9/go.mod h1:s+WjNp4WSDtrBVBpa37DUOd7S/Gr/jTZ7ST/MbCVj/0=
193+
github.com/blevesearch/zapx/v13 v13.3.10 h1:0KY9tuxg06rXxOZHg3DwPJBjniSlqEgVpxIqMGahDE8=
194+
github.com/blevesearch/zapx/v13 v13.3.10/go.mod h1:w2wjSDQ/WBVeEIvP0fvMJZAzDwqwIEzVPnCPrz93yAk=
195195
github.com/blevesearch/zapx/v14 v14.2.0/go.mod h1:GNgZusc1p4ot040cBQMRGEZobvwjCquiEKYh1xLFK9g=
196-
github.com/blevesearch/zapx/v14 v14.3.9 h1:wuqxATgsTCNHM9xsOFOeFp8H2heZ/gMX/tsl9lRK8U4=
197-
github.com/blevesearch/zapx/v14 v14.3.9/go.mod h1:MWZ4v8AzFBRurhDzkLvokFW8ljcq9Evm27mkWe8OGbM=
196+
github.com/blevesearch/zapx/v14 v14.3.10 h1:SG6xlsL+W6YjhX5N3aEiL/2tcWh3DO75Bnz77pSwwKU=
197+
github.com/blevesearch/zapx/v14 v14.3.10/go.mod h1:qqyuR0u230jN1yMmE4FIAuCxmahRQEOehF78m6oTgns=
198198
github.com/blevesearch/zapx/v15 v15.2.0/go.mod h1:MmQceLpWfME4n1WrBFIwplhWmaQbQqLQARpaKUEOs/A=
199-
github.com/blevesearch/zapx/v15 v15.3.12 h1:w/kU9aHyfMDEdwHGZzCiakC3HZ9z5gYlXaALDC4Dct8=
200-
github.com/blevesearch/zapx/v15 v15.3.12/go.mod h1:tx53gDJS/7Oa3Je820cmVurqCuJ4dqdAy1kiDMV/IUo=
199+
github.com/blevesearch/zapx/v15 v15.3.13 h1:6EkfaZiPlAxqXz0neniq35my6S48QI94W/wyhnpDHHQ=
200+
github.com/blevesearch/zapx/v15 v15.3.13/go.mod h1:Turk/TNRKj9es7ZpKK95PS7f6D44Y7fAFy8F4LXQtGg=
201201
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
202202
github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
203203
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=

models/actions/runner_token.go

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type ActionRunnerToken struct {
2222
Owner *user_model.User `xorm:"-"`
2323
RepoID int64 `xorm:"index"` // repo level runner, if orgid also is zero, then it's a global
2424
Repo *repo_model.Repository `xorm:"-"`
25-
IsActive bool
25+
IsActive bool // true means it can be used
2626

2727
Created timeutil.TimeStamp `xorm:"created"`
2828
Updated timeutil.TimeStamp `xorm:"updated"`
@@ -57,7 +57,7 @@ func UpdateRunnerToken(ctx context.Context, r *ActionRunnerToken, cols ...string
5757
return err
5858
}
5959

60-
// NewRunnerToken creates a new runner token
60+
// NewRunnerToken creates a new active runner token and invalidate all old tokens
6161
func NewRunnerToken(ctx context.Context, ownerID, repoID int64) (*ActionRunnerToken, error) {
6262
token, err := util.CryptoRandomString(40)
6363
if err != nil {
@@ -66,17 +66,27 @@ func NewRunnerToken(ctx context.Context, ownerID, repoID int64) (*ActionRunnerTo
6666
runnerToken := &ActionRunnerToken{
6767
OwnerID: ownerID,
6868
RepoID: repoID,
69-
IsActive: false,
69+
IsActive: true,
7070
Token: token,
7171
}
72-
_, err = db.GetEngine(ctx).Insert(runnerToken)
73-
return runnerToken, err
72+
73+
return runnerToken, db.WithTx(ctx, func(ctx context.Context) error {
74+
if _, err := db.GetEngine(ctx).Where("owner_id =? AND repo_id = ?", ownerID, repoID).Cols("is_active").Update(&ActionRunnerToken{
75+
IsActive: false,
76+
}); err != nil {
77+
return err
78+
}
79+
80+
_, err = db.GetEngine(ctx).Insert(runnerToken)
81+
return err
82+
})
7483
}
7584

76-
// GetUnactivatedRunnerToken returns a unactivated runner token
77-
func GetUnactivatedRunnerToken(ctx context.Context, ownerID, repoID int64) (*ActionRunnerToken, error) {
85+
// GetLastestRunnerToken returns the latest runner token
86+
func GetLastestRunnerToken(ctx context.Context, ownerID, repoID int64) (*ActionRunnerToken, error) {
7887
var runnerToken ActionRunnerToken
79-
has, err := db.GetEngine(ctx).Where("owner_id=? AND repo_id=? AND is_active=?", ownerID, repoID, false).OrderBy("id DESC").Get(&runnerToken)
88+
has, err := db.GetEngine(ctx).Where("owner_id=? AND repo_id=?", ownerID, repoID).
89+
OrderBy("id DESC").Get(&runnerToken)
8090
if err != nil {
8191
return nil, err
8292
} else if !has {

models/activities/user_heatmap.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
package activities
55

66
import (
7+
"context"
8+
79
"code.gitea.io/gitea/models/db"
810
"code.gitea.io/gitea/models/organization"
911
user_model "code.gitea.io/gitea/models/user"
@@ -18,16 +20,16 @@ type UserHeatmapData struct {
1820
}
1921

2022
// GetUserHeatmapDataByUser returns an array of UserHeatmapData
21-
func GetUserHeatmapDataByUser(user, doer *user_model.User) ([]*UserHeatmapData, error) {
22-
return getUserHeatmapData(user, nil, doer)
23+
func GetUserHeatmapDataByUser(ctx context.Context, user, doer *user_model.User) ([]*UserHeatmapData, error) {
24+
return getUserHeatmapData(ctx, user, nil, doer)
2325
}
2426

2527
// GetUserHeatmapDataByUserTeam returns an array of UserHeatmapData
26-
func GetUserHeatmapDataByUserTeam(user *user_model.User, team *organization.Team, doer *user_model.User) ([]*UserHeatmapData, error) {
27-
return getUserHeatmapData(user, team, doer)
28+
func GetUserHeatmapDataByUserTeam(ctx context.Context, user *user_model.User, team *organization.Team, doer *user_model.User) ([]*UserHeatmapData, error) {
29+
return getUserHeatmapData(ctx, user, team, doer)
2830
}
2931

30-
func getUserHeatmapData(user *user_model.User, team *organization.Team, doer *user_model.User) ([]*UserHeatmapData, error) {
32+
func getUserHeatmapData(ctx context.Context, user *user_model.User, team *organization.Team, doer *user_model.User) ([]*UserHeatmapData, error) {
3133
hdata := make([]*UserHeatmapData, 0)
3234

3335
if !ActivityReadable(user, doer) {
@@ -60,7 +62,7 @@ func getUserHeatmapData(user *user_model.User, team *organization.Team, doer *us
6062
return nil, err
6163
}
6264

63-
return hdata, db.GetEngine(db.DefaultContext).
65+
return hdata, db.GetEngine(ctx).
6466
Select(groupBy+" AS timestamp, count(user_id) as contributions").
6567
Table("action").
6668
Where(cond).

models/activities/user_heatmap_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func TestGetUserHeatmapDataByUser(t *testing.T) {
8383
assert.NoError(t, err)
8484

8585
// Get the heatmap and compare
86-
heatmap, err := activities_model.GetUserHeatmapDataByUser(user, doer)
86+
heatmap, err := activities_model.GetUserHeatmapDataByUser(db.DefaultContext, user, doer)
8787
var contributions int
8888
for _, hm := range heatmap {
8989
contributions += int(hm.Contributions)

models/asymkey/gpg_key.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ func ListGPGKeys(ctx context.Context, uid int64, listOptions db.ListOptions) ([]
8888
}
8989

9090
// CountUserGPGKeys return number of gpg keys a user own
91-
func CountUserGPGKeys(userID int64) (int64, error) {
92-
return db.GetEngine(db.DefaultContext).Where("owner_id=? AND primary_key_id=''", userID).Count(&GPGKey{})
91+
func CountUserGPGKeys(ctx context.Context, userID int64) (int64, error) {
92+
return db.GetEngine(ctx).Where("owner_id=? AND primary_key_id=''", userID).Count(&GPGKey{})
9393
}
9494

9595
// GetGPGKeyByID returns public key by given ID.
96-
func GetGPGKeyByID(keyID int64) (*GPGKey, error) {
96+
func GetGPGKeyByID(ctx context.Context, keyID int64) (*GPGKey, error) {
9797
key := new(GPGKey)
98-
has, err := db.GetEngine(db.DefaultContext).ID(keyID).Get(key)
98+
has, err := db.GetEngine(ctx).ID(keyID).Get(key)
9999
if err != nil {
100100
return nil, err
101101
} else if !has {
@@ -105,9 +105,9 @@ func GetGPGKeyByID(keyID int64) (*GPGKey, error) {
105105
}
106106

107107
// GetGPGKeysByKeyID returns public key by given ID.
108-
func GetGPGKeysByKeyID(keyID string) ([]*GPGKey, error) {
108+
func GetGPGKeysByKeyID(ctx context.Context, keyID string) ([]*GPGKey, error) {
109109
keys := make([]*GPGKey, 0, 1)
110-
return keys, db.GetEngine(db.DefaultContext).Where("key_id=?", keyID).Find(&keys)
110+
return keys, db.GetEngine(ctx).Where("key_id=?", keyID).Find(&keys)
111111
}
112112

113113
// GPGKeyToEntity retrieve the imported key and the traducted entity
@@ -224,8 +224,8 @@ func deleteGPGKey(ctx context.Context, keyID string) (int64, error) {
224224
}
225225

226226
// DeleteGPGKey deletes GPG key information in database.
227-
func DeleteGPGKey(doer *user_model.User, id int64) (err error) {
228-
key, err := GetGPGKeyByID(id)
227+
func DeleteGPGKey(ctx context.Context, doer *user_model.User, id int64) (err error) {
228+
key, err := GetGPGKeyByID(ctx, id)
229229
if err != nil {
230230
if IsErrGPGKeyNotExist(err) {
231231
return nil
@@ -238,7 +238,7 @@ func DeleteGPGKey(doer *user_model.User, id int64) (err error) {
238238
return ErrGPGKeyAccessDenied{doer.ID, key.ID}
239239
}
240240

241-
ctx, committer, err := db.TxContext(db.DefaultContext)
241+
ctx, committer, err := db.TxContext(ctx)
242242
if err != nil {
243243
return err
244244
}

models/asymkey/gpg_key_add.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ func addGPGSubKey(ctx context.Context, key *GPGKey) (err error) {
6666
}
6767

6868
// AddGPGKey adds new public key to database.
69-
func AddGPGKey(ownerID int64, content, token, signature string) ([]*GPGKey, error) {
69+
func AddGPGKey(ctx context.Context, ownerID int64, content, token, signature string) ([]*GPGKey, error) {
7070
ekeys, err := checkArmoredGPGKeyString(content)
7171
if err != nil {
7272
return nil, err
7373
}
7474

75-
ctx, committer, err := db.TxContext(db.DefaultContext)
75+
ctx, committer, err := db.TxContext(ctx)
7676
if err != nil {
7777
return nil, err
7878
}

models/asymkey/gpg_key_commit_verification.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ func hashAndVerifyForKeyID(ctx context.Context, sig *packet.Signature, payload s
392392
if keyID == "" {
393393
return nil
394394
}
395-
keys, err := GetGPGKeysByKeyID(keyID)
395+
keys, err := GetGPGKeysByKeyID(ctx, keyID)
396396
if err != nil {
397397
log.Error("GetGPGKeysByKeyID: %v", err)
398398
return &CommitVerification{
@@ -407,7 +407,7 @@ func hashAndVerifyForKeyID(ctx context.Context, sig *packet.Signature, payload s
407407
for _, key := range keys {
408408
var primaryKeys []*GPGKey
409409
if key.PrimaryKeyID != "" {
410-
primaryKeys, err = GetGPGKeysByKeyID(key.PrimaryKeyID)
410+
primaryKeys, err = GetGPGKeysByKeyID(ctx, key.PrimaryKeyID)
411411
if err != nil {
412412
log.Error("GetGPGKeysByKeyID: %v", err)
413413
return &CommitVerification{

0 commit comments

Comments
 (0)