106 lines
No EOL
3.7 KiB
Python
106 lines
No EOL
3.7 KiB
Python
from enum import Enum
|
|
from enum import IntEnum
|
|
|
|
class Session:
|
|
def __init__(self, user_id, access_token, refresh_token, access_expires_at, refresh_expires_at):
|
|
self.user_id = user_id
|
|
self.access_token = access_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.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={},refresh_token={},access_expires_at={},refresh_expires_at={})'.format(self.user_id, self.access_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
|
|
|
|
|
|
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
|
|
INVALID_PASSWORD = 421
|
|
INVALID_NEW_PASSWORD = 422
|
|
UNKNOWN_REGISTRATION_TOKEN = 430
|
|
INVALID_OTP = 431
|
|
INVALID_REFRESH_TOKEN = 450
|
|
INVALID_RESET_PASSWORD_TOKEN = 459
|
|
INVALID_REGISTRATION_TOKEN = 460
|
|
UNKNOWN_RESET_PASSWORD_TOKEN = 461 |