added supabase
This commit is contained in:
57
py_server/handlers/user.py
Normal file
57
py_server/handlers/user.py
Normal file
@@ -0,0 +1,57 @@
|
||||
from fastapi import HTTPException, Header
|
||||
from models import UserValidation, SaveChatToApp
|
||||
from db.supa import SupaService
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
|
||||
supabase = SupaService()
|
||||
|
||||
async def validate_user_handler(user: UserValidation):
|
||||
if user.token is None or user.token == "":
|
||||
raise HTTPException(status_code=400, detail="Token is required")
|
||||
user = supabase.validate_user(user.token)
|
||||
data = user.data
|
||||
|
||||
if len(data) == 0:
|
||||
raise HTTPException(status_code=400, detail="Invalid token")
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
}
|
||||
|
||||
|
||||
async def save_website_handler(body: SaveChatToApp, x_auth_token):
|
||||
try:
|
||||
if x_auth_token is None or x_auth_token == "":
|
||||
raise HTTPException(status_code=400, detail="Token is required")
|
||||
|
||||
user = supabase.validate_user(x_auth_token)
|
||||
data = user.data
|
||||
if len(data) == 0:
|
||||
raise HTTPException(status_code=400, detail="Invalid token")
|
||||
|
||||
soup = BeautifulSoup(body.html, 'lxml')
|
||||
|
||||
title = soup.title.string if soup.title else "Untitled Page"
|
||||
icon = soup.find('link', rel='icon').get('href') if soup.find('link', rel='icon') else None
|
||||
|
||||
iframe = soup.find('iframe', id='pageassist-iframe')
|
||||
if iframe:
|
||||
iframe.decompose()
|
||||
div = soup.find('div', id='pageassist-icon')
|
||||
if div:
|
||||
div.decompose()
|
||||
div = soup.find('div', id='__plasmo-loading__')
|
||||
if div:
|
||||
div.decompose()
|
||||
text = soup.get_text()
|
||||
|
||||
|
||||
result = supabase.save_webiste(html=text, title=title, icon=icon, url=body.url, user_id=data[0]["id"])
|
||||
|
||||
return {
|
||||
"status": "Success"
|
||||
}
|
||||
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=500, detail="Internal server error")
|
||||
Reference in New Issue
Block a user