mod dto_in_handlers;
mod dto_out_handlers;
mod feature_handlers;
mod use_case_handlers;
use std::sync::Arc;
use crate::App;
use crate::app_context::AppContext;
use crate::event_hub_client::EventHubClient;
pub fn init(event_hub_client: &EventHubClient, app: &App, app_context: &Arc<AppContext>) {
feature_handlers::subscribe_new_manifest_event(event_hub_client, app, app_context);
feature_handlers::subscribe_close_manifest_event(event_hub_client, app, app_context);
feature_handlers::subscribe_load_manifest_event(event_hub_client, app, app_context);
feature_handlers::subscribe_workspace_updated_event(event_hub_client, app, app_context);
feature_handlers::subscribe_feature_updated_event(event_hub_client, app, app_context);
feature_handlers::subscribe_feature_deletion_event(event_hub_client, app, app_context);
use_case_handlers::subscribe_use_case_updated_event(event_hub_client, app, app_context);
use_case_handlers::subscribe_use_case_deleted_event(event_hub_client, app, app_context);
dto_in_handlers::subscribe_dto_updated_event(event_hub_client, app, app_context);
dto_in_handlers::subscribe_dto_field_updated_event(event_hub_client, app, app_context);
dto_in_handlers::subscribe_dto_deleted_event(event_hub_client, app, app_context);
dto_in_handlers::subscribe_use_case_updated_event(event_hub_client, app, app_context);
dto_out_handlers::subscribe_dto_updated_event(event_hub_client, app, app_context);
feature_handlers::setup_features_reorder_callback(app, app_context);
feature_handlers::setup_select_feature_callbacks(app, app_context);
feature_handlers::setup_feature_name_callback(app, app_context);
feature_handlers::setup_feature_deletion_callback(app, app_context);
feature_handlers::setup_feature_addition_callback(app, app_context);
use_case_handlers::setup_use_cases_reorder_callback(app, app_context);
use_case_handlers::setup_select_use_case_callbacks(app, app_context);
use_case_handlers::setup_use_case_deletion_callback(app, app_context);
use_case_handlers::setup_use_case_addition_callback(app, app_context);
use_case_handlers::setup_use_case_name_callback(app, app_context);
use_case_handlers::setup_use_case_undoable_callback(app, app_context);
use_case_handlers::setup_use_case_read_only_callback(app, app_context);
use_case_handlers::setup_use_case_long_operation_callback(app, app_context);
use_case_handlers::setup_use_case_entity_check_callback(app, app_context);
dto_in_handlers::setup_dto_in_enabled_callback(app, app_context);
dto_in_handlers::setup_dto_in_name_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_selected_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_name_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_type_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_optional_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_is_list_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_enum_name_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_enum_values_callback(app, app_context);
dto_in_handlers::setup_dto_in_fields_reorder_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_deletion_callback(app, app_context);
dto_in_handlers::setup_dto_in_field_addition_callback(app, app_context);
dto_out_handlers::setup_dto_out_enabled_callback(app, app_context);
dto_out_handlers::setup_dto_out_name_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_selected_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_name_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_type_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_optional_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_is_list_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_enum_name_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_enum_values_callback(app, app_context);
dto_out_handlers::setup_dto_out_fields_reorder_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_deletion_callback(app, app_context);
dto_out_handlers::setup_dto_out_field_addition_callback(app, app_context);
}