flask-home-vod/server/flask/application/backend/data/data_models.py
Gergely Hegedus 1f06c40c4c Add Media-Token beside access token
Media-Token can be used only to access the content, but unable to modify user data
2023-03-27 19:13:13 +03:00

115 lines
No EOL
4.1 KiB
Python

from enum import Enum
from enum import IntEnum
class Session:
def __init__(self, user_id, access_token, media_token, refresh_token, access_expires_at, refresh_expires_at):
self.user_id = user_id
self.access_token = access_token
self.media_token = media_token
self.refresh_token = refresh_token
self.access_expires_at = access_expires_at
self.refresh_expires_at = refresh_expires_at
def __eq__(self, other):
if not isinstance(other, Session):
return False
return self.user_id == other.user_id \
and self.access_token == other.access_token \
and self.media_token == other.media_token \
and self.refresh_token == other.refresh_token \
and self.access_expires_at == other.access_expires_at \
and self.refresh_expires_at == other.refresh_expires_at \
def __str__(self):
return 'Session(user_id={},access_token={},media_token={},refresh_token={},access_expires_at={},refresh_expires_at={})'.format(self.user_id, self.access_token, self.media_token, self.refresh_token, self.access_expires_at, self.refresh_expires_at)
def __repr__(self):
return self.__str__()
class RegisteringUser:
def __init__(self, name, password, otp_secret, privileged = False, was_otp_verified = False):
self.name = name
self.password = password
self.otp_secret = otp_secret
self.privileged = privileged
self.was_otp_verified = was_otp_verified
def __eq__(self, other):
if not isinstance(other, User):
return False
return self.name == other.name \
and self.password == other.password \
and self.otp_secret == other.otp_secret \
and self.privileged == other.privileged \
and self.was_otp_verified == other.was_otp_verified \
def __str__(self):
return 'User(name={},pass={},otp={},privileged={},otp_active={})'\
.format(self.name, self.password, self.otp_secret, self.privileged, self.was_otp_verified)
def __repr__(self):
return self.__str__()
class User:
def __init__(self, id, name, otp_secret, privileged, was_otp_verified):
self.id = id
self.name = name
self.otp_secret = otp_secret
self.privileged = privileged
self.was_otp_verified = was_otp_verified
def __eq__(self, other):
if not isinstance(other, User):
return False
return self.id == other.id \
and self.name == other.name \
and self.otp_secret == other.otp_secret \
and self.privileged == other.privileged \
and self.was_otp_verified == other.was_otp_verified \
def __str__(self):
return 'User(id={},name={},otp={},privileged={},otp_active={})'\
.format(self.id, self.name, self.otp_secret, self.privileged, self.was_otp_verified)
def __repr__(self):
return self.__str__()
class DataError(Enum):
USER_NAME_NOT_VALID = 1
REGISTRATION_CODE_ALREADY_EXISTS = 2
class ResponseCode(IntEnum):
SUCCESS_FOUND_USER = 200
SUCCESS_SAVED_PASSWORD = 201
SUCCESS_SAVED_USER_FILE_METADATA = 202
SUCCESS_SAVED_FILE_METADATA = 203
SUCCESS_SAVED_REGISTRATION_TOKEN = 205
SUCCESS_DELETED_USER = 206
SUCCESS_RESET_OTP_VERIFICATION = 207
SUCCESS_SAVED_RESET_PASSWORD_TOKEN = 208
SUCCESS_DELETED_TOKEN = 209
SUCCESS_MEDIA_ACCESS = 220
EMPTY_USERNAME = 410
ALREADY_TAKEN_USERNAME = 411
NOT_FOUND_USER = 412
INVALID_USERNAME_TO_EDIT = 413
CANT_SAVE_USER_FILE_METADATA = 414
CANT_SAVE_FILE_METADATA = 415
INVALID_FILE_KEY = 416
EMPTY_PASSWORD = 420
INVALID_PASSWORD = 421
INVALID_NEW_PASSWORD = 422
UNKNOWN_REGISTRATION_TOKEN = 430
INVALID_OTP = 431
MISSING_AUTHORIZATION = 440
INVALID_AUTHORIZATION = 441
UNASSOCIATED_AUTHORIZATION = 442
MISSING_MEDIA_AUTHORIZATION = 443
INVALID_MEDIA_AUTHORIZATION = 444
INVALID_REFRESH_TOKEN = 450
INVALID_RESET_PASSWORD_TOKEN = 459
INVALID_REGISTRATION_TOKEN = 460
UNKNOWN_RESET_PASSWORD_TOKEN = 461