mirror of
https://github.com/StanGirard/quivr.git
synced 2024-12-24 20:03:41 +03:00
refactor: fix bad smells (#1399)
# Description Please include a summary of the changes and the related issue. Please also include relevant motivation and context. ## Checklist before requesting a review Please delete options that are not relevant. - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my code - [ ] I have commented hard-to-understand areas - [ ] I have ideally added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged ## Screenshots (if appropriate):
This commit is contained in:
parent
21e226ed6e
commit
82bcf38b16
@ -20,7 +20,6 @@ async def verify_api_key(
|
|||||||
result.data[0]["creation_time"], "%Y-%m-%dT%H:%M:%S"
|
result.data[0]["creation_time"], "%Y-%m-%dT%H:%M:%S"
|
||||||
).date()
|
).date()
|
||||||
|
|
||||||
# Check if the API key was created in the month of the current date
|
|
||||||
if (api_key_creation_date.month == current_date.month) and (
|
if (api_key_creation_date.month == current_date.month) and (
|
||||||
api_key_creation_date.year == current_date.year
|
api_key_creation_date.year == current_date.year
|
||||||
):
|
):
|
||||||
@ -35,7 +34,6 @@ async def get_user_from_api_key(
|
|||||||
) -> UserIdentity:
|
) -> UserIdentity:
|
||||||
supabase_db = get_supabase_db()
|
supabase_db = get_supabase_db()
|
||||||
|
|
||||||
# Lookup the user_id from the api_keys table
|
|
||||||
user_id_data = supabase_db.get_user_id_by_api_key(api_key)
|
user_id_data = supabase_db.get_user_id_by_api_key(api_key)
|
||||||
|
|
||||||
if not user_id_data.data:
|
if not user_id_data.data:
|
||||||
@ -43,7 +41,6 @@ async def get_user_from_api_key(
|
|||||||
|
|
||||||
user_id = user_id_data.data[0]["user_id"]
|
user_id = user_id_data.data[0]["user_id"]
|
||||||
|
|
||||||
# Lookup the email from the users table. Todo: remove and use user_id for credentials
|
|
||||||
email = supabase_db.get_user_email(user_id)
|
email = supabase_db.get_user_email(user_id)
|
||||||
|
|
||||||
return UserIdentity(email=email, id=user_id)
|
return UserIdentity(email=email, id=user_id)
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
from utils import handle_request_validation_error
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# import needed here when running main.py to debug backend
|
# import needed here when running main.py to debug backend
|
||||||
# you will need to run pip install python-dotenv
|
# you will need to run pip install python-dotenv
|
||||||
@ -7,8 +9,7 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
from fastapi import FastAPI, HTTPException, Request, status
|
from fastapi import FastAPI, HTTPException
|
||||||
from fastapi.exceptions import RequestValidationError
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from logger import get_logger
|
from logger import get_logger
|
||||||
from middlewares.cors import add_cors_middleware
|
from middlewares.cors import add_cors_middleware
|
||||||
@ -40,24 +41,6 @@ async def http_exception_handler(_, exc):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# log more details about validation errors (422)
|
|
||||||
def handle_request_validation_error(app: FastAPI):
|
|
||||||
@app.exception_handler(RequestValidationError)
|
|
||||||
async def validation_exception_handler(
|
|
||||||
request: Request, exc: RequestValidationError
|
|
||||||
):
|
|
||||||
exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
|
|
||||||
logger.error(request, exc_str)
|
|
||||||
content = {
|
|
||||||
"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY,
|
|
||||||
"message": exc_str,
|
|
||||||
"data": None,
|
|
||||||
}
|
|
||||||
return JSONResponse(
|
|
||||||
content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
handle_request_validation_error(app)
|
handle_request_validation_error(app)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
from utils import handle_request_validation_error
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# import needed here when running main.py to debug backend
|
# import needed here when running main.py to debug backend
|
||||||
# you will need to run pip install python-dotenv
|
# you will need to run pip install python-dotenv
|
||||||
@ -7,8 +9,7 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
from fastapi import FastAPI, HTTPException, Request, status
|
from fastapi import FastAPI, HTTPException
|
||||||
from fastapi.exceptions import RequestValidationError
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from logger import get_logger
|
from logger import get_logger
|
||||||
from middlewares.cors import add_cors_middleware
|
from middlewares.cors import add_cors_middleware
|
||||||
@ -41,24 +42,6 @@ async def http_exception_handler(_, exc):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# log more details about validation errors (422)
|
|
||||||
def handle_request_validation_error(app: FastAPI):
|
|
||||||
@app.exception_handler(RequestValidationError)
|
|
||||||
async def validation_exception_handler(
|
|
||||||
request: Request, exc: RequestValidationError
|
|
||||||
):
|
|
||||||
exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
|
|
||||||
logger.error(request, exc_str)
|
|
||||||
content = {
|
|
||||||
"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY,
|
|
||||||
"message": exc_str,
|
|
||||||
"data": None,
|
|
||||||
}
|
|
||||||
return JSONResponse(
|
|
||||||
content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
handle_request_validation_error(app)
|
handle_request_validation_error(app)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
from utils import handle_request_validation_error
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# import needed here when running main.py to debug backend
|
# import needed here when running main.py to debug backend
|
||||||
# you will need to run pip install python-dotenv
|
# you will need to run pip install python-dotenv
|
||||||
@ -8,8 +10,7 @@ if __name__ == "__main__":
|
|||||||
load_dotenv()
|
load_dotenv()
|
||||||
import pypandoc
|
import pypandoc
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
from fastapi import FastAPI, HTTPException, Request, status
|
from fastapi import FastAPI, HTTPException
|
||||||
from fastapi.exceptions import RequestValidationError
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from logger import get_logger
|
from logger import get_logger
|
||||||
from middlewares.cors import add_cors_middleware
|
from middlewares.cors import add_cors_middleware
|
||||||
@ -30,8 +31,9 @@ from routes.contact_routes import router as contact_router
|
|||||||
|
|
||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
if (os.getenv("DEV_MODE") == "true"):
|
if os.getenv("DEV_MODE") == "true":
|
||||||
import debugpy
|
import debugpy
|
||||||
|
|
||||||
logger.debug("👨💻 Running in dev mode")
|
logger.debug("👨💻 Running in dev mode")
|
||||||
debugpy.listen(("0.0.0.0", 5678))
|
debugpy.listen(("0.0.0.0", 5678))
|
||||||
|
|
||||||
@ -79,24 +81,6 @@ async def http_exception_handler(_, exc):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# log more details about validation errors (422)
|
|
||||||
def handle_request_validation_error(app: FastAPI):
|
|
||||||
@app.exception_handler(RequestValidationError)
|
|
||||||
async def validation_exception_handler(
|
|
||||||
request: Request, exc: RequestValidationError
|
|
||||||
):
|
|
||||||
exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
|
|
||||||
logger.error(request, exc_str)
|
|
||||||
content = {
|
|
||||||
"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY,
|
|
||||||
"message": exc_str,
|
|
||||||
"data": None,
|
|
||||||
}
|
|
||||||
return JSONResponse(
|
|
||||||
content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
handle_request_validation_error(app)
|
handle_request_validation_error(app)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
from utils import handle_request_validation_error
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# import needed here when running main.py to debug backend
|
# import needed here when running main.py to debug backend
|
||||||
# you will need to run pip install python-dotenv
|
# you will need to run pip install python-dotenv
|
||||||
@ -8,8 +10,7 @@ if __name__ == "__main__":
|
|||||||
load_dotenv()
|
load_dotenv()
|
||||||
import pypandoc
|
import pypandoc
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
from fastapi import FastAPI, HTTPException, Request, status
|
from fastapi import FastAPI, HTTPException
|
||||||
from fastapi.exceptions import RequestValidationError
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from logger import get_logger
|
from logger import get_logger
|
||||||
from middlewares.cors import add_cors_middleware
|
from middlewares.cors import add_cors_middleware
|
||||||
@ -49,24 +50,6 @@ async def http_exception_handler(_, exc):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# log more details about validation errors (422)
|
|
||||||
def handle_request_validation_error(app: FastAPI):
|
|
||||||
@app.exception_handler(RequestValidationError)
|
|
||||||
async def validation_exception_handler(
|
|
||||||
request: Request, exc: RequestValidationError
|
|
||||||
):
|
|
||||||
exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
|
|
||||||
logger.error(request, exc_str)
|
|
||||||
content = {
|
|
||||||
"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY,
|
|
||||||
"message": exc_str,
|
|
||||||
"data": None,
|
|
||||||
}
|
|
||||||
return JSONResponse(
|
|
||||||
content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
handle_request_validation_error(app)
|
handle_request_validation_error(app)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
from .handle_request_validation_error import handle_request_validation_error
|
23
backend/utils/handle_request_validation_error.py
Normal file
23
backend/utils/handle_request_validation_error.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
from fastapi import FastAPI, Request, status
|
||||||
|
from fastapi.exceptions import RequestValidationError
|
||||||
|
from fastapi.responses import JSONResponse
|
||||||
|
from logger import get_logger
|
||||||
|
|
||||||
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def handle_request_validation_error(app: FastAPI):
|
||||||
|
@app.exception_handler(RequestValidationError)
|
||||||
|
async def validation_exception_handler(
|
||||||
|
request: Request, exc: RequestValidationError
|
||||||
|
):
|
||||||
|
exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
|
||||||
|
logger.error(request, exc_str)
|
||||||
|
content = {
|
||||||
|
"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||||
|
"message": exc_str,
|
||||||
|
"data": None,
|
||||||
|
}
|
||||||
|
return JSONResponse(
|
||||||
|
content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user