from Schemas import ( Applications, Application2Employee, Application2Occupant, Employees, BuildLivingSpace, Services, Service2Application, ) def init_applications_for_super_user(service_match: Services, employee_match: Employees, db_session=None) -> None: list_of_all_events = Applications.filter_all(db=db_session).data Service2Application.filter_all(db=db_session).query.delete() Service2Application.save(db=db_session) for list_of_event_code in list_of_all_events: service_to_event_found = Service2Application.filter_one_system( Service2Application.application_id == list_of_event_code.id, Service2Application.service_id == service_match.id, db=db_session, ) if service_to_event_found.data: service_to_event_found.destroy(db=db_session) print( f"UUID: {service_to_event_found.uu_id} application is deleted from {service_match.service_description}" ) employee_added_application = Service2Application.find_or_create( service_id=service_match.id, service_uu_id=str(service_match.uu_id), application_id=list_of_event_code.id, application_uu_id=str(list_of_event_code.uu_id), application_code=list_of_event_code.application_code, site_url=list_of_event_code.site_url, is_confirmed=True, active=True, db=db_session, ) if employee_added_application.meta_data.created: employee_added_application.save(db=db_session) print( f"UUID: {employee_added_application.uu_id} application is saved to {service_match.service_description}" ) employee_added_service = Application2Employee.find_or_create( service_id=service_match.id, service_uu_id=str(service_match.uu_id), employee_id=employee_match.id, employee_uu_id=str(employee_match.uu_id), is_confirmed=True, db=db_session, ) if employee_added_service.meta_data.created: employee_added_service.save(db=db_session) print( f"UUID: {employee_added_service.uu_id} service is saved to {employee_match.uu_id}" ) # def init_applications_for_general_manager( # super_user: Employees, db_session=None # ) -> None: # list_of_created_apps = Applications.filter_all_system(db=db_session).data # if not list_of_created_apps: # raise Exception("No applications found") # for list_of_created_app in list_of_created_apps: # application_employee_created = Application2Employee.find_or_create( # employee_id=super_user.id, # employee_uu_id=str(super_user.uu_id), # site_url=list_of_created_app.site_url, # application_code=list_of_created_app.application_code, # application_id=list_of_created_app.id, # application_uu_id=str(list_of_created_app.uu_id), # is_confirmed=True, # db=db_session, # ) # if application_employee_created.meta_data.created: # application_employee_created.save(db=db_session) # def init_applications_for_build_manager( # super_user: BuildLivingSpace, db_session=None # ) -> None: # list_of_created_apps = Applications.filter_all_system(db=db_session).data # if not list_of_created_apps: # raise Exception("No applications found") # for list_of_created_app in list_of_created_apps: # application_employee_created = Application2Employee.find_or_create( # employee_id=super_user.id, # employee_uu_id=str(super_user.uu_id), # site_url=list_of_created_app.site_url, # application_code=list_of_created_app.application_code, # application_id=list_of_created_app.id, # application_uu_id=str(list_of_created_app.uu_id), # is_confirmed=True, # db=db_session, # ) # if application_employee_created.meta_data.created: # application_employee_created.save(db=db_session) # def init_applications_for_owner(super_user: BuildLivingSpace, db_session=None) -> None: # list_of_created_apps = Applications.filter_all_system(db=db_session).data # if not list_of_created_apps: # raise Exception("No applications found") # for list_of_created_app in list_of_created_apps: # application_employee_created = Application2Employee.find_or_create( # employee_id=super_user.id, # employee_uu_id=str(super_user.uu_id), # site_url=list_of_created_app.site_url, # application_code=list_of_created_app.application_code, # application_id=list_of_created_app.id, # application_uu_id=str(list_of_created_app.uu_id), # is_confirmed=True, # db=db_session, # ) # if application_employee_created.meta_data.created: # application_employee_created.save(db=db_session) # def init_applications_for_tenant(super_user: BuildLivingSpace, db_session=None) -> None: # list_of_created_apps = Applications.filter_all_system(db=db_session).data # if not list_of_created_apps: # raise Exception("No applications found") # for list_of_created_app in list_of_created_apps: # application_employee_created = Application2Employee.find_or_create( # employee_id=super_user.id, # employee_uu_id=str(super_user.uu_id), # site_url=list_of_created_app.site_url, # application_code=list_of_created_app.application_code, # application_id=list_of_created_app.id, # application_uu_id=str(list_of_created_app.uu_id), # is_confirmed=True, # db=db_session, # ) # if application_employee_created.meta_data.created: # application_employee_created.save(db=db_session) # list_of_created_apps = [ # dict( # name="Dashboard1", # application_code="app000001", # site_url="/dashboard", # application_type="info", # description="Dashboard Page", # ), # dict( # name="TenantSendMessageToBuildManager", # application_code="app000022", # site_url="/tenant/messageToBM", # application_type="Dash", # description="Individual Page for tenant send message to build manager", # ), # dict( # name="TenantSendMessageToOwner", # application_code="app000018", # site_url="/tenant/messageToOwner", # application_type="Dash", # description="Individual Page for tenant send message to owner", # ), # dict( # name="TenantAccountView", # application_code="app000019", # site_url="/tenant/accounting", # application_type="Dash", # description="Individual Page for tenant account view", # ), # ] # for list_of_created_app in list_of_created_apps: # created_page = Applications.find_or_create( # **list_of_created_app, # db=db_session, # is_confirmed=True, # ) # if created_page.meta_data.created: # created_page.save(db=db_session) # application_occupant_created = Application2Occupant.find_or_create( # build_living_space_id=super_user.id, # build_living_space_uu_id=str(super_user.uu_id), # site_url=created_page.site_url, # application_code=created_page.application_code, # application_id=created_page.id, # application_uu_id=str(created_page.uu_id), # is_confirmed=True, # db=db_session, # ) # if application_occupant_created.meta_data.created: # application_occupant_created.save(db=db_session)