Skip to content

Commit 7411671

Browse files
authored
Merge branch 'main' into blender-scoped-labels
2 parents fcf33b0 + feed1ff commit 7411671

40 files changed

+100
-77
lines changed

Diff for: docs/content/page/index.en-us.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ You can try it out using [the online demo](https://try.gitea.io/).
106106
- Permission to create organizations
107107
- Permission to import repositories
108108
- Organization management
109-
- People
109+
- Members
110110
- Teams
111111
- Avatar
112112
- Hooks

Diff for: models/activities/action.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ func NotifyWatchers(ctx context.Context, actions ...*Action) error {
534534
repo = act.Repo
535535

536536
// check repo owner exist.
537-
if err := act.Repo.GetOwner(ctx); err != nil {
537+
if err := act.Repo.LoadOwner(ctx); err != nil {
538538
return fmt.Errorf("can't get repo owner: %w", err)
539539
}
540540
} else if act.Repo == nil {

Diff for: models/git/protected_branch.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -314,8 +314,8 @@ type WhitelistOptions struct {
314314
// This function also performs check if whitelist user and team's IDs have been changed
315315
// to avoid unnecessary whitelist delete and regenerate.
316316
func UpdateProtectBranch(ctx context.Context, repo *repo_model.Repository, protectBranch *ProtectedBranch, opts WhitelistOptions) (err error) {
317-
if err = repo.GetOwner(ctx); err != nil {
318-
return fmt.Errorf("GetOwner: %v", err)
317+
if err = repo.LoadOwner(ctx); err != nil {
318+
return fmt.Errorf("LoadOwner: %v", err)
319319
}
320320

321321
whitelist, err := updateUserWhitelist(ctx, repo, protectBranch.WhitelistUserIDs, opts.UserIDs)

Diff for: models/issues/comment.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ func (c *Comment) LoadAssigneeUserAndTeam() error {
620620
return err
621621
}
622622

623-
if err = c.Issue.Repo.GetOwner(db.DefaultContext); err != nil {
623+
if err = c.Issue.Repo.LoadOwner(db.DefaultContext); err != nil {
624624
return err
625625
}
626626

@@ -824,7 +824,7 @@ func CreateComment(ctx context.Context, opts *CreateCommentOptions) (_ *Comment,
824824
return nil, err
825825
}
826826

827-
if err = opts.Repo.GetOwner(ctx); err != nil {
827+
if err = opts.Repo.LoadOwner(ctx); err != nil {
828828
return nil, err
829829
}
830830

Diff for: models/issues/issue.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -2126,7 +2126,7 @@ func ResolveIssueMentionsByVisibility(ctx context.Context, issue *Issue, doer *u
21262126
resolved := make(map[string]bool, 10)
21272127
var mentionTeams []string
21282128

2129-
if err := issue.Repo.GetOwner(ctx); err != nil {
2129+
if err := issue.Repo.LoadOwner(ctx); err != nil {
21302130
return nil, err
21312131
}
21322132

Diff for: models/issues/pull.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ func (pr *PullRequest) SetMerged(ctx context.Context) (bool, error) {
498498
return false, err
499499
}
500500

501-
if err := pr.Issue.Repo.GetOwner(ctx); err != nil {
501+
if err := pr.Issue.Repo.LoadOwner(ctx); err != nil {
502502
return false, err
503503
}
504504

Diff for: models/perm/access/access.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ func updateUserAccess(accessMap map[int64]*userAccess, user *user_model.User, mo
8585
// FIXME: do cross-comparison so reduce deletions and additions to the minimum?
8686
func refreshAccesses(ctx context.Context, repo *repo_model.Repository, accessMap map[int64]*userAccess) (err error) {
8787
minMode := perm.AccessModeRead
88-
if err := repo.GetOwner(ctx); err != nil {
89-
return fmt.Errorf("GetOwner: %w", err)
88+
if err := repo.LoadOwner(ctx); err != nil {
89+
return fmt.Errorf("LoadOwner: %w", err)
9090
}
9191

9292
// If the repo isn't private and isn't owned by a organization,
@@ -143,7 +143,7 @@ func refreshCollaboratorAccesses(ctx context.Context, repoID int64, accessMap ma
143143
func RecalculateTeamAccesses(ctx context.Context, repo *repo_model.Repository, ignTeamID int64) (err error) {
144144
accessMap := make(map[int64]*userAccess, 20)
145145

146-
if err = repo.GetOwner(ctx); err != nil {
146+
if err = repo.LoadOwner(ctx); err != nil {
147147
return err
148148
} else if !repo.Owner.IsOrganization() {
149149
return fmt.Errorf("owner is not an organization: %d", repo.OwnerID)
@@ -199,7 +199,7 @@ func RecalculateUserAccess(ctx context.Context, repo *repo_model.Repository, uid
199199
accessMode = collaborator.Mode
200200
}
201201

202-
if err = repo.GetOwner(ctx); err != nil {
202+
if err = repo.LoadOwner(ctx); err != nil {
203203
return err
204204
} else if repo.Owner.IsOrganization() {
205205
var teams []organization.Team

Diff for: models/perm/access/access_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ func TestRepository_RecalculateAccesses(t *testing.T) {
9797
// test with organization repo
9898
assert.NoError(t, unittest.PrepareTestDatabase())
9999
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3})
100-
assert.NoError(t, repo1.GetOwner(db.DefaultContext))
100+
assert.NoError(t, repo1.LoadOwner(db.DefaultContext))
101101

102102
_, err := db.GetEngine(db.DefaultContext).Delete(&repo_model.Collaboration{UserID: 2, RepoID: 3})
103103
assert.NoError(t, err)
@@ -114,7 +114,7 @@ func TestRepository_RecalculateAccesses2(t *testing.T) {
114114
// test with non-organization repo
115115
assert.NoError(t, unittest.PrepareTestDatabase())
116116
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4})
117-
assert.NoError(t, repo1.GetOwner(db.DefaultContext))
117+
assert.NoError(t, repo1.LoadOwner(db.DefaultContext))
118118

119119
_, err := db.GetEngine(db.DefaultContext).Delete(&repo_model.Collaboration{UserID: 4, RepoID: 4})
120120
assert.NoError(t, err)

Diff for: models/perm/access/repo_permission.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
175175
}
176176
}
177177

178-
if err = repo.GetOwner(ctx); err != nil {
178+
if err = repo.LoadOwner(ctx); err != nil {
179179
return
180180
}
181181

@@ -210,7 +210,7 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
210210
return
211211
}
212212

213-
if err = repo.GetOwner(ctx); err != nil {
213+
if err = repo.LoadOwner(ctx); err != nil {
214214
return
215215
}
216216
if !repo.Owner.IsOrganization() {
@@ -281,7 +281,7 @@ func IsUserRealRepoAdmin(repo *repo_model.Repository, user *user_model.User) (bo
281281
return true, nil
282282
}
283283

284-
if err := repo.GetOwner(db.DefaultContext); err != nil {
284+
if err := repo.LoadOwner(db.DefaultContext); err != nil {
285285
return false, err
286286
}
287287

@@ -378,7 +378,7 @@ func HasAccess(ctx context.Context, userID int64, repo *repo_model.Repository) (
378378

379379
// getUsersWithAccessMode returns users that have at least given access mode to the repository.
380380
func getUsersWithAccessMode(ctx context.Context, repo *repo_model.Repository, mode perm_model.AccessMode) (_ []*user_model.User, err error) {
381-
if err = repo.GetOwner(ctx); err != nil {
381+
if err = repo.LoadOwner(ctx); err != nil {
382382
return nil, err
383383
}
384384

Diff for: models/repo/repo.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ func (repo *Repository) AfterLoad() {
237237
// LoadAttributes loads attributes of the repository.
238238
func (repo *Repository) LoadAttributes(ctx context.Context) error {
239239
// Load owner
240-
if err := repo.GetOwner(ctx); err != nil {
240+
if err := repo.LoadOwner(ctx); err != nil {
241241
return fmt.Errorf("load owner: %w", err)
242242
}
243243

@@ -373,8 +373,8 @@ func (repo *Repository) GetUnit(ctx context.Context, tp unit.Type) (*RepoUnit, e
373373
return nil, ErrUnitTypeNotExist{tp}
374374
}
375375

376-
// GetOwner returns the repository owner
377-
func (repo *Repository) GetOwner(ctx context.Context) (err error) {
376+
// LoadOwner loads owner user
377+
func (repo *Repository) LoadOwner(ctx context.Context) (err error) {
378378
if repo.Owner != nil {
379379
return nil
380380
}
@@ -388,7 +388,7 @@ func (repo *Repository) GetOwner(ctx context.Context) (err error) {
388388
// It creates a fake object that contains error details
389389
// when error occurs.
390390
func (repo *Repository) MustOwner(ctx context.Context) *user_model.User {
391-
if err := repo.GetOwner(ctx); err != nil {
391+
if err := repo.LoadOwner(ctx); err != nil {
392392
return &user_model.User{
393393
Name: "error",
394394
FullName: err.Error(),

Diff for: models/repo/update.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ func ChangeRepositoryName(doer *user_model.User, repo *Repository, newRepoName s
143143
return err
144144
}
145145

146-
if err := repo.GetOwner(db.DefaultContext); err != nil {
146+
if err := repo.LoadOwner(db.DefaultContext); err != nil {
147147
return err
148148
}
149149

Diff for: models/repo/user_repo.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func GetWatchedRepos(ctx context.Context, userID int64, private bool, listOption
6161
// GetRepoAssignees returns all users that have write access and can be assigned to issues
6262
// of the repository,
6363
func GetRepoAssignees(ctx context.Context, repo *Repository) (_ []*user_model.User, err error) {
64-
if err = repo.GetOwner(ctx); err != nil {
64+
if err = repo.LoadOwner(ctx); err != nil {
6565
return nil, err
6666
}
6767

@@ -111,7 +111,7 @@ func GetRepoAssignees(ctx context.Context, repo *Repository) (_ []*user_model.Us
111111
// TODO: may be we should have a busy choice for users to block review request to them.
112112
func GetReviewers(ctx context.Context, repo *Repository, doerID, posterID int64) ([]*user_model.User, error) {
113113
// Get the owner of the repository - this often already pre-cached and if so saves complexity for the following queries
114-
if err := repo.GetOwner(ctx); err != nil {
114+
if err := repo.LoadOwner(ctx); err != nil {
115115
return nil, err
116116
}
117117

Diff for: models/repo_collaboration_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func TestRepository_DeleteCollaboration(t *testing.T) {
1717
assert.NoError(t, unittest.PrepareTestDatabase())
1818

1919
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4})
20-
assert.NoError(t, repo.GetOwner(db.DefaultContext))
20+
assert.NoError(t, repo.LoadOwner(db.DefaultContext))
2121
assert.NoError(t, DeleteCollaboration(repo, 4))
2222
unittest.AssertNotExistsBean(t, &repo_model.Collaboration{RepoID: repo.ID, UserID: 4})
2323

Diff for: modules/context/repo.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,8 @@ func RetrieveBaseRepo(ctx *Context, repo *repo_model.Repository) {
273273
}
274274
ctx.ServerError("GetBaseRepo", err)
275275
return
276-
} else if err = repo.BaseRepo.GetOwner(ctx); err != nil {
277-
ctx.ServerError("BaseRepo.GetOwner", err)
276+
} else if err = repo.BaseRepo.LoadOwner(ctx); err != nil {
277+
ctx.ServerError("BaseRepo.LoadOwner", err)
278278
return
279279
}
280280
}
@@ -290,8 +290,8 @@ func RetrieveTemplateRepo(ctx *Context, repo *repo_model.Repository) {
290290
}
291291
ctx.ServerError("GetTemplateRepo", err)
292292
return
293-
} else if err = templateRepo.GetOwner(ctx); err != nil {
294-
ctx.ServerError("TemplateRepo.GetOwner", err)
293+
} else if err = templateRepo.LoadOwner(ctx); err != nil {
294+
ctx.ServerError("TemplateRepo.LoadOwner", err)
295295
return
296296
}
297297

@@ -356,8 +356,8 @@ func RedirectToRepo(ctx *Context, redirectRepoID int64) {
356356

357357
func repoAssignment(ctx *Context, repo *repo_model.Repository) {
358358
var err error
359-
if err = repo.GetOwner(ctx); err != nil {
360-
ctx.ServerError("GetOwner", err)
359+
if err = repo.LoadOwner(ctx); err != nil {
360+
ctx.ServerError("LoadOwner", err)
361361
return
362362
}
363363

Diff for: modules/doctor/misc.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func checkDaemonExport(ctx context.Context, logger log.Logger, autofix bool) err
141141
if owner, has := cache.Get(repo.OwnerID); has {
142142
repo.Owner = owner.(*user_model.User)
143143
} else {
144-
if err := repo.GetOwner(ctx); err != nil {
144+
if err := repo.LoadOwner(ctx); err != nil {
145145
return err
146146
}
147147
cache.Add(repo.OwnerID, repo.Owner)

Diff for: modules/repository/collaborator_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestRepository_AddCollaborator(t *testing.T) {
2323

2424
testSuccess := func(repoID, userID int64) {
2525
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repoID})
26-
assert.NoError(t, repo.GetOwner(db.DefaultContext))
26+
assert.NoError(t, repo.LoadOwner(db.DefaultContext))
2727
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: userID})
2828
assert.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
2929
unittest.CheckConsistencyFor(t, &repo_model.Repository{ID: repoID}, &user_model.User{ID: userID})

Diff for: modules/repository/create.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ func UpdateRepoSize(ctx context.Context, repo *repo_model.Repository) error {
335335

336336
// CheckDaemonExportOK creates/removes git-daemon-export-ok for git-daemon...
337337
func CheckDaemonExportOK(ctx context.Context, repo *repo_model.Repository) error {
338-
if err := repo.GetOwner(ctx); err != nil {
338+
if err := repo.LoadOwner(ctx); err != nil {
339339
return err
340340
}
341341

@@ -379,8 +379,8 @@ func UpdateRepository(ctx context.Context, repo *repo_model.Repository, visibili
379379
}
380380

381381
if visibilityChanged {
382-
if err = repo.GetOwner(ctx); err != nil {
383-
return fmt.Errorf("getOwner: %w", err)
382+
if err = repo.LoadOwner(ctx); err != nil {
383+
return fmt.Errorf("LoadOwner: %w", err)
384384
}
385385
if repo.Owner.IsOrganization() {
386386
// Organization repository need to recalculate access table when visibility is changed.

Diff for: modules/repository/delete.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func CanUserDelete(repo *repo_model.Repository, user *user_model.User) (bool, er
1616
return true, nil
1717
}
1818

19-
if err := repo.GetOwner(db.DefaultContext); err != nil {
19+
if err := repo.LoadOwner(db.DefaultContext); err != nil {
2020
return false, err
2121
}
2222

Diff for: modules/test/context_tests.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func LoadUser(t *testing.T, ctx *context.Context, userID int64) {
8686
// LoadGitRepo load a git repo into a test context. Requires that ctx.Repo has
8787
// already been populated.
8888
func LoadGitRepo(t *testing.T, ctx *context.Context) {
89-
assert.NoError(t, ctx.Repo.Repository.GetOwner(ctx))
89+
assert.NoError(t, ctx.Repo.Repository.LoadOwner(ctx))
9090
var err error
9191
ctx.Repo.GitRepo, err = git.OpenRepository(ctx, ctx.Repo.Repository.RepoPath())
9292
assert.NoError(t, err)

Diff for: options/locale/locale_en-US.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -2367,7 +2367,7 @@ org_full_name_holder = Organization Full Name
23672367
org_name_helper = Organization names should be short and memorable.
23682368
create_org = Create Organization
23692369
repo_updated = Updated
2370-
people = People
2370+
members = Members
23712371
teams = Teams
23722372
code = Code
23732373
lower_members = members

Diff for: routers/api/packages/container/manifest.go

+22-4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
user_model "code.gitea.io/gitea/models/user"
1818
"code.gitea.io/gitea/modules/json"
1919
"code.gitea.io/gitea/modules/log"
20+
"code.gitea.io/gitea/modules/notification"
2021
packages_module "code.gitea.io/gitea/modules/packages"
2122
container_module "code.gitea.io/gitea/modules/packages/container"
2223
"code.gitea.io/gitea/modules/util"
@@ -71,11 +72,9 @@ func processManifest(mci *manifestCreationInfo, buf *packages_module.HashedBuffe
7172
}
7273

7374
if isImageManifestMediaType(mci.MediaType) {
74-
d, err := processImageManifest(mci, buf)
75-
return d, err
75+
return processImageManifest(mci, buf)
7676
} else if isImageIndexMediaType(mci.MediaType) {
77-
d, err := processImageManifestIndex(mci, buf)
78-
return d, err
77+
return processImageManifestIndex(mci, buf)
7978
}
8079
return "", errManifestInvalid
8180
}
@@ -182,6 +181,10 @@ func processImageManifest(mci *manifestCreationInfo, buf *packages_module.Hashed
182181
return err
183182
}
184183

184+
if err := notifyPackageCreate(mci.Creator, pv); err != nil {
185+
return err
186+
}
187+
185188
manifestDigest = digest
186189

187190
return nil
@@ -271,6 +274,10 @@ func processImageManifestIndex(mci *manifestCreationInfo, buf *packages_module.H
271274
return err
272275
}
273276

277+
if err := notifyPackageCreate(mci.Creator, pv); err != nil {
278+
return err
279+
}
280+
274281
manifestDigest = digest
275282

276283
return nil
@@ -282,6 +289,17 @@ func processImageManifestIndex(mci *manifestCreationInfo, buf *packages_module.H
282289
return manifestDigest, nil
283290
}
284291

292+
func notifyPackageCreate(doer *user_model.User, pv *packages_model.PackageVersion) error {
293+
pd, err := packages_model.GetPackageDescriptor(db.DefaultContext, pv)
294+
if err != nil {
295+
return err
296+
}
297+
298+
notification.NotifyPackageCreate(db.DefaultContext, doer, pd)
299+
300+
return nil
301+
}
302+
285303
func createPackageAndVersion(ctx context.Context, mci *manifestCreationInfo, metadata *container_module.Metadata) (*packages_model.PackageVersion, error) {
286304
created := true
287305
p := &packages_model.Package{

Diff for: routers/api/v1/repo/repo.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func Search(ctx *context.APIContext) {
201201

202202
results := make([]*api.Repository, len(repos))
203203
for i, repo := range repos {
204-
if err = repo.GetOwner(ctx); err != nil {
204+
if err = repo.LoadOwner(ctx); err != nil {
205205
ctx.JSON(http.StatusInternalServerError, api.SearchError{
206206
OK: false,
207207
Error: err.Error(),

Diff for: routers/api/v1/user/repo.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ func ListMyRepos(ctx *context.APIContext) {
119119

120120
results := make([]*api.Repository, len(repos))
121121
for i, repo := range repos {
122-
if err = repo.GetOwner(ctx); err != nil {
123-
ctx.Error(http.StatusInternalServerError, "GetOwner", err)
122+
if err = repo.LoadOwner(ctx); err != nil {
123+
ctx.Error(http.StatusInternalServerError, "LoadOwner", err)
124124
return
125125
}
126126
accessMode, err := access_model.AccessLevel(ctx, ctx.Doer, repo)

0 commit comments

Comments
 (0)