@@ -13,6 +13,7 @@ import (
1313
1414 "code.gitea.io/gitea/models/db"
1515 "code.gitea.io/gitea/models/organization"
16+ access_model "code.gitea.io/gitea/models/perm/access"
1617 repo_model "code.gitea.io/gitea/models/repo"
1718 user_model "code.gitea.io/gitea/models/user"
1819 "code.gitea.io/gitea/modules/log"
@@ -33,7 +34,7 @@ func addRepository(ctx context.Context, t *organization.Team, repo *repo_model.R
3334
3435 t .NumRepos ++
3536
36- if err = recalculateTeamAccesses (ctx , repo , 0 ); err != nil {
37+ if err = access_model . RecalculateTeamAccesses (ctx , repo , 0 ); err != nil {
3738 return fmt .Errorf ("recalculateAccesses: %v" , err )
3839 }
3940
@@ -62,7 +63,7 @@ func addAllRepositories(ctx context.Context, t *organization.Team) error {
6263 }
6364
6465 for _ , repo := range orgRepos {
65- if ! hasRepository (ctx , t , repo .ID ) {
66+ if ! organization . HasTeamRepo (ctx , t . OrgID , t . ID , repo .ID ) {
6667 if err := addRepository (ctx , t , & repo ); err != nil {
6768 return fmt .Errorf ("addRepository: %v" , err )
6869 }
@@ -108,11 +109,6 @@ func AddRepository(t *organization.Team, repo *repo_model.Repository) (err error
108109 return committer .Commit ()
109110}
110111
111- // HasRepository returns true if given repository belong to team.
112- func HasRepository (t * organization.Team , repoID int64 ) bool {
113- return hasRepository (db .DefaultContext , t , repoID )
114- }
115-
116112// RemoveAllRepositories removes all repositories from team and recalculates access
117113func RemoveAllRepositories (t * organization.Team ) (err error ) {
118114 if t .IncludesAllRepositories {
@@ -138,13 +134,13 @@ func removeAllRepositories(ctx context.Context, t *organization.Team) (err error
138134 e := db .GetEngine (ctx )
139135 // Delete all accesses.
140136 for _ , repo := range t .Repos {
141- if err := recalculateTeamAccesses (ctx , repo , t .ID ); err != nil {
137+ if err := access_model . RecalculateTeamAccesses (ctx , repo , t .ID ); err != nil {
142138 return err
143139 }
144140
145141 // Remove watches from all users and now unaccessible repos
146142 for _ , user := range t .Members {
147- has , err := hasAccess (ctx , user .ID , repo )
143+ has , err := access_model . HasAccess (ctx , user .ID , repo )
148144 if err != nil {
149145 return err
150146 } else if has {
@@ -177,8 +173,9 @@ func removeAllRepositories(ctx context.Context, t *organization.Team) (err error
177173 return nil
178174}
179175
180- func hasRepository (ctx context.Context , t * organization.Team , repoID int64 ) bool {
181- return organization .HasTeamRepo (ctx , t .OrgID , t .ID , repoID )
176+ // HasRepository returns true if given repository belong to team.
177+ func HasRepository (t * organization.Team , repoID int64 ) bool {
178+ return organization .HasTeamRepo (db .DefaultContext , t .OrgID , t .ID , repoID )
182179}
183180
184181// removeRepository removes a repository from a team and recalculates access
@@ -196,7 +193,7 @@ func removeRepository(ctx context.Context, t *organization.Team, repo *repo_mode
196193
197194 // Don't need to recalculate when delete a repository from organization.
198195 if recalculate {
199- if err = recalculateTeamAccesses (ctx , repo , t .ID ); err != nil {
196+ if err = access_model . RecalculateTeamAccesses (ctx , repo , t .ID ); err != nil {
200197 return err
201198 }
202199 }
@@ -206,7 +203,7 @@ func removeRepository(ctx context.Context, t *organization.Team, repo *repo_mode
206203 return fmt .Errorf ("getTeamUsersByTeamID: %v" , err )
207204 }
208205 for _ , teamUser := range teamUsers {
209- has , err := hasAccess (ctx , teamUser .UID , repo )
206+ has , err := access_model . HasAccess (ctx , teamUser .UID , repo )
210207 if err != nil {
211208 return err
212209 } else if has {
@@ -378,7 +375,7 @@ func UpdateTeam(t *organization.Team, authChanged, includeAllChanged bool) (err
378375 }
379376
380377 for _ , repo := range t .Repos {
381- if err = recalculateTeamAccesses (ctx , repo , 0 ); err != nil {
378+ if err = access_model . RecalculateTeamAccesses (ctx , repo , 0 ); err != nil {
382379 return fmt .Errorf ("recalculateTeamAccesses: %v" , err )
383380 }
384381 }
@@ -522,7 +519,7 @@ func AddTeamMember(team *organization.Team, userID int64) error {
522519 In ("repo_id" , subQuery ).
523520 And ("mode < ?" , team .AccessMode ).
524521 SetExpr ("mode" , team .AccessMode ).
525- Update (new (Access )); err != nil {
522+ Update (new (access_model. Access )); err != nil {
526523 return fmt .Errorf ("update user accesses: %v" , err )
527524 }
528525
@@ -533,9 +530,9 @@ func AddTeamMember(team *organization.Team, userID int64) error {
533530 return fmt .Errorf ("select id accesses: %v" , err )
534531 }
535532
536- accesses := make ([]* Access , 0 , 100 )
533+ accesses := make ([]* access_model. Access , 0 , 100 )
537534 for i , repoID := range repoIDs {
538- accesses = append (accesses , & Access {RepoID : repoID , UserID : userID , Mode : team .AccessMode })
535+ accesses = append (accesses , & access_model. Access {RepoID : repoID , UserID : userID , Mode : team .AccessMode })
539536 if (i % 100 == 0 || i == len (repoIDs )- 1 ) && len (accesses ) > 0 {
540537 if err = db .Insert (ctx , accesses ); err != nil {
541538 return fmt .Errorf ("insert new user accesses: %v" , err )
@@ -595,7 +592,7 @@ func removeTeamMember(ctx context.Context, team *organization.Team, userID int64
595592
596593 // Delete access to team repositories.
597594 for _ , repo := range team .Repos {
598- if err := recalculateUserAccess (ctx , repo , userID ); err != nil {
595+ if err := access_model . RecalculateUserAccess (ctx , repo , userID ); err != nil {
599596 return err
600597 }
601598
0 commit comments