init defaults completed
This commit is contained in:
@@ -5,16 +5,14 @@ from fastapi.exceptions import HTTPException
|
||||
|
||||
from middlewares.token_middleware import AuthHeaderMiddleware
|
||||
from application.create_file import create_app
|
||||
from application.app_runner_init import create_endpoints_from_api_functions
|
||||
from handlers_exception import (
|
||||
exception_handler_http,
|
||||
exception_handler_exception,
|
||||
)
|
||||
from prometheus_fastapi_instrumentator import Instrumentator
|
||||
# from prometheus_client import Counter, Histogram
|
||||
import routers
|
||||
|
||||
|
||||
app = create_app()
|
||||
app = create_app(routers=routers)
|
||||
Instrumentator().instrument(app=app).expose(app=app)
|
||||
|
||||
app.add_middleware(
|
||||
@@ -30,7 +28,6 @@ app.add_middleware(AuthHeaderMiddleware)
|
||||
|
||||
app.add_exception_handler(HTTPException, exception_handler_http)
|
||||
app.add_exception_handler(Exception, exception_handler_exception)
|
||||
create_endpoints_from_api_functions(api_app=app)
|
||||
|
||||
if __name__ == "__main__":
|
||||
uvicorn_config = {
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
from databases import EndpointRestriction
|
||||
|
||||
|
||||
def create_endpoints_from_api_functions(api_app):
|
||||
|
||||
for route in api_app.routes:
|
||||
route_path, route_summary = (
|
||||
str(getattr(route, "path")),
|
||||
str(getattr(route, "name")) or "",
|
||||
)
|
||||
# if route_path in Config.INSECURE_PATHS:
|
||||
# continue
|
||||
# print('route_path ', route_path, 'route_summary', route_summary)
|
||||
create_dict = dict(
|
||||
is_confirmed=True,
|
||||
active=True,
|
||||
deleted=False,
|
||||
is_notification_send=True,
|
||||
)
|
||||
methods = [method.lower() for method in getattr(route, "methods")]
|
||||
for route_method in methods:
|
||||
restriction = EndpointRestriction.find_or_create(
|
||||
**dict(
|
||||
endpoint_method=route_method,
|
||||
endpoint_name=route_path,
|
||||
endpoint_desc=route_summary.replace("_", " "),
|
||||
endpoint_function=route_summary,
|
||||
**create_dict,
|
||||
)
|
||||
)
|
||||
if not restriction.is_found:
|
||||
restriction.endpoint_code = f"AR{str(restriction.id).zfill(3)}"
|
||||
restriction.save()
|
||||
return
|
||||
@@ -1,11 +1,10 @@
|
||||
def create_app():
|
||||
def create_app(routers):
|
||||
from fastapi import FastAPI
|
||||
from fastapi.responses import JSONResponse
|
||||
from fastapi.openapi.utils import get_openapi
|
||||
from fastapi.responses import RedirectResponse
|
||||
|
||||
from api_configs import Config
|
||||
import routers
|
||||
|
||||
api_app = FastAPI(title=str(Config.TITLE), default_response_class=JSONResponse)
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
arrow
|
||||
requests
|
||||
Deprecated
|
||||
fastapi
|
||||
python-dotenv
|
||||
|
||||
@@ -1 +1,89 @@
|
||||
__all__ = []
|
||||
from .authentication.router import login_route
|
||||
from .people.router import people_router
|
||||
from .users.router import user_route
|
||||
|
||||
from .company.company.router import company_route
|
||||
from .company.department.router import department_route
|
||||
from .company.duty.router import duty_route
|
||||
from .company.duties.router import duties_route
|
||||
|
||||
from .building.build.router import build_route
|
||||
from .building.buildparts.router import build_parts_route
|
||||
from .building.buildarea.router import build_area_route
|
||||
from .building.buildsites.router import build_sites_route
|
||||
from .building.buildtypes.router import build_types_route
|
||||
from .building.livingspaces.router import build_living_space
|
||||
|
||||
from .decision_book.decision_book.router import build_decision_book_route
|
||||
|
||||
from .decision_book.decision_book_person.router import (
|
||||
build_decision_book_people_route,
|
||||
)
|
||||
from .decision_book.decision_book_items.router import (
|
||||
build_decision_book_items_route,
|
||||
)
|
||||
from .project_decision_book.project_decision_book.router import (
|
||||
build_project_decision_book_route,
|
||||
)
|
||||
from .project_decision_book.project_decision_book_person.router import (
|
||||
build_project_decision_book_person_route,
|
||||
)
|
||||
from .api.router import internal_route
|
||||
from .events.events.router import event_route
|
||||
from .company.staff.router import staff_route
|
||||
from .company.employee.router import employee_route
|
||||
|
||||
from .events.events.bind_events_router import bind_events_route
|
||||
from .events.models.router import model_route
|
||||
from .events.models.bind_events_router import bind_modules_route
|
||||
|
||||
from .events.modelentities.router import model_entities_route
|
||||
from .events.modules.router import modules_route
|
||||
from .events.services.bind_services_router import bind_services_route
|
||||
from .events.services.router import services_route
|
||||
|
||||
from .rules.router import endpoint_restriction_route
|
||||
from .address.address.router import address_router
|
||||
from .address.post_code.router import post_code_router
|
||||
from .application.enums_and_drops.router import enums_route
|
||||
from .application.occupants.router import occupant_types_route
|
||||
from .decision_book.decision_book_invitations.router import build_decision_book_invitations
|
||||
|
||||
|
||||
__all__ = [
|
||||
"enums_route",
|
||||
"occupant_types_route",
|
||||
"internal_route",
|
||||
"address_router",
|
||||
"post_code_router",
|
||||
"login_route",
|
||||
"duty_route",
|
||||
"duties_route",
|
||||
"people_router",
|
||||
"user_route",
|
||||
"company_route",
|
||||
"department_route",
|
||||
"build_route",
|
||||
"build_parts_route",
|
||||
"build_sites_route",
|
||||
"build_area_route",
|
||||
"build_living_space",
|
||||
"build_decision_book_route",
|
||||
"build_decision_book_people_route",
|
||||
"build_decision_book_items_route",
|
||||
"build_project_decision_book_route",
|
||||
"staff_route",
|
||||
"employee_route",
|
||||
"build_types_route",
|
||||
"bind_events_route",
|
||||
"event_route",
|
||||
"model_route",
|
||||
"model_entities_route",
|
||||
"modules_route",
|
||||
"bind_services_route",
|
||||
"bind_modules_route",
|
||||
"services_route",
|
||||
"build_project_decision_book_person_route",
|
||||
"endpoint_restriction_route",
|
||||
"build_decision_book_invitations",
|
||||
]
|
||||
|
||||
@@ -39,7 +39,7 @@ class BankReceive(BaseModel):
|
||||
summary="Receive isbank xls service from mail reader service",
|
||||
)
|
||||
def is_bank_retrieve_account_records(request: Request, bank_data: ApiReceive):
|
||||
from database_sql_models import AccountRecords
|
||||
from databases import AccountRecords
|
||||
|
||||
data_dict = bank_data.model_dump()
|
||||
data_bulk = json.loads(zlib.decompress(b64decode(data_dict["data"])))
|
||||
|
||||
35
service_app/routers/events/models/bind_events_router.py
Normal file
35
service_app/routers/events/models/bind_events_router.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from fastapi.routing import APIRouter
|
||||
from fastapi.requests import Request
|
||||
|
||||
from api_services.redis.auth_actions.token import parse_token_object_to_dict
|
||||
from api_validations.validations_request import (
|
||||
RegisterModules2Occupant,
|
||||
RegisterModules2Employee,
|
||||
PatchRecord,
|
||||
)
|
||||
|
||||
|
||||
bind_modules_route = APIRouter(prefix="/bind/modules", tags=["Binds"])
|
||||
bind_modules_route.include_router(bind_modules_route, include_in_schema=True)
|
||||
|
||||
|
||||
@bind_modules_route.post(path="/occupant", summary="Register Event to Occupant")
|
||||
def bind_events_occupant(request: Request, data: RegisterModules2Occupant):
|
||||
token_dict = parse_token_object_to_dict(request=request)
|
||||
return token_dict.available_event(data=data, token_dict=token_dict)
|
||||
|
||||
|
||||
@bind_modules_route.post(path="/employee", summary="Register Event to Employee")
|
||||
def bind_events_employee(request: Request, data: RegisterModules2Employee):
|
||||
token_dict = parse_token_object_to_dict(request=request)
|
||||
return token_dict.available_event(data=data, token_dict=token_dict)
|
||||
|
||||
|
||||
@bind_modules_route.patch(
|
||||
path="/patch/{event_uu_id}", summary="Patch Bind Events with given auth levels"
|
||||
)
|
||||
def bind_events_patch(request: Request, event_uu_id: str, data: PatchRecord):
|
||||
token_dict = parse_token_object_to_dict(request=request)
|
||||
return token_dict.available_event(
|
||||
data=data, event_uu_id=event_uu_id, token_dict=token_dict
|
||||
)
|
||||
Reference in New Issue
Block a user