init defaults completed

This commit is contained in:
2024-11-10 20:14:13 +03:00
parent aeda315119
commit c42a19c262
37 changed files with 582 additions and 308 deletions

View File

@@ -1,20 +1,20 @@
from service_app_init.initialize_app.initialize_default_department import (
from .initialize_default_department import (
create_occupant_types_defaults,
create_application_defaults,
)
from service_app_init.initialize_app.initiator import init_api_enums_build_types
from service_app_init.initialize_app.model_initator import copy_validations_to_database
from service_app_init.initialize_app.modules_and_services_init import (
from .initiator import init_api_enums_build_types
from .model_initator import copy_validations_to_database
from .modules_and_services_init import (
create_endpoints_from_api_functions,
create_modules_and_services_and_actions,
)
from service_app_init.initialize_app.event_initator import (
from .event_initator import (
add_events_all_services_and_occupant_types,
create_all_events_from_actions,
add_events_to_system_super_user,
)
from service_app_init.initialize_app.initialize_identity_address_defaults import (
from .initialize_identity_address_defaults import (
create_identity_address_defaults,
)

View File

@@ -21,7 +21,7 @@ active_confirmed = dict(
def create_all_events_from_actions():
import api_events.events as events
from databases import EndpointRestriction
an_empty_list, duplicate_list = [], []
for event in events.__all__:
@@ -32,26 +32,34 @@ def create_all_events_from_actions():
) in event_selected.__event_keys__.items():
an_empty_list.append(event_selected_key)
event_selected_function = getattr(event_selected, event_selected_one, None)
if endpoint_match := event_selected.action_match:
if not event_selected.action.endpoint:
raise Exception(
f"Endpoint not found in {event_selected.__name__} class"
)
endpoint_restriction = EndpointRestriction.filter_one(
EndpointRestriction.endpoint_name.ilike(f"%{event_selected.action.endpoint}%"),
system=True
).data
if endpoint_restriction:
if event_selected_function:
selected_event = Events.filter_one(
Events.event_type==event_selected.event_type,
Events.function_class==event,
Events.function_code==event_selected_key,
Events.endpoint_id==endpoint_match.id,
Events.endpoint_uu_id==str(endpoint_match.uu_id),
*Events.valid_record_args(Events)
Events.endpoint_id==endpoint_restriction.id,
Events.endpoint_uu_id==str(endpoint_restriction.uu_id),
system=True
).data
if not selected_event:
created_event = Events.create(
created_event = Events.find_or_create(
event_type=event_selected.event_type,
function_class=event,
function_code=event_selected_key,
endpoint_id=endpoint_match.id,
endpoint_uu_id=str(endpoint_match.uu_id),
endpoint_id=endpoint_restriction.id,
endpoint_uu_id=str(endpoint_restriction.uu_id),
**active_confirmed
)
Events.save()
print(f"Event created: {created_event.uu_id}")
for item in an_empty_list:
@@ -63,19 +71,17 @@ def create_all_events_from_actions():
raise Exception(
f"Duplicate events found: {duplicate_list}. Check events folder look for given uu-ids."
)
return True
def add_events_all_services_and_occupant_types():
import api_events.tasks2events as tasks2events
for event_block in tasks2events.__all__:
event_block_class = getattr(tasks2events, event_block)
service_selected = Services.filter_one(
Services.service_code==getattr(event_block_class, "service_code", None),
*Services.valid_record_args(Services)
system=True
).data
if not service_selected:
raise Exception(f"{event_block_class.service_code} service is not found")
@@ -90,21 +96,24 @@ def add_events_all_services_and_occupant_types():
service_uu_id=str(service_selected.uu_id),
event_id=event_id,
event_uu_id=event_uu_id,
**active_confirmed
)
Service2Events.save()
Service2Events.is_confirmed = True
Service2Events.save()
return
def add_events_to_system_super_user():
add_service = Services.filter_by_one(service_code="SRE-SUE", **Services.valid_record_dict).data
add_service = Services.filter_by_one(system=True, service_code="SRE-SUE").data
if not add_service:
raise Exception("Service not found")
find_staff = Staff.filter_by_one(staff_code="SUE", **Staff.valid_record_dict).data
find_staff = Staff.filter_by_one(system=True, staff_code="SUE").data
if not find_staff:
raise Exception("Super User not found")
add_employee = Employees.filter_by_one(staff_id=find_staff.id, **Employees.valid_record_dict).data
add_employee = Employees.filter_by_one(system=True, staff_id=find_staff.id).data
if not add_employee:
raise Exception("Super User Employee not found")
@@ -112,3 +121,4 @@ def add_events_to_system_super_user():
service_id=add_service.id,
employee_id=add_employee.id,
)
Employees.save()

View File

@@ -140,7 +140,10 @@ def create_occupant_types_defaults():
]
for list_occupant_type in list_occupant_types:
OccupantTypes.find_or_create(**{"is_confirmed": True, **list_occupant_type})
created_type = OccupantTypes.find_or_create(**{"is_confirmed": True, **list_occupant_type})
created_type.save()
created_type.is_confirmed = True
created_type.save()
def create_application_defaults():
@@ -157,6 +160,7 @@ def create_application_defaults():
RelationshipDutyCompany,
)
created_list = []
created_by, confirmed_by = "System", "System"
company_management = Companies.find_or_create(
**{
@@ -171,40 +175,28 @@ def create_application_defaults():
"created_by": created_by,
"confirmed_by": confirmed_by,
"is_commercial": True,
**dict(
is_confirmed=True, active=True, deleted=False, is_notification_send=True
),
}
)
created_list.append(company_management)
Duties.init_a_company_default_duties(
another_list = Duties.init_a_company_default_duties(
company_id=company_management.id, company_uu_id=str(company_management.uu_id)
)
created_list.extend(another_list)
bulk_duty = Duty.filter_by_one(
system=True,
duty_code="BULK",
).data
RelationshipDutyCompany.find_or_create(
duties_id=bulk_duty.id,
owner_id=company_management.id,
member_id=company_management.id,
parent_id=None,
is_confirmed=True,
active=True,
deleted=False,
is_notification_send=True,
)
it_dept = Departments.filter_by_one(
system=True,
department_name="IT Department",
department_code="ITD001",
company_id=company_management.id,
company_uu_id=str(company_management.uu_id),
**Departments.valid_record_dict,
is_confirmed=True,
).data
Duty.find_or_create(
created_duty = Duty.find_or_create(
**dict(
duty_name="Database Manager",
duty_code="DM",
@@ -217,7 +209,9 @@ def create_application_defaults():
is_notification_send=True,
)
)
Duty.find_or_create(
created_list.append(created_duty)
created_duty = Duty.find_or_create(
**dict(
duty_name="Network Manager",
duty_code="NM",
@@ -230,6 +224,8 @@ def create_application_defaults():
is_notification_send=True,
)
)
created_list.append(created_duty)
application_manager_duty = Duty.find_or_create(
duty_name="Application Manager",
duty_code="AM",
@@ -241,6 +237,7 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(application_manager_duty)
application_super_user_duty = Duty.find_or_create(
duty_name="Super User",
duty_code="SUE",
@@ -252,7 +249,7 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(application_super_user_duty)
application_manager_duties = Duties.find_or_create(
department_id=it_dept.id,
department_uu_id=str(it_dept.uu_id),
@@ -265,6 +262,7 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(application_manager_duties)
super_user_duties = Duties.find_or_create(
department_id=it_dept.id,
department_uu_id=str(it_dept.uu_id),
@@ -277,6 +275,31 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(super_user_duties)
RelationshipDutyCompany.find_or_create(
duties_id=application_manager_duties.id,
owner_id=company_management.id,
member_id=company_management.id,
parent_id=None,
child_count=0,
is_confirmed=True,
active=True,
deleted=False,
is_notification_send=True,
)
created_list.append(application_manager_duties)
RelationshipDutyCompany.find_or_create(
duties_id=super_user_duties.id,
owner_id=company_management.id,
member_id=company_management.id,
parent_id=None,
child_count=0,
is_confirmed=True,
active=True,
deleted=False,
is_notification_send=True,
)
created_list.append(super_user_duties)
app_manager = People.find_or_create(
**{
@@ -293,12 +316,9 @@ def create_application_defaults():
"tax_no": "1231231231",
"created_by": created_by,
"confirmed_by": confirmed_by,
**dict(
is_confirmed=True, active=True, deleted=False, is_notification_send=True
),
}
)
created_list.append(app_manager)
sup_manager = People.find_or_create(
**{
"firstname": "Berkay Super User",
@@ -314,12 +334,9 @@ def create_application_defaults():
"tax_no": "1231231232",
"created_by": created_by,
"confirmed_by": confirmed_by,
**dict(
is_confirmed=True, active=True, deleted=False, is_notification_send=True
),
}
)
created_list.append(sup_manager)
application_manager_staff = Staff.find_or_create(
staff_description="Application Manager",
staff_name="Application Manager Employee",
@@ -331,6 +348,7 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(application_manager_staff)
super_user_staff = Staff.find_or_create(
staff_description="Super User",
staff_name="Super User Employee",
@@ -342,6 +360,7 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(super_user_staff)
app_manager_employee = Employees.find_or_create(
staff_id=application_manager_staff.id,
staff_uu_id=str(application_manager_staff.uu_id),
@@ -352,6 +371,8 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(app_manager_employee)
super_user_employee = Employees.find_or_create(
staff_id=super_user_staff.id,
staff_uu_id=str(super_user_staff.uu_id),
@@ -362,6 +383,8 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(super_user_employee)
app_manager_user = Users.find_or_create(
person_id=app_manager.id,
person_uu_id=str(app_manager.uu_id),
@@ -377,17 +400,18 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
if not app_manager_user.is_found:
app_manager_user.reset_password_token()
MongoQueryIdentity(
company_uuid=company_management.uu_id
).create_domain_via_user(
payload=DomainViaUser(
user_uu_id=str(app_manager_user.uu_id),
main_domain="evyos.com.tr",
other_domains_list=["evyos.com.tr"],
)
created_list.append(app_manager_user)
app_manager_user.reset_password_token()
mongo_engine = MongoQueryIdentity(
company_uuid=company_management.uu_id
)
mongo_engine.create_domain_via_user(
payload=DomainViaUser(
user_uu_id=str(app_manager_user.uu_id),
main_domain="evyos.com.tr",
other_domains_list=["evyos.com.tr"],
)
)
sup_manager_employee = Users.find_or_create(
person_id=sup_manager.id,
@@ -404,15 +428,18 @@ def create_application_defaults():
deleted=False,
is_notification_send=True,
)
created_list.append(sup_manager_employee)
if not sup_manager_employee.is_found:
sup_manager_employee.reset_password_token()
MongoQueryIdentity(
company_uuid=company_management.uu_id
).create_domain_via_user(
payload=DomainViaUser(
user_uu_id=str(sup_manager_employee.uu_id),
main_domain="evyos.com.tr",
other_domains_list=["evyos.com.tr"],
)
sup_manager_employee.reset_password_token()
mongo_engine.create_domain_via_user(
payload=DomainViaUser(
user_uu_id=str(sup_manager_employee.uu_id),
main_domain="evyos.com.tr",
other_domains_list=["evyos.com.tr"],
)
)
People.save()
for created_list_item in created_list:
created_list_item.is_confirmed = True
created_list_item.save()
print("All Defaults Create is now completed")

View File

@@ -236,6 +236,7 @@ def init_api_enums_build_types():
key=str(insert_enum["type_code"]).upper(),
description=insert_enum["type_name"],
)
BuildTypes.save()
# for insert_meeting_type in insert_meeting_types:
# ApiEnumDropdown.find_or_create(

View File

@@ -1,6 +1,4 @@
import validations
# from database_sql_models.event.event import Models, ModelEntities
import api_validations.validations_request as validations
def get_upper_only(text: str):

View File

@@ -1,14 +1,42 @@
import typing
from databases import (
Modules,
Duty,
Services,
Service2Events,
OccupantTypes,
)
def create_endpoints_from_api_functions(routers):
from application.create_file import create_app
from databases import EndpointRestriction
api_app = create_app(routers=routers)
for route in api_app.routes:
route_path, route_summary = (
str(getattr(route, "path")),
str(getattr(route, "name")) or "",
)
methods = [method.lower() for method in getattr(route, "methods")]
for route_method in methods:
restriction = EndpointRestriction.find_or_create(
**dict(
endpoint_method=route_method,
endpoint_name=route_path,
endpoint_desc=route_summary.replace("_", " "),
endpoint_function=route_summary,
)
)
restriction.endpoint_code = f"AR{str(restriction.id).zfill(3)}"
restriction.save()
restriction.is_confirmed = True
restriction.save()
EndpointRestriction.save()
return api_app
def create_services_building(module_dict: dict):
"""
4. Service [Bina] Yönetim - OPTIONAL
@@ -20,55 +48,78 @@ def create_services_building(module_dict: dict):
10. Service [Bina] Onarım + OPTIONAL
11 Service [Bina] Gözlem + OPTIONAL
"""
Services.find_or_create(
created_service = Services.find_or_create(
**module_dict,
service_name="Building Management",
service_description="Building Management Service",
service_code="SR-BLD-MNG",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Legal Affairs",
service_description="Building Legal Affairs Service",
service_code="SR-BLD-LGL",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Cleaning",
service_description="Building Cleaning Service",
service_code="SR-BLD-CLN",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Heating System",
service_description="Building Heating System Service",
service_code="SR-BLD-HTS",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Security System",
service_description="Building Security System Service",
service_code="SR-BLD-SEC",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Maintenance",
service_description="Building Maintenance Service",
service_code="SR-BLD-MNT",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Repair",
service_description="Building Repair Service",
service_code="SR-BLD-RPR",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Building Observation",
service_description="Building Observation Service",
service_code="SR-BLD-OBS",
)
created_service.save()
created_service.is_confirmed = True
created_service.save()
return
@@ -80,36 +131,52 @@ def create_services_flat(module_dict: dict):
14. Service [Daire] Temizlik + OPTIONAL
11 Service [Daire] Gözlem + OPTIONAL
"""
Services.find_or_create(
created_service = Services.find_or_create(
**module_dict,
service_name="Flat Rent",
service_description="Flat Rent Service",
service_code="SR-FLT-RNT",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Flat Sale",
service_description="Flat Sale Service",
service_code="SR-FLT-SAL",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Flat Renovation",
service_description="Flat Renovation Service",
service_code="SR-FLT-RNV",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Flat Cleaning",
service_description="Flat Cleaning Service",
service_code="SR-FLT-CLN",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Flat Observation",
service_description="Flat Observation Service",
service_code="SR-FLT-OBS",
)
created_service.save()
created_service.is_confirmed = True
created_service.save()
return
@@ -120,30 +187,41 @@ def create_services_authenticate(module_dict: dict):
service_description="Authenticate Service",
service_code="AUTH",
)
authentication_service.save()
authentication_service.is_confirmed = True
authentication_service.save()
return
def create_services_meeting(module_dict: dict):
Services.find_or_create(
created_service = Services.find_or_create(
**module_dict,
service_name="Meeting Regular",
service_description="Regular Meeting Service",
service_code="MEET-REG",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Meeting Emergency",
service_description="Emergency Meeting Service",
service_code="MEET-EMR",
)
Services.find_or_create(
created_service.save()
created_service.is_confirmed = True
created_service.save()
created_service = Services.find_or_create(
**module_dict,
service_name="Meeting Demand",
service_description="Demand Meeting Service",
service_code="MEET-DMN",
)
created_service.save()
created_service.is_confirmed = True
created_service.save()
return
@@ -156,9 +234,11 @@ def create_modules_and_services_and_actions():
"module_code": "EVYOS-ERP",
"module_layer": 1,
"is_default_module": False,
"is_confirmed": True,
}
)
erp_module.save()
erp_module.is_confirmed = True
erp_module.save()
build_module = Modules.find_or_create(
**{
@@ -167,9 +247,11 @@ def create_modules_and_services_and_actions():
"module_code": "BLD-MNG",
"module_layer": 1,
"is_default_module": False,
"is_confirmed": True,
}
)
build_module.save()
build_module.is_confirmed = True
build_module.save()
user_module = Modules.find_or_create(
**{
@@ -178,51 +260,56 @@ def create_modules_and_services_and_actions():
"module_code": "USR-PUB",
"module_layer": 1,
"is_default_module": True,
"is_confirmed": True,
}
)
user_module.save()
user_module.is_confirmed = True
user_module.save()
erp_module_module_dict = dict(
module_id=erp_module.id,
module_uu_id=str(erp_module.uu_id),
is_confirmed=True,
)
build_module_module_dict = dict(
module_id=build_module.id,
module_uu_id=str(build_module.uu_id),
is_confirmed=True,
)
user_module_module_dict = dict(
module_id=user_module.id,
module_uu_id=str(user_module.uu_id),
is_confirmed=True,
)
duty_objects = Duty.filter_all(
Duty.duty_code.notin_(["BULK", "OCCUPANT", "BM0001"])
)
for duty_object in duty_objects.data:
Services.find_or_create(
created_service = Services.find_or_create(
**erp_module_module_dict,
service_name=duty_object.duty_name,
service_description=duty_object.duty_description,
service_code=f"SRE-{duty_object.duty_code}",
)
created_service.save()
created_service.is_confirmed=True
created_service.save()
occupant_types = OccupantTypes.filter_all()
for occupant_type in occupant_types.data:
Services.find_or_create(
created_service = Services.find_or_create(
**build_module_module_dict,
service_name=occupant_type.occupant_type,
service_description=occupant_type.occupant_description,
service_code=f"SRO-{occupant_type.occupant_code}",
)
created_service.save()
created_service.is_confirmed=True
created_service.save()
create_services_authenticate(module_dict=user_module_module_dict)
create_services_meeting(module_dict=build_module_module_dict)
create_services_building(module_dict=build_module_module_dict)
create_services_flat(module_dict=build_module_module_dict)
Modules.save()
return
#
# super_admin_module_created=None