""" AUTHOR: Khushal P Soonderji DATE: Wednesday, 27th Nov., 2024 OBJECTIVE: To define the interaction between the UI layer and the database connectivity in one place. Here we shall handle all the activities for OAuth2.0 authorization requests for all the users of our service. REFERENCES: N/A DOWNLOADS: N/A """ # ***************************************************************************************************************** # ***** **** # *** IMPORT *** # ***** **** # ***************************************************************************************************************** # To make sibling directories accessible for imports: import sys sys.path.append(".") sys.path.append("..") # My async utils: from utils_v2.string import json from utils_v2.date_time import date_time from utils_v2.database.async_mysql_v2 import AsyncMySQL from utils_v2.database.async_mongo_v2 import AsyncMongo # Base model: from models.behaviour.base import BaseModel # To work with MongoDB: from bson import ObjectId # To work with datatypes: from typing import Literal # To make deep-copies: import copy # ***************************************************************************************************************** # ***** **** # *** MACROS / ONE-TIME INIT *** # ***** **** # ***************************************************************************************************************** # --- Nothing Yet # ***************************************************************************************************************** # ***** **** # *** VARIABLES *** # ***** **** # ***************************************************************************************************************** # --- Nothing Yet # ***************************************************************************************************************** # ***** **** # *** FUNCTIONS *** # ***** **** # ***************************************************************************************************************** # --- Nothing Yet # ***************************************************************************************************************** # ***** **** # *** CLASSES *** # ***** **** # ***************************************************************************************************************** class MailReadModel(BaseModel): AUTH_COLLECTION = "_authTokens" async def read_one( self, db_conn: AsyncMySQL, mongo_conn: AsyncMongo, user_info: dict, service_type: Literal["email", "chat"], service_client: Literal["gmail"], auth_type: Literal["oauth"], session_token: str = None ) -> ObjectId: pass # ***************************************************************************************************************** # ***** **** # *** MAIN PROGRAM *** # ***** **** # ***************************************************************************************************************** if __name__ == "__main__": pass