Files
medihome-dictionary-be/app/src/settings.py
2022-08-15 10:53:27 +07:00

362 lines
6.9 KiB
Python

from fastapi.security import OAuth2PasswordBearer
from passlib.context import CryptContext
import json
import datetime
from json import JSONEncoder
import os
import motor.motor_asyncio
from dotenv import load_dotenv
from pathlib import Path
dotenv_path = Path('../../.env')
load_dotenv(dotenv_path=dotenv_path)
# ================= Creating necessary variables ========================
# ------------------ Token, authentication variables ---------------------
SECRET_KEY = "4ab5be85c8c56eecdd547f7831979be83de58a6768d10a314f54cda4e4d67ffe"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 30
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
URL_SERVER = os.getenv('URL_SERVER')
class DateTimeEncoder(JSONEncoder):
# Override the default method
def default(self, obj):
if isinstance(obj, (datetime.date, datetime.datetime)):
return obj.isofort()
oauth2_scheme = OAuth2PasswordBearer(
tokenUrl="https://sandboxapi.ebacsi.com.vn/auth/oauth/token")
ROLE_PUBLIC = "PUBLIC"
ROLE_ORG = [
{
"name": "ORG_USER",
"comment": "Bệnh nhân",
},
{
"name": "ORG_OPERATOR",
"comment": "CSKH hệ thống",
},
{
"name": "DOCTOR",
"comment": "Bác sĩ",
},
{
"name": "ORG_EXTERNAL",
"comment": "Tích hợp",
},
{
"name": "SITE_CASHIER",
"comment": "Thu ngân, thẩm định",
},
{
"name": "SITE_RECEIPTION",
"comment": "Lễ tân",
},
{
"name": "ORG_UTILS",
"comment": "SYSTEM",
},
{
"name": "SITE_ADMIN",
"comment": "Quản trị viên tại CSYT",
},
{
"name": "SITE_OPERATOR",
"comment": "CSKH tại CSYT",
},
{
"name": "SITE_INTEGRATION",
"comment": "Tài khoản tích hợp",
},
{
"name": "ORG_ADMIN",
"comment": "Quản trị hệ thống",
},
{
"name": "ORG_DICTIONARY",
"comment": "For Medihome Dictionary",
}
]
KHOA = [
{
"name": 'Khoa Khám bệnh',
"count": 0,
"id": 'K01',
},
{
"name": 'Khoa Hồi sức cấp cứu',
"count": 0,
"id": 'K02',
},
{
"name": 'Khoa Nội tổng hợp',
"count": 0,
"id": 'K03',
},
{
"name": 'Khoa Nội tim mạch',
"count": 0,
"id": 'K04',
},
{
"name": 'Khoa Nội tiêu hoá',
"count": 0,
"id": 'K05',
},
{
"name": 'Khoa Nội cơ - xương - khớp',
"count": 0,
"id": 'K06',
},
{
"name": 'Khoa Nội thận - tiết niệu',
"count": 0,
"id": 'K07',
},
{
"name": 'Khoa Nội tiết',
"count": 0,
"id": 'K08',
},
{
"name": 'Khoa Dị ứng',
"count": 0,
"id": 'K09',
},
{
"name": 'Khoa Huyết học lâm sàng',
"count": 0,
"id": 'K10',
},
{
"name": 'Khoa Nội thận - tiết niệu',
"count": 0,
"id": 'K11',
},
{
"name": 'Khoa Truyền nhiễm',
"count": 0,
"id": 'K12',
},
{
"name": 'Khoa Lao',
"count": 0,
"id": 'K13',
},
{
"name": 'Khoa Da liễu',
"count": 0,
"id": 'K14',
},
{
"name": 'Khoa Thần kinh',
"count": 0,
"id": 'K15',
},
{
"name": 'Khoa Tâm thần',
"count": 0,
"id": 'K16',
},
{
"name": 'Khoa Y học cổ truyền',
"count": 0,
"id": 'K17',
},
{
"name": 'Khoa Lão học',
"count": 0,
"id": 'K18',
},
{
"name": 'Khoa Nhi',
"count": 0,
"id": 'K19',
},
{
"name": 'Khoa Ngoại tổng hợp',
"count": 0,
"id": 'K20',
},
{
"name": 'Khoa Ngoại thần kinh',
"count": 0,
"id": 'K21',
},
{
"name": 'Khoa Ngoại lồng ngực',
"count": 0,
"id": 'K22',
},
{
"name": 'Khoa Ngoại tiêu hoá',
"count": 0,
"id": 'K23',
},
{
"name": 'Khoa Ngoại thận - tiết niệu',
"count": 0,
"id": 'K24',
},
{
"name": 'Khoa Chấn thương chỉnh hình',
"count": 0,
"id": 'K25',
},
{
"name": 'Khoa Bỏng',
"count": 0,
"id": 'K26',
},
{
"name": 'Khoa Phụ sản',
"count": 0,
"id": 'K27',
},
{
"name": 'Khoa Tai - Mũi - Họng',
"count": 0,
"id": 'K28',
},
{
"name": 'Khoa Răng - Hàm - Mặt',
"count": 0,
"id": 'K29',
},
{
"name": 'Khoa Mắt',
"count": 0,
"id": 'K30',
},
{
"name": 'Khoa Vật lý trị liệu - Phục hồi chức năng',
"count": 0,
"id": 'K31',
},
{
"name": 'Khoa Y học hạt nhân',
"count": 0,
"id": 'K32',
},
{
"name": 'Khoa Ung bướu (điều trị tia xạ)',
"count": 0,
"id": 'K33',
},
{
"name": 'Khoa Truyền máu',
"count": 0,
"id": 'K34',
},
{
"name": 'Khoa Lọc máu nhân tạo',
"count": 0,
"id": 'K35',
},
{
"name": 'Khoa Huyết học',
"count": 0,
"id": 'K36',
},
{
"name": 'Khoa Sinh hoá',
"count": 0,
"id": 'K37',
},
{
"name": 'Khoa Vi sinh',
"count": 0,
"id": 'K38',
},
{
"name": 'Khoa Chẩn đoán hình ảnh',
"count": 0,
"id": 'K39',
},
{
"name": 'Khoa Thăm dò chức năng',
"count": 0,
"id": 'K40',
},
{
"name": 'Khoa Nội soi',
"count": 0,
"id": 'K41',
},
{
"name": 'Khoa Giải phẫu bệnh',
"count": 0,
"id": 'K42',
},
{
"name": 'Khoa Chống nhiễm khuẩn',
"count": 0,
"id": 'K43',
},
{
"name": 'Khoa Dược',
"count": 0,
"id": 'K44',
},
{
"name": 'Khoa Dinh dưỡng',
"count": 0,
"id": 'K45',
},
{
"name": 'Khoa Sinh học phân tử',
"count": 0,
"id": 'K46',
},
{
"name": 'Khoa Xét nghiệm',
"count": 0,
"id": 'K47',
},
{
"name": 'Khoa hồi sức tích cực',
"count": 0,
"id": 'K48',
},
{
"name": 'Khoa Chống độc',
"count": 0,
"id": 'K49',
},
{
"name": 'Khoa Nội hô hấp',
"count": 0,
"id": 'K50',
},
]
# ----------------- Database variables (MongoDB) --------------------------
client = motor.motor_asyncio.AsyncIOMotorClient(os.environ["DB_URL"])
db = client.myTestDB