new api service and logic implemented
This commit is contained in:
18
ApiLayers/AllConfigs/Email/configs.py
Normal file
18
ApiLayers/AllConfigs/Email/configs.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from AllConfigs import HostConfig
|
||||
|
||||
|
||||
class EmailConfig:
|
||||
EMAIL_HOST: str = HostConfig.EMAIL_HOST
|
||||
EMAIL_USERNAME: str = "karatay@mehmetkaratay.com.tr"
|
||||
EMAIL_PASSWORD: str = "system"
|
||||
EMAIL_PORT: int = 587
|
||||
EMAIL_SEND: bool = False
|
||||
|
||||
@classmethod
|
||||
def as_dict(cls):
|
||||
return dict(
|
||||
host=EmailConfig.EMAIL_HOST,
|
||||
port=EmailConfig.EMAIL_PORT,
|
||||
username=EmailConfig.EMAIL_USERNAME,
|
||||
password=EmailConfig.EMAIL_PASSWORD,
|
||||
)
|
||||
13
ApiLayers/AllConfigs/Email/email_send_model.py
Normal file
13
ApiLayers/AllConfigs/Email/email_send_model.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import List, Dict, Optional
|
||||
|
||||
|
||||
class EmailSendModel(BaseModel):
|
||||
subject: str
|
||||
html: str = ""
|
||||
receivers: List[str]
|
||||
text: Optional[str] = ""
|
||||
cc: Optional[List[str]] = None
|
||||
bcc: Optional[List[str]] = None
|
||||
headers: Optional[Dict] = None
|
||||
attachments: Optional[Dict] = None
|
||||
10
ApiLayers/AllConfigs/NoSqlDatabase/configs.py
Normal file
10
ApiLayers/AllConfigs/NoSqlDatabase/configs.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from AllConfigs import HostConfig
|
||||
|
||||
|
||||
class MongoConfig:
|
||||
PASSWORD = "mongo_password"
|
||||
USER_NAME = "mongo_user"
|
||||
DATABASE_NAME = "mongo_database"
|
||||
HOST = HostConfig.MAIN_HOST
|
||||
PORT = 11777
|
||||
URL = f"mongodb://{USER_NAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE_NAME}?retryWrites=true&w=majority"
|
||||
29
ApiLayers/AllConfigs/Redis/configs.py
Normal file
29
ApiLayers/AllConfigs/Redis/configs.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from AllConfigs import HostConfig
|
||||
|
||||
|
||||
class WagRedis:
|
||||
REDIS_HOST = HostConfig.MAIN_HOST
|
||||
REDIS_PASSWORD: str = "commercial_redis_password"
|
||||
REDIS_PORT: int = 11222
|
||||
REDIS_DB: int = 0
|
||||
|
||||
@classmethod
|
||||
def as_dict(cls):
|
||||
return dict(
|
||||
host=WagRedis.REDIS_HOST,
|
||||
password=WagRedis.REDIS_PASSWORD,
|
||||
port=WagRedis.REDIS_PORT,
|
||||
db=WagRedis.REDIS_DB,
|
||||
)
|
||||
|
||||
class RedisCategoryKeys:
|
||||
LANGUAGE_MODELS: str = "LANGUAGE_MODELS"
|
||||
VALIDATION_USER: str = "VALIDATION_USER"
|
||||
CLUSTER_FUNCTION_CODES: str = "CLUSTER_FUNCTION_CODES"
|
||||
METHOD_FUNCTION_CODES: str = "METHOD_FUNCTION_CODES"
|
||||
MENU_FIRST_LAYER: str = "MENU_FIRST_LAYER"
|
||||
PAGE_MAPPER: str = "PAGE_MAPPER"
|
||||
MENU_MAPPER: str = "MENU_MAPPER"
|
||||
AUTH: str = "AUTH"
|
||||
OCC: str = "Occupant"
|
||||
EMP: str = "Employee"
|
||||
17
ApiLayers/AllConfigs/SqlDatabase/configs.py
Normal file
17
ApiLayers/AllConfigs/SqlDatabase/configs.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from AllConfigs import HostConfig
|
||||
|
||||
|
||||
class WagDatabase:
|
||||
HOST: str = HostConfig.MAIN_HOST
|
||||
PORT: str = "5444"
|
||||
SQL: str = "postgresql+psycopg2"
|
||||
USERNAME: str = "berkay_wag_user"
|
||||
PASSWORD: str = "berkay_wag_user_password"
|
||||
DATABASE_NAME: str = "wag_database"
|
||||
DATABASE_URL: str = f"{SQL}://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE_NAME}"
|
||||
|
||||
|
||||
class PaginateConfig:
|
||||
DEFAULT_SIZE = 10
|
||||
MIN_SIZE = 10
|
||||
MAX_SIZE = 50
|
||||
71
ApiLayers/AllConfigs/Token/config.py
Normal file
71
ApiLayers/AllConfigs/Token/config.py
Normal file
@@ -0,0 +1,71 @@
|
||||
import datetime
|
||||
|
||||
|
||||
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 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)
|
||||
|
||||
|
||||
class Routers:
|
||||
NO_TOKEN_REQUIRES = [
|
||||
"/",
|
||||
"/metrics",
|
||||
"/openapi.json",
|
||||
"/docs",
|
||||
"/redoc",
|
||||
"/auth/login",
|
||||
"/favicon.ico",
|
||||
"/docs/oauth2-redirect",
|
||||
"/authentication/select",
|
||||
"/authentication/login",
|
||||
"/authentication/logout",
|
||||
"/authentication/refresher",
|
||||
"/authentication/refresh",
|
||||
"/authentication/disconnect",
|
||||
"/authentication/create_password",
|
||||
"/authentication/reset_password",
|
||||
"/authentication/forgot",
|
||||
"/authentication/valid",
|
||||
]
|
||||
NO_EVENT_REQUIRES = [
|
||||
"/access/endpoints/available",
|
||||
"/access/endpoint/available",
|
||||
"/validations/endpoint",
|
||||
"/authentication/avatar",
|
||||
]
|
||||
3
ApiLayers/AllConfigs/__init__.py
Normal file
3
ApiLayers/AllConfigs/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from .main import HostConfig
|
||||
|
||||
__all__ = ["HostConfig"]
|
||||
19
ApiLayers/AllConfigs/main.py
Normal file
19
ApiLayers/AllConfigs/main.py
Normal file
@@ -0,0 +1,19 @@
|
||||
class HostConfig:
|
||||
MAIN_HOST = "10.10.2.36" # http://10.10.2.36
|
||||
EMAIL_HOST = "10.10.2.34" # http://10.10.2.34
|
||||
|
||||
|
||||
class MainConfig:
|
||||
|
||||
APP_NAME = "evyos-web-api-gateway"
|
||||
TITLE = "WAG API Web Api Gateway"
|
||||
DESCRIPTION = "This api is serves as web api gateway only to evyos web services."
|
||||
APP_URL = "https://www.wag.eys.gen.tr"
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user