events imports are checked

This commit is contained in:
2024-11-08 15:05:12 +03:00
parent 643d6d8f65
commit a5b1e0b2f4
71 changed files with 2517 additions and 312 deletions

View File

@@ -0,0 +1,80 @@
from fastapi import status, HTTPException
from fastapi.routing import APIRouter
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from api_validations.validations_request import (
InsertBuildDecisionBookProjects,
UpdateBuildDecisionBookProjects,
PatchRecord,
ListOptions,
)
from api_services.redis.auth_actions.token import parse_token_object_to_dict
from api_validations.core_response import return_json_response_from_alchemy
from databases import BuildDecisionBookProjects
build_project_decision_book_route = APIRouter(
prefix="/build/project/decision_book", tags=["Project Decision Book"]
)
build_project_decision_book_route.include_router(
build_project_decision_book_route, include_in_schema=True
)
@build_project_decision_book_route.post(
path="/list", summary="List Active/Delete/Confirm Project Build Decision Book"
)
def project_decision_book_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
BuildDecisionBookProjects.pre_query = BuildDecisionBookProjects.select_action(
duty_id=token_dict.duty_list["duty_id"]
)
build_decision_book_records = BuildDecisionBookProjects.filter_active(
*BuildDecisionBookProjects.get_smart_query(list_options.query)
)
return return_json_response_from_alchemy(
response=build_decision_book_records, pagination=list_options
)
@build_project_decision_book_route.post(
path="/create", summary="Create Build Project Decision Book with given auth levels"
)
def project_decision_book_create(
request: Request, data: InsertBuildDecisionBookProjects
):
token_dict = parse_token_object_to_dict(request=request)
if build_decision_book_records := BuildDecisionBookProjects.create_action(
data=data, token=token_dict
):
return JSONResponse(
content={
"completed": True,
"message": "Create Build record",
"data": build_decision_book_records.get_dict(),
},
status_code=status.HTTP_200_OK,
)
raise HTTPException(
status_code=401,
detail=f"This user can not access/modify {data.build_uu_id} - building",
)
@build_project_decision_book_route.post(
path="/update/{book_uu_id}",
summary="Update Project Build Decision Book with given auth levels",
)
def project_decision_book_update(
request: Request, book_uu_id: str, data: UpdateBuildDecisionBookProjects
):
return
@build_project_decision_book_route.patch(
path="/patch/{book_uu_id}", summary="Update Active/Delete/Confirm"
)
def project_decision_book_patch(request: Request, book_uu_id: str, data: PatchRecord):
return

View File

@@ -0,0 +1,78 @@
from fastapi import status, HTTPException
from fastapi.routing import APIRouter
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from api_validations.validations_request import (
InsertDecisionBook, UpdateDecisionBook, PatchRecord, ListOptions
)
from api_services.redis.auth_actions.token import parse_token_object_to_dict
from api_validations.core_response import return_json_response_from_alchemy
from databases import BuildDecisionBook, Build
build_project_decision_book_person_route = APIRouter(
prefix="/build/decision_book/person", tags=["Decision Book Person"]
)
build_project_decision_book_person_route.include_router(
build_project_decision_book_person_route, include_in_schema=True
)
@build_project_decision_book_person_route.post(
path="/list", summary="List Active/Delete/Confirm Build Decision Book"
)
def project_decision_book_person_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
BuildDecisionBook.pre_query = BuildDecisionBook.select_action(
duty_id=token_dict.duty_list["duty_id"]
)
build_decision_book_records = BuildDecisionBook.filter_active(
*BuildDecisionBook.get_smart_query(list_options.query)
)
return return_json_response_from_alchemy(
response=build_decision_book_records, pagination=list_options
)
@build_project_decision_book_person_route.post(
path="/create", summary="Create Build Decision Book with given auth levels"
)
def project_decision_book_person_create(request: Request, data: InsertDecisionBook):
token_dict = parse_token_object_to_dict(request=request)
Build.pre_query = Build.select_action(duty_id=token_dict.duty_list["duty_id"])
if Build.find_one(uu_id=data.build_uu_id):
build_decision_book_records = BuildDecisionBook.create_action(data=data)
return JSONResponse(
content={
"completed": True,
"message": "Create Build record",
"data": build_decision_book_records.get_dict(),
},
status_code=status.HTTP_200_OK,
)
raise HTTPException(
status_code=401,
detail=f"This user can not access/modify {data.build_uu_id} - building",
)
@build_project_decision_book_person_route.post(
path="/update/{book_uu_id}",
summary="Update Build Decision Book with given auth levels",
)
def project_decision_book_person_update(
request: Request, book_uu_id: str, data: UpdateDecisionBook
):
return
@build_project_decision_book_person_route.patch(
path="/patch/{book_uu_id}", summary="Update Active/Delete/Confirm"
)
def project_decision_book_person_patch(
request: Request, book_uu_id: str, data: PatchRecord
):
return