project events updated

This commit is contained in:
berkay 2024-11-19 13:04:07 +03:00
parent dca3cf90ff
commit 34400ffa4d
8 changed files with 244 additions and 16 deletions

View File

@ -136,6 +136,12 @@ from api_events.events.decision_book.project_decision_book_person import (
ProjectDecisionBookPersonUpdateEventMethod,
ProjectDecisionBookPersonPatchEventMethod,
)
from api_events.events.decision_book.project_decision_book_items import (
BuildDecisionBookProjectItemsPatchEventMethod,
BuildDecisionBookProjectItemsUpdateEventMethod,
BuildDecisionBookProjectItemsCreateEventMethod,
BuildDecisionBookProjectItemsListEventMethod,
)
from api_events.events.events.events_bind_events import (
EventBindOccupantEventMethod,
EventBindEmployeeEventMethod,
@ -230,6 +236,10 @@ __all__ = [
"ProjectDecisionBookPersonCreateEventMethod",
"ProjectDecisionBookPersonUpdateEventMethod",
"ProjectDecisionBookPersonPatchEventMethod",
"BuildDecisionBookProjectItemsPatchEventMethod",
"BuildDecisionBookProjectItemsUpdateEventMethod",
"BuildDecisionBookProjectItemsCreateEventMethod",
"BuildDecisionBookProjectItemsListEventMethod",
"CompanyPatchEventMethod",
"CompanyCreateEventMethod",
"CompanyUpdateEventMethod",

View File

@ -271,9 +271,10 @@ class DecisionBookDecisionBookItemsCreateEventMethods(MethodToEvent):
f"is assigned to {occupant_man.occupant_description}"
)
decision_book_item.save_and_confirm()
project_lead = ApiEnumDropdown.filter_by_one(
system=True, key="PTT-LDR", enum_class="ProjectTeamTypes"
project_lead = OccupantTypes.filter_by_one(
system=True, occupant_code="PRJ-LDR", occupant_category_type="PRJ"
).data
project_person = BuildDecisionBookProjectPerson.find_or_create(
build_decision_book_project_id=book_project_created.id,
build_decision_book_project_uu_id=str(book_project_created.uu_id),

View File

@ -16,4 +16,111 @@ from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObj
from api_validations.core_response import AlchemyJsonResponse
class BuildDecisionBookProjectItemsListEventMethods(MethodToEvent):
event_type = "SELECT"
__event_keys__ = {
"ce3630e4-2bf9-4433-bdab-1ee72117e54b": "build_decision_book_project_items_list",
}
@staticmethod
def build_decision_book_project_items_list(
requester: Union[EmployeeTokenObject, OccupantTokenObject],
list_options: ListOptions,
):
response = BuildDecisionBookProjectItems.list_items(
requester=requester,
list_options=list_options,
)
return AlchemyJsonResponse(
message="Build Decision Book Project Items List",
result=response,
)
class BuildDecisionBookProjectItemsCreateEventMethods(MethodToEvent):
event_type = "CREATE"
__event_keys__ = {
"b27e4fd0-6e3e-441b-9b33-806ac7082444": "build_decision_book_project_items_create",
}
@staticmethod
def build_decision_book_project_items_create(
requester: Union[EmployeeTokenObject, OccupantTokenObject],
decision_book_project_items: InsertBuildDecisionBookProjectItems,
):
response = BuildDecisionBookProjectItems.create_item(
requester=requester,
decision_book_project_items=decision_book_project_items,
)
return AlchemyJsonResponse(
message="Build Decision Book Project Items Create",
result=response,
)
class BuildDecisionBookProjectItemsUpdateEventMethods(MethodToEvent):
event_type = "UPDATE"
__event_keys__ = {
"b2b7cdce-9a0c-4722-90ff-8bef36b4ec6b": "build_decision_book_project_items_update",
}
@staticmethod
def build_decision_book_project_items_update(
requester: Union[EmployeeTokenObject, OccupantTokenObject],
decision_book_project_items: UpdateBuildDecisionBookProjectItems,
):
response = BuildDecisionBookProjectItems.update_item(
requester=requester,
decision_book_project_items=decision_book_project_items,
)
return AlchemyJsonResponse(
message="Build Decision Book Project Items Update",
result=response,
)
class BuildDecisionBookProjectItemsPatchEventMethods(MethodToEvent):
event_type = "SELECT"
__event_keys__ = {
"e59d50df-dd22-4823-aeae-b9490332885c": "build_decision_book_project_items_patch",
}
@staticmethod
def build_decision_book_project_items_patch(
requester: Union[EmployeeTokenObject, OccupantTokenObject],
decision_book_project_items: UpdateBuildDecisionBookProjectItems,
):
response = BuildDecisionBookProjectItems.delete_item(
requester=requester,
decision_book_project_items=decision_book_project_items,
)
return AlchemyJsonResponse(
message="Build Decision Book Project Items Patch",
result=response,
)
BuildDecisionBookProjectItemsListEventMethod = (
BuildDecisionBookProjectItemsListEventMethods(
action=ActionsSchema(endpoint="/build/decision_book/project/items/list")
)
)
BuildDecisionBookProjectItemsCreateEventMethod = (
BuildDecisionBookProjectItemsCreateEventMethods(
action=ActionsSchema(endpoint="/build/decision_book/project/items/create")
)
)
BuildDecisionBookProjectItemsUpdateEventMethod = (
BuildDecisionBookProjectItemsUpdateEventMethods(
action=ActionsSchema(endpoint="/build/decision_book/project/items/update")
)
)
BuildDecisionBookProjectItemsPatchEventMethod = (
BuildDecisionBookProjectItemsPatchEventMethods(
action=ActionsSchema(endpoint="/build/decision_book/project/items/patch")
)
)

View File

@ -23,13 +23,15 @@ class AlchemyResponse:
return self.__query.first()
except Exception as e:
err = e
self.__query.session.close()
self.__query.session.expunge_all()
self.__query.session.rollback()
return None
try:
return self.__query.all()
except Exception as e:
err = e
self.__query.session.close()
self.__query.session.expunge_all()
self.__query.session.rollback()
return []
@property

View File

@ -0,0 +1,66 @@
from fastapi.routing import APIRouter
from fastapi.requests import Request
from api_validations.validations_request import (
InsertBuildDecisionBookProjectItems,
UpdateBuildDecisionBookProjectItems,
ListOptions,
)
from api_services.redis.auth_actions.token import parse_token_object_to_dict
build_decision_book_project_items_route = APIRouter(
prefix="/build/decision_book/project/items", tags=["Decision Project Book Project Items"]
)
build_decision_book_project_items_route.include_router(
build_decision_book_project_items_route, include_in_schema=True
)
@build_decision_book_project_items_route.post(
path="/list", summary="List Active/Delete/Confirm Decision Project Book Project Items"
)
def build_decision_book_project_people_items_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_decision_book_project_items_route.post(
path="/create",
summary="Create Build Decision Book Project People with given auth levels",
)
def build_decision_book_project_people_items_create(request: Request, data: InsertBuildDecisionBookProjectItems):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(data=data, token_dict=token_dict)
@build_decision_book_project_items_route.post(
path="/update/{build_decision_book_project_item_uu_id}",
summary="Add people to Decision Project Book Project Items with given auth levels",
)
def build_decision_book_project_people_items_update(
request: Request,
build_decision_book_project_item_uu_id: str,
data: UpdateBuildDecisionBookProjectItems
):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(
data=data,
build_decision_book_project_item_uu_id=build_decision_book_project_item_uu_id,
token_dict=token_dict
)
@build_decision_book_project_items_route.post(
path="/patch/{build_decision_book_project_item_uu_id}",
summary="Patch people from Decision Project Book Project Items with given auth levels",
)
def build_decision_book_project_people_items_patch(
request: Request, build_decision_book_project_item_uu_id:str, data
):
token_dict = parse_token_object_to_dict(request=request)
return token_dict.available_event(
data=data,
build_decision_book_project_item_uu_id=build_decision_book_project_item_uu_id,
token_dict=token_dict
)

View File

@ -9,7 +9,7 @@ from service_app_test.test_application.evyos.datas.get_occupants_codes import (
decision_book_items_dict = (
lambda token, item_comment, info_type_uu_id, unit_price, is_fixed, st, ed: {
"token": token,
"item_comment": f"Test {item_comment}",
"item_comment": item_comment,
"info_type_uu_id": info_type_uu_id,
"unit_price": unit_price,
"unit_price_is_fixed": is_fixed,

View File

@ -0,0 +1,30 @@
from api_validations.validations_request import (
InsertBuildDecisionBookProjects,
InsertBuildDecisionBookProjectItems,
)
def create_decision_book_items(decision_book_items, requester):
response = requester.post(
endpoint="/build/decision_book/items/create",
data=decision_book_items,
)
print("text", response.text)
print("json", response.json())
return response.json()
def approve_build_decision_book_project():
return
def approve_build_decision_book_project_item_create(requester):
requester.post(
endpoint="/build/decision_book/project/items/create",
data=dict(
build_decision_book_project_item_uu_id="",
),
)

View File

@ -22,7 +22,7 @@ from service_app_test.test_application.migrate_old_data.accounts import (
)
password_token = "JFHnbuPmYDSK816Ce49UAbjLMuHn3a3X5eFm6TGXzXJd1RNIPJrKprmin1JTsZN1hu1vUoyQRYoIQ2bn-FQOBWn1DoN9LavmJZww2JS7UUXSyMvPZGIgM-vr9BoYh3OaGPqcZAAT8AG3j__80WHfYsPuk_flF4R4UUnKE-0GWQ-YBkVs9C9llhD4k6e_uIsr"
password_token = "g17Anw5yBvrASMXtES8olfE8vN32R-U7wO_g8kbhjK8C67ww7fv39Mp3ygjouDw8UrwFJhemqFwbEIi2XzIN1u_rq4nmUSROZAnL3NyhczfizMZml0Rd84HWFA80Z1WpIsOadRlGVN77rr3OrrfYXfp1Fa6f_LsiTj0m3N-ie6Mr-4NIQ-3g25Z4oCD4Up6o"
login_data = {
"domain": "evyos.com.tr",
"access_key": "karatay.berkay.sup@evyos.com.tr",
@ -43,7 +43,7 @@ login_creds_occupant = {
"access_key": access_key_president,
"password": "string",
"remember_me": False,
"password_token": "wU1OkD5HEicfNEs_Azm-PjEOaQT4uO9vmnKgtMrME0rNCS4rbMwj6mTXteu5i0DS8EoQOB0XXdN-BWsU0FvRRMND5wzTHHc4k5eb62blrXnM8IHRlFpxObUflGwjOF4tNoTeU53z5zqqHgaHMFAD6GUtZSeXwoSpQcLcag-OqdVmOL82GBmEXXU8bodKL5_y"
"password_token": "88ENxfw1a0tQRHTQ1RWPsv1iWEe2jzwPqra1tH5PuGmr69fneVDdCpQhgj5LnY0L9IA2Zq8eUX7LRpwKaez0rbYQZRdrKNCfx98M4erSNSRCFPI35tBvGdRuTEISIGoUXPI1xEcfQvGT-AOILc-yPOlyfYLyB7Chej1bjuGxe04hdtqQon2rYLmI8KMCv2XK"
}
wrt_creds_occupant = {
"domain": "evyos.com.tr",
@ -67,27 +67,39 @@ both_apis = BothAPIS()
# both_apis.wag_api = wag_api
both_apis.local_api = local_api
assign_people_to_create_item = -1
assign_people_to_create_item = 3
# selection_list = None
selection_list = [
# "a44fb2c0-42a4-4193-b964-73dcbf605110",
# "463ae98b-07e7-4e76-8de1-d5984fed91fa",
"68b5e3d9-c546-4ebd-98f5-df468f20cc54",
"da2a282c-7053-4cdf-bca5-c41f548883cc",
]
# selection_list = None
manager_token = ""
manager_token = "jk-8A2kXjk86QGP2WHMrOF7E9UTfzOe0Wcq0HDZFDh78V5YbuNVxmw"
writers_token = manager_token
people_uu_id_list = [
# "2f1d6e3e-aca2-4bfa-a3e7-ce32eb7e02b2",
"561a9cbc-587a-4582-8eff-f005f5b1e847",
"561a9cbc-587a-4582-8eff-f005f5b1e847",
"561a9cbc-587a-4582-8eff-f005f5b1e847",
]
list_of_attendees = [
"zFhY5z05ixUxvryeGYPdchUDYhIoatghz06bb74FwJuMyrH1w4JVQw",
"wlm0VNMnUDj91B8HLWQE9vKZsOIPcYQlHZqmgV_U_ywIOXFxR7RDxw",
"2ckn8Jp7r0xgHqdExk82SQVUhekwSMNI6Yvd1ESV6LD4769kyeso2g",
"6iY_p1JkptCj1JeptEUokw5BzxtcgQ3tHYkF2Vud9Cl1uzO3TJZmnQ",
"jaOQodhZaDcEJ8_1Y2hjOlKk3f5SiaYfYU-xqDlervLdeYgHumkniw",
"2iPk5lcTYdl_-S7odsLbN8Kij20pVNHmGSDC6gIJHIIRQ74JitP_LA",
"cl82VDi7xQNO77v3CC7X8wcQ4i_C-K9uuKZyqnvh4KHi0ciwqXyOKA",
"UTHZNg9gx0lZ4laDUz7S5xQ5e83vxrufqp7PbPCJx29AxhzX9DL62A",
"rwlasXNiQXXxfRBXv78DkQeSS1S3ubV0ulrXK8cZgmCDkHAIoWvU0w",
"JgAVc5U5lsfrbSx1gx0_SYQcO0q_K2HX8Vir5SIdiM-Z-PuHAG5cRg",
"V_rSldMaE9P_-uEfSsyh1ojEYep4Xma3NY7BIKzuicj_wEkCqFramw",
]
living_space_data = dict(
build_parts_uu_id="a44fb2c0-42a4-4193-b964-73dcbf605110",
person_uu_id="269d1bdc-1495-4e5f-afef-20dd5c3e22be",
occupant_type_uu_id="6c98e522-6b4c-4951-8e1e-e33c14b4d779",
build_parts_uu_id="68b5e3d9-c546-4ebd-98f5-df468f20cc54",
person_uu_id="dc135536-086f-4e11-af3a-02c7cf65f265",
occupant_type_uu_id="a47372a9-67da-4dfb-82a9-51f9ca15ef63",
expiry_starts=arrow.now().date().__str__(),
)