migrator completed

This commit is contained in:
2024-11-14 18:11:53 +03:00
parent ac037ae54a
commit 1ae1264ace
23 changed files with 439 additions and 207 deletions

View File

@@ -17,7 +17,7 @@ requester_dict_build_area = lambda data: {
"data": data,
}
requester_dict_build_part = lambda data: {
"endpoint": "/building/part/create",
"endpoint": "/building/parts/create",
"data": data,
}
requester_dict_build_iban = lambda data: {
@@ -52,10 +52,12 @@ def get_build_area_from_json():
return with_pydantic
def get_build_part_from_json():
def get_build_part_from_json(build_part_type_uu_id: str, part_direction_uu_id: str):
read_files_json, with_pydantic = read_json_file(json_file="build_parts"), []
read_files = read_files_json.get("build_parts")
for row in read_files:
row["build_part_type_uu_id"] = build_part_type_uu_id
row["part_direction_uu_id"] = part_direction_uu_id
pydantic_row = InsertBuildParts(**row)
with_pydantic.append(pydantic_row.model_dump())
if not with_pydantic:
@@ -100,7 +102,14 @@ def create_address(requester: BothAPIS, post_code):
)
print("post_code_response", post_code_response.text)
response_post_code = post_code_response.json()
return response_post_code
response_post_code_uu_id = response_post_code["data"]["uu_id"]
requester.local_api.post(
endpoint=f"/postcode/update/{response_post_code_uu_id}",
data={
"is_confirmed": True,
},
)
return response_post_code_uu_id
def search_street(search_text, requester):
@@ -134,50 +143,24 @@ def create_addresses(address, requester):
data=address,
)
print("text", address_response.text)
print("json", address_response.json())
response_address = address_response.json()
print("json", response_address)
return response_address
def migrate_build(requester: BothAPIS):
street_uu_id = search_street("Reşat Nuri", requester=requester)
response_post_code = create_address(requester=requester, post_code=post_code_dict(uu_id_street=street_uu_id))
print("response_post_code", response_post_code)
created_address = create_addresses(
address=address_dict(post_code_uu_id=response_post_code["data"]["uu_id"]),
requester=requester
)
print('created_address', created_address)
created_address_uu_id = created_address["data"]["uu_id"]
for response_data in get_build_from_json():
print("response_data", response_data)
response_data["address_uu_id"] = created_address_uu_id
exit()
response = requester.local_api.post(**requester_dict_build(data=response_data))
print("response", response.text)
if response.ok:
build_uu_id = response.json()["data"]["uu_id"]
print("response build_uu_id", build_uu_id)
exit()
migrate_build_area(requester=requester, build_uu_id=build_uu_id)
migrate_build_part(requester=requester, build_uu_id=build_uu_id)
migrate_build_iban(requester=requester, build_uu_id=build_uu_id)
return
def grab_new_build_uu_id(requester: BothAPIS, build_uu_id: str):
response_wag = requester.wag_api.post(
endpoint="/building/build/list",
data={"page": 1, "size": 1, "query": {"uu_id": build_uu_id}},
)
build_uu_id = response_wag.json()["data"]["uu_id"]
if not build_uu_id:
raise Exception("Build UU ID not found")
return build_uu_id
# def grab_new_build_uu_id(requester: BothAPIS, build_uu_id: str):
# response_wag = requester.wag_api.post(
# endpoint="/building/build/list",
# data={"page": 1, "size": 1, "query": {"uu_id": build_uu_id}},
# )
# build_uu_id = response_wag.json()["data"]["uu_id"]
# if not build_uu_id:
# raise Exception("Build UU ID not found")
# return build_uu_id
def migrate_build_area(requester: BothAPIS, build_uu_id: str):
build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
# build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
response_datas = get_build_area_from_json()
for response_data in response_datas:
response_data["build_uu_id"] = build_uu_id
@@ -189,10 +172,17 @@ def migrate_build_area(requester: BothAPIS, build_uu_id: str):
return
def migrate_build_part(requester: BothAPIS, build_uu_id: str):
build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
response_datas = get_build_part_from_json()
def migrate_build_part(
requester: BothAPIS, build_uu_id: str, build_part_type_uu_id: str, part_direction_uu_id: str
):
# build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
response_datas = get_build_part_from_json(
build_part_type_uu_id=build_part_type_uu_id, part_direction_uu_id=part_direction_uu_id
)
for response_data in response_datas:
if response_data.get('part_no') == 0:
continue
response_data["build_uu_id"] = build_uu_id
response = requester.local_api.post(
**requester_dict_build_part(data=response_data)
@@ -202,7 +192,7 @@ def migrate_build_part(requester: BothAPIS, build_uu_id: str):
def migrate_build_iban(requester: BothAPIS, build_uu_id: str):
build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
# build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
response_datas = get_build_iban_from_json()
for response_data in response_datas:
response_data["build_uu_id"] = build_uu_id
@@ -214,7 +204,7 @@ def migrate_build_iban(requester: BothAPIS, build_uu_id: str):
def migrate_build_living_space(requester: BothAPIS, build_uu_id: str):
build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
# build_uu_id = grab_new_build_uu_id(requester=requester, build_uu_id=build_uu_id)
response_datas = get_build_iban_from_json()
for response_data in response_datas:
response_data["build_uu_id"] = build_uu_id
@@ -223,3 +213,43 @@ def migrate_build_living_space(requester: BothAPIS, build_uu_id: str):
)
print("response", response.text)
return
def migrate_build(requester: BothAPIS):
from service_app_test.test_application.migrate_old_data.get_building_types import (
list_building_types,
)
from service_app_test.test_application.migrate_old_data.get_type_codes import (
get_type_codes_key_and_class
)
building_type_flat = list_building_types(requester=requester.local_api, type_code="daire").get("uu_id")
building_type_build = list_building_types(requester=requester.local_api, type_code="apt").get("uu_id")
api_enum_dropdown_nn = get_type_codes_key_and_class(
class_name="Directions", key_name="NN", requester=requester.local_api
)
api_enum_dropdown_nn_uuid = api_enum_dropdown_nn.get("data").get("uu_id")
street_uu_id = search_street("Reşat Nuri", requester=requester)
post_code_uuid = create_address(requester=requester, post_code=post_code_dict(uu_id_street=street_uu_id))
created_address = create_addresses(
address=address_dict(post_code_uu_id=post_code_uuid),
requester=requester
)
created_address_uu_id = created_address["data"]["uu_id"]
for response_data in get_build_from_json():
response_data["address_uu_id"] = created_address_uu_id
response_data["build_types_uu_id"] = building_type_build
response = requester.local_api.post(**requester_dict_build(data=response_data))
response_json = response.json()
build_uu_id = str(response_json.get("data").get("uu_id"))
migrate_build_area(requester=requester, build_uu_id=build_uu_id)
migrate_build_part(
requester=requester,
build_uu_id=build_uu_id,
build_part_type_uu_id=building_type_flat,
part_direction_uu_id=api_enum_dropdown_nn_uuid
)
migrate_build_iban(requester=requester, build_uu_id=build_uu_id)
return

