@@ -11,10 +11,7 @@ import (
1111 "time"
1212
1313 "code.gitea.io/gitea/models/db"
14- "code.gitea.io/gitea/models/perm"
15- access_model "code.gitea.io/gitea/models/perm/access"
1614 repo_model "code.gitea.io/gitea/models/repo"
17- "code.gitea.io/gitea/models/unit"
1815 user_model "code.gitea.io/gitea/models/user"
1916 "code.gitea.io/gitea/modules/setting"
2017 "code.gitea.io/gitea/modules/util"
@@ -69,12 +66,8 @@ func (l *LFSLock) LoadOwner(ctx context.Context) error {
6966}
7067
7168// CreateLFSLock creates a new lock.
72- func CreateLFSLock (ctx context.Context , repo * repo_model.Repository , lock * LFSLock , taskID int64 ) (* LFSLock , error ) {
69+ func CreateLFSLock (ctx context.Context , repo * repo_model.Repository , lock * LFSLock ) (* LFSLock , error ) {
7370 return db .WithTx2 (ctx , func (ctx context.Context ) (* LFSLock , error ) {
74- if err := CheckLFSAccessForRepo (ctx , lock .OwnerID , repo , perm .AccessModeWrite , taskID ); err != nil {
75- return nil , err
76- }
77-
7871 lock .Path = util .PathJoinRel (lock .Path )
7972 lock .RepoID = repo .ID
8073
@@ -158,17 +151,13 @@ func CountLFSLockByRepoID(ctx context.Context, repoID int64) (int64, error) {
158151}
159152
160153// DeleteLFSLockByID deletes a lock by given ID.
161- func DeleteLFSLockByID (ctx context.Context , id int64 , repo * repo_model.Repository , u * user_model.User , force bool , taskID int64 ) (* LFSLock , error ) {
154+ func DeleteLFSLockByID (ctx context.Context , id int64 , repo * repo_model.Repository , u * user_model.User , force bool ) (* LFSLock , error ) {
162155 return db .WithTx2 (ctx , func (ctx context.Context ) (* LFSLock , error ) {
163156 lock , err := GetLFSLockByID (ctx , id )
164157 if err != nil {
165158 return nil , err
166159 }
167160
168- if err := CheckLFSAccessForRepo (ctx , u .ID , repo , perm .AccessModeWrite , taskID ); err != nil {
169- return nil , err
170- }
171-
172161 if ! force && u .ID != lock .OwnerID {
173162 return nil , errors .New ("user doesn't own lock and force flag is not set" )
174163 }
@@ -180,35 +169,3 @@ func DeleteLFSLockByID(ctx context.Context, id int64, repo *repo_model.Repositor
180169 return lock , nil
181170 })
182171}
183-
184- // CheckLFSAccessForRepo check needed access mode base on action
185- func CheckLFSAccessForRepo (ctx context.Context , ownerID int64 , repo * repo_model.Repository , mode perm.AccessMode , taskID int64 ) error {
186- if ownerID == 0 {
187- return ErrLFSUnauthorizedAction {repo .ID , "undefined" , mode }
188- }
189- if ownerID == user_model .ActionsUserID {
190- if taskID == 0 {
191- return ErrLFSUnauthorizedAction {repo .ID , user_model .ActionsUserName , mode }
192- }
193- perm , err := access_model .GetActionsUserRepoPermission (ctx , repo , user_model .NewActionsUser (), taskID )
194- if err != nil {
195- return err
196- }
197- if ! perm .CanAccess (mode , unit .TypeCode ) {
198- return ErrLFSUnauthorizedAction {repo .ID , user_model .ActionsUserName , mode }
199- }
200- return nil
201- }
202- u , err := user_model .GetUserByID (ctx , ownerID )
203- if err != nil {
204- return err
205- }
206- perm , err := access_model .GetUserRepoPermission (ctx , repo , u )
207- if err != nil {
208- return err
209- }
210- if ! perm .CanAccess (mode , unit .TypeCode ) {
211- return ErrLFSUnauthorizedAction {repo .ID , u .DisplayName (), mode }
212- }
213- return nil
214- }
0 commit comments