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,39 @@
from fastapi.routing import APIRouter
from fastapi.requests import Request
from api_validations.validations_request import (
PatchRecord,
ListOptions,
InsertBuild,
UpdateBuild,
)
from api_services.redis.auth_actions.token import parse_token_object_to_dict
build_route = APIRouter(prefix="/building/build", tags=["Building"])
build_route.include_router(build_route, include_in_schema=True)
@build_route.post(path="/list", summary="List Build Active/Delete/Confirm Build")
def building_build_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(list_options=list_options, token_dict=token_dict)
@build_route.post(path="/create", summary="Create Build with given auth levels")
def building_build_create(request: Request, data: InsertBuild):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(data=data, token_dict=token_dict)
@build_route.post(path="/update/{build_uu_id}", summary="Update Build Parts with given auth levels")
def building_build_update(request: Request, build_uu_id: str, data: UpdateBuild):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(data=data, build_uu_id=build_uu_id, token_dict=token_dict)
@build_route.patch(path="/patch/{build_uu_id}", summary="Patch Build Parts with given auth levels")
def building_build_patch(request: Request, build_uu_id: str, data: PatchRecord):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(data=data, build_uu_id=build_uu_id, token_dict=token_dict)

View File

@@ -0,0 +1,109 @@
from fastapi import status
from fastapi.routing import APIRouter
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from api_validations.validations_request import (
InsertBuildArea,
UpdateBuildArea,
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 (
BuildArea,
Build,
)
build_area_route = APIRouter(prefix="/building/area", tags=["Building Area"])
build_area_route.include_router(build_area_route, include_in_schema=True)
@build_area_route.post(path="/list", summary="List Active/Delete/Confirm Build Parts")
def build_area_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
Build.filter_attr = list_options
records = BuildArea.filter_active(
*BuildArea.get_smart_query(smart_query=list_options.query),
BuildArea.company_id == token_dict.selected_company.company_id,
)
return return_json_response_from_alchemy(response=records, pagination=list_options)
@build_area_route.post(
path="/create", summary="Create BuildParts with given auth levels"
)
def build_area_create(request: Request, data: InsertBuildArea):
token_dict = parse_token_object_to_dict(request=request)
created_build = BuildArea.create_action(data=data, token=token_dict)
return JSONResponse(
content={
"completed": True,
"message": "Create BuildParts record",
"data": created_build.get_dict(),
"build": created_build,
},
status_code=status.HTTP_200_OK,
)
@build_area_route.post(
path="/update/{build_uu_id}", summary="Update BuildParts with given auth levels"
)
def build_area_update(request: Request, build_uu_id: str, data: UpdateBuildArea):
token_dict = parse_token_object_to_dict(request=request)
if updated_build := BuildArea.update_action(
data=data, token=token_dict, build_uu_id=build_uu_id
):
return JSONResponse(
content={
"completed": True,
"message": "Update BuildParts record",
"data": updated_build,
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={"completed": True, "message": "Update BuildParts record", "data": {}},
status_code=status.HTTP_200_OK,
)
@build_area_route.patch(
path="/patch/{build_uu_id}", summary="Update Active/Delete/Confirm"
)
def build_area_patch(request: Request, build_uu_id: str, data: PatchRecord):
token_dict = parse_token_object_to_dict(request=request)
find_one_build = BuildArea.find_one_or_abort(uu_id=build_uu_id)
access_authorized_build = BuildArea.select_action(
duty_id=getattr(token_dict, "duty_id", 5),
filter_expr=[BuildArea.id == find_one_build.id],
)
if access_authorized_build.count:
action = data.excluded_dump()
find_one_build.active = bool(action.get("active", find_one_build.active))
find_one_build.is_confirmed = bool(
action.get("confirm", find_one_build.is_confirmed)
)
find_one_build.deleted = bool(action.get("delete", find_one_build.deleted))
find_one_build.save()
return JSONResponse(
content={
"completed": True,
"message": "Patch BuildParts record completed",
"data": find_one_build.get_dict(),
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={
"completed": False,
"message": "Patch BuildParts record failed",
"data": {},
},
status_code=status.HTTP_200_OK,
)

View File

@@ -0,0 +1,92 @@
from fastapi import status
from fastapi.routing import APIRouter
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from api_validations.validations_request import (
InsertBuildParts,
UpdateBuildParts,
PatchRecord,
ListOptions,
)
from api_services.redis.auth_actions.token import parse_token_object_to_dict
from databases import BuildParts
build_parts_route = APIRouter(prefix="/building/parts", tags=["Building Parts"])
build_parts_route.include_router(build_parts_route, include_in_schema=True)
@build_parts_route.post(path="/list", summary="List Active/Delete/Confirm Build Parts")
def building_build_part_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(list_options=list_options, token_dict=token_dict)
@build_parts_route.post(
path="/create", summary="Create Build Parts with given auth levels"
)
def building_build_part_create(request: Request, data: InsertBuildParts):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(data=data, token_dict=token_dict)
@build_parts_route.post(
path="/update/{build_uu_id}", summary="Update Build Parts with given auth levels"
)
def building_build_part_update(
request: Request, build_uu_id: str, data: UpdateBuildParts
):
token_dict = parse_token_object_to_dict(request=request)
if updated_build := BuildParts.update_action(
data=data, token=token_dict, build_uu_id=build_uu_id
):
return JSONResponse(
content={
"completed": True,
"message": "Update Build Parts record",
"data": updated_build,
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={"completed": True, "message": "Update Build Parts record", "data": {}},
status_code=status.HTTP_200_OK,
)
@build_parts_route.patch(
path="/patch/{build_uu_id}", summary="Update Active/Delete/Confirm"
)
def building_build_part_patch(request: Request, build_uu_id: str, data: PatchRecord):
token_dict = parse_token_object_to_dict(request=request)
find_one_build = BuildParts.find_one_or_abort(uu_id=build_uu_id)
access_authorized_build = BuildParts.select_action(
duty_id=getattr(token_dict, "duty_id", 5),
filter_expr=[BuildParts.id == find_one_build.id],
)
if access_authorized_build.count:
action = data.excluded_dump()
find_one_build.active = bool(action.get("active", find_one_build.active))
find_one_build.is_confirmed = bool(
action.get("confirm", find_one_build.is_confirmed)
)
find_one_build.deleted = bool(action.get("delete", find_one_build.deleted))
find_one_build.save()
return JSONResponse(
content={
"completed": True,
"message": "Patch Build record completed",
"data": find_one_build.get_dict(),
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={
"completed": False,
"message": "Patch Build record failed",
"data": {},
},
status_code=status.HTTP_200_OK,
)

View File

@@ -0,0 +1,106 @@
from fastapi import status
from fastapi.routing import APIRouter
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from api_validations.validations_request import (
PatchRecord,
ListOptions,
InsertBuildSites,
UpdateBuildSites,
)
from databases import BuildSites
from api_services.redis.auth_actions.token import parse_token_object_to_dict
from api_validations.core_response import return_json_response_from_alchemy
build_sites_route = APIRouter(prefix="/building/sites", tags=["Building Sites"])
build_sites_route.include_router(build_sites_route, include_in_schema=True)
@build_sites_route.post(path="/list", summary="List Active/Delete/Confirm Build Parts")
def building_sites_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
BuildSites.filter_attr = list_options
records = BuildSites.filter_active(
*BuildSites.get_smart_query(smart_query=list_options.query),
BuildSites.company_id == token_dict.selected_company.company_id,
)
return return_json_response_from_alchemy(response=records, pagination=list_options)
@build_sites_route.post(
path="/create", summary="Create Build Sites with given auth levels"
)
def building_sites_create(request: Request, data: InsertBuildSites):
token_dict = parse_token_object_to_dict(request=request)
created_build = BuildSites.create_action(data=data, token=token_dict)
return JSONResponse(
content={
"completed": True,
"message": "Create Build Sites record",
"data": created_build.get_dict(),
"build": created_build,
},
status_code=status.HTTP_200_OK,
)
@build_sites_route.post(
path="/update/{build_uu_id}", summary="Update Build Sites with given auth levels"
)
def building_sites_update(request: Request, build_uu_id: str, data: UpdateBuildSites):
token_dict = parse_token_object_to_dict(request=request)
if updated_build := BuildSites.update_action(
data=data, token=token_dict, build_uu_id=build_uu_id
):
return JSONResponse(
content={
"completed": True,
"message": "Update Build Sites record",
"data": updated_build,
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={"completed": True, "message": "Update Build Sites record", "data": {}},
status_code=status.HTTP_200_OK,
)
@build_sites_route.patch(
path="/patch/{build_uu_id}", summary="Update Active/Delete/Confirm"
)
def building_sites_patch(request: Request, build_uu_id: str, data: PatchRecord):
token_dict = parse_token_object_to_dict(request=request)
find_one_build = BuildSites.find_one_or_abort(uu_id=build_uu_id)
access_authorized_build = BuildSites.select_action(
duty_id=getattr(token_dict, "duty_id", 5),
filter_expr=[BuildSites.id == find_one_build.id],
)
if access_authorized_build.count:
action = data.excluded_dump()
find_one_build.active = bool(action.get("active", find_one_build.active))
find_one_build.is_confirmed = bool(
action.get("confirm", find_one_build.is_confirmed)
)
find_one_build.deleted = bool(action.get("delete", find_one_build.deleted))
find_one_build.save()
return JSONResponse(
content={
"completed": True,
"message": "Patch Build Sites record completed",
"data": find_one_build.get_dict(),
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={
"completed": False,
"message": "Patch Build Sites record failed",
"data": {},
},
status_code=status.HTTP_200_OK,
)

View File

@@ -0,0 +1,103 @@
from fastapi import status
from fastapi.routing import APIRouter
from fastapi.responses import JSONResponse
from fastapi.requests import Request
from api_validations.validations_request import (
InsertBuildTypes,
UpdateBuildTypes,
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 BuildTypes
build_types_route = APIRouter(prefix="/building/types", tags=["Types"])
build_types_route.include_router(build_types_route, include_in_schema=True)
@build_types_route.post(path="/list", summary="List Active/Delete/Confirm Build Parts")
def building_types_list(list_options: ListOptions):
BuildTypes.filter_attr = list_options
records = BuildTypes.filter_active(
*BuildTypes.get_smart_query(smart_query=list_options.query),
)
return return_json_response_from_alchemy(response=records, pagination=list_options)
@build_types_route.post(
path="/create", summary="Create BuildParts with given auth levels"
)
def building_types_create(request: Request, data: InsertBuildTypes):
token_dict = parse_token_object_to_dict(request=request)
created_build = BuildTypes.create_action(data=data, token=token_dict)
return JSONResponse(
content={
"completed": True,
"message": "Create BuildParts record",
"data": created_build.get_dict(),
"build": created_build,
},
status_code=status.HTTP_200_OK,
)
@build_types_route.post(
path="/update/{build_uu_id}", summary="Update BuildParts with given auth levels"
)
def building_types_update(request: Request, build_uu_id: str, data: UpdateBuildTypes):
token_dict = parse_token_object_to_dict(request=request)
if updated_build := BuildTypes.update_action(
data=data, token=token_dict, build_uu_id=build_uu_id
):
return JSONResponse(
content={
"completed": True,
"message": "Update BuildParts record",
"data": updated_build,
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={"completed": True, "message": "Update BuildParts record", "data": {}},
status_code=status.HTTP_200_OK,
)
@build_types_route.patch(
path="/patch/{build_uu_id}", summary="Update Active/Delete/Confirm"
)
def building_types_patch(request: Request, build_uu_id: str, data: PatchRecord):
token_dict = parse_token_object_to_dict(request=request)
find_one_build = BuildTypes.find_one_or_abort(uu_id=build_uu_id)
access_authorized_build = BuildTypes.select_action(
duty_id=getattr(token_dict, "duty_id", 5),
filter_expr=[BuildTypes.id == find_one_build.id],
)
if access_authorized_build.count:
action = data.excluded_dump()
find_one_build.active = bool(action.get("active", find_one_build.active))
find_one_build.is_confirmed = bool(
action.get("confirm", find_one_build.is_confirmed)
)
find_one_build.deleted = bool(action.get("delete", find_one_build.deleted))
find_one_build.save()
return JSONResponse(
content={
"completed": True,
"message": "Patch BuildParts record completed",
"data": find_one_build.get_dict(),
},
status_code=status.HTTP_200_OK,
)
return JSONResponse(
content={
"completed": False,
"message": "Patch BuildParts record failed",
"data": {},
},
status_code=status.HTTP_200_OK,
)

View File

@@ -0,0 +1,52 @@
from fastapi.routing import APIRouter
from fastapi.requests import Request
from api_validations.validations_request import (
InsertBuildLivingSpace,
UpdateBuildLivingSpace,
PatchRecord,
ListOptions,
)
from api_services.redis.auth_actions.token import parse_token_object_to_dict
build_living_space = APIRouter(prefix="/building/living_space", tags=["Living Space"])
build_living_space.include_router(build_living_space, include_in_schema=True)
@build_living_space.post(
path="/list", summary="List Active/Delete/Confirm Build Living Space"
)
def building_living_space_list(request: Request, list_options: ListOptions):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(list_options=list_options, token_dict=token_dict)
@build_living_space.post(
path="/create", summary="Create Build Living Space with given auth levels"
)
def building_living_space_create(request: Request, data: InsertBuildLivingSpace):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(data=data, token_dict=token_dict)
@build_living_space.post(
path="/update/{build_uu_id}",
summary="Update Build Living Space with given auth levels",
)
def building_living_space_update(
request: Request, build_uu_id: str, data: UpdateBuildLivingSpace
):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(
data=data, build_uu_id=build_uu_id, token_dict=token_dict
)
@build_living_space.patch(
path="/patch/{build_uu_id}", summary="Update Active/Delete/Confirm"
)
def building_living_space_patch(request: Request, build_uu_id: str, data: PatchRecord):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(
data=data, build_uu_id=build_uu_id, token_dict=token_dict
)