View File

@@ -0,0 +1,29 @@
def list_building_types(requester, lang: str = "TR", type_code: str = None):
from service_app_test.test_application.evyos.datas.company_employee_data import (
list_options,
)
options_smart_query = {
**list_options,
"query": {
"lang": lang,
},
}
if type_code:
options_smart_query["query"]["type_code__ilike"] = type_code
response = requester.post(
endpoint="/building/types/list",
data=options_smart_query,
)
if type_code:
for item in response.json().get("data"):
if str(item.get("type_code")).upper() == str(type_code).upper():
return item
print("text", response.text)
print("json", response.json())
return response.json()
# list_building_types(type_code="apt")

View File

@@ -0,0 +1,18 @@
def get_occupants_types(occupant_code, requester):
response = requester.post(
endpoint="/occupant_types/get/code",
data={"type_code": occupant_code},
)
print("text", response.text)
print("json", response.json())
return response.json()
def get_occupants_types_uu_id(occupant_uu_id, requester):
response = requester.post(
endpoint="/occupant_types/get/uu_id",
data={"uu_id": occupant_uu_id},
)
print("text", response.text)
print("json", response.json())
return response.json()

View File

@@ -0,0 +1,42 @@
def get_type_codes_key_and_class(class_name, key_name, requester):
response = requester.post(
endpoint="/enums/get/key",
data={"class_name": class_name, "key_name": key_name},
)
print("text", response.text)
print("json", response.json())
return response.json()
def get_type_codes_via_uuid(uu_id, requester):
response = requester.post(
endpoint="/enums/get/uu_id",
data={"uu_id": uu_id},
)
print("text", response.text)
print("json", response.json())
return response.json()
def get_all_type_codes(requester):
response = requester.post(
endpoint="/enums/list/all",
data={},
)
print("text", response.text)
print("json", response.json())
return response.json()
def get_all_type_codes_with_class(class_name, requester):
response = requester.post(
endpoint="/enums/list/class",
data={"class_name": class_name},
)
print("text", response.text)
print("json", response.json())
return response.json()
# get_type_codes(class_name="buildmanagementtype", key_name="BM")
# get_all_type_codes()

View File

@@ -7,13 +7,13 @@ from service_app_test.test_application.migrate_old_data.building import (
)
from service_app_test.test_application.migrate_old_data.company import migrate_company
password_token = "b-4liqvEJIX9wtmMScnJhDOkPTIvyra1I_1HQCgTKG3Mp6Oaj-Vh8dVqqpZFC-fGlQ-5bnuDpzrju4Jg6qoi48EB5brdNT4YQCLdQqMlO8uUrL8iuJmRPk4L9AOQl82NFXD0U4pbZ9fhZkp4vHl487S9HcO1Dz5qUYR1VOs5mt2p0d96c5qrWB4QcDkkbz2F"
login_data = {
"domain": "evyos.com.tr",
"access_key": "karatay.berkay.sup@evyos.com.tr",
"password": "string",
"remember_me": False,
"password_token": "Jx4t2JM3Xc_yNGCBe-hk_4c299ov51_s20kQueVUjm-NJU0KGWENm3alGfyGO6-y79esC5WtuhXHAsw35XJYFn-UOdUAvuW6kbHk-F2MTNbavXMp2f_UdkPrav0PppZEQ2TRcIJQ6DzFWO0ONOxJMhcGTUbqxO4DfidKiq_VjYUqfwcl6ZxSsJolctLzyfwf",
"password_token": password_token
}
login_data_wag = {
"domain": "evyos.com.tr",
@@ -39,6 +39,6 @@ both_apis = BothAPIS()
both_apis.wag_api = wag_api
both_apis.local_api = local_api
# migrate_company(requester=both_apis)
# migrate_people(requester=both_apis)
migrate_company(requester=both_apis)
migrate_people(requester=both_apis)
migrate_build(requester=both_apis)