updated login/select
This commit is contained in:
@@ -1,20 +1,40 @@
|
||||
import json
|
||||
from typing import Any, Union, Awaitable
|
||||
from fastapi import Request, WebSocket
|
||||
from fastapi.responses import Response
|
||||
from pydantic import ValidationError
|
||||
|
||||
from ApiLayers.LanguageModels.Errors.merge_all_error_languages import (
|
||||
MergedErrorLanguageModels,
|
||||
)
|
||||
from fastapi import Request, WebSocket, status
|
||||
from fastapi.responses import Response, JSONResponse
|
||||
from ApiLayers.LanguageModels.Errors.merge_all_error_languages import MergedErrorLanguageModels
|
||||
from ApiLayers.ErrorHandlers.Exceptions.api_exc import HTTPExceptionApi
|
||||
from ApiLayers.ErrorHandlers.bases import BaseErrorModelClass
|
||||
|
||||
|
||||
def validation_exception_handler(request, exc: ValidationError) -> JSONResponse:
|
||||
"""
|
||||
{"message": [{
|
||||
"type": "missing", "location": ["company_uu_id"], "message": "Field required",
|
||||
"input": {"invalid_key_input": "e9869a25"}
|
||||
}], "request": "http://0.0.0.0:41575/authentication/select", "title": "EmployeeSelection"
|
||||
}
|
||||
Validation error on pydantic model of each event validation
|
||||
"""
|
||||
validation_messages, validation_list = exc.errors() or [], []
|
||||
for validation in validation_messages:
|
||||
validation_list.append({
|
||||
"type": dict(validation).get("type"),
|
||||
"location": dict(validation).get("loc"),
|
||||
"message": dict(validation).get("msg"), # todo change message with language message
|
||||
"input": dict(validation).get("input"),
|
||||
})
|
||||
error_response_dict = dict(message=validation_list, request=str(request.url.path), title=exc.title)
|
||||
return JSONResponse(
|
||||
content=error_response_dict, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY
|
||||
)
|
||||
|
||||
|
||||
class HTTPExceptionApiHandler:
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
response_model: Any,
|
||||
):
|
||||
def __init__(self, response_model: Any):
|
||||
self.RESPONSE_MODEL: Any = response_model
|
||||
|
||||
@staticmethod
|
||||
@@ -26,7 +46,6 @@ class HTTPExceptionApiHandler:
|
||||
@staticmethod
|
||||
def retrieve_error_message(exc: HTTPExceptionApi, error_languages) -> str:
|
||||
from ApiLayers.ErrorHandlers import DEFAULT_ERROR
|
||||
|
||||
return error_languages.get(str(exc.error_code).upper(), DEFAULT_ERROR)
|
||||
|
||||
async def handle_exception(
|
||||
|
||||
Reference in New Issue
Block a user