auth service up running

This commit is contained in:
2025-01-10 14:15:35 +03:00
parent 4eb95e4d9c
commit 03accfed1b
23 changed files with 457 additions and 317 deletions

View File

@@ -30,19 +30,16 @@ class ActionsSchema(ABC):
Raises:
HTTPException: If endpoint is not found in database
"""
from databases import EndpointRestriction
endpoint_restriction = EndpointRestriction.filter_one(
EndpointRestriction.endpoint_name.ilike(f"%{self.endpoint}%"),
system=True
).data
if not endpoint_restriction:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail=f"Endpoint {self.endpoint} not found in the database"
)
return endpoint_restriction
# Temporarily return a dummy response to skip endpoint restriction checks
return {
"endpoint_name": self.endpoint,
"endpoint_function": "dummy_function",
"endpoint_method": "GET",
"endpoint_desc": "Temporary endpoint",
"endpoint_code": "dummy_code",
"id": 1,
"uu_id": "dummy_uuid"
}
class ActionsSchemaFactory:

View File

@@ -6,16 +6,11 @@ from api_validations.validations_request import (
UpdateAccountRecord,
ListOptions,
)
from ApiServices.api_handlers import AlchemyJsonResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
from api_validations.validations_response.account import AccountListResponse
from api_validations.validations_response.account_responses import AccountRecordsListResponse
from databases import (
AccountRecords,
BuildIbans,
)
from api_validations.validations_response import AccountRecordResponse
from databases import AccountRecords, BuildIbans
from databases.sql_models.building.build import BuildLivingSpace
from databases.sql_models.building.decision_book import BuildDecisionBookPayments
from databases.sql_models.others.enums import ApiEnumDropdown
@@ -32,8 +27,8 @@ class AccountRecordsListEventMethods(MethodToEvent):
"208e6273-17ef-44f0-814a-8098f816b63a": "account_records_list_flt_res",
}
__event_validation__ = {
"7192c2aa-5352-4e36-98b3-dafb7d036a3d": AccountRecordsListResponse,
"208e6273-17ef-44f0-814a-8098f816b63a": AccountRecordsListResponse,
"7192c2aa-5352-4e36-98b3-dafb7d036a3d": AccountRecordResponse,
"208e6273-17ef-44f0-814a-8098f816b63a": AccountRecordResponse,
}
@classmethod
@@ -59,7 +54,7 @@ class AccountRecordsListEventMethods(MethodToEvent):
result=records,
cls_object=AccountRecords,
filter_attributes=list_options,
response_model=AccountRecordsListResponse
response_model=AccountRecordResponse
)
@classmethod

View File

@@ -1,17 +1,22 @@
from typing import Union
from typing import Union, Dict, Any, List
from fastapi.exceptions import HTTPException
from fastapi import status
from fastapi.responses import JSONResponse
from api_validations.validations_response.address import (
from api_validations.validations_response import (
ListAddressResponse,
AddressPostCodeResponse,
)
from databases import (
AddressPostcode,
Addresses,
RelationshipEmployee2PostCode,
AddressDistrict,
AddressCity,
AddressCountry,
AddressStreet,
AddressNeighborhood,
AddressPostcode,
# AddressCountryCode,
RelationshipEmployee2PostCode,
Addresses,
)
from api_validations.validations_request import (

View File

@@ -33,7 +33,7 @@ from api_validations.validations_request import (
EmployeeSelection,
)
from api_validations.validations_response.auth_responses import (
from api_validations.validations_response import (
AuthenticationLoginResponse,
AuthenticationRefreshResponse,
AuthenticationUserInfoResponse

View File

@@ -2,7 +2,6 @@ import typing
from typing import Union
from fastapi import status, HTTPException
from fastapi.responses import JSONResponse
from databases import (
Build,
@@ -19,8 +18,7 @@ from api_validations.validations_request import (
PatchRecord,
ListOptions,
)
from api_validations.validations_response import ListBuildingResponse
from api_validations.validations_response import BuildResponse
from ApiServices.api_handlers import AlchemyJsonResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
@@ -36,7 +34,7 @@ class BuildListEventMethods(MethodToEvent):
"68b3b5ed-b74c-4a27-820f-3959214e94e9": "build_list",
}
__event_validation__ = {
"68b3b5ed-b74c-4a27-820f-3959214e94e9": ListBuildingResponse,
"68b3b5ed-b74c-4a27-820f-3959214e94e9": BuildResponse,
}
@classmethod
@@ -59,6 +57,9 @@ class BuildListEventMethods(MethodToEvent):
completed=True,
message="Building records listed successfully",
result=records,
cls_object=Build,
filter_attributes=list_options,
response_model=BuildResponse
)

View File

@@ -11,7 +11,7 @@ from api_validations.validations_request import (
ListOptions,
)
from api_validations.validations_response.building_responses import BuildAreaListResponse
from api_validations.validations_response import BuildResponse, BuildAreaResponse
from ApiServices.api_handlers import AlchemyJsonResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
@@ -25,7 +25,7 @@ class BuildAreaListEventMethods(MethodToEvent):
"0bb51845-65a2-4340-8872-a3b5aad95468": "build_area_list",
}
__event_validation__ = {
"0bb51845-65a2-4340-8872-a3b5aad95468": BuildAreaListResponse,
"0bb51845-65a2-4340-8872-a3b5aad95468": BuildAreaResponse,
}
@classmethod
@@ -56,7 +56,7 @@ class BuildAreaListEventMethods(MethodToEvent):
result=records,
cls_object=BuildArea,
filter_attributes=list_options,
response_model=BuildAreaListResponse
response_model=BuildResponse
)

View File

@@ -1,23 +1,18 @@
from typing import Union
from fastapi.responses import JSONResponse
from fastapi import status
from api_validations.validations_response.parts import BuildPartsListResponse
from databases import (
Build,
BuildParts,
)
from ApiServices.api_handlers import AlchemyJsonResponse
from api_validations.validations_response import BuildPartsListResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
from ApiServices.api_handlers import AlchemyJsonResponse
from api_validations.validations_request import (
InsertBuildParts,
UpdateBuildParts,
ListOptions,
)
from databases import (
Build,
BuildParts,
)
class BuildingBuildPartsListEventMethods(MethodToEvent):
@@ -48,6 +43,9 @@ class BuildingBuildPartsListEventMethods(MethodToEvent):
completed=True,
message="Building parts listed successfully",
result=records,
cls_object=BuildParts,
filter_attributes=list_options,
response_model=BuildPartsListResponse,
)

View File

@@ -11,7 +11,7 @@ from api_validations.validations_request import (
ListOptions,
)
from api_validations.validations_response.building_responses import BuildSitesListResponse
from api_validations.validations_response import BuildSitesResponse
from ApiServices.api_handlers import AlchemyJsonResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
@@ -25,7 +25,7 @@ class BuildSitesListEventMethods(MethodToEvent):
"6798414c-6c7d-47f0-9d8b-6935a0f51c2e": "build_sites_list",
}
__event_validation__ = {
"6798414c-6c7d-47f0-9d8b-6935a0f51c2e": BuildSitesListResponse,
"6798414c-6c7d-47f0-9d8b-6935a0f51c2e": BuildSitesResponse,
}
@classmethod
@@ -64,7 +64,7 @@ class BuildSitesListEventMethods(MethodToEvent):
result=records,
cls_object=BuildSites,
filter_attributes=list_options,
response_model=BuildSitesListResponse
response_model=BuildSitesResponse
)

View File

@@ -6,7 +6,7 @@ from ApiServices.api_handlers import AlchemyJsonResponse
from api_validations.validations_request import (
ListOptions,
)
from api_validations.validations_response.building_responses import BuildTypesListResponse
from api_validations.validations_response import BuildTypesResponse
from databases.sql_models.building.build import BuildTypes
@@ -17,7 +17,7 @@ class BuildTypesListEventMethods(MethodToEvent):
"5344d03c-fc47-43ec-8c44-6c2acd7e5d9f": "build_types_list",
}
__event_validation__ = {
"5344d03c-fc47-43ec-8c44-6c2acd7e5d9f": BuildTypesListResponse
"5344d03c-fc47-43ec-8c44-6c2acd7e5d9f": BuildTypesResponse
}
@classmethod
@@ -43,13 +43,10 @@ class BuildTypesListEventMethods(MethodToEvent):
return AlchemyJsonResponse(
completed=False,
message="You are not authorized to access this endpoint",
result=None
)
else:
return AlchemyJsonResponse(
completed=False,
message="You are not authorized to access this endpoint",
result=None
result=None,
cls_object=BuildTypes,
filter_attributes=list_options,
response_model=BuildTypesResponse
)

View File

@@ -19,7 +19,7 @@ from api_validations.validations_request import (
UpdateBuildLivingSpace,
ListOptions,
)
from api_validations.validations_response.living_space import LivingSpaceListResponse
from api_validations.validations_response import LivingSpaceListResponse
from databases.sql_models.event.event import Services
@@ -108,7 +108,10 @@ class BuildingLivingSpacesListEventMethods(MethodToEvent):
return AlchemyJsonResponse(
completed=True,
message="Living spaces listed successfully",
result=records
result=records,
cls_object=BuildLivingSpace,
filter_attributes=list_options,
response_model=LivingSpaceListResponse,
)

View File

@@ -12,7 +12,7 @@ from api_validations.validations_request import (
PatchRecord,
)
from api_validations.validations_response.company_responses import CompanyListResponse
from api_validations.validations_response import CompanyListResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
@@ -52,7 +52,7 @@ class CompanyListEventMethods(MethodToEvent):
result=records,
cls_object=Companies,
filter_attributes=list_options,
response_model=CompanyListResponse
response_model=CompanyListResponse,
)

View File

@@ -1,6 +1,6 @@
from typing import Union
from api_validations.validations_response.parts import BuildPartsListResponse
from api_validations.validations_response import BuildPartsListResponse
from databases import (
BuildParts,
)

View File

@@ -3,7 +3,7 @@ from typing import Union
from fastapi import status
from fastapi.responses import JSONResponse
from api_validations.validations_response.people import PeopleListResponse
from api_validations.validations_response import PeopleListResponse
from databases import (
People,
Users,