Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateFilterFunc ¶
func CreateFilterFunc(filters ...string) func(p db.UserProfileAccounts) bool
CreateFilterFunc is a helper function which creates a function needed to check if profile satisfies given filters
Types ¶
type Services ¶
type Services struct { MailClient clients.MailClient DB db.DB AuthClient clients.AuthClient ReCaptchaClient clients.ReCaptchaClient PermissionsClient clients.PermissionsClient }
Services is a collection of resources needed for server functionality.
type UserManager ¶
type UserManager interface { BasicLogin(ctx context.Context, request models.LoginRequest) (*authProto.CreateTokenResponse, error) OneTimeTokenLogin(ctx context.Context, request models.OneTimeTokenLoginRequest) (*authProto.CreateTokenResponse, error) OAuthLogin(ctx context.Context, request models.OAuthLoginRequest) (*authProto.CreateTokenResponse, error) ChangePassword(ctx context.Context, request models.PasswordChangeRequest) (*authProto.CreateTokenResponse, error) ResetPassword(ctx context.Context, request models.UserLogin) error RestorePassword(ctx context.Context, request models.PasswordRestoreRequest) (*authProto.CreateTokenResponse, error) Logout(ctx context.Context) error // changes DB state CreateUser(ctx context.Context, request models.RegisterRequest) (*models.UserLogin, error) ActivateUser(ctx context.Context, request models.Link) (*authProto.CreateTokenResponse, error) BlacklistUser(ctx context.Context, request models.UserLogin) error UnBlacklistUser(ctx context.Context, request models.UserLogin) error UpdateUser(ctx context.Context, newData map[string]interface{}) (*models.User, error) PartiallyDeleteUser(ctx context.Context) error CompletelyDeleteUser(ctx context.Context, userID string) error AddBoundAccount(ctx context.Context, request models.OAuthLoginRequest) error DeleteBoundAccount(ctx context.Context, request models.BoundAccountDeleteRequest) error // admin methods AdminCreateUser(ctx context.Context, request models.UserLogin) (*models.UserLogin, error) AdminActivateUser(ctx context.Context, request models.UserLogin) error AdminDeactivateUser(ctx context.Context, request models.UserLogin) error AdminResetPassword(ctx context.Context, request models.UserLogin) (*models.UserLogin, error) AdminSetAdmin(ctx context.Context, request models.UserLogin) error AdminUnsetAdmin(ctx context.Context, request models.UserLogin) error // not changes DB state GetUserLinks(ctx context.Context, userID string) (*models.Links, error) GetUserInfo(ctx context.Context) (*models.User, error) GetUserInfoByID(ctx context.Context, userID string) (*models.User, error) GetUserInfoByLogin(ctx context.Context, login string) (*models.User, error) GetUsersLoginID(ctx context.Context, ids []string) (*models.LoginID, error) GetBlacklistedUsers(ctx context.Context, page int, perPage int) (*models.UserList, error) GetUsers(ctx context.Context, page int, perPage int, filters ...string) (*models.UserList, error) GetBoundAccounts(ctx context.Context) (models.BoundAccounts, error) LinkResend(ctx context.Context, request models.UserLogin) error // checks CheckAdmin(ctx context.Context) error CheckUserExist(ctx context.Context) error // Domain blacklist AddDomainToBlacklist(ctx context.Context, request models.Domain) error RemoveDomainFromBlacklist(ctx context.Context, domain string) error GetBlacklistedDomain(ctx context.Context, domain string) (*models.Domain, error) GetBlacklistedDomainsList(ctx context.Context) (*models.DomainListResponse, error) //User groups GetGroupsList(ctx context.Context, userID string) (*kube_types.UserGroups, error) GetGroup(ctx context.Context, groupID string) (*kube_types.UserGroup, error) GetGroupListLabelID(ctx context.Context, ids []string) (*models.LoginID, error) GetGroupListByIDs(ctx context.Context, ids []string) (*kube_types.UserGroups, error) CreateGroup(ctx context.Context, request kube_types.UserGroup) (*string, error) AddGroupMembers(ctx context.Context, groupID string, request kube_types.UserGroupMembers) error DeleteGroupMember(ctx context.Context, group kube_types.UserGroup, username string) error UpdateGroupMemberAccess(ctx context.Context, group kube_types.UserGroup, username, access string) error DeleteGroup(ctx context.Context, groupID string) error CreateFirstAdmin(password string) error io.Closer }
UserManager is an interface for server "business logic"
Click to show internal directories.
Click to hide internal directories.