Documentation
¶
Index ¶
- Constants
- Variables
- func ActivateEmail(ctx context.Context, email *EmailAddress) error
- func ActivateUserEmail(ctx context.Context, userID int64, email string, activate bool) (err error)
- func AddUserBadge(ctx context.Context, u *User, badge *Badge) error
- func AddUserBadges(ctx context.Context, u *User, badges []*Badge) error
- func AddUserOpenID(ctx context.Context, openid *UserOpenID) error
- func AdminCreateUser(ctx context.Context, u *User, meta *Meta, ...) (err error)
- func BuildCanSeeUserCondition(actor *User) builder.Cond
- func ChangeInactivePrimaryEmail(ctx context.Context, uid int64, oldEmailAddr, newEmailAddr string) error
- func CountUsers(ctx context.Context, opts *CountUserFilter) int64
- func CountWrongUserType(ctx context.Context) (int64, error)
- func CreateBadge(ctx context.Context, badge *Badge) error
- func CreateUser(ctx context.Context, u *User, meta *Meta, ...) (err error)
- func DeleteBadge(ctx context.Context, badge *Badge) error
- func DeleteUserOpenID(ctx context.Context, openid *UserOpenID) (err error)
- func DeleteUserRedirect(ctx context.Context, userName string) error
- func DeleteUserSetting(ctx context.Context, userID int64, key string) error
- func DisabledFeaturesWithLoginType(user *User) *container.Set[string]
- func EnsureLinkExternalToUser(ctx context.Context, external *ExternalLoginUser) error
- func ExistsWithAvatarAtStoragePath(ctx context.Context, storagePath string) (bool, error)
- func FixWrongUserType(ctx context.Context) (int64, error)
- func FollowUser(ctx context.Context, user, follow *User) (err error)
- func GenerateRandomAvatar(ctx context.Context, u *User) error
- func GenerateUserTimeLimitCode(opts *TimeLimitCodeOptions, u *User) string
- func GetExternalLogin(ctx context.Context, externalLoginUser *ExternalLoginUser) (bool, error)
- func GetOrderByName() string
- func GetSetting(ctx context.Context, uid int64, key string) (string, error)
- func GetSettings(ctx context.Context, uid int64, keys []string) (map[string]*Setting, error)
- func GetUser(ctx context.Context, user *User) (bool, error)
- func GetUserAllSettings(ctx context.Context, uid int64) (map[string]*Setting, error)
- func GetUserEmailsByNames(ctx context.Context, names []string) []string
- func GetUserIDByExternalUserID(ctx context.Context, provider, userID string) (int64, error)
- func GetUserIDsByNames(ctx context.Context, names []string, ignoreNonExistent bool) ([]int64, error)
- func GetUserNameByID(ctx context.Context, id int64) (string, error)
- func GetUserNamesByIDs(ctx context.Context, ids []int64) ([]string, error)
- func GetUserSalt() (string, error)
- func GetUserSetting(ctx context.Context, userID int64, key string, def ...string) (string, error)
- func IncrUserRepoNum(ctx context.Context, userID int64) error
- func IsEmailActive(ctx context.Context, email string, excludeEmailID int64) (bool, error)
- func IsEmailDomainAllowed(email string) bool
- func IsEmailUsed(ctx context.Context, email string) (bool, error)
- func IsErrEmailAddressNotExist(err error) bool
- func IsErrEmailAlreadyUsed(err error) bool
- func IsErrEmailCharIsNotSupported(err error) bool
- func IsErrEmailInvalid(err error) bool
- func IsErrExternalLoginUserAlreadyExist(err error) bool
- func IsErrExternalLoginUserNotExist(err error) bool
- func IsErrOpenIDAlreadyUsed(err error) bool
- func IsErrPrimaryEmailCannotDelete(err error) bool
- func IsErrUserAlreadyExist(err error) bool
- func IsErrUserInactive(err error) bool
- func IsErrUserIsNotLocal(err error) bool
- func IsErrUserNotExist(err error) bool
- func IsErrUserProhibitLogin(err error) bool
- func IsErrUserRedirectNotExist(err error) bool
- func IsErrUserSettingIsNotExist(err error) bool
- func IsFeatureDisabledWithLoginType(user *User, features ...string) bool
- func IsFollowing(ctx context.Context, userID, followID int64) bool
- func IsGhostUserName(name string) bool
- func IsGiteaActionsUserName(name string) bool
- func IsLastAdminUser(ctx context.Context, user *User) bool
- func IsUsableUsername(name string) error
- func IsUserBlockedBy(ctx context.Context, blockee *User, blockerIDs ...int64) bool
- func IsUserExist(ctx context.Context, uid int64, name string) (bool, error)
- func IsUserVisibleToViewer(ctx context.Context, u, viewer *User) bool
- func IterateExternalLogin(ctx context.Context, opts FindExternalUserOptions, ...) error
- func LinkExternalToUser(ctx context.Context, user *User, externalLoginUser *ExternalLoginUser) error
- func LookupUserRedirect(ctx context.Context, userName string) (int64, error)
- func MakeActiveEmailPrimary(ctx context.Context, emailID int64) error
- func MakeInactiveEmailPrimary(ctx context.Context, emailID int64) error
- func NewUserRedirect(ctx context.Context, ID int64, oldUserName, newUserName string) error
- func NormalizeUserName(s string) (string, error)
- func RemoveAccountLink(ctx context.Context, user *User, loginSourceID int64) (int64, error)
- func RemoveAllAccountLinks(ctx context.Context, user *User) error
- func RemoveAllUserBadges(ctx context.Context, u *User) error
- func RemoveUserBadge(ctx context.Context, u *User, badge *Badge) error
- func RemoveUserBadges(ctx context.Context, u *User, badges []*Badge) error
- func SetMustChangePassword(ctx context.Context, all, mustChangePassword bool, include, exclude []string) (int64, error)
- func SetUserSetting(ctx context.Context, userID int64, key, value string) error
- func ToggleUserOpenIDVisibility(ctx context.Context, id int64) (err error)
- func UnfollowUser(ctx context.Context, userID, followID int64) (err error)
- func UpdateBadge(ctx context.Context, badge *Badge) error
- func UpdateBlockingNote(ctx context.Context, id int64, note string) error
- func UpdateEmailAddress(ctx context.Context, email *EmailAddress) error
- func UpdateExternalUserByExternalID(ctx context.Context, external *ExternalLoginUser) error
- func UpdateUserCols(ctx context.Context, u *User, cols ...string) error
- func UserPath(userName string) string
- func ValidateEmail(email string) error
- func ValidateEmailForAdmin(email string) error
- func ValidateUser(u *User, cols ...string) error
- type Badge
- type Blocking
- type BlockingList
- type CountUserFilter
- type CreateUserOverwriteOptions
- type EmailAddress
- func GetEmailAddressByEmail(ctx context.Context, email string) (*EmailAddress, error)
- func GetEmailAddressByID(ctx context.Context, uid, id int64) (*EmailAddress, error)
- func GetEmailAddressOfUser(ctx context.Context, email string, uid int64) (*EmailAddress, error)
- func GetEmailAddresses(ctx context.Context, uid int64) ([]*EmailAddress, error)
- func GetPrimaryEmailAddressOfUser(ctx context.Context, uid int64) (*EmailAddress, error)
- func InsertEmailAddress(ctx context.Context, email *EmailAddress) (*EmailAddress, error)
- func VerifyActiveEmailCode(ctx context.Context, code, email string) *EmailAddress
- type ErrEmailAddressNotExist
- type ErrEmailAlreadyUsed
- type ErrEmailCharIsNotSupported
- type ErrEmailInvalid
- type ErrExternalLoginUserAlreadyExist
- type ErrExternalLoginUserNotExist
- type ErrOpenIDAlreadyUsed
- type ErrPrimaryEmailCannotDelete
- type ErrUserAlreadyExist
- type ErrUserInactive
- type ErrUserIsNotLocal
- type ErrUserNotExist
- type ErrUserProhibitLogin
- type ErrUserRedirectNotExist
- type ErrUserSettingIsNotExist
- type ExternalLoginUser
- type ExternalUserMigrated
- type ExternalUserRemappable
- type FindBlockingOptions
- type FindExternalUserOptions
- type Follow
- type Meta
- type Redirect
- type SearchEmailOptions
- type SearchEmailOrderBy
- type SearchEmailResult
- type SearchOrganizationsOptions
- type SearchUserOptions
- type Setting
- type TimeLimitCodeOptions
- type TimeLimitCodePurpose
- type User
- func GetAdminUser(ctx context.Context) (*User, error)
- func GetAllUsers(ctx context.Context) ([]*User, error)
- func GetInactiveUsers(ctx context.Context, olderThan time.Duration) ([]*User, error)
- func GetMaileableUsersByIDs(ctx context.Context, ids []int64, isMention bool) ([]*User, error)
- func GetPossibleUserByID(ctx context.Context, id int64) (*User, error)
- func GetPossibleUserByIDs(ctx context.Context, ids []int64) ([]*User, error)
- func GetSystemUserByName(name string) *User
- func GetUserByEmail(ctx context.Context, email string) (*User, error)
- func GetUserByID(ctx context.Context, id int64) (*User, error)
- func GetUserByIDs(ctx context.Context, ids []int64) ([]*User, error)
- func GetUserByName(ctx context.Context, name string) (*User, error)
- func GetUserByOpenID(ctx context.Context, uri string) (*User, error)
- func GetUserFollowers(ctx context.Context, u, viewer *User, listOptions db.ListOptions) ([]*User, int64, error)
- func GetUserFollowing(ctx context.Context, u, viewer *User, listOptions db.ListOptions) ([]*User, int64, error)
- func GetUsersBySource(ctx context.Context, s *auth.Source) ([]*User, error)
- func GetVerifyUser(ctx context.Context, code string) (user *User)
- func NewActionsUser() *User
- func NewGhostUser() *User
- func NewReplaceUser(name string) *User
- func SearchUsers(ctx context.Context, opts *SearchUserOptions) (users []*User, _ int64, _ error)
- func ValidateCommitWithEmail(ctx context.Context, c *git.Commit) *User
- func VerifyUserTimeLimitCode(ctx context.Context, opts *TimeLimitCodeOptions, code string) (user *User)
- func (u *User) AfterLoad()
- func (u *User) AvatarLink(ctx context.Context) string
- func (u *User) AvatarLinkWithSize(ctx context.Context, size int) string
- func (u *User) BeforeUpdate()
- func (u *User) CanCreateOrganization() bool
- func (u *User) CanCreateRepo() bool
- func (u *User) CanEditGitHook() bool
- func (u *User) CanForkRepo() bool
- func (u *User) CanImportLocal() bool
- func (u *User) CustomAvatarRelativePath() string
- func (u *User) DashboardLink() string
- func (u *User) DisplayName() string
- func (u *User) EmailTo() string
- func (u *User) GetCompleteName() string
- func (u *User) GetDisplayName() string
- func (u *User) GetEmail() string
- func (u *User) GetPlaceholderEmail() string
- func (u *User) GitName() string
- func (u *User) HTMLURL() string
- func (u *User) HomeLink() string
- func (u *User) IsBot() bool
- func (u *User) IsGhost() bool
- func (u *User) IsGiteaActions() bool
- func (u *User) IsIndividual() bool
- func (u *User) IsLocal() bool
- func (u *User) IsMailable() bool
- func (u *User) IsOAuth2() bool
- func (u *User) IsOrganization() bool
- func (u *User) IsPasswordSet() bool
- func (u *User) IsUploadAvatarChanged(data []byte) bool
- func (u *User) IsUser() bool
- func (u *User) LogString() string
- func (u *User) MaxCreationLimit() int
- func (u *User) NewGitSig() *git.Signature
- func (u *User) OrganisationLink() string
- func (u *User) SetLastLogin()
- func (u *User) SetPassword(passwd string) (err error)
- func (u *User) ShortName(length int) string
- func (u *User) ValidatePassword(passwd string) bool
- type UserBadge
- type UserCommit
- type UserList
- type UserOpenID
- type UserType
Constants ¶
const (
// SettingsKeyHiddenCommentTypes is the setting key for hidden comment types
SettingsKeyHiddenCommentTypes = "issue.hidden_comment_types"
// SettingsKeyDiffWhitespaceBehavior is the setting key for whitespace behavior of diff
SettingsKeyDiffWhitespaceBehavior = "diff.whitespace_behaviour"
// SettingsKeyShowOutdatedComments is the setting key wether or not to show outdated comments in PRs
SettingsKeyShowOutdatedComments = "comment_code.show_outdated"
// UserActivityPubPrivPem is user's private key
UserActivityPubPrivPem = "activitypub.priv_pem"
// UserActivityPubPubPem is user's public key
UserActivityPubPubPem = "activitypub.pub_pem"
// SignupIP is the IP address that the user signed up with
SignupIP = "signup.ip"
// SignupUserAgent is the user agent that the user signed up with
SignupUserAgent = "signup.user_agent"
)
const (
// EmailNotificationsEnabled indicates that the user would like to receive all email notifications except your own
EmailNotificationsEnabled = "enabled"
// EmailNotificationsOnMention indicates that the user would like to be notified via email when mentioned.
EmailNotificationsOnMention = "onmention"
// EmailNotificationsDisabled indicates that the user would not like to be notified via email.
EmailNotificationsDisabled = "disabled"
// EmailNotificationsAndYourOwn indicates that the user would like to receive all email notifications and your own
EmailNotificationsAndYourOwn = "andyourown"
)
const (
GhostUserID = -1
GhostUserName = "Ghost"
GhostUserLowerName = "ghost"
)
const (
ActionsUserID = -2
ActionsUserName = "gitea-actions"
ActionsFullName = "Gitea Actions"
ActionsEmail = "teabot@gitea.io"
)
const SaltByteLength = 16
Note: As of the beginning of 2022, it is recommended to use at least 64 bits of salt, but NIST is already recommending to use to 128 bits. (16 bytes = 16 * 8 = 128 bits)
Variables ¶
var (
ErrBlockOrganization = util.NewInvalidArgumentErrorf("cannot block an organization")
ErrCanNotBlock = util.NewInvalidArgumentErrorf("cannot block the user")
ErrCanNotUnblock = util.NewInvalidArgumentErrorf("cannot unblock the user")
ErrBlockedUser = util.NewPermissionDeniedErrorf("user is blocked")
)
var ErrOpenIDNotExist = util.NewNotExistErrorf("OpenID is unknown")
ErrOpenIDNotExist openid is not known
Functions ¶
func ActivateEmail ¶
func ActivateEmail(ctx context.Context, email *EmailAddress) error
ActivateEmail activates the email address to given user.
func ActivateUserEmail ¶
func ActivateUserEmail(ctx context.Context, userID int64, email string, activate bool) (err error)
ActivateUserEmail will change the activated state of an email address, either primary or secondary (all in the email_address table)
func AddUserBadge ¶ added in v1.22.0
func AddUserBadge(ctx context.Context, u *User, badge *Badge) error
AddUserBadge adds a badge to a user.
func AddUserBadges ¶ added in v1.22.0
func AddUserBadges(ctx context.Context, u *User, badges []*Badge) error
AddUserBadges adds badges to a user.
func AddUserOpenID ¶
func AddUserOpenID(ctx context.Context, openid *UserOpenID) error
AddUserOpenID adds an pre-verified/normalized OpenID URI to given user. NOTE: make sure openid.URI is normalized already
func AdminCreateUser ¶ added in v1.22.0
func AdminCreateUser(ctx context.Context, u *User, meta *Meta, overwriteDefault ...*CreateUserOverwriteOptions) (err error)
AdminCreateUser is used by admins to manually create users
func BuildCanSeeUserCondition ¶ added in v1.17.0
func BuildCanSeeUserCondition(actor *User) builder.Cond
BuildCanSeeUserCondition creates a condition which can be used to restrict results to users/orgs the actor can see
func ChangeInactivePrimaryEmail ¶ added in v1.22.0
func ChangeInactivePrimaryEmail(ctx context.Context, uid int64, oldEmailAddr, newEmailAddr string) error
ChangeInactivePrimaryEmail replaces the inactive primary email of a given user
func CountUsers ¶
func CountUsers(ctx context.Context, opts *CountUserFilter) int64
CountUsers returns number of users.
func CountWrongUserType ¶ added in v1.17.4
func CountWrongUserType(ctx context.Context) (int64, error)
CountWrongUserType count OrgUser who have wrong type
func CreateBadge ¶ added in v1.22.0
func CreateBadge(ctx context.Context, badge *Badge) error
CreateBadge creates a new badge.
func CreateUser ¶
func CreateUser(ctx context.Context, u *User, meta *Meta, overwriteDefault ...*CreateUserOverwriteOptions) (err error)
CreateUser creates record of a new user.
func DeleteBadge ¶ added in v1.22.0
func DeleteBadge(ctx context.Context, badge *Badge) error
DeleteBadge deletes a badge.
func DeleteUserOpenID ¶
func DeleteUserOpenID(ctx context.Context, openid *UserOpenID) (err error)
DeleteUserOpenID deletes an openid address of given user.
func DeleteUserRedirect ¶
func DeleteUserRedirect(ctx context.Context, userName string) error
DeleteUserRedirect delete any redirect from the specified user name to anything else
func DeleteUserSetting ¶ added in v1.17.0
func DeleteUserSetting(ctx context.Context, userID int64, key string) error
DeleteUserSetting deletes a specific setting for a user
func DisabledFeaturesWithLoginType ¶ added in v1.22.0
func DisabledFeaturesWithLoginType(user *User) *container.Set[string]
DisabledFeaturesWithLoginType returns the set of user features disabled, taking into account the login type of the user if applicable
func EnsureLinkExternalToUser ¶ added in v1.23.0
func EnsureLinkExternalToUser(ctx context.Context, external *ExternalLoginUser) error
EnsureLinkExternalToUser link the external user to the user
func ExistsWithAvatarAtStoragePath ¶ added in v1.17.4
func ExistsWithAvatarAtStoragePath(ctx context.Context, storagePath string) (bool, error)
ExistsWithAvatarAtStoragePath returns true if there is a user with this Avatar
func FixWrongUserType ¶ added in v1.17.4
func FixWrongUserType(ctx context.Context) (int64, error)
FixWrongUserType fix OrgUser who have wrong type
func FollowUser ¶
func FollowUser(ctx context.Context, user, follow *User) (err error)
FollowUser marks someone be another's follower.
func GenerateRandomAvatar ¶
func GenerateRandomAvatar(ctx context.Context, u *User) error
GenerateRandomAvatar generates a random avatar for user.
func GenerateUserTimeLimitCode ¶ added in v1.23.0
func GenerateUserTimeLimitCode(opts *TimeLimitCodeOptions, u *User) string
GenerateUserTimeLimitCode generates a time-limit code based on user information and given e-mail. TODO: need to use cache or db to store it to make sure a code can only be consumed once
func GetExternalLogin ¶
func GetExternalLogin(ctx context.Context, externalLoginUser *ExternalLoginUser) (bool, error)
GetExternalLogin checks if a externalID in loginSourceID scope already exists
func GetOrderByName ¶ added in v1.17.4
func GetOrderByName() string
func GetSetting ¶ added in v1.17.4
func GetSetting(ctx context.Context, uid int64, key string) (string, error)
GetSetting returns the setting value via the key
func GetSettings ¶
func GetSettings(ctx context.Context, uid int64, keys []string) (map[string]*Setting, error)
GetSettings returns specific settings from user
func GetUser ¶
func GetUser(ctx context.Context, user *User) (bool, error)
GetUser checks if a user already exists
func GetUserAllSettings ¶
func GetUserAllSettings(ctx context.Context, uid int64) (map[string]*Setting, error)
GetUserAllSettings returns all settings from user
func GetUserEmailsByNames ¶
func GetUserEmailsByNames(ctx context.Context, names []string) []string
GetUserEmailsByNames returns a list of e-mails corresponds to names of users that have their email notifications set to enabled or onmention.
func GetUserIDByExternalUserID ¶
func GetUserIDByExternalUserID(ctx context.Context, provider, userID string) (int64, error)
GetUserIDByExternalUserID get user id according to provider and userID
func GetUserIDsByNames ¶
func GetUserIDsByNames(ctx context.Context, names []string, ignoreNonExistent bool) ([]int64, error)
GetUserIDsByNames returns a slice of ids corresponds to names.
func GetUserNameByID ¶ added in v1.17.0
func GetUserNameByID(ctx context.Context, id int64) (string, error)
GetUserNameByID returns username for the id
func GetUserNamesByIDs ¶
func GetUserNamesByIDs(ctx context.Context, ids []int64) ([]string, error)
GetUserNamesByIDs returns usernames for all resolved users from a list of Ids.
func GetUserSetting ¶ added in v1.17.0
func GetUserSetting(ctx context.Context, userID int64, key string, def ...string) (string, error)
GetUserSetting gets a specific setting for a user
func IncrUserRepoNum ¶ added in v1.17.4
func IncrUserRepoNum(ctx context.Context, userID int64) error
func IsEmailActive ¶
func IsEmailActive(ctx context.Context, email string, excludeEmailID int64) (bool, error)
IsEmailActive check if email is activated with a different emailID
func IsEmailDomainAllowed ¶ added in v1.22.0
func IsEmailDomainAllowed(email string) bool
func IsEmailUsed ¶
func IsEmailUsed(ctx context.Context, email string) (bool, error)
IsEmailUsed returns true if the email has been used.
func IsErrEmailAddressNotExist ¶
func IsErrEmailAddressNotExist(err error) bool
IsErrEmailAddressNotExist checks if an error is an ErrEmailAddressNotExist
func IsErrEmailAlreadyUsed ¶
func IsErrEmailAlreadyUsed(err error) bool
IsErrEmailAlreadyUsed checks if an error is a ErrEmailAlreadyUsed.
func IsErrEmailCharIsNotSupported ¶ added in v1.16.4
func IsErrEmailCharIsNotSupported(err error) bool
IsErrEmailCharIsNotSupported checks if an error is an ErrEmailCharIsNotSupported
func IsErrEmailInvalid ¶
func IsErrEmailInvalid(err error) bool
IsErrEmailInvalid checks if an error is an ErrEmailInvalid
func IsErrExternalLoginUserAlreadyExist ¶
func IsErrExternalLoginUserAlreadyExist(err error) bool
IsErrExternalLoginUserAlreadyExist checks if an error is a ExternalLoginUserAlreadyExist.
func IsErrExternalLoginUserNotExist ¶
func IsErrExternalLoginUserNotExist(err error) bool
IsErrExternalLoginUserNotExist checks if an error is a ExternalLoginUserNotExist.
func IsErrOpenIDAlreadyUsed ¶
func IsErrOpenIDAlreadyUsed(err error) bool
IsErrOpenIDAlreadyUsed checks if an error is a ErrOpenIDAlreadyUsed.
func IsErrPrimaryEmailCannotDelete ¶
func IsErrPrimaryEmailCannotDelete(err error) bool
IsErrPrimaryEmailCannotDelete checks if an error is an ErrPrimaryEmailCannotDelete
func IsErrUserAlreadyExist ¶
func IsErrUserAlreadyExist(err error) bool
IsErrUserAlreadyExist checks if an error is a ErrUserAlreadyExists.
func IsErrUserInactive ¶
func IsErrUserInactive(err error) bool
IsErrUserInactive checks if an error is a ErrUserInactive
func IsErrUserIsNotLocal ¶ added in v1.20.0
func IsErrUserIsNotLocal(err error) bool
IsErrUserIsNotLocal
func IsErrUserNotExist ¶
func IsErrUserNotExist(err error) bool
IsErrUserNotExist checks if an error is a ErrUserNotExist.
func IsErrUserProhibitLogin ¶
func IsErrUserProhibitLogin(err error) bool
IsErrUserProhibitLogin checks if an error is a ErrUserProhibitLogin
func IsErrUserRedirectNotExist ¶
func IsErrUserRedirectNotExist(err error) bool
IsErrUserRedirectNotExist check if an error is an ErrUserRedirectNotExist.
func IsErrUserSettingIsNotExist ¶ added in v1.17.4
func IsErrUserSettingIsNotExist(err error) bool
IsErrUserSettingIsNotExist return true if err is ErrSettingIsNotExist
func IsFeatureDisabledWithLoginType ¶ added in v1.22.0
func IsFeatureDisabledWithLoginType(user *User, features ...string) bool
IsFeatureDisabledWithLoginType checks if a user features are disabled, taking into account the login type of the user if applicable
func IsFollowing ¶
func IsFollowing(ctx context.Context, userID, followID int64) bool
IsFollowing returns true if user is following followID.
func IsGhostUserName ¶ added in v1.23.2
func IsGhostUserName(name string) bool
func IsGiteaActionsUserName ¶ added in v1.23.2
func IsGiteaActionsUserName(name string) bool
func IsLastAdminUser ¶ added in v1.21.4
func IsLastAdminUser(ctx context.Context, user *User) bool
IsLastAdminUser check whether user is the last admin
func IsUsableUsername ¶
func IsUsableUsername(name string) error
IsUsableUsername returns an error when a username is reserved
func IsUserBlockedBy ¶ added in v1.22.0
func IsUserBlockedBy(ctx context.Context, blockee *User, blockerIDs ...int64) bool
func IsUserExist ¶
func IsUserExist(ctx context.Context, uid int64, name string) (bool, error)
IsUserExist checks if given user name exist, the user name should be noncased unique. If uid is presented, then check will rule out that one, it is used when update a user name in settings page.
func IsUserVisibleToViewer ¶ added in v1.17.0
func IsUserVisibleToViewer(ctx context.Context, u, viewer *User) bool
IsUserVisibleToViewer check if viewer is able to see user profile
func IterateExternalLogin ¶ added in v1.23.0
func IterateExternalLogin(ctx context.Context, opts FindExternalUserOptions, f func(ctx context.Context, u *ExternalLoginUser) error) error
func LinkExternalToUser ¶
func LinkExternalToUser(ctx context.Context, user *User, externalLoginUser *ExternalLoginUser) error
LinkExternalToUser link the external user to the user
func LookupUserRedirect ¶
func LookupUserRedirect(ctx context.Context, userName string) (int64, error)
LookupUserRedirect look up userID if a user has a redirect name
func MakeActiveEmailPrimary ¶ added in v1.22.0
func MakeActiveEmailPrimary(ctx context.Context, emailID int64) error
func MakeInactiveEmailPrimary ¶ added in v1.22.0
func MakeInactiveEmailPrimary(ctx context.Context, emailID int64) error
func NewUserRedirect ¶
func NewUserRedirect(ctx context.Context, ID int64, oldUserName, newUserName string) error
NewUserRedirect create a new user redirect
func NormalizeUserName ¶ added in v1.22.0
func NormalizeUserName(s string) (string, error)
NormalizeUserName only takes the name part if it is an email address, transforms it diacritics to ASCII characters. It returns a string with the single-quotes removed, and any other non-supported username characters are replaced with a `-` character
func RemoveAccountLink ¶
func RemoveAccountLink(ctx context.Context, user *User, loginSourceID int64) (int64, error)
RemoveAccountLink will remove all external login sources for the given user
func RemoveAllAccountLinks ¶
func RemoveAllAccountLinks(ctx context.Context, user *User) error
RemoveAllAccountLinks will remove all external login sources for the given user
func RemoveAllUserBadges ¶ added in v1.22.0
func RemoveAllUserBadges(ctx context.Context, u *User) error
RemoveAllUserBadges removes all badges from a user.
func RemoveUserBadge ¶ added in v1.22.0
func RemoveUserBadge(ctx context.Context, u *User, badge *Badge) error
RemoveUserBadge removes a badge from a user.
func RemoveUserBadges ¶ added in v1.22.0
func RemoveUserBadges(ctx context.Context, u *User, badges []*Badge) error
RemoveUserBadges removes badges from a user.
func SetMustChangePassword ¶ added in v1.18.4
func SetMustChangePassword(ctx context.Context, all, mustChangePassword bool, include, exclude []string) (int64, error)
func SetUserSetting ¶ added in v1.17.0
func SetUserSetting(ctx context.Context, userID int64, key, value string) error
SetUserSetting updates a users' setting for a specific key
func ToggleUserOpenIDVisibility ¶
func ToggleUserOpenIDVisibility(ctx context.Context, id int64) (err error)
ToggleUserOpenIDVisibility toggles visibility of an openid address of given user.
func UnfollowUser ¶
func UnfollowUser(ctx context.Context, userID, followID int64) (err error)
UnfollowUser unmarks someone as another's follower.
func UpdateBadge ¶ added in v1.22.0
func UpdateBadge(ctx context.Context, badge *Badge) error
UpdateBadge updates a badge based on its slug.
func UpdateBlockingNote ¶ added in v1.22.0
func UpdateBlockingNote(ctx context.Context, id int64, note string) error
func UpdateEmailAddress ¶ added in v1.22.0
func UpdateEmailAddress(ctx context.Context, email *EmailAddress) error
func UpdateExternalUserByExternalID ¶
func UpdateExternalUserByExternalID(ctx context.Context, external *ExternalLoginUser) error
UpdateExternalUserByExternalID updates an external user's information
func UpdateUserCols ¶
func UpdateUserCols(ctx context.Context, u *User, cols ...string) error
UpdateUserCols update user according special columns
func UserPath ¶
func UserPath(userName string) string
UserPath returns the path absolute path of user repositories.
func ValidateEmail ¶
func ValidateEmail(email string) error
ValidateEmail check if email is a valid & allowed address
func ValidateEmailForAdmin ¶ added in v1.22.0
func ValidateEmailForAdmin(email string) error
ValidateEmailForAdmin check if email is a valid address when admins manually add or edit users
func ValidateUser ¶ added in v1.19.4
func ValidateUser(u *User, cols ...string) error
ValidateUser check if user is valid to insert / update into database
Types ¶
type Badge ¶ added in v1.17.4
type Badge struct {
ID int64 `xorm:"pk autoincr"`
Slug string `xorm:"UNIQUE"`
Description string
ImageURL string
}
Badge represents a user badge
func GetBadge ¶ added in v1.22.0
func GetBadge(ctx context.Context, slug string) (*Badge, error)
GetBadge returns a badge
func GetUserBadges ¶ added in v1.17.4
func GetUserBadges(ctx context.Context, u *User) ([]*Badge, int64, error)
GetUserBadges returns the user's badges.
type Blocking ¶ added in v1.22.0
type Blocking struct {
ID int64 `xorm:"pk autoincr"`
BlockerID int64 `xorm:"UNIQUE(block)"`
Blocker *User `xorm:"-"`
BlockeeID int64 `xorm:"UNIQUE(block)"`
Blockee *User `xorm:"-"`
Note string
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
}
func FindBlockings ¶ added in v1.22.0
func FindBlockings(ctx context.Context, opts *FindBlockingOptions) ([]*Blocking, int64, error)
func GetBlocking ¶ added in v1.22.0
func GetBlocking(ctx context.Context, blockerID, blockeeID int64) (*Blocking, error)
type BlockingList ¶ added in v1.22.0
type BlockingList []*Blocking
func (BlockingList) LoadAttributes ¶ added in v1.22.0
func (blocks BlockingList) LoadAttributes(ctx context.Context) error
type CountUserFilter ¶ added in v1.17.0
type CountUserFilter struct {
LastLoginSince *int64
IsAdmin optional.Option[bool]
}
CountUserFilter represent optional filters for CountUsers
type CreateUserOverwriteOptions ¶
type CreateUserOverwriteOptions struct {
KeepEmailPrivate optional.Option[bool]
Visibility *structs.VisibleType
AllowCreateOrganization optional.Option[bool]
EmailNotificationsPreference *string
MaxRepoCreation *int
Theme *string
IsRestricted optional.Option[bool]
IsActive optional.Option[bool]
}
CreateUserOverwriteOptions are an optional options who overwrite system defaults on user creation
type EmailAddress ¶
type EmailAddress struct {
ID int64 `xorm:"pk autoincr"`
UID int64 `xorm:"INDEX NOT NULL"`
Email string `xorm:"UNIQUE NOT NULL"`
LowerEmail string `xorm:"UNIQUE NOT NULL"`
IsActivated bool
IsPrimary bool `xorm:"DEFAULT(false) NOT NULL"`
}
EmailAddress is the list of all email addresses of a user. It also contains the primary email address which is saved in user table.
func GetEmailAddressByEmail ¶ added in v1.22.0
func GetEmailAddressByEmail(ctx context.Context, email string) (*EmailAddress, error)
func GetEmailAddressByID ¶
func GetEmailAddressByID(ctx context.Context, uid, id int64) (*EmailAddress, error)
GetEmailAddressByID gets a user's email address by ID
func GetEmailAddressOfUser ¶ added in v1.22.0
func GetEmailAddressOfUser(ctx context.Context, email string, uid int64) (*EmailAddress, error)
func GetEmailAddresses ¶
func GetEmailAddresses(ctx context.Context, uid int64) ([]*EmailAddress, error)
GetEmailAddresses returns all email addresses belongs to given user.
func GetPrimaryEmailAddressOfUser ¶ added in v1.22.0
func GetPrimaryEmailAddressOfUser(ctx context.Context, uid int64) (*EmailAddress, error)
func InsertEmailAddress ¶ added in v1.22.0
func InsertEmailAddress(ctx context.Context, email *EmailAddress) (*EmailAddress, error)
func VerifyActiveEmailCode ¶
func VerifyActiveEmailCode(ctx context.Context, code, email string) *EmailAddress
VerifyActiveEmailCode verifies active email code when active account
func (*EmailAddress) BeforeInsert ¶
func (email *EmailAddress) BeforeInsert()
BeforeInsert will be invoked by XORM before inserting a record
type ErrEmailAddressNotExist ¶
type ErrEmailAddressNotExist struct {
Email string
}
ErrEmailAddressNotExist email address not exist
type ErrEmailAlreadyUsed ¶
type ErrEmailAlreadyUsed struct {
Email string
}
ErrEmailAlreadyUsed represents a "EmailAlreadyUsed" kind of error.
type ErrEmailCharIsNotSupported ¶ added in v1.16.4
type ErrEmailCharIsNotSupported struct {
Email string
}
ErrEmailCharIsNotSupported e-mail address contains unsupported character
type ErrEmailInvalid ¶
type ErrEmailInvalid struct {
Email string
}
ErrEmailInvalid represents an error where the email address does not comply with RFC 5322 or has a leading '-' character
type ErrExternalLoginUserAlreadyExist ¶
type ErrExternalLoginUserAlreadyExist struct {
ExternalID string
UserID int64
LoginSourceID int64
}
ErrExternalLoginUserAlreadyExist represents a "ExternalLoginUserAlreadyExist" kind of error.
type ErrExternalLoginUserNotExist ¶
type ErrExternalLoginUserNotExist struct {
UserID int64
LoginSourceID int64
}
ErrExternalLoginUserNotExist represents a "ExternalLoginUserNotExist" kind of error.
type ErrOpenIDAlreadyUsed ¶
type ErrOpenIDAlreadyUsed struct {
OpenID string
}
ErrOpenIDAlreadyUsed represents a "OpenIDAlreadyUsed" kind of error.
type ErrPrimaryEmailCannotDelete ¶
type ErrPrimaryEmailCannotDelete struct {
Email string
}
ErrPrimaryEmailCannotDelete primary email address cannot be deleted
type ErrUserAlreadyExist ¶
type ErrUserAlreadyExist struct {
Name string
}
ErrUserAlreadyExist represents a "user already exists" error.
type ErrUserInactive ¶
type ErrUserInactive struct {
UID int64
Name string
}
ErrUserInactive represents a "ErrUserInactive" kind of error.
type ErrUserIsNotLocal ¶ added in v1.20.0
type ErrUserIsNotLocal struct {
UID int64
Name string
}
ErrUserIsNotLocal represents a "ErrUserIsNotLocal" kind of error.
type ErrUserNotExist ¶
type ErrUserNotExist struct {
UID int64
Name string
}
ErrUserNotExist represents a "UserNotExist" kind of error.
type ErrUserProhibitLogin ¶
type ErrUserProhibitLogin struct {
UID int64
Name string
}
ErrUserProhibitLogin represents a "ErrUserProhibitLogin" kind of error.
type ErrUserRedirectNotExist ¶
type ErrUserRedirectNotExist struct {
Name string
}
ErrUserRedirectNotExist represents a "UserRedirectNotExist" kind of error.
type ErrUserSettingIsNotExist ¶ added in v1.17.4
type ErrUserSettingIsNotExist struct {
Key string
}
ErrUserSettingIsNotExist represents an error that a setting is not exist with special key
type ExternalLoginUser ¶
type ExternalLoginUser struct {
ExternalID string `xorm:"pk NOT NULL"`
UserID int64 `xorm:"INDEX NOT NULL"`
LoginSourceID int64 `xorm:"pk NOT NULL"`
RawData map[string]any `xorm:"TEXT JSON"`
Provider string `xorm:"index VARCHAR(25)"`
Email string
Name string
FirstName string
LastName string
NickName string
Description string
AvatarURL string `xorm:"TEXT"`
Location string
AccessToken string `xorm:"TEXT"`
AccessTokenSecret string `xorm:"TEXT"`
RefreshToken string `xorm:"TEXT"`
ExpiresAt time.Time
}
ExternalLoginUser makes the connecting between some existing user and additional external login sources
type ExternalUserMigrated ¶ added in v1.17.0
type ExternalUserMigrated interface {
GetExternalName() string
GetExternalID() int64
}
type ExternalUserRemappable ¶ added in v1.17.0
type ExternalUserRemappable interface {
GetUserID() int64
RemapExternalUser(externalName string, externalID, userID int64) error
ExternalUserMigrated
}
type FindBlockingOptions ¶ added in v1.22.0
type FindBlockingOptions struct {
db.ListOptions
BlockerID int64
BlockeeID int64
}
type FindExternalUserOptions ¶
type FindExternalUserOptions struct {
db.ListOptions
Provider string
UserID int64
LoginSourceID int64
HasRefreshToken bool
Expired bool
OrderBy string
}
FindExternalUserOptions represents an options to find external users
type Follow ¶
type Follow struct {
ID int64 `xorm:"pk autoincr"`
UserID int64 `xorm:"UNIQUE(follow)"`
FollowID int64 `xorm:"UNIQUE(follow)"`
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
}
Follow represents relations of user and their followers.
type Meta ¶ added in v1.23.0
type Meta struct {
// Store the initial registration of the user, to aid in spam prevention
// Ensure that one IP isn't creating many accounts (following mediawiki approach)
InitialIP string
InitialUserAgent string
}
Meta defines the meta information of a user, to be stored in the K/V table
type Redirect ¶
type Redirect struct {
ID int64 `xorm:"pk autoincr"`
LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"`
RedirectUserID int64 // userID to redirect to
}
Redirect represents that a user name should be redirected to another
type SearchEmailOptions ¶
type SearchEmailOptions struct {
db.ListOptions
Keyword string
SortType SearchEmailOrderBy
IsPrimary optional.Option[bool]
IsActivated optional.Option[bool]
}
SearchEmailOptions are options to search e-mail addresses for the admin panel
type SearchEmailOrderBy ¶
type SearchEmailOrderBy string
SearchEmailOrderBy is used to sort the results from SearchEmails()
const (
SearchEmailOrderByEmail SearchEmailOrderBy = "email_address.lower_email ASC, email_address.is_primary DESC, email_address.id ASC"
SearchEmailOrderByEmailReverse SearchEmailOrderBy = "email_address.lower_email DESC, email_address.is_primary ASC, email_address.id DESC"
SearchEmailOrderByName SearchEmailOrderBy = "`user`.lower_name ASC, email_address.is_primary DESC, email_address.id ASC"
SearchEmailOrderByNameReverse SearchEmailOrderBy = "`user`.lower_name DESC, email_address.is_primary ASC, email_address.id DESC"
)
Strings for sorting result
type SearchEmailResult ¶
type SearchEmailResult struct {
ID int64
UID int64
Email string
IsActivated bool
IsPrimary bool
// From User
Name string
FullName string
}
SearchEmailResult is an e-mail address found in the user or email_address table
func SearchEmails ¶
func SearchEmails(ctx context.Context, opts *SearchEmailOptions) ([]*SearchEmailResult, int64, error)
SearchEmails takes options i.e. keyword and part of email name to search, it returns results in given range and number of total results.
type SearchOrganizationsOptions ¶
type SearchOrganizationsOptions struct {
db.ListOptions
All bool
}
SearchOrganizationsOptions options to filter organizations
type SearchUserOptions ¶
type SearchUserOptions struct {
db.ListOptions
Keyword string
Type UserType
UID int64
LoginName string // this option should be used only for admin user
SourceID int64 // this option should be used only for admin user
OrderBy db.SearchOrderBy
Visible []structs.VisibleType
Actor *User // The user doing the search
SearchByEmail bool // Search by email as well as username/full name
SupportedSortOrders container.Set[string] // if not nil, only allow to use the sort orders in this set
IsActive optional.Option[bool]
IsAdmin optional.Option[bool]
IsRestricted optional.Option[bool]
IsTwoFactorEnabled optional.Option[bool]
IsProhibitLogin optional.Option[bool]
IncludeReserved bool
ExtraParamStrings map[string]string
}
SearchUserOptions contains the options for searching
type Setting ¶
type Setting struct {
ID int64 `xorm:"pk autoincr"`
UserID int64 `xorm:"index unique(key_userid)"` // to load all of someone's settings
SettingKey string `xorm:"varchar(255) index unique(key_userid)"` // ensure key is always lowercase
SettingValue string `xorm:"text"`
}
Setting is a key value store of user settings
func GetSettingNoCache ¶ added in v1.17.4
func GetSettingNoCache(ctx context.Context, uid int64, key string) (*Setting, error)
GetSettingNoCache returns specific setting without using the cache
type TimeLimitCodeOptions ¶ added in v1.23.0
type TimeLimitCodeOptions struct {
Purpose TimeLimitCodePurpose
NewEmail string
}
type TimeLimitCodePurpose ¶ added in v1.23.0
type TimeLimitCodePurpose string
const (
TimeLimitCodeActivateAccount TimeLimitCodePurpose = "activate_account"
TimeLimitCodeActivateEmail TimeLimitCodePurpose = "activate_email"
TimeLimitCodeResetPassword TimeLimitCodePurpose = "reset_password"
)
type User ¶
type User struct {
ID int64 `xorm:"pk autoincr"`
LowerName string `xorm:"UNIQUE NOT NULL"`
Name string `xorm:"UNIQUE NOT NULL"`
FullName string
// Email is the primary email address (to be used for communication)
Email string `xorm:"NOT NULL"`
KeepEmailPrivate bool
EmailNotificationsPreference string `xorm:"VARCHAR(20) NOT NULL DEFAULT 'enabled'"`
Passwd string `xorm:"NOT NULL"`
PasswdHashAlgo string `xorm:"NOT NULL DEFAULT 'argon2'"`
// MustChangePassword is an attribute that determines if a user
// is to change their password after registration.
MustChangePassword bool `xorm:"NOT NULL DEFAULT false"`
LoginType auth.Type
LoginSource int64 `xorm:"NOT NULL DEFAULT 0"`
LoginName string
Type UserType
Location string
Website string
Rands string `xorm:"VARCHAR(32)"`
Salt string `xorm:"VARCHAR(32)"`
Language string `xorm:"VARCHAR(5)"`
Description string
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
LastLoginUnix timeutil.TimeStamp `xorm:"INDEX"`
// Remember visibility choice for convenience, true for private
LastRepoVisibility bool
// Maximum repository creation limit, -1 means use global default
MaxRepoCreation int `xorm:"NOT NULL DEFAULT -1"`
// IsActive true: primary email is activated, user can access Web UI and Git SSH.
// false: an inactive user can only log in Web UI for account operations (ex: activate the account by email), no other access.
IsActive bool `xorm:"INDEX"`
// the user is a Gitea admin, who can access all repositories and the admin pages.
IsAdmin bool
// true: the user is only allowed to see organizations/repositories that they has explicit rights to.
// (ex: in private Gitea instances user won't be allowed to see even organizations/repositories that are set as public)
IsRestricted bool `xorm:"NOT NULL DEFAULT false"`
AllowGitHook bool
AllowImportLocal bool // Allow migrate repository by local path
AllowCreateOrganization bool `xorm:"DEFAULT true"`
// true: the user is not allowed to log in Web UI. Git/SSH access could still be allowed (please refer to Git/SSH access related code/documents)
ProhibitLogin bool `xorm:"NOT NULL DEFAULT false"`
// Avatar
Avatar string `xorm:"VARCHAR(2048) NOT NULL"`
AvatarEmail string `xorm:"NOT NULL"`
UseCustomAvatar bool
// Counters
NumFollowers int
NumFollowing int `xorm:"NOT NULL DEFAULT 0"`
NumStars int
NumRepos int
// For organization
NumTeams int
NumMembers int
Visibility structs.VisibleType `xorm:"NOT NULL DEFAULT 0"`
RepoAdminChangeTeamAccess bool `xorm:"NOT NULL DEFAULT false"`
// Preferences
DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"`
Theme string `xorm:"NOT NULL DEFAULT ''"`
KeepActivityPrivate bool `xorm:"NOT NULL DEFAULT false"`
}
User represents the object of individual and member of organization.
func GetAdminUser ¶
func GetAdminUser(ctx context.Context) (*User, error)
GetAdminUser returns the first administrator
func GetAllUsers ¶
func GetAllUsers(ctx context.Context) ([]*User, error)
GetAllUsers returns a slice of all individual users found in DB.
func GetInactiveUsers ¶
func GetInactiveUsers(ctx context.Context, olderThan time.Duration) ([]*User, error)
GetInactiveUsers gets all inactive users
func GetMaileableUsersByIDs ¶
func GetMaileableUsersByIDs(ctx context.Context, ids []int64, isMention bool) ([]*User, error)
GetMaileableUsersByIDs gets users from ids, but only if they can receive mails
func GetPossibleUserByID ¶ added in v1.19.0
func GetPossibleUserByID(ctx context.Context, id int64) (*User, error)
GetPossibleUserByID returns the user if id > 0 or return system usrs if id < 0
func GetPossibleUserByIDs ¶ added in v1.20.0
func GetPossibleUserByIDs(ctx context.Context, ids []int64) ([]*User, error)
GetPossibleUserByIDs returns the users if id > 0 or return system users if id < 0
func GetSystemUserByName ¶ added in v1.23.2
func GetSystemUserByName(name string) *User
func GetUserByEmail ¶
func GetUserByEmail(ctx context.Context, email string) (*User, error)
GetUserByEmail returns the user object by given e-mail if exists.
func GetUserByID ¶
func GetUserByID(ctx context.Context, id int64) (*User, error)
GetUserByID returns the user object by given ID if exists.
func GetUserByIDs ¶ added in v1.20.0
func GetUserByIDs(ctx context.Context, ids []int64) ([]*User, error)
GetUserByIDs returns the user objects by given IDs if exists.
func GetUserByName ¶
func GetUserByName(ctx context.Context, name string) (*User, error)
GetUserByNameCtx returns user by given name.
func GetUserByOpenID ¶
func GetUserByOpenID(ctx context.Context, uri string) (*User, error)
GetUserByOpenID returns the user object by given OpenID if exists.
func GetUserFollowers ¶
func GetUserFollowers(ctx context.Context, u, viewer *User, listOptions db.ListOptions) ([]*User, int64, error)
GetUserFollowers returns range of user's followers.
func GetUserFollowing ¶
func GetUserFollowing(ctx context.Context, u, viewer *User, listOptions db.ListOptions) ([]*User, int64, error)
GetUserFollowing returns range of user's following.
func GetUsersBySource ¶
func GetUsersBySource(ctx context.Context, s *auth.Source) ([]*User, error)
GetUsersBySource returns a list of Users for a login source
func GetVerifyUser ¶
func GetVerifyUser(ctx context.Context, code string) (user *User)
GetVerifyUser get user by verify code
func NewActionsUser ¶ added in v1.19.0
func NewActionsUser() *User
NewActionsUser creates and returns a fake user for running the actions.
func NewGhostUser ¶
func NewGhostUser() *User
NewGhostUser creates and returns a fake user for someone has deleted their account.
func NewReplaceUser ¶
func NewReplaceUser(name string) *User
NewReplaceUser creates and returns a fake user for external user
func SearchUsers ¶
func SearchUsers(ctx context.Context, opts *SearchUserOptions) (users []*User, _ int64, _ error)
SearchUsers takes options i.e. keyword and part of user name to search, it returns results in given range and number of total results.
func ValidateCommitWithEmail ¶
func ValidateCommitWithEmail(ctx context.Context, c *git.Commit) *User
ValidateCommitWithEmail check if author's e-mail of commit is corresponding to a user.
func VerifyUserTimeLimitCode ¶ added in v1.23.0
func VerifyUserTimeLimitCode(ctx context.Context, opts *TimeLimitCodeOptions, code string) (user *User)
VerifyUserTimeLimitCode verifies the time-limit code
func (*User) AfterLoad ¶
func (u *User) AfterLoad()
AfterLoad is invoked from XORM after filling all the fields of this object.
func (*User) AvatarLink ¶
func (u *User) AvatarLink(ctx context.Context) string
AvatarLink returns the full avatar url with http host. TODO: refactor it to a relative URL, but it is still used in API response at the moment
func (*User) AvatarLinkWithSize ¶
func (u *User) AvatarLinkWithSize(ctx context.Context, size int) string
AvatarLinkWithSize returns a link to the user's avatar with size. size <= 0 means default size
func (*User) BeforeUpdate ¶
func (u *User) BeforeUpdate()
BeforeUpdate is invoked from XORM before updating this object.
func (*User) CanCreateOrganization ¶
func (u *User) CanCreateOrganization() bool
CanCreateOrganization returns true if user can create organisation.
func (*User) CanCreateRepo ¶
func (u *User) CanCreateRepo() bool
CanCreateRepo returns if user login can create a repository NOTE: functions calling this assume a failure due to repository count limit; if new checks are added, those functions should be revised
func (*User) CanEditGitHook ¶
func (u *User) CanEditGitHook() bool
CanEditGitHook returns true if user can edit Git hooks.
func (*User) CanForkRepo ¶ added in v1.19.0
func (u *User) CanForkRepo() bool
CanForkRepo returns if user login can fork a repository It checks especially that the user can create repos, and potentially more
func (*User) CanImportLocal ¶
func (u *User) CanImportLocal() bool
CanImportLocal returns true if user can migrate repository by local path.
func (*User) CustomAvatarRelativePath ¶
func (u *User) CustomAvatarRelativePath() string
CustomAvatarRelativePath returns user custom avatar relative path.
func (*User) DashboardLink ¶
func (u *User) DashboardLink() string
DashboardLink returns the user dashboard page link.
func (*User) DisplayName ¶
func (u *User) DisplayName() string
DisplayName returns full name if it's not empty, returns username otherwise.
func (*User) EmailTo ¶ added in v1.23.0
func (u *User) EmailTo() string
EmailTo returns a string suitable to be put into a e-mail `To:` header.
func (*User) GetCompleteName ¶ added in v1.22.0
func (u *User) GetCompleteName() string
GetCompleteName returns the full name and username in the form of "Full Name (username)" if full name is not empty, otherwise it returns "username".
func (*User) GetDisplayName ¶
func (u *User) GetDisplayName() string
GetDisplayName returns full name if it's not empty and DEFAULT_SHOW_FULL_NAME is set, returns username otherwise.
func (*User) GetEmail ¶
func (u *User) GetEmail() string
GetEmail returns an noreply email, if the user has set to keep his email address private, otherwise the primary email address.
func (*User) GetPlaceholderEmail ¶ added in v1.20.3
func (u *User) GetPlaceholderEmail() string
GetPlaceholderEmail returns an noreply email
func (*User) HTMLURL ¶
func (u *User) HTMLURL() string
HTMLURL returns the user or organization's full link.
func (*User) HomeLink ¶
func (u *User) HomeLink() string
HomeLink returns the user or organization home page link.
func (*User) IsBot ¶ added in v1.20.0
func (u *User) IsBot() bool
IsBot returns whether or not the user is of type bot
func (*User) IsGhost ¶
func (u *User) IsGhost() bool
IsGhost check if user is fake user for a deleted account
func (*User) IsGiteaActions ¶ added in v1.23.2
func (u *User) IsGiteaActions() bool
func (*User) IsIndividual ¶ added in v1.19.0
func (u *User) IsIndividual() bool
IsIndividual returns true if user is actually a individual user.
func (*User) IsLocal ¶
func (u *User) IsLocal() bool
IsLocal returns true if user login type is LoginPlain.
func (*User) IsMailable ¶
func (u *User) IsMailable() bool
IsMailable checks if a user is eligible to receive emails.
func (*User) IsOAuth2 ¶
func (u *User) IsOAuth2() bool
IsOAuth2 returns true if user login type is LoginOAuth2.
func (*User) IsOrganization ¶
func (u *User) IsOrganization() bool
IsOrganization returns true if user is actually a organization.
func (*User) IsPasswordSet ¶
func (u *User) IsPasswordSet() bool
IsPasswordSet checks if the password is set or left empty
func (*User) IsUploadAvatarChanged ¶
func (u *User) IsUploadAvatarChanged(data []byte) bool
IsUploadAvatarChanged returns true if the current user's avatar would be changed with the provided data
func (*User) MaxCreationLimit ¶
func (u *User) MaxCreationLimit() int
MaxCreationLimit returns the number of repositories a user is allowed to create
func (*User) NewGitSig ¶
func (u *User) NewGitSig() *git.Signature
NewGitSig generates and returns the signature of given user.
func (*User) OrganisationLink ¶
func (u *User) OrganisationLink() string
OrganisationLink returns the organization sub page link.
func (*User) SetPassword ¶
func (u *User) SetPassword(passwd string) (err error)
SetPassword hashes a password using the algorithm defined in the config value of PASSWORD_HASH_ALGO change passwd, salt and passwd_hash_algo fields
func (*User) ShortName ¶
func (u *User) ShortName(length int) string
ShortName ellipses username to length
func (*User) ValidatePassword ¶
func (u *User) ValidatePassword(passwd string) bool
ValidatePassword checks if the given password matches the one belonging to the user.
type UserBadge ¶ added in v1.17.4
type UserBadge struct {
ID int64 `xorm:"pk autoincr"`
BadgeID int64
UserID int64 `xorm:"INDEX"`
}
UserBadge represents a user badge
type UserCommit ¶
type UserCommit struct {
User *User
*git.Commit
}
UserCommit represents a commit with validation of user.
func ValidateCommitsWithEmails ¶
func ValidateCommitsWithEmails(ctx context.Context, oldCommits []*git.Commit) []*UserCommit
ValidateCommitsWithEmails checks if authors' e-mails of commits are corresponding to users.
type UserList ¶
type UserList []*User //revive:disable-line:exported
UserList is a list of user. This type provide valuable methods to retrieve information for a group of users efficiently.
func GetUsersByIDs ¶
func GetUsersByIDs(ctx context.Context, ids []int64) (UserList, error)
GetUsersByIDs returns all resolved users from a list of Ids.
func (UserList) GetTwoFaStatus ¶
func (users UserList) GetTwoFaStatus(ctx context.Context) map[int64]bool
GetTwoFaStatus return state of 2FA enrollement
func (UserList) GetUserIDs ¶
func (users UserList) GetUserIDs() []int64
GetUserIDs returns a slice of user's id
type UserOpenID ¶
type UserOpenID struct {
ID int64 `xorm:"pk autoincr"`
UID int64 `xorm:"INDEX NOT NULL"`
URI string `xorm:"UNIQUE NOT NULL"`
Show bool `xorm:"DEFAULT false"`
}
UserOpenID is the list of all OpenID identities of a user. Since this is a middle table, name it OpenID is not suitable, so we ignore the lint here
func GetUserOpenIDs ¶
func GetUserOpenIDs(ctx context.Context, uid int64) ([]*UserOpenID, error)
GetUserOpenIDs returns all openid addresses that belongs to given user.
type UserType ¶
type UserType int //revive:disable-line:exported
UserType defines the user type
const (
// UserTypeIndividual defines an individual user
UserTypeIndividual UserType = iota // Historic reason to make it starts at 0.
// UserTypeOrganization defines an organization
UserTypeOrganization // 1
// UserTypeUserReserved reserves a (non-existing) user, i.e. to prevent a spam user from re-registering after being deleted, or to reserve the name until the user is actually created later on
UserTypeUserReserved // 2
// UserTypeOrganizationReserved reserves a (non-existing) organization, to be used in combination with UserTypeUserReserved
UserTypeOrganizationReserved // 3
// UserTypeBot defines a bot user
UserTypeBot // 4
// UserTypeRemoteUser defines a remote user for federated users
UserTypeRemoteUser // 5
)