mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-30 05:46:09 +01:00
30 lines
720 B
Go
30 lines
720 B
Go
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
||
|
// SPDX-License-Identifier: MIT
|
||
|
|
||
|
package context
|
||
|
|
||
|
import (
|
||
|
"code.gitea.io/gitea/models/unit"
|
||
|
)
|
||
|
|
||
|
// IsUserSiteAdmin returns true if current user is a site admin
|
||
|
func (ctx *Context) IsUserSiteAdmin() bool {
|
||
|
return ctx.IsSigned && ctx.Doer.IsAdmin
|
||
|
}
|
||
|
|
||
|
// IsUserRepoAdmin returns true if current user is admin in current repo
|
||
|
func (ctx *Context) IsUserRepoAdmin() bool {
|
||
|
return ctx.Repo.IsAdmin()
|
||
|
}
|
||
|
|
||
|
// IsUserRepoWriter returns true if current user has write privilege in current repo
|
||
|
func (ctx *Context) IsUserRepoWriter(unitTypes []unit.Type) bool {
|
||
|
for _, unitType := range unitTypes {
|
||
|
if ctx.Repo.CanWrite(unitType) {
|
||
|
return true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return false
|
||
|
}
|