access

package
v3.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AccessLevel

func AccessLevel(ctx context.Context, user *user_model.User, repo *repo_model.Repository) (perm_model.AccessMode, error)

AccessLevel returns the Access a user has to a repository. Will return NoneAccess if the user does not have access.

func AccessLevelUnit

func AccessLevelUnit(ctx context.Context, user *user_model.User, repo *repo_model.Repository, unitType unit.Type) (perm_model.AccessMode, error)

AccessLevelUnit returns the Access a user has to a repository's. Will return NoneAccess if the user does not have access.

func CanBeAssigned

func CanBeAssigned(ctx context.Context, user *user_model.User, repo *repo_model.Repository, _ bool) (bool, error)

CanBeAssigned return true if user can be assigned to issue or pull requests in repo Currently any write access (code, issues or pr's) is assignable, to match assignee list in user interface.

func CheckRepoUnitUser

func CheckRepoUnitUser(ctx context.Context, repo *repo_model.Repository, user *user_model.User, unitType unit.Type) bool

CheckRepoUnitUser check whether user could visit the unit of this repository

func GetUserIDsWithUnitAccess

func GetUserIDsWithUnitAccess(ctx context.Context, repo *repo_model.Repository, mode perm_model.AccessMode, unitType unit.Type) (container.Set[int64], error)

func GetUsersWithUnitAccess

func GetUsersWithUnitAccess(ctx context.Context, repo *repo_model.Repository, mode perm_model.AccessMode, unitType unit.Type) (users []*user_model.User, err error)

func HasAccessUnit

func HasAccessUnit(ctx context.Context, user *user_model.User, repo *repo_model.Repository, unitType unit.Type, testMode perm_model.AccessMode) (bool, error)

HasAccessUnit returns true if user has testMode to the unit of the repository

func HasAnyUnitAccess

func HasAnyUnitAccess(ctx context.Context, userID int64, repo *repo_model.Repository) (bool, error)

HasAnyUnitAccess see the comment of "perm.HasAnyUnitAccess"

func IsUserRealRepoAdmin

func IsUserRealRepoAdmin(ctx context.Context, repo *repo_model.Repository, user *user_model.User) (bool, error)

IsUserRealRepoAdmin check if this user is real repo admin

func IsUserRepoAdmin

func IsUserRepoAdmin(ctx context.Context, repo *repo_model.Repository, user *user_model.User) (bool, error)

IsUserRepoAdmin return true if user has admin right of a repo

func RecalculateAccesses

func RecalculateAccesses(ctx context.Context, repo *repo_model.Repository) error

RecalculateAccesses recalculates all accesses for repository.

func RecalculateTeamAccesses

func RecalculateTeamAccesses(ctx context.Context, repo *repo_model.Repository, ignTeamID int64) (err error)

RecalculateTeamAccesses recalculates new accesses for teams of an organization except the team whose ID is given. It is used to assign a team ID when remove repository from that team.

func RecalculateUserAccess

func RecalculateUserAccess(ctx context.Context, repo *repo_model.Repository, uid int64) (err error)

RecalculateUserAccess recalculates new access for a single user Usable if we know access only affected one user

Types

type Access

type Access struct {
	ID     int64 `xorm:"pk autoincr"`
	UserID int64 `xorm:"UNIQUE(s)"`
	RepoID int64 `xorm:"UNIQUE(s)"`
	Mode   perm.AccessMode
}

Access represents the highest access level of a user to the repository. The only access type that is not in this table is the real owner of a repository. In case of an organization repository, the members of the owners team are in this table.

type Permission

type Permission struct {
	AccessMode perm_model.AccessMode
	// contains filtered or unexported fields
}

Permission contains all the permissions related variables to a repository for a user

func GetActionsUserRepoPermission

func GetActionsUserRepoPermission(ctx context.Context, repo *repo_model.Repository, actionsUser *user_model.User, taskID int64) (perm Permission, err error)

GetActionsUserRepoPermission returns the actions user permissions to the repository

func GetUserRepoPermission

func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, user *user_model.