|
|
|
from core.services.supabase.user_management.user_service import UserManagement |
|
from core.services.supabase.user_management.chatbot_management import SupabaseChatoBotManagement |
|
from core.services.supabase.chat_ai_setup.chataiusermanagement import ChatAIUserDBSetup |
|
from core.services.supabase.user_management.chat_history import get_chat_history |
|
from supabase.client import create_client |
|
from qdrant_client import QdrantClient |
|
import os |
|
|
|
SUPABASE_URL = os.getenv("SUPABASE_URL") |
|
SUPABASE_KEY = os.getenv("SUPABASE_KEY") |
|
|
|
QDRANT_URL = os.getenv("QDRANT_URL") |
|
QDRANT_API_KEY = os.getenv("QDRANT_API_KEY") |
|
|
|
|
|
class SupabaseUserManagementPipeline: |
|
def __init__(self): |
|
self.supabase_client = create_client(SUPABASE_URL, SUPABASE_KEY) |
|
self.qdrant_client = QdrantClient(url=QDRANT_URL, api_key=QDRANT_API_KEY) |
|
self.user_management = UserManagement(supabase_client=self.supabase_client) |
|
self.chatbot_management = SupabaseChatoBotManagement(supabase_client=self.supabase_client, |
|
qdrant_client=self.qdrant_client) |
|
self.user_db_setup = ChatAIUserDBSetup(supabase_client=self.supabase_client) |
|
|
|
def user_signup_(self, username: str,password: str,email:str) -> dict: |
|
return self.user_management.user_signup(username=username, password=password, email=email) |
|
|
|
def user_signin_(self, username: str, password: str,email:str) -> dict: |
|
return self.user_management.user_signin(username=username, password=password,email=email) |
|
|
|
def check_session_(self) -> dict: |
|
return self.user_management.check_session() |
|
|
|
def get_user_data_(self, access_token: str) -> dict: |
|
return self.user_management.get_user_data(access_token=access_token) |
|
|
|
def refresh_session__(self, refresh_token: str) -> dict: |
|
return self.user_management.refresh_session_(refresh_token=refresh_token) |
|
|
|
def login_with_access_token_(self, access_token: str, refresh_token: str) -> dict: |
|
return self.user_management.login_with_access_token(access_token=access_token, refresh_token=refresh_token) |
|
|
|
def username_creation_oauth_(self, username: str, user_id: str): |
|
return self.user_management.user_name_creation_oauth(user_id=user_id, username=username) |
|
|
|
def set_session_data_(self, access_token: str, refresh_token: str, user_id: str): |
|
return self.user_management.set_session_data(access_token=access_token, refresh_token=refresh_token, |
|
user_id=user_id) |
|
|
|
def sign_out_(self): |
|
return self.user_management.sign_out_() |
|
|
|
def oauth_signin_(self) -> dict: |
|
return self.user_management.oauth() |
|
|
|
def new_chatbot_(self, chatbot_name: str, username: str): |
|
return self.chatbot_management.new_chatbot(chatbot_name=chatbot_name, username=username) |
|
|
|
def get_chat_history_(self, vectorstore: str): |
|
return get_chat_history(vectorstore=vectorstore, supabase_client=self.supabase_client) |
|
|
|
def delete_table(self, table_name: str): |
|
return self.chatbot_management.delete_table(table_name=table_name) |
|
|
|
def list_tables(self, username: str): |
|
return self.chatbot_management.list_tables(username=username) |
|
|
|
def create_data_source_name(self, source_name: str, username: str): |
|
return self.chatbot_management.create_data_source_name(source_name=source_name, username=username) |
|
|
|
def delete_qdrant_cluster(self, vectorstorename): |
|
self.qdrant_client.delete_collection(collection_name=vectorstorename) |
|
|
|
|
|
|