117 lines
3.5 KiB
Python
117 lines
3.5 KiB
Python
import datetime
|
|
|
|
class DefaultApiConfig:
|
|
app: str
|
|
host: str
|
|
port: int
|
|
log_level: str
|
|
reload: bool
|
|
|
|
@classmethod
|
|
def as_dict(cls):
|
|
return {
|
|
"app": cls.app,
|
|
"host": cls.host,
|
|
"port": int(cls.port),
|
|
"log_level": cls.log_level,
|
|
"reload": bool(cls.reload),
|
|
}
|
|
|
|
|
|
|
|
class ApiConfigs:
|
|
"""Base class for all configurations."""
|
|
|
|
SECRET: str = "59f871a2d2194e96adb36b279d2cc21059f871a2d2194e96adb36b279d2cc21059f871a2d2194e96adb36b279d2cc210s"
|
|
ACCESS_TIME: int = 432000
|
|
REFRESH_TIME: int = 864000
|
|
DEFAULT_SIZE: int = 10
|
|
MIN_SIZE: int = 5
|
|
MAX_SIZE: int = 50
|
|
ACCESS_TOKEN_TAG: str = "Authorization"
|
|
REFRESH_TOKEN_TAG: str = "Refresher"
|
|
ACCESS_TOKEN_LENGTH: int = 72
|
|
REFRESH_TOKEN_LENGTH: int = 128
|
|
|
|
|
|
class ApiStatic:
|
|
PLACEHOLDER = "https://s.tmimgcdn.com/scr/800x500/276800/building-home-nature-logo-vector-template-3_276851-original.jpg"
|
|
FORGOT_LINK = "https://www.evyos.com.tr/password/create?tokenUrl="
|
|
BLACKLIST_LINK = "https://www.evyos.com.tr/support/unknown-login-notice/"
|
|
APP_DIR = "/home/berkay/git-evyos/api-managment-backend/"
|
|
|
|
@classmethod
|
|
def forgot_link(cls, forgot_key):
|
|
return cls.FORGOT_LINK + forgot_key
|
|
|
|
@classmethod
|
|
def blacklist_login(cls, record_id):
|
|
return cls.BLACKLIST_LINK + record_id
|
|
|
|
|
|
class MainConfig:
|
|
|
|
# Date and Time Configuration
|
|
DATETIME_FORMAT = "YYYY-MM-DD HH:mm:ss Z"
|
|
DATETIME_FORMAT_JS = "YYYY-MM-DD HH:mm:ss +0"
|
|
|
|
# Timezone Configuration
|
|
DEFAULT_TIMEZONE = "GMT+3" # Default timezone for the application
|
|
SYSTEM_TIMEZONE = "GMT+0" # System timezone (used for internal operations)
|
|
SUPPORTED_TIMEZONES = ["GMT+0", "GMT+3"] # List of supported timezones
|
|
|
|
|
|
class LanguageConfig:
|
|
|
|
SUPPORTED_LANGUAGES = ["en", "tr"]
|
|
DEFAULT_LANGUAGE = "tr"
|
|
|
|
|
|
class ValidationsConfig:
|
|
|
|
SUPPORTED_VALIDATIONS = ["header", "validation", "all"]
|
|
DEFAULT_VALIDATION = "all"
|
|
|
|
|
|
class ApiConfig(DefaultApiConfig):
|
|
# Application Information
|
|
APP_NAME = "evyos-auth-api-gateway"
|
|
TITLE = "WAG API Auth Api Gateway"
|
|
DESCRIPTION = (
|
|
"This api is serves as web auth api gateway only to evyos web services."
|
|
)
|
|
APP_URL = "https://www.auth.eys.gen.tr"
|
|
|
|
# Server Configuration
|
|
app = "app:app"
|
|
host = "0.0.0.0"
|
|
port = 41575
|
|
log_level = "info"
|
|
reload = True
|
|
|
|
|
|
class Auth:
|
|
ACCESS_EMAIL_EXT = "evyos.com.tr"
|
|
ACCESS_TOKEN_TAG = "evyos-session-key"
|
|
REFRESHER_TOKEN_TAG = "eys-session-refresher"
|
|
SECRET_KEY_72 = (
|
|
"t3sUAmjTGeTgDc6dAUrB41u2SNg0ZHzj4HTjem95y3fRH1nZXOHIBj163kib6iLybT0gLaxq"
|
|
)
|
|
SECRET_KEY_96 = "7ct8VpiwaP1hR2bVSet4dEEAgepuTZUOnO1QxOgKyDqBR2PkqNhcubSrbUUigQKoQA1PBoeeQn5ZCo24pESmVtKs76nA4EKq"
|
|
SECRET_KEY_144 = (
|
|
"R2p5Rq6KCr6PCfjFYUeH1keF2VWHFEuqINVjBGGnvRA2m10pYUKqfOtIGBcaj2v5wZmElDndzSHGOS7roQsoTelPSok0"
|
|
+ "qqMucurMWE0FGexGpFuJkfPEm9tH2OjMOqegvEetpSVywH0W4Kh4"
|
|
)
|
|
|
|
ALGORITHM = "HS256"
|
|
ACCESS_TOKEN_LENGTH: int = 90
|
|
REFRESHER_TOKEN_LENGTH: int = 144
|
|
PASSWORD_EXPIRE_DAY = datetime.timedelta(days=30)
|
|
TOKEN_EXPIRE_MINUTES_1 = datetime.timedelta(minutes=1)
|
|
TOKEN_EXPIRE_MINUTES_15 = datetime.timedelta(minutes=15)
|
|
TOKEN_EXPIRE_MINUTES_30 = datetime.timedelta(minutes=30)
|
|
TOKEN_EXPIRE_DAY_1 = datetime.timedelta(days=1)
|
|
TOKEN_EXPIRE_DAY_5 = datetime.timedelta(days=5)
|
|
TOKEN_EXPIRE_DAY_15 = datetime.timedelta(days=15)
|
|
TOKEN_EXPIRE_DAY_30 = datetime.timedelta(days=30)
|