File size: 3,554 Bytes
ad87194 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
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)
|