diff options
Diffstat (limited to 'models')
-rw-r--r-- | models/attachment.go | 13 | ||||
-rw-r--r-- | models/attachment_test.go | 9 | ||||
-rw-r--r-- | models/branches.go | 9 | ||||
-rw-r--r-- | models/issue.go | 5 | ||||
-rw-r--r-- | models/issue_dependency.go | 3 | ||||
-rw-r--r-- | models/lfs_lock.go | 3 | ||||
-rw-r--r-- | models/migrations/v111.go | 2 | ||||
-rw-r--r-- | models/notification.go | 5 | ||||
-rw-r--r-- | models/org.go | 5 | ||||
-rw-r--r-- | models/org_team.go | 19 | ||||
-rw-r--r-- | models/pull.go | 5 | ||||
-rw-r--r-- | models/pull_test.go | 3 | ||||
-rw-r--r-- | models/repo.go | 39 | ||||
-rw-r--r-- | models/repo_collaboration.go | 3 | ||||
-rw-r--r-- | models/repo_issue.go | 9 | ||||
-rw-r--r-- | models/repo_permission.go | 39 | ||||
-rw-r--r-- | models/repo_permission_test.go | 17 | ||||
-rw-r--r-- | models/repo_test.go | 3 | ||||
-rw-r--r-- | models/repo_unit.go | 31 | ||||
-rw-r--r-- | models/repo_watch.go | 7 | ||||
-rw-r--r-- | models/review.go | 3 | ||||
-rw-r--r-- | models/unit/unit.go (renamed from models/unit.go) | 161 | ||||
-rw-r--r-- | models/user.go | 13 |
23 files changed, 215 insertions, 191 deletions
diff --git a/models/attachment.go b/models/attachment.go index f06b389dc6..ed82aaf483 100644 --- a/models/attachment.go +++ b/models/attachment.go @@ -10,6 +10,7 @@ import ( "path" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/storage" "code.gitea.io/gitea/modules/timeutil" @@ -62,25 +63,25 @@ func (a *Attachment) DownloadURL() string { } // LinkedRepository returns the linked repo if any -func (a *Attachment) LinkedRepository() (*Repository, UnitType, error) { +func (a *Attachment) LinkedRepository() (*Repository, unit.Type, error) { if a.IssueID != 0 { iss, err := GetIssueByID(a.IssueID) if err != nil { - return nil, UnitTypeIssues, err + return nil, unit.TypeIssues, err } repo, err := GetRepositoryByID(iss.RepoID) - unitType := UnitTypeIssues + unitType := unit.TypeIssues if iss.IsPull { - unitType = UnitTypePullRequests + unitType = unit.TypePullRequests } return repo, unitType, err } else if a.ReleaseID != 0 { rel, err := GetReleaseByID(a.ReleaseID) if err != nil { - return nil, UnitTypeReleases, err + return nil, unit.TypeReleases, err } repo, err := GetRepositoryByID(rel.RepoID) - return repo, UnitTypeReleases, err + return repo, unit.TypeReleases, err } return nil, -1, nil } diff --git a/models/attachment_test.go b/models/attachment_test.go index 725d5a40c0..c7f456341c 100644 --- a/models/attachment_test.go +++ b/models/attachment_test.go @@ -8,6 +8,7 @@ import ( "testing" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "github.com/stretchr/testify/assert" ) @@ -107,11 +108,11 @@ func TestLinkedRepository(t *testing.T) { name string attachID int64 expectedRepo *Repository - expectedUnitType UnitType + expectedUnitType unit.Type }{ - {"LinkedIssue", 1, &Repository{ID: 1}, UnitTypeIssues}, - {"LinkedComment", 3, &Repository{ID: 1}, UnitTypePullRequests}, - {"LinkedRelease", 9, &Repository{ID: 1}, UnitTypeReleases}, + {"LinkedIssue", 1, &Repository{ID: 1}, unit.TypeIssues}, + {"LinkedComment", 3, &Repository{ID: 1}, unit.TypePullRequests}, + {"LinkedRelease", 9, &Repository{ID: 1}, unit.TypeReleases}, {"Notlinked", 10, nil, -1}, } for _, tc := range testCases { diff --git a/models/branches.go b/models/branches.go index caca9e23fe..50de52a277 100644 --- a/models/branches.go +++ b/models/branches.go @@ -11,6 +11,7 @@ import ( "time" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/timeutil" @@ -74,7 +75,7 @@ func (protectBranch *ProtectedBranch) CanUserPush(userID int64) bool { } else if repo, err := GetRepositoryByID(protectBranch.RepoID); err != nil { log.Error("GetRepositoryByID: %v", err) return false - } else if writeAccess, err := HasAccessUnit(user, repo, UnitTypeCode, AccessModeWrite); err != nil { + } else if writeAccess, err := HasAccessUnit(user, repo, unit.TypeCode, AccessModeWrite); err != nil { log.Error("HasAccessUnit: %v", err) return false } else { @@ -102,7 +103,7 @@ func (protectBranch *ProtectedBranch) CanUserPush(userID int64) bool { func (protectBranch *ProtectedBranch) IsUserMergeWhitelisted(userID int64, permissionInRepo Permission) bool { if !protectBranch.EnableMergeWhitelist { // Then we need to fall back on whether the user has write permission - return permissionInRepo.CanWrite(UnitTypeCode) + return permissionInRepo.CanWrite(unit.TypeCode) } if base.Int64sContains(protectBranch.MergeWhitelistUserIDs, userID) { @@ -134,7 +135,7 @@ func (protectBranch *ProtectedBranch) isUserOfficialReviewer(e db.Engine, user * if !protectBranch.EnableApprovalsWhitelist { // Anyone with write access is considered official reviewer - writeAccess, err := hasAccessUnit(e, user, repo, UnitTypeCode, AccessModeWrite) + writeAccess, err := hasAccessUnit(e, user, repo, unit.TypeCode, AccessModeWrite) if err != nil { return false, err } @@ -454,7 +455,7 @@ func updateUserWhitelist(repo *Repository, currentWhitelist, newWhitelist []int6 return nil, fmt.Errorf("GetUserRepoPermission [user_id: %d, repo_id: %d]: %v", userID, repo.ID, err) } - if !perm.CanWrite(UnitTypeCode) { + if !perm.CanWrite(unit.TypeCode) { continue // Drop invalid user ID } diff --git a/models/issue.go b/models/issue.go index 75aafe51b7..f36267c945 100644 --- a/models/issue.go +++ b/models/issue.go @@ -15,6 +15,7 @@ import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/issues" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/references" @@ -2031,9 +2032,9 @@ func (issue *Issue) ResolveMentionsByVisibility(ctx context.Context, doer *User, } if len(teams) != 0 { checked := make([]int64, 0, len(teams)) - unittype := UnitTypeIssues + unittype := unit.TypeIssues if issue.IsPull { - unittype = UnitTypePullRequests + unittype = unit.TypePullRequests } for _, team := range teams { if team.Authorize >= AccessModeOwner { diff --git a/models/issue_dependency.go b/models/issue_dependency.go index 0dfb99ca01..f58bb3da0a 100644 --- a/models/issue_dependency.go +++ b/models/issue_dependency.go @@ -6,6 +6,7 @@ package models import ( "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" @@ -141,7 +142,7 @@ func (repo *Repository) IsDependenciesEnabled() bool { func (repo *Repository) isDependenciesEnabled(e db.Engine) bool { var u *RepoUnit var err error - if u, err = repo.getUnit(e, UnitTypeIssues); err != nil { + if u, err = repo.getUnit(e, unit.TypeIssues); err != nil { log.Trace("%s", err) return setting.Service.DefaultEnableDependencies } diff --git a/models/lfs_lock.go b/models/lfs_lock.go index ca49ab8a6a..247444a66d 100644 --- a/models/lfs_lock.go +++ b/models/lfs_lock.go @@ -11,6 +11,7 @@ import ( "time" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "xorm.io/xorm" @@ -152,7 +153,7 @@ func CheckLFSAccessForRepo(u *User, repo *Repository, mode AccessMode) error { if err != nil { return err } - if !perm.CanAccess(mode, UnitTypeCode) { + if !perm.CanAccess(mode, unit.TypeCode) { return ErrLFSUnauthorizedAction{repo.ID, u.DisplayName(), mode} } return nil diff --git a/models/migrations/v111.go b/models/migrations/v111.go index 95f0ec22dd..02624da66a 100644 --- a/models/migrations/v111.go +++ b/models/migrations/v111.go @@ -56,7 +56,7 @@ func addBranchProtectionCanPushAndEnableWhitelist(x *xorm.Engine) error { // VisibleTypePrivate Visible only for organization's members VisibleTypePrivate int = 2 - // UnitTypeCode is unit type code + // unit.UnitTypeCode is unit type code UnitTypeCode int = 1 // AccessModeNone no access diff --git a/models/notification.go b/models/notification.go index bcbe8b0988..ce656f4355 100644 --- a/models/notification.go +++ b/models/notification.go @@ -9,6 +9,7 @@ import ( "strconv" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" @@ -262,10 +263,10 @@ func createOrUpdateIssueNotifications(e db.Engine, issueID, commentID, notificat return err } - if issue.IsPull && !issue.Repo.checkUnitUser(e, user, UnitTypePullRequests) { + if issue.IsPull && !issue.Repo.checkUnitUser(e, user, unit.TypePullRequests) { continue } - if !issue.IsPull && !issue.Repo.checkUnitUser(e, user, UnitTypeIssues) { + if !issue.IsPull && !issue.Repo.checkUnitUser(e, user, unit.TypeIssues) { continue } diff --git a/models/org.go b/models/org.go index d2801a30ce..c6d2562f15 100644 --- a/models/org.go +++ b/models/org.go @@ -10,6 +10,7 @@ import ( "strings" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/storage" @@ -202,8 +203,8 @@ func CreateOrganization(org, owner *User) (err error) { } // insert units for team - units := make([]TeamUnit, 0, len(AllRepoUnitTypes)) - for _, tp := range AllRepoUnitTypes { + units := make([]TeamUnit, 0, len(unit.AllRepoUnitTypes)) + for _, tp := range unit.AllRepoUnitTypes { units = append(units, TeamUnit{ OrgID: org.ID, TeamID: t.ID, diff --git a/models/org_team.go b/models/org_team.go index fc6a5f2c3b..10178ec88a 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -12,6 +12,7 @@ import ( "strings" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" @@ -135,7 +136,7 @@ func (t *Team) getUnits(e db.Engine) (err error) { // GetUnitNames returns the team units names func (t *Team) GetUnitNames() (res []string) { for _, u := range t.Units { - res = append(res, Units[u.Type].NameKey) + res = append(res, unit.Units[u.Type].NameKey) } return } @@ -435,11 +436,11 @@ func (t *Team) RemoveRepository(repoID int64) error { } // UnitEnabled returns if the team has the given unit type enabled -func (t *Team) UnitEnabled(tp UnitType) bool { +func (t *Team) UnitEnabled(tp unit.Type) bool { return t.unitEnabled(db.GetEngine(db.DefaultContext), tp) } -func (t *Team) unitEnabled(e db.Engine, tp UnitType) bool { +func (t *Team) unitEnabled(e db.Engine, tp unit.Type) bool { if err := t.getUnits(e); err != nil { log.Warn("Error loading team (ID: %d) units: %s", t.ID, err.Error()) } @@ -1029,15 +1030,15 @@ func GetTeamsWithAccessToRepo(orgID, repoID int64, mode AccessMode) ([]*Team, er // TeamUnit describes all units of a repository type TeamUnit struct { - ID int64 `xorm:"pk autoincr"` - OrgID int64 `xorm:"INDEX"` - TeamID int64 `xorm:"UNIQUE(s)"` - Type UnitType `xorm:"UNIQUE(s)"` + ID int64 `xorm:"pk autoincr"` + OrgID int64 `xorm:"INDEX"` + TeamID int64 `xorm:"UNIQUE(s)"` + Type unit.Type `xorm:"UNIQUE(s)"` } // Unit returns Unit -func (t *TeamUnit) Unit() Unit { - return Units[t.Type] +func (t *TeamUnit) Unit() unit.Unit { + return unit.Units[t.Type] } func getUnitsByTeamID(e db.Engine, teamID int64) (units []*TeamUnit, err error) { diff --git a/models/pull.go b/models/pull.go index 38f2c1b8ce..6bcc30e901 100644 --- a/models/pull.go +++ b/models/pull.go @@ -11,6 +11,7 @@ import ( "strings" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" @@ -236,7 +237,7 @@ func (pr *PullRequest) GetDefaultMergeMessage() string { } issueReference := "#" - if pr.BaseRepo.UnitEnabled(UnitTypeExternalTracker) { + if pr.BaseRepo.UnitEnabled(unit.TypeExternalTracker) { issueReference = "!" } @@ -338,7 +339,7 @@ func (pr *PullRequest) GetDefaultSquashMessage() string { log.Error("LoadBaseRepo: %v", err) return "" } - if pr.BaseRepo.UnitEnabled(UnitTypeExternalTracker) { + if pr.BaseRepo.UnitEnabled(unit.TypeExternalTracker) { return fmt.Sprintf("%s (!%d)", pr.Issue.Title, pr.Issue.Index) } return fmt.Sprintf("%s (#%d)", pr.Issue.Title, pr.Issue.Index) diff --git a/models/pull_test.go b/models/pull_test.go index 173977aafe..e6855240db 100644 --- a/models/pull_test.go +++ b/models/pull_test.go @@ -8,6 +8,7 @@ import ( "testing" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "github.com/stretchr/testify/assert" ) @@ -255,7 +256,7 @@ func TestPullRequest_GetDefaultMergeMessage_ExternalTracker(t *testing.T) { assert.NoError(t, db.PrepareTestDatabase()) externalTracker := RepoUnit{ - Type: UnitTypeExternalTracker, + Type: unit.TypeExternalTracker, Config: &ExternalTrackerConfig{ ExternalTrackerFormat: "https://someurl.com/{user}/{repo}/{issue}", }, diff --git a/models/repo.go b/models/repo.go index 25b1e65206..10dc8d9b09 100644 --- a/models/repo.go +++ b/models/repo.go @@ -23,6 +23,7 @@ import ( "unicode/utf8" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/lfs" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/markup" @@ -128,7 +129,7 @@ func loadRepoConfig() { // NewRepoContext creates a new repository context func NewRepoContext() { loadRepoConfig() - loadUnitConfig() + unit.LoadUnitConfig() RemoveAllWithNotice("Clean up repository temporary data", filepath.Join(setting.AppDataPath, "tmp")) } @@ -353,11 +354,11 @@ func (repo *Repository) getUnits(e db.Engine) (err error) { } // CheckUnitUser check whether user could visit the unit of this repository -func (repo *Repository) CheckUnitUser(user *User, unitType UnitType) bool { +func (repo *Repository) CheckUnitUser(user *User, unitType unit.Type) bool { return repo.checkUnitUser(db.GetEngine(db.DefaultContext), user, unitType) } -func (repo *Repository) checkUnitUser(e db.Engine, user *User, unitType UnitType) bool { +func (repo *Repository) checkUnitUser(e db.Engine, user *User, unitType unit.Type) bool { if user.IsAdmin { return true } @@ -371,7 +372,7 @@ func (repo *Repository) checkUnitUser(e db.Engine, user *User, unitType UnitType } // UnitEnabled if this repository has the given unit enabled -func (repo *Repository) UnitEnabled(tp UnitType) bool { +func (repo *Repository) UnitEnabled(tp unit.Type) bool { if err := repo.getUnits(db.GetEngine(db.DefaultContext)); err != nil { log.Warn("Error loading repository (ID: %d) units: %s", repo.ID, err.Error()) } @@ -385,7 +386,7 @@ func (repo *Repository) UnitEnabled(tp UnitType) bool { // ErrUnitTypeNotExist represents a "UnitTypeNotExist" kind of error. type ErrUnitTypeNotExist struct { - UT UnitType + UT unit.Type } // IsErrUnitTypeNotExist checks if an error is a ErrUnitNotExist. @@ -399,28 +400,28 @@ func (err ErrUnitTypeNotExist) Error() string { } // MustGetUnit always returns a RepoUnit object -func (repo *Repository) MustGetUnit(tp UnitType) *RepoUnit { +func (repo *Repository) MustGetUnit(tp unit.Type) *RepoUnit { ru, err := repo.GetUnit(tp) if err == nil { return ru } - if tp == UnitTypeExternalWiki { + if tp == unit.TypeExternalWiki { return &RepoUnit{ Type: tp, Config: new(ExternalWikiConfig), } - } else if tp == UnitTypeExternalTracker { + } else if tp == unit.TypeExternalTracker { return &RepoUnit{ Type: tp, Config: new(ExternalTrackerConfig), } - } else if tp == UnitTypePullRequests { + } else if tp == unit.TypePullRequests { return &RepoUnit{ Type: tp, Config: new(PullRequestsConfig), } - } else if tp == UnitTypeIssues { + } else if tp == unit.TypeIssues { return &RepoUnit{ Type: tp, Config: new(IssuesConfig), @@ -433,11 +434,11 @@ func (repo *Repository) MustGetUnit(tp UnitType) *RepoUnit { } // GetUnit returns a RepoUnit object -func (repo *Repository) GetUnit(tp UnitType) (*RepoUnit, error) { +func (repo *Repository) GetUnit(tp unit.Type) (*RepoUnit, error) { return repo.getUnit(db.GetEngine(db.DefaultContext), tp) } -func (repo *Repository) getUnit(e db.Engine, tp UnitType) (*RepoUnit, error) { +func (repo *Repository) getUnit(e db.Engine, tp unit.Type) (*RepoUnit, error) { if err := repo.getUnits(e); err != nil { return nil, err } @@ -484,7 +485,7 @@ func (repo *Repository) ComposeMetas() map[string]string { "mode": "comment", } - unit, err := repo.GetUnit(UnitTypeExternalTracker) + unit, err := repo.GetUnit(unit.TypeExternalTracker) if err == nil { metas["format"] = unit.ExternalTrackerConfig().ExternalTrackerFormat switch unit.ExternalTrackerConfig().ExternalTrackerStyle { @@ -802,7 +803,7 @@ func (repo *Repository) CanEnablePulls() bool { // AllowsPulls returns true if repository meets the requirements of accepting pulls and has them enabled. func (repo *Repository) AllowsPulls() bool { - return repo.CanEnablePulls() && repo.UnitEnabled(UnitTypePullRequests) + return repo.CanEnablePulls() && repo.UnitEnabled(unit.TypePullRequests) } // CanEnableEditor returns true if repository meets the requirements of web editor. @@ -1076,9 +1077,9 @@ func CreateRepository(ctx context.Context, doer, u *User, repo *Repository, over } // insert units for repo - units := make([]RepoUnit, 0, len(DefaultRepoUnits)) - for _, tp := range DefaultRepoUnits { - if tp == UnitTypeIssues { + units := make([]RepoUnit, 0, len(unit.DefaultRepoUnits)) + for _, tp := range unit.DefaultRepoUnits { + if tp == unit.TypeIssues { units = append(units, RepoUnit{ RepoID: repo.ID, Type: tp, @@ -1088,7 +1089,7 @@ func CreateRepository(ctx context.Context, doer, u *User, repo *Repository, over EnableDependencies: setting.Service.DefaultEnableDependencies, }, }) - } else if tp == UnitTypePullRequests { + } else if tp == unit.TypePullRequests { units = append(units, RepoUnit{ RepoID: repo.ID, Type: tp, @@ -1406,7 +1407,7 @@ func UpdateRepositoryUpdatedTime(repoID int64, updateTime time.Time) error { } // UpdateRepositoryUnits updates a repository's units -func UpdateRepositoryUnits(repo *Repository, units []RepoUnit, deleteUnitTypes []UnitType) (err error) { +func UpdateRepositoryUnits(repo *Repository, units []RepoUnit, deleteUnitTypes []unit.Type) (err error) { sess := db.NewSession(db.DefaultContext) defer sess.Close() if err = sess.Begin(); err != nil { diff --git a/models/repo_collaboration.go b/models/repo_collaboration.go index bc9d0100ef..dd362406cf 100644 --- a/models/repo_collaboration.go +++ b/models/repo_collaboration.go @@ -9,6 +9,7 @@ import ( "fmt" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/timeutil" @@ -276,7 +277,7 @@ func (repo *Repository) IsOwnerMemberCollaborator(userID int64) (bool, error) { teamMember, err := db.GetEngine(db.DefaultContext).Join("INNER", "team_repo", "team_repo.team_id = team_user.team_id"). Join("INNER", "team_unit", "team_unit.team_id = team_user.team_id"). Where("team_repo.repo_id = ?", repo.ID). - And("team_unit.`type` = ?", UnitTypeCode). + And("team_unit.`type` = ?", unit.TypeCode). And("team_user.uid = ?", userID).Table("team_user").Exist(&TeamUser{}) if err != nil { return false, err diff --git a/models/repo_issue.go b/models/repo_issue.go index 433d0e39bd..32bfdc15b6 100644 --- a/models/repo_issue.go +++ b/models/repo_issue.go @@ -4,7 +4,10 @@ package models -import "code.gitea.io/gitea/modules/setting" +import ( + "code.gitea.io/gitea/models/unit" + "code.gitea.io/gitea/modules/setting" +) // ___________.__ ___________ __ // \__ ___/|__| _____ ___\__ ___/___________ ____ | | __ ___________ @@ -27,7 +30,7 @@ func (repo *Repository) IsTimetrackerEnabled() bool { var u *RepoUnit var err error - if u, err = repo.GetUnit(UnitTypeIssues); err != nil { + if u, err = repo.GetUnit(unit.TypeIssues); err != nil { return setting.Service.DefaultEnableTimetracking } return u.IssuesConfig().EnableTimetracker @@ -37,7 +40,7 @@ func (repo *Repository) IsTimetrackerEnabled() bool { func (repo *Repository) AllowOnlyContributorsToTrackTime() bool { var u *RepoUnit var err error - if u, err = repo.GetUnit(UnitTypeIssues); err != nil { + if u, err = repo.GetUnit(unit.TypeIssues); err != nil { return setting.Service.DefaultAllowOnlyContributorsToTrackTime } return u.IssuesConfig().AllowOnlyContributorsToTrackTime diff --git a/models/repo_permission.go b/models/repo_permission.go index 5ec933aa0f..3db7200470 100644 --- a/models/repo_permission.go +++ b/models/repo_permission.go @@ -8,6 +8,7 @@ import ( "fmt" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" ) @@ -15,7 +16,7 @@ import ( type Permission struct { AccessMode AccessMode Units []*RepoUnit - UnitsMode map[UnitType]AccessMode + UnitsMode map[unit.Type]AccessMode } // IsOwner returns true if current user is the owner of repository. @@ -37,7 +38,7 @@ func (p *Permission) HasAccess() bool { } // UnitAccessMode returns current user accessmode to the specify unit of the repository -func (p *Permission) UnitAccessMode(unitType UnitType) AccessMode { +func (p *Permission) UnitAccessMode(unitType unit.Type) AccessMode { if p.UnitsMode == nil { for _, u := range p.Units { if u.Type == unitType { @@ -50,12 +51,12 @@ func (p *Permission) UnitAccessMode(unitType UnitType) AccessMode { } // CanAccess returns true if user has mode access to the unit of the repository -func (p *Permission) CanAccess(mode AccessMode, unitType UnitType) bool { +func (p *Permission) CanAccess(mode AccessMode, unitType unit.Type) bool { return p.UnitAccessMode(unitType) >= mode } // CanAccessAny returns true if user has mode access to any of the units of the repository -func (p *Permission) CanAccessAny(mode AccessMode, unitTypes ...UnitType) bool { +func (p *Permission) CanAccessAny(mode AccessMode, unitTypes ...unit.Type) bool { for _, u := range unitTypes { if p.CanAccess(mode, u) { return true @@ -65,12 +66,12 @@ func (p *Permission) CanAccessAny(mode AccessMode, unitTypes ...UnitType) bool { } // CanRead returns true if user could read to this unit -func (p *Permission) CanRead(unitType UnitType) bool { +func (p *Permission) CanRead(unitType unit.Type) bool { return p.CanAccess(AccessModeRead, unitType) } // CanReadAny returns true if user has read access to any of the units of the repository -func (p *Permission) CanReadAny(unitTypes ...UnitType) bool { +func (p *Permission) CanReadAny(unitTypes ...unit.Type) bool { return p.CanAccessAny(AccessModeRead, unitTypes...) } @@ -78,13 +79,13 @@ func (p *Permission) CanReadAny(unitTypes ...UnitType) bool { // returns true if isPull is false and user could read to issues func (p *Permission) CanReadIssuesOrPulls(isPull bool) bool { if isPull { - return p.CanRead(UnitTypePullRequests) + return p.CanRead(unit.TypePullRequests) } - return p.CanRead(UnitTypeIssues) + return p.CanRead(unit.TypeIssues) } // CanWrite returns true if user could write to this unit -func (p *Permission) CanWrite(unitType UnitType) bool { +func (p *Permission) CanWrite(unitType unit.Type) bool { return p.CanAccess(AccessModeWrite, unitType) } @@ -92,9 +93,9 @@ func (p *Permission) CanWrite(unitType UnitType) bool { // returns true if isPull is false and user could write to issues func (p *Permission) CanWriteIssuesOrPulls(isPull bool) bool { if isPull { - return p.CanWrite(UnitTypePullRequests) + return p.CanWrite(unit.TypePullRequests) } - return p.CanWrite(UnitTypeIssues) + return p.CanWrite(unit.TypeIssues) } // ColorFormat writes a colored string for these Permissions @@ -215,7 +216,7 @@ func getUserRepoPermission(e db.Engine, repo *Repository, user *User) (perm Perm return } - perm.UnitsMode = make(map[UnitType]AccessMode) + perm.UnitsMode = make(map[unit.Type]AccessMode) // Collaborators on organization if isCollaborator { @@ -330,16 +331,16 @@ func isUserRepoAdmin(e db.Engine, repo *Repository, user *User) (bool, error) { // AccessLevel returns the Access a user has to a repository. Will return NoneAccess if the // user does not have access. func AccessLevel(user *User, repo *Repository) (AccessMode, error) { - return accessLevelUnit(db.GetEngine(db.DefaultContext), user, repo, UnitTypeCode) + return accessLevelUnit(db.GetEngine(db.DefaultContext), user, repo, unit.TypeCode) } // AccessLevelUnit returns the Access a user has to a repository's. Will return NoneAccess if the // user does not have access. -func AccessLevelUnit(user *User, repo *Repository, unitType UnitType) (AccessMode, error) { +func AccessLevelUnit(user *User, repo *Repository, unitType unit.Type) (AccessMode, error) { return accessLevelUnit(db.GetEngine(db.DefaultContext), user, repo, unitType) } -func accessLevelUnit(e db.Engine, user *User, repo *Repository, unitType UnitType) (AccessMode, error) { +func accessLevelUnit(e db.Engine, user *User, repo *Repository, unitType unit.Type) (AccessMode, error) { perm, err := getUserRepoPermission(e, repo, user) if err != nil { return AccessModeNone, err @@ -347,13 +348,13 @@ func accessLevelUnit(e db.Engine, user *User, repo *Repository, unitType UnitTyp return perm.UnitAccessMode(unitType), nil } -func hasAccessUnit(e db.Engine, user *User, repo *Repository, unitType UnitType, testMode AccessMode) (bool, error) { +func hasAccessUnit(e db.Engine, user *User, repo *Repository, unitType unit.Type, testMode AccessMode) (bool, error) { mode, err := accessLevelUnit(e, user, repo, unitType) return testMode <= mode, err } // HasAccessUnit returns true if user has testMode to the unit of the repository -func HasAccessUnit(user *User, repo *Repository, unitType UnitType, testMode AccessMode) (bool, error) { +func HasAccessUnit(user *User, repo *Repository, unitType unit.Type, testMode AccessMode) (bool, error) { return hasAccessUnit(db.GetEngine(db.DefaultContext), user, repo, unitType, testMode) } @@ -372,7 +373,7 @@ func canBeAssigned(e db.Engine, user *User, repo *Repository, _ bool) (bool, err if err != nil { return false, err } - return perm.CanAccessAny(AccessModeWrite, UnitTypeCode, UnitTypeIssues, UnitTypePullRequests), nil + return perm.CanAccessAny(AccessModeWrite, unit.TypeCode, unit.TypeIssues, unit.TypePullRequests), nil } func hasAccess(e db.Engine, userID int64, repo *Repository) (bool, error) { @@ -397,7 +398,7 @@ func HasAccess(userID int64, repo *Repository) (bool, error) { } // FilterOutRepoIdsWithoutUnitAccess filter out repos where user has no access to repositories -func FilterOutRepoIdsWithoutUnitAccess(u *User, repoIDs []int64, units ...UnitType) ([]int64, error) { +func FilterOutRepoIdsWithoutUnitAccess(u *User, repoIDs []int64, units ...unit.Type) ([]int64, error) { i := 0 for _, rID := range repoIDs { repo, err := GetRepositoryByID(rID) diff --git a/models/repo_permission_test.go b/models/repo_permission_test.go index 1fbf1b9f8f..5e43937776 100644 --- a/models/repo_permission_test.go +++ b/models/repo_permission_test.go @@ -8,6 +8,7 @@ import ( "testing" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "github.com/stretchr/testify/assert" ) @@ -165,8 +166,8 @@ func TestRepoPermissionPublicOrgRepo(t *testing.T) { for _, unit := range repo.Units { assert.True(t, perm.CanRead(unit.Type)) } - assert.True(t, perm.CanWrite(UnitTypeIssues)) - assert.False(t, perm.CanWrite(UnitTypeCode)) + assert.True(t, perm.CanWrite(unit.TypeIssues)) + assert.False(t, perm.CanWrite(unit.TypeCode)) // admin admin := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) @@ -235,17 +236,17 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) { tester := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) perm, err = GetUserRepoPermission(repo, tester) assert.NoError(t, err) - assert.True(t, perm.CanWrite(UnitTypeIssues)) - assert.False(t, perm.CanWrite(UnitTypeCode)) - assert.False(t, perm.CanRead(UnitTypeCode)) + assert.True(t, perm.CanWrite(unit.TypeIssues)) + assert.False(t, perm.CanWrite(unit.TypeCode)) + assert.False(t, perm.CanRead(unit.TypeCode)) // org member team reviewer reviewer := db.AssertExistsAndLoadBean(t, &User{ID: 20}).(*User) perm, err = GetUserRepoPermission(repo, reviewer) assert.NoError(t, err) - assert.False(t, perm.CanRead(UnitTypeIssues)) - assert.False(t, perm.CanWrite(UnitTypeCode)) - assert.True(t, perm.CanRead(UnitTypeCode)) + assert.False(t, perm.CanRead(unit.TypeIssues)) + assert.False(t, perm.CanWrite(unit.TypeCode)) + assert.True(t, perm.CanRead(unit.TypeCode)) // admin admin := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) diff --git a/models/repo_test.go b/models/repo_test.go index 8073a9cd2f..425e8c0191 100644 --- a/models/repo_test.go +++ b/models/repo_test.go @@ -13,6 +13,7 @@ import ( "testing" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/markup" "github.com/stretchr/testify/assert" @@ -32,7 +33,7 @@ func TestMetas(t *testing.T) { assert.Equal(t, "testOwner", metas["user"]) externalTracker := RepoUnit{ - Type: UnitTypeExternalTracker, + Type: unit.TypeExternalTracker, Config: &ExternalTrackerConfig{ ExternalTrackerFormat: "https://someurl.com/{user}/{repo}/{issue}", }, diff --git a/models/repo_unit.go b/models/repo_unit.go index 474f65bf03..4dac15366b 100644 --- a/models/repo_unit.go +++ b/models/repo_unit.go @@ -9,6 +9,7 @@ import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/login" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/timeutil" @@ -20,7 +21,7 @@ import ( type RepoUnit struct { ID int64 RepoID int64 `xorm:"INDEX(s)"` - Type UnitType `xorm:"INDEX(s)"` + Type unit.Type `xorm:"INDEX(s)"` Config convert.Conversion `xorm:"TEXT"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX CREATED"` } @@ -154,16 +155,16 @@ func (cfg *PullRequestsConfig) AllowedMergeStyleCount() int { func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) { switch colName { case "type": - switch UnitType(login.Cell2Int64(val)) { - case UnitTypeCode, UnitTypeReleases, UnitTypeWiki, UnitTypeProjects: + switch unit.Type(login.Cell2Int64(val)) { + case unit.TypeCode, unit.TypeReleases, unit.TypeWiki, unit.TypeProjects: r.Config = new(UnitConfig) - case UnitTypeExternalWiki: + case unit.TypeExternalWiki: r.Config = new(ExternalWikiConfig) - case UnitTypeExternalTracker: + case unit.TypeExternalTracker: r.Config = new(ExternalTrackerConfig) - case UnitTypePullRequests: + case unit.TypePullRequests: r.Config = new(PullRequestsConfig) - case UnitTypeIssues: + case unit.TypeIssues: r.Config = new(IssuesConfig) default: panic(fmt.Sprintf("unrecognized repo unit type: %v", *val)) @@ -172,36 +173,36 @@ func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) { } // Unit returns Unit -func (r *RepoUnit) Unit() Unit { - return Units[r.Type] +func (r *RepoUnit) Unit() unit.Unit { + return unit.Units[r.Type] } -// CodeConfig returns config for UnitTypeCode +// CodeConfig returns config for unit.TypeCode func (r *RepoUnit) CodeConfig() *UnitConfig { return r.Config.(*UnitConfig) } -// PullRequestsConfig returns config for UnitTypePullRequests +// PullRequestsConfig returns config for unit.TypePullRequests func (r *RepoUnit) PullRequestsConfig() *PullRequestsConfig { return r.Config.(*PullRequestsConfig) } -// ReleasesConfig returns config for UnitTypeReleases +// ReleasesConfig returns config for unit.TypeReleases func (r *RepoUnit) ReleasesConfig() *UnitConfig { return r.Config.(*UnitConfig) } -// ExternalWikiConfig returns config for UnitTypeExternalWiki +// ExternalWikiConfig returns config for unit.TypeExternalWiki func (r *RepoUnit) ExternalWikiConfig() *ExternalWikiConfig { return r.Config.(*ExternalWikiConfig) } -// IssuesConfig returns config for UnitTypeIssues +// IssuesConfig returns config for unit.TypeIssues func (r *RepoUnit) IssuesConfig() *IssuesConfig { return r.Config.(*IssuesConfig) } -// ExternalTrackerConfig returns config for UnitTypeExternalTracker +// ExternalTrackerConfig returns config for unit.TypeExternalTracker func (r *RepoUnit) ExternalTrackerConfig() *ExternalTrackerConfig { return r.Config.(*ExternalTrackerConfig) } diff --git a/models/repo_watch.go b/models/repo_watch.go index b37d47874e..55fb08a426 100644 --- a/models/repo_watch.go +++ b/models/repo_watch.go @@ -8,6 +8,7 @@ import ( "fmt" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" ) @@ -245,9 +246,9 @@ func notifyWatchers(e db.Engine, actions ...*Action) error { permPR[i] = false continue } - permCode[i] = perm.CanRead(UnitTypeCode) - permIssue[i] = perm.CanRead(UnitTypeIssues) - permPR[i] = perm.CanRead(UnitTypePullRequests) + permCode[i] = perm.CanRead(unit.TypeCode) + permIssue[i] = perm.CanRead(unit.TypeIssues) + permPR[i] = perm.CanRead(unit.TypePullRequests) } } diff --git a/models/review.go b/models/review.go index d456383d9c..ab275ecb26 100644 --- a/models/review.go +++ b/models/review.go @@ -9,6 +9,7 @@ import ( "strings" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/timeutil" @@ -897,7 +898,7 @@ func CanMarkConversation(issue *Issue, doer *User) (permResult bool, err error) return false, err } - permResult = perm.CanAccess(AccessModeWrite, UnitTypePullRequests) + permResult = perm.CanAccess(AccessModeWrite, unit.TypePullRequests) if !permResult { if permResult, err = IsOfficialReviewer(issue, doer); err != nil { return false, err diff --git a/models/unit.go b/models/unit/unit.go index 939deba574..0af4640b7a 100644 --- a/models/unit.go +++ b/models/unit/unit.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package models +package unit import ( "fmt" @@ -12,50 +12,50 @@ import ( "code.gitea.io/gitea/modules/setting" ) -// UnitType is Unit's Type -type UnitType int +// Type is Unit's Type +type Type int // Enumerate all the unit types const ( - UnitTypeCode UnitType = iota + 1 // 1 code - UnitTypeIssues // 2 issues - UnitTypePullRequests // 3 PRs - UnitTypeReleases // 4 Releases - UnitTypeWiki // 5 Wiki - UnitTypeExternalWiki // 6 ExternalWiki - UnitTypeExternalTracker // 7 ExternalTracker - UnitTypeProjects // 8 Kanban board + TypeCode Type = iota + 1 // 1 code + TypeIssues // 2 issues + TypePullRequests // 3 PRs + TypeReleases // 4 Releases + TypeWiki // 5 Wiki + TypeExternalWiki // 6 ExternalWiki + TypeExternalTracker // 7 ExternalTracker + TypeProjects // 8 Kanban board ) // Value returns integer value for unit type -func (u UnitType) Value() int { +func (u Type) Value() int { return int(u) } -func (u UnitType) String() string { +func (u Type) String() string { switch u { - case UnitTypeCode: - return "UnitTypeCode" - case UnitTypeIssues: - return "UnitTypeIssues" - case UnitTypePullRequests: - return "UnitTypePullRequests" - case UnitTypeReleases: - return "UnitTypeReleases" - case UnitTypeWiki: - return "UnitTypeWiki" - case UnitTypeExternalWiki: - return "UnitTypeExternalWiki" - case UnitTypeExternalTracker: - return "UnitTypeExternalTracker" - case UnitTypeProjects: - return "UnitTypeProjects" + case TypeCode: + return "TypeCode" + case TypeIssues: + return "TypeIssues" + case TypePullRequests: + return "TypePullRequests" + case TypeReleases: + return "TypeReleases" + case TypeWiki: + return "TypeWiki" + case TypeExternalWiki: + return "TypeExternalWiki" + case TypeExternalTracker: + return "TypeExternalTracker" + case TypeProjects: + return "TypeProjects" } - return fmt.Sprintf("Unknown UnitType %d", u) + return fmt.Sprintf("Unknown Type %d", u) } -// ColorFormat provides a ColorFormatted version of this UnitType -func (u UnitType) ColorFormat(s fmt.State) { +// ColorFormat provides a ColorFormatted version of this Type +func (u Type) ColorFormat(s fmt.State) { log.ColorFprintf(s, "%d:%s", log.NewColoredIDValue(u), u) @@ -63,49 +63,50 @@ func (u UnitType) ColorFormat(s fmt.State) { var ( // AllRepoUnitTypes contains all the unit types - AllRepoUnitTypes = []UnitType{ - UnitTypeCode, - UnitTypeIssues, - UnitTypePullRequests, - UnitTypeReleases, - UnitTypeWiki, - UnitTypeExternalWiki, - UnitTypeExternalTracker, - UnitTypeProjects, + AllRepoUnitTypes = []Type{ + TypeCode, + TypeIssues, + TypePullRequests, + TypeReleases, + TypeWiki, + TypeExternalWiki, + TypeExternalTracker, + TypeProjects, } // DefaultRepoUnits contains the default unit types - DefaultRepoUnits = []UnitType{ - UnitTypeCode, - UnitTypeIssues, - UnitTypePullRequests, - UnitTypeReleases, - UnitTypeWiki, - UnitTypeProjects, + DefaultRepoUnits = []Type{ + TypeCode, + TypeIssues, + TypePullRequests, + TypeReleases, + TypeWiki, + TypeProjects, } // NotAllowedDefaultRepoUnits contains units that can't be default - NotAllowedDefaultRepoUnits = []UnitType{ - UnitTypeExternalWiki, - UnitTypeExternalTracker, + NotAllowedDefaultRepoUnits = []Type{ + TypeExternalWiki, + TypeExternalTracker, } // MustRepoUnits contains the units could not be disabled currently - MustRepoUnits = []UnitType{ - UnitTypeCode, - UnitTypeReleases, + MustRepoUnits = []Type{ + TypeCode, + TypeReleases, } // DisabledRepoUnits contains the units that have been globally disabled - DisabledRepoUnits = []UnitType{} + DisabledRepoUnits = []Type{} ) -func loadUnitConfig() { +// LoadUnitConfig load units from settings +func LoadUnitConfig() { setDefaultRepoUnits := FindUnitTypes(setting.Repository.DefaultRepoUnits...) // Default repo units set if setting is not empty if len(setDefaultRepoUnits) > 0 { // MustRepoUnits required as default - DefaultRepoUnits = make([]UnitType, len(MustRepoUnits)) + DefaultRepoUnits = make([]Type, len(MustRepoUnits)) copy(DefaultRepoUnits, MustRepoUnits) for _, defaultU := range setDefaultRepoUnits { if !defaultU.CanBeDefault() { @@ -138,7 +139,7 @@ func loadUnitConfig() { } // UnitGlobalDisabled checks if unit type is global disabled -func (u UnitType) UnitGlobalDisabled() bool { +func (u Type) UnitGlobalDisabled() bool { for _, ud := range DisabledRepoUnits { if u == ud { return true @@ -148,7 +149,7 @@ func (u UnitType) UnitGlobalDisabled() bool { } // CanDisable checks if this unit type can be disabled. -func (u *UnitType) CanDisable() bool { +func (u *Type) CanDisable() bool { for _, mu := range MustRepoUnits { if *u == mu { return false @@ -158,7 +159,7 @@ func (u *UnitType) CanDisable() bool { } // CanBeDefault checks if the unit type can be a default repo unit -func (u *UnitType) CanBeDefault() bool { +func (u *Type) CanBeDefault() bool { for _, nadU := range NotAllowedDefaultRepoUnits { if *u == nadU { return false @@ -169,7 +170,7 @@ func (u *UnitType) CanBeDefault() bool { // Unit is a section of one repository type Unit struct { - Type UnitType + Type Type NameKey string URI string DescKey string @@ -183,7 +184,7 @@ func (u *Unit) CanDisable() bool { // IsLessThan compares order of two units func (u Unit) IsLessThan(unit Unit) bool { - if (u.Type == UnitTypeExternalTracker || u.Type == UnitTypeExternalWiki) && unit.Type != UnitTypeExternalTracker && unit.Type != UnitTypeExternalWiki { + if (u.Type == TypeExternalTracker || u.Type == TypeExternalWiki) && unit.Type != TypeExternalTracker && unit.Type != TypeExternalWiki { return false } return u.Idx < unit.Idx @@ -192,7 +193,7 @@ func (u Unit) IsLessThan(unit Unit) bool { // Enumerate all the units var ( UnitCode = Unit{ - UnitTypeCode, + TypeCode, "repo.code", "/", "repo.code.desc", @@ -200,7 +201,7 @@ var ( } UnitIssues = Unit{ - UnitTypeIssues, + TypeIssues, "repo.issues", "/issues", "repo.issues.desc", @@ -208,7 +209,7 @@ var ( } UnitExternalTracker = Unit{ - UnitTypeExternalTracker, + TypeExternalTracker, "repo.ext_issues", "/issues", "repo.ext_issues.desc", @@ -216,7 +217,7 @@ var ( } UnitPullRequests = Unit{ - UnitTypePullRequests, + TypePullRequests, "repo.pulls", "/pulls", "repo.pulls.desc", @@ -224,7 +225,7 @@ var ( } UnitReleases = Unit{ - UnitTypeReleases, + TypeReleases, "repo.releases", "/releases", "repo.releases.desc", @@ -232,7 +233,7 @@ var ( } UnitWiki = Unit{ - UnitTypeWiki, + TypeWiki, "repo.wiki", "/wiki", "repo.wiki.desc", @@ -240,7 +241,7 @@ var ( } UnitExternalWiki = Unit{ - UnitTypeExternalWiki, + TypeExternalWiki, "repo.ext_wiki", "/wiki", "repo.ext_wiki.desc", @@ -248,7 +249,7 @@ var ( } UnitProjects = Unit{ - UnitTypeProjects, + TypeProjects, "repo.projects", "/projects", "repo.projects.desc", @@ -256,20 +257,20 @@ var ( } // Units contains all the units - Units = map[UnitType]Unit{ - UnitTypeCode: UnitCode, - UnitTypeIssues: UnitIssues, - UnitTypeExternalTracker: UnitExternalTracker, - UnitTypePullRequests: UnitPullRequests, - UnitTypeReleases: UnitReleases, - UnitTypeWiki: UnitWiki, - UnitTypeExternalWiki: UnitExternalWiki, - UnitTypeProjects: UnitProjects, + Units = map[Type]Unit{ + TypeCode: UnitCode, + TypeIssues: UnitIssues, + TypeExternalTracker: UnitExternalTracker, + TypePullRequests: UnitPullRequests, + TypeReleases: UnitReleases, + TypeWiki: UnitWiki, + TypeExternalWiki: UnitExternalWiki, + TypeProjects: UnitProjects, } ) // FindUnitTypes give the unit key name and return unit -func FindUnitTypes(nameKeys ...string) (res []UnitType) { +func FindUnitTypes(nameKeys ...string) (res []Type) { for _, key := range nameKeys { for t, u := range Units { if strings.EqualFold(key, u.NameKey) { diff --git a/models/user.go b/models/user.go index dde5d0e180..bf4444802f 100644 --- a/models/user.go +++ b/models/user.go @@ -22,6 +22,7 @@ import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/login" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" @@ -559,7 +560,7 @@ func (u *User) GetRepositories(listOpts db.ListOptions, names ...string) (err er // GetRepositoryIDs returns repositories IDs where user owned and has unittypes // Caller shall check that units is not globally disabled -func (u *User) GetRepositoryIDs(units ...UnitType) ([]int64, error) { +func (u *User) GetRepositoryIDs(units ...unit.Type) ([]int64, error) { var ids []int64 sess := db.GetEngine(db.DefaultContext).Table("repository").Cols("repository.id") @@ -574,7 +575,7 @@ func (u *User) GetRepositoryIDs(units ...UnitType) ([]int64, error) { // GetActiveRepositoryIDs returns non-archived repositories IDs where user owned and has unittypes // Caller shall check that units is not globally disabled -func (u *User) GetActiveRepositoryIDs(units ...UnitType) ([]int64, error) { +func (u *User) GetActiveRepositoryIDs(units ...unit.Type) ([]int64, error) { var ids []int64 sess := db.GetEngine(db.DefaultContext).Table("repository").Cols("repository.id") @@ -591,7 +592,7 @@ func (u *User) GetActiveRepositoryIDs(units ...UnitType) ([]int64, error) { // GetOrgRepositoryIDs returns repositories IDs where user's team owned and has unittypes // Caller shall check that units is not globally disabled -func (u *User) GetOrgRepositoryIDs(units ...UnitType) ([]int64, error) { +func (u *User) GetOrgRepositoryIDs(units ...unit.Type) ([]int64, error) { var ids []int64 if err := db.GetEngine(db.DefaultContext).Table("repository"). @@ -612,7 +613,7 @@ func (u *User) GetOrgRepositoryIDs(units ...UnitType) ([]int64, error) { // GetActiveOrgRepositoryIDs returns non-archived repositories IDs where user's team owned and has unittypes // Caller shall check that units is not globally disabled -func (u *User) GetActiveOrgRepositoryIDs(units ...UnitType) ([]int64, error) { +func (u *User) GetActiveOrgRepositoryIDs(units ...unit.Type) ([]int64, error) { var ids []int64 if err := db.GetEngine(db.DefaultContext).Table("repository"). @@ -634,7 +635,7 @@ func (u *User) GetActiveOrgRepositoryIDs(units ...UnitType) ([]int64, error) { // GetAccessRepoIDs returns all repositories IDs where user's or user is a team member organizations // Caller shall check that units is not globally disabled -func (u *User) GetAccessRepoIDs(units ...UnitType) ([]int64, error) { +func (u *User) GetAccessRepoIDs(units ...unit.Type) ([]int64, error) { ids, err := u.GetRepositoryIDs(units...) if err != nil { return nil, err @@ -648,7 +649,7 @@ func (u *User) GetAccessRepoIDs(units ...UnitType) ([]int64, error) { // GetActiveAccessRepoIDs returns all non-archived repositories IDs where user's or user is a team member organizations // Caller shall check that units is not globally disabled -func (u *User) GetActiveAccessRepoIDs(units ...UnitType) ([]int64, error) { +func (u *User) GetActiveAccessRepoIDs(units ...unit.Type) ([]int64, error) { ids, err := u.GetActiveRepositoryIDs(units...) if err != nil { return nil, err |