Files
medihome-dictionary-be/app/src/settings.py

362 lines
6.9 KiB
Python
Raw Normal View History

2021-07-19 23:02:31 +03:00
from fastapi.security import OAuth2PasswordBearer
from passlib.context import CryptContext
2022-08-08 10:18:10 +07:00
import json
import datetime
from json import JSONEncoder
2021-07-21 08:05:29 +03:00
import os
2021-07-19 23:02:31 +03:00
import motor.motor_asyncio
2022-08-15 10:53:27 +07:00
from dotenv import load_dotenv
from pathlib import Path
dotenv_path = Path('../../.env')
load_dotenv(dotenv_path=dotenv_path)
2021-07-19 23:02:31 +03:00
# ================= Creating necessary variables ========================
2022-08-02 14:25:51 +07:00
# ------------------ Token, authentication variables ---------------------
2021-07-19 23:02:31 +03:00
SECRET_KEY = "4ab5be85c8c56eecdd547f7831979be83de58a6768d10a314f54cda4e4d67ffe"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 30
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
2022-08-15 10:53:27 +07:00
URL_SERVER = os.getenv('URL_SERVER')
2021-07-19 23:02:31 +03:00
2022-08-08 10:18:10 +07:00
class DateTimeEncoder(JSONEncoder):
# Override the default method
def default(self, obj):
if isinstance(obj, (datetime.date, datetime.datetime)):
2022-08-15 10:53:27 +07:00
return obj.isofort()
2022-08-08 10:18:10 +07:00
2022-08-02 14:25:51 +07:00
oauth2_scheme = OAuth2PasswordBearer(
tokenUrl="https://sandboxapi.ebacsi.com.vn/auth/oauth/token")
2022-08-04 14:48:50 +07:00
ROLE_PUBLIC = "PUBLIC"
2022-08-02 14:25:51 +07:00
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",
}
]
2021-07-19 23:02:31 +03:00
2022-08-15 10:53:27 +07:00
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',
},
]
2022-08-02 14:25:51 +07:00
# ----------------- Database variables (MongoDB) --------------------------
2021-07-21 08:05:29 +03:00
client = motor.motor_asyncio.AsyncIOMotorClient(os.environ["DB_URL"])
2022-08-02 14:25:51 +07:00
db = client.myTestDB