plynx.db.user

User DB Object and utils

Module Contents

plynx.db.user.DEFAULT_POLICIES[source]
plynx.db.user.JWT_ENCODE_ALGORITHM = HS256[source]
class plynx.db.user.UserSettings[source]

Bases: plynx.db.db_object.DBObject

User Settings structure.

display_name :str =[source]
picture :str =[source]
class plynx.db.user.User[source]

Bases: plynx.db.db_object.DBObject

Basic User class with db interface.

DB_COLLECTION[source]
_id :ObjectId[source]
username :str =[source]
email :Optional[str] =[source]
password_hash :str =[source]
active :bool = True[source]
policies :List[str][source]
settings :UserSettings[source]
hash_password(self, password: str)[source]

Change password.

Args:
password (str) Real password string
verify_password(self, password: str)[source]

Verify password.

Args:
password (str) Real password string
Return:
(bool) True if password matches else False
check_role(self, role: str)[source]

Check if the user has a given role

static find_users()[source]

Get all the users

generate_token(self, token_type: str, expiration: int = 600)[source]

Generate a token.

Args:
token_type (str) Either TokenType.ACCESS_TOKEN, or TokenType.REFRESH_TOKEN expiration (int) Time to Live (TTL) in sec
Return:
(str) Secured token
static verify_auth_token(token: str)[source]

Verify token.

Args:
token (str) Token
Return:
(User) User object or None
class plynx.db.user.UserCollectionManager[source]

User Manger

static find_user_by_name(username: str)[source]

Find User.

Args:
username (str) Username
Return:
(User) User object or None
static find_user_by_email(email: str)[source]

Find User.

Args:
email (str) Email
Return:
(User) User object or None
static get_users(search: str = '', per_page: int = 20, offset: int = 0)[source]

Get a list of users