From 17511f36304614498b6144b610c6714139ed1866 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sat, 3 Feb 2024 00:40:28 +0000 Subject: [PATCH] Deploy code docs to GitHub Pages for workflow run 2263 Commit: ba91a9bb53841881047f751d5ec826d42fa7eb92 --- ...s_add_minidumps_option_8_designer_8cs.html | 110 ++ ...inidumps_option_8_designer_8cs_source.html | 1169 ++++++++++++ ...202038___m_s_add_minidumps_option_8cs.html | 110 ++ ...__m_s_add_minidumps_option_8cs_source.html | 128 ++ ...y_add_minidumps_option_8_designer_8cs.html | 110 ++ ...inidumps_option_8_designer_8cs_source.html | 1203 ++++++++++++ ...202051___m_y_add_minidumps_option_8cs.html | 110 ++ ...__m_y_add_minidumps_option_8cs_source.html | 128 ++ ...g_add_minidumps_option_8_designer_8cs.html | 110 ++ ...inidumps_option_8_designer_8cs_source.html | 1163 ++++++++++++ ...202106___p_g_add_minidumps_option_8cs.html | 110 ++ ...__p_g_add_minidumps_option_8cs_source.html | 128 ++ ...l_add_minidumps_option_8_designer_8cs.html | 110 ++ ...inidumps_option_8_designer_8cs_source.html | 1135 ++++++++++++ ...202121___s_l_add_minidumps_option_8cs.html | 110 ++ ...__s_l_add_minidumps_option_8cs_source.html | 128 ++ _api_version_assembly_info_8cs_source.html | 2 +- _database_context_8cs_source.html | 342 ++-- _dotnet_dump_service_8cs_source.html | 18 +- _dream_daemon_controller_8cs_source.html | 455 ++--- ...m_daemon_launch_parameters_8cs_source.html | 41 +- _dream_daemon_rights_8cs_source.html | 6 +- _i_dotnet_dump_service_8cs_source.html | 8 +- _i_process_base_8cs_source.html | 8 +- _i_process_features_8cs_source.html | 8 +- _instance_controller_8cs_source.html | 153 +- ...ase_context_model_snapshot_8cs_source.html | 1624 +++++++++-------- _posix_process_features_8cs_source.html | 8 +- ...ase_context_model_snapshot_8cs_source.html | 1582 ++++++++-------- _process_8cs_source.html | 8 +- _session_controller_8cs_source.html | 12 +- ...ase_context_model_snapshot_8cs_source.html | 1578 ++++++++-------- ...ase_context_model_snapshot_8cs_source.html | 1492 +++++++-------- ...rver_8_api_8_assembly_info_8cs_source.html | 6 +- ...r_8_common_8_assembly_info_8cs_source.html | 2 +- ...ver_8_host_8_assembly_info_8cs_source.html | 2 +- ...t_8_common_8_assembly_info_8cs_source.html | 2 +- _watchdog_base_8cs_source.html | 4 +- _windows_process_features_8cs_source.html | 48 +- annotated.html | 252 +-- changelog.yml | 36 +- class_migration.html | 2 +- ...rver_1_1_api_1_1_models_1_1_entity_id.html | 2 +- ...nal_1_1_dream_daemon_api_base-members.html | 19 +- ..._1_internal_1_1_dream_daemon_api_base.html | 3 + ...ream_daemon_launch_parameters-members.html | 13 +- ...al_1_1_dream_daemon_launch_parameters.html | 78 +- ...nal_1_1_dream_daemon_settings-members.html | 13 +- ..._1_internal_1_1_dream_daemon_settings.html | 3 + ..._internal_1_1_instance_permission_set.html | 2 +- ...1_1_api_1_1_models_1_1_permission_set.html | 2 +- ...uest_1_1_dream_daemon_request-members.html | 19 +- ..._1_1_request_1_1_dream_daemon_request.html | 3 + ...nse_1_1_dream_daemon_response-members.html | 23 +- ..._1_response_1_1_dream_daemon_response.html | 3 + ...ession_1_1_session_controller-members.html | 2 +- ...ts_1_1_session_1_1_session_controller.html | 46 +- ...0348c4d78d87f68a7e8ec52574ccdf0_cgraph.map | 4 +- ...0348c4d78d87f68a7e8ec52574ccdf0_cgraph.md5 | 1 + ...0348c4d78d87f68a7e8ec52574ccdf0_cgraph.png | Bin ...642e3229a7f07751fa9064bba5049a0_cgraph.md5 | 1 - ...onents_1_1_watchdog_1_1_watchdog_base.html | 7 +- ...st_1_1_controllers_1_1_api_controller.html | 2 +- ..._1_1_component_interfacing_controller.html | 2 +- ...ntrollers_1_1_dream_daemon_controller.html | 199 +- ...1_controllers_1_1_instance_controller.html | 143 +- ...ost_1_1_database_1_1_database_context.html | 334 ++-- ..._1_1_m_s_add_minidumps_option-members.html | 92 + ...grations_1_1_m_s_add_minidumps_option.html | 1304 +++++++++++++ ..._m_s_add_minidumps_option__coll__graph.map | 4 + ..._m_s_add_minidumps_option__coll__graph.md5 | 1 + ..._m_s_add_minidumps_option__coll__graph.png | Bin 0 -> 7662 bytes ...s_add_minidumps_option__inherit__graph.map | 4 + ...s_add_minidumps_option__inherit__graph.md5 | 1 + ...s_add_minidumps_option__inherit__graph.png | Bin 0 -> 7662 bytes ..._1_1_m_y_add_minidumps_option-members.html | 92 + ...grations_1_1_m_y_add_minidumps_option.html | 1338 ++++++++++++++ ..._m_y_add_minidumps_option__coll__graph.map | 4 + ..._m_y_add_minidumps_option__coll__graph.md5 | 1 + ..._m_y_add_minidumps_option__coll__graph.png | Bin 0 -> 7566 bytes ...y_add_minidumps_option__inherit__graph.map | 4 + ...y_add_minidumps_option__inherit__graph.md5 | 1 + ...y_add_minidumps_option__inherit__graph.png | Bin 0 -> 7566 bytes ...y_sql_database_context_model_snapshot.html | 1620 ++++++++-------- ..._1_1_p_g_add_minidumps_option-members.html | 92 + ...grations_1_1_p_g_add_minidumps_option.html | 1298 +++++++++++++ ..._p_g_add_minidumps_option__coll__graph.map | 4 + ..._p_g_add_minidumps_option__coll__graph.md5 | 1 + ..._p_g_add_minidumps_option__coll__graph.png | Bin 0 -> 7741 bytes ...g_add_minidumps_option__inherit__graph.map | 4 + ...g_add_minidumps_option__inherit__graph.md5 | 1 + ...g_add_minidumps_option__inherit__graph.png | Bin 0 -> 7741 bytes ...s_sql_database_context_model_snapshot.html | 1578 ++++++++-------- ..._1_1_s_l_add_minidumps_option-members.html | 92 + ...grations_1_1_s_l_add_minidumps_option.html | 1270 +++++++++++++ ..._s_l_add_minidumps_option__coll__graph.map | 4 + ..._s_l_add_minidumps_option__coll__graph.md5 | 1 + ..._s_l_add_minidumps_option__coll__graph.png | Bin 0 -> 7690 bytes ...l_add_minidumps_option__inherit__graph.map | 4 + ...l_add_minidumps_option__inherit__graph.md5 | 1 + ...l_add_minidumps_option__inherit__graph.png | Bin 0 -> 7690 bytes ...erver_database_context_model_snapshot.html | 1574 ++++++++-------- ...qlite_database_context_model_snapshot.html | 1488 +++++++-------- ...els_1_1_dream_daemon_settings-members.html | 13 +- ..._1_1_models_1_1_dream_daemon_settings.html | 3 + ...1_security_1_1_authentication_context.html | 4 +- ...ystem_1_1_dotnet_dump_service-members.html | 2 +- ...st_1_1_system_1_1_dotnet_dump_service.html | 38 +- ..._1_host_1_1_system_1_1_native_methods.html | 2 +- ...ae40ae048891db7c2c1855e9213563_icgraph.map | 2 +- ...ae40ae048891db7c2c1855e9213563_icgraph.md5 | 2 +- ...st_1_1_system_1_1_platform_identifier.html | 2 +- ...em_1_1_posix_process_features-members.html | 2 +- ...1_1_system_1_1_posix_process_features.html | 36 +- ...1eeadd8f3fa1380151384ec76881d7f_cgraph.map | 0 ...1eeadd8f3fa1380151384ec76881d7f_cgraph.md5 | 0 ...1eeadd8f3fa1380151384ec76881d7f_cgraph.png | Bin ...1_host_1_1_system_1_1_process-members.html | 2 +- ...erver_1_1_host_1_1_system_1_1_process.html | 42 +- ...b5c286747cf7fc0371a7f7a87625e7e_cgraph.md5 | 1 - ...52b5270b66aae510f8a9d2f98d3032_icgraph.map | 2 +- ...52b5270b66aae510f8a9d2f98d3032_icgraph.md5 | 2 +- ...71d3468a7bdcb78c4faefdc77e0a614_cgraph.map | 2 +- ...71d3468a7bdcb78c4faefdc77e0a614_cgraph.md5 | 1 + ...71d3468a7bdcb78c4faefdc77e0a614_cgraph.png | Bin ..._1_1_windows_process_features-members.html | 2 +- ...1_system_1_1_windows_process_features.html | 72 +- ...d6d22ad541e9a6f2c4acb59d6897d98_cgraph.map | 0 ...d6d22ad541e9a6f2c4acb59d6897d98_cgraph.md5 | 0 ...d6d22ad541e9a6f2c4acb59d6897d98_cgraph.png | Bin classes.html | 6 +- dir_6a8d19239e99965ecc1391ebd049009a.html | 16 + files.html | 16 +- functions.html | 11 +- functions_b.html | 2 +- functions_c.html | 2 +- functions_d.html | 8 +- functions_func_b.html | 2 +- functions_func_c.html | 2 +- functions_func_d.html | 4 +- functions_func_u.html | 2 +- functions_h.html | 4 +- functions_i.html | 4 +- functions_j.html | 2 +- functions_m.html | 3 +- functions_n.html | 3 +- functions_o.html | 4 +- functions_p.html | 4 +- functions_prop_m.html | 1 + functions_r.html | 3 +- functions_s.html | 6 +- functions_t.html | 3 +- functions_u.html | 2 +- hierarchy.html | 244 +-- inherit_graph_18.map | 246 +-- inherit_graph_18.md5 | 2 +- inherit_graph_18.png | Bin 1479907 -> 1531036 bytes inherits.html | 246 +-- ...sion_1_1_i_session_controller-members.html | 2 +- ..._1_1_session_1_1_i_session_controller.html | 6 +- ...er_1_1_host_1_1_i_o_1_1_i_i_o_manager.html | 4 +- ...ff052035f4d3d0c689d0e89d8deecd_icgraph.map | 2 +- ...ff052035f4d3d0c689d0e89d8deecd_icgraph.md5 | 2 +- ...de873180481f7afa206b6282158d62_icgraph.map | 2 +- ...de873180481f7afa206b6282158d62_icgraph.md5 | 2 +- ...tem_1_1_i_dotnet_dump_service-members.html | 2 +- ..._1_1_system_1_1_i_dotnet_dump_service.html | 25 +- ...5764cad066e48dff4c4a468393ddf3_icgraph.map | 2 +- ...5764cad066e48dff4c4a468393ddf3_icgraph.md5 | 1 + ...5764cad066e48dff4c4a468393ddf3_icgraph.png | Bin ...3e6886542a8c4d273f887ca134b1aa_icgraph.md5 | 1 - ...host_1_1_system_1_1_i_process-members.html | 2 +- ...ver_1_1_host_1_1_system_1_1_i_process.html | 6 +- ...1_1_system_1_1_i_process_base-members.html | 2 +- ..._1_host_1_1_system_1_1_i_process_base.html | 25 +- ...a5f52164b7c397bcefda36c8b99bbe_icgraph.md5 | 1 - ...3532bdc8fa7d2439700ba2b82ae612_icgraph.map | 2 +- ...3532bdc8fa7d2439700ba2b82ae612_icgraph.md5 | 1 + ...3532bdc8fa7d2439700ba2b82ae612_icgraph.png | Bin ...system_1_1_i_process_features-members.html | 2 +- ...ost_1_1_system_1_1_i_process_features.html | 25 +- ...e862994d11a56a415e6a02475f4067_icgraph.map | 2 +- ...e862994d11a56a415e6a02475f4067_icgraph.md5 | 1 + ...e862994d11a56a415e6a02475f4067_icgraph.png | Bin ...ba09702c8f7f5d54bae30027e7c9e3_icgraph.md5 | 1 - ...1_host_1_1_utils_1_1_i_port_allocator.html | 2 +- ...station_1_1_server_1_1_api_1_1_rights.html | 4 +- ..._1_1_host_1_1_database_1_1_migrations.html | 8 + namespaces.html | 252 +-- search/all_1.js | 10 +- search/all_10.js | 106 +- search/all_11.js | 293 +-- search/all_13.js | 363 ++-- search/all_14.js | 464 ++--- search/all_15.js | 131 +- search/all_16.js | 16 +- search/all_18.js | 116 +- search/all_2.js | 218 +-- search/all_3.js | 2 +- search/all_4.js | 604 +++--- search/all_5.js | 442 +++-- search/all_6.js | 51 +- search/all_7.js | 87 +- search/all_8.js | 84 +- search/all_9.js | 39 +- search/all_a.js | 719 ++++---- search/all_b.js | 30 +- search/all_d.js | 12 +- search/all_e.js | 233 +-- search/all_f.js | 4 +- search/classes_11.js | 81 +- search/classes_c.js | 146 +- search/classes_f.js | 85 +- search/files_1.js | 10 +- search/functions_1.js | 6 +- search/functions_14.js | 8 +- search/functions_2.js | 2 +- search/functions_3.js | 8 +- search/properties_b.js | 11 +- search/variables_8.js | 27 +- search/variables_9.js | 4 +- 221 files changed, 22221 insertions(+), 10221 deletions(-) create mode 100644 20240202202038___m_s_add_minidumps_option_8_designer_8cs.html create mode 100644 20240202202038___m_s_add_minidumps_option_8_designer_8cs_source.html create mode 100644 20240202202038___m_s_add_minidumps_option_8cs.html create mode 100644 20240202202038___m_s_add_minidumps_option_8cs_source.html create mode 100644 20240202202051___m_y_add_minidumps_option_8_designer_8cs.html create mode 100644 20240202202051___m_y_add_minidumps_option_8_designer_8cs_source.html create mode 100644 20240202202051___m_y_add_minidumps_option_8cs.html create mode 100644 20240202202051___m_y_add_minidumps_option_8cs_source.html create mode 100644 20240202202106___p_g_add_minidumps_option_8_designer_8cs.html create mode 100644 20240202202106___p_g_add_minidumps_option_8_designer_8cs_source.html create mode 100644 20240202202106___p_g_add_minidumps_option_8cs.html create mode 100644 20240202202106___p_g_add_minidumps_option_8cs_source.html create mode 100644 20240202202121___s_l_add_minidumps_option_8_designer_8cs.html create mode 100644 20240202202121___s_l_add_minidumps_option_8_designer_8cs_source.html create mode 100644 20240202202121___s_l_add_minidumps_option_8cs.html create mode 100644 20240202202121___s_l_add_minidumps_option_8cs_source.html rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_session_1_1_session_controller_aa642e3229a7f07751fa9064bba5049a0_cgraph.map => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_session_1_1_session_controller_a90348c4d78d87f68a7e8ec52574ccdf0_cgraph.map (66%) create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_session_1_1_session_controller_a90348c4d78d87f68a7e8ec52574ccdf0_cgraph.md5 rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_session_1_1_session_controller_aa642e3229a7f07751fa9064bba5049a0_cgraph.png => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_session_1_1_session_controller_a90348c4d78d87f68a7e8ec52574ccdf0_cgraph.png (100%) delete mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_session_1_1_session_controller_aa642e3229a7f07751fa9064bba5049a0_cgraph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option-members.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option__coll__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option__coll__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option__coll__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option__inherit__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option__inherit__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_s_add_minidumps_option__inherit__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option-members.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option__coll__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option__coll__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option__coll__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option__inherit__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option__inherit__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_m_y_add_minidumps_option__inherit__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option-members.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option__coll__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option__coll__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option__coll__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option__inherit__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option__inherit__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_p_g_add_minidumps_option__inherit__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option-members.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option__coll__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option__coll__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option__coll__graph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option__inherit__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option__inherit__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_database_1_1_migrations_1_1_s_l_add_minidumps_option__inherit__graph.png rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_ae96d7e1eadabec1dbcd420efc6d7dc26_cgraph.map => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_a41eeadd8f3fa1380151384ec76881d7f_cgraph.map (100%) rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_ae96d7e1eadabec1dbcd420efc6d7dc26_cgraph.md5 => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_a41eeadd8f3fa1380151384ec76881d7f_cgraph.md5 (100%) rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_ae96d7e1eadabec1dbcd420efc6d7dc26_cgraph.png => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_a41eeadd8f3fa1380151384ec76881d7f_cgraph.png (100%) delete mode 100644 class_tgstation_1_1_server_1_1_host_1_1_system_1_1_process_a0b5c286747cf7fc0371a7f7a87625e7e_cgraph.md5 rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_process_a0b5c286747cf7fc0371a7f7a87625e7e_cgraph.map => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_process_a371d3468a7bdcb78c4faefdc77e0a614_cgraph.map (83%) create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_system_1_1_process_a371d3468a7bdcb78c4faefdc77e0a614_cgraph.md5 rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_process_a0b5c286747cf7fc0371a7f7a87625e7e_cgraph.png => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_process_a371d3468a7bdcb78c4faefdc77e0a614_cgraph.png (100%) rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_windows_process_features_a5b91c927575a7d385138e248dd9b0e51_cgraph.map => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_windows_process_features_a2d6d22ad541e9a6f2c4acb59d6897d98_cgraph.map (100%) rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_windows_process_features_a5b91c927575a7d385138e248dd9b0e51_cgraph.md5 => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_windows_process_features_a2d6d22ad541e9a6f2c4acb59d6897d98_cgraph.md5 (100%) rename class_tgstation_1_1_server_1_1_host_1_1_system_1_1_windows_process_features_a5b91c927575a7d385138e248dd9b0e51_cgraph.png => class_tgstation_1_1_server_1_1_host_1_1_system_1_1_windows_process_features_a2d6d22ad541e9a6f2c4acb59d6897d98_cgraph.png (100%) rename interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_dotnet_dump_service_aa93e6886542a8c4d273f887ca134b1aa_icgraph.map => interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_dotnet_dump_service_a515764cad066e48dff4c4a468393ddf3_icgraph.map (87%) create mode 100644 interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_dotnet_dump_service_a515764cad066e48dff4c4a468393ddf3_icgraph.md5 rename interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_dotnet_dump_service_aa93e6886542a8c4d273f887ca134b1aa_icgraph.png => interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_dotnet_dump_service_a515764cad066e48dff4c4a468393ddf3_icgraph.png (100%) delete mode 100644 interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_dotnet_dump_service_aa93e6886542a8c4d273f887ca134b1aa_icgraph.md5 delete mode 100644 interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_base_a10a5f52164b7c397bcefda36c8b99bbe_icgraph.md5 rename interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_base_a10a5f52164b7c397bcefda36c8b99bbe_icgraph.map => interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_base_adf3532bdc8fa7d2439700ba2b82ae612_icgraph.map (87%) create mode 100644 interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_base_adf3532bdc8fa7d2439700ba2b82ae612_icgraph.md5 rename interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_base_a10a5f52164b7c397bcefda36c8b99bbe_icgraph.png => interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_base_adf3532bdc8fa7d2439700ba2b82ae612_icgraph.png (100%) rename interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_features_a6aba09702c8f7f5d54bae30027e7c9e3_icgraph.map => interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_features_a62e862994d11a56a415e6a02475f4067_icgraph.map (74%) create mode 100644 interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_features_a62e862994d11a56a415e6a02475f4067_icgraph.md5 rename interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_features_a6aba09702c8f7f5d54bae30027e7c9e3_icgraph.png => interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_features_a62e862994d11a56a415e6a02475f4067_icgraph.png (100%) delete mode 100644 interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_process_features_a6aba09702c8f7f5d54bae30027e7c9e3_icgraph.md5 diff --git a/20240202202038___m_s_add_minidumps_option_8_designer_8cs.html b/20240202202038___m_s_add_minidumps_option_8_designer_8cs.html new file mode 100644 index 0000000000..f5c5d0965a --- /dev/null +++ b/20240202202038___m_s_add_minidumps_option_8_designer_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202038_MSAddMinidumpsOption.Designer.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202038_MSAddMinidumpsOption.Designer.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.MSAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202038___m_s_add_minidumps_option_8_designer_8cs_source.html b/20240202202038___m_s_add_minidumps_option_8_designer_8cs_source.html new file mode 100644 index 0000000000..8ce166274d --- /dev/null +++ b/20240202202038___m_s_add_minidumps_option_8_designer_8cs_source.html @@ -0,0 +1,1169 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202038_MSAddMinidumpsOption.Designer.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202038_MSAddMinidumpsOption.Designer.cs
+
+
+Go to the documentation of this file.
1// <auto-generated />
+
2using System;
+
3
+
4using Microsoft.EntityFrameworkCore;
+
5using Microsoft.EntityFrameworkCore.Infrastructure;
+
6using Microsoft.EntityFrameworkCore.Migrations;
+
7
+ +
9{
+
10 [DbContext(typeof(SqlServerDatabaseContext))]
+
11 [Migration("20240202202038_MSAddMinidumpsOption")]
+
12 partial class MSAddMinidumpsOption
+
13 {
+
15 protected override void BuildTargetModel(ModelBuilder modelBuilder)
+
16 {
+
17#pragma warning disable 612, 618
+
18 modelBuilder
+
19 .HasAnnotation("ProductVersion", "8.0.1")
+
20 .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
21
+
22 SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
23
+
24 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
25 {
+
26 b.Property<long?>("Id")
+
27 .ValueGeneratedOnAdd()
+
28 .HasColumnType("bigint");
+
29
+
30 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
31
+
32 b.Property<int>("ChannelLimit")
+
33 .HasColumnType("int");
+
34
+
35 b.Property<string>("ConnectionString")
+
36 .IsRequired()
+
37 .HasMaxLength(10000)
+
38 .HasColumnType("nvarchar(max)");
+
39
+
40 b.Property<bool?>("Enabled")
+
41 .HasColumnType("bit");
+
42
+
43 b.Property<long>("InstanceId")
+
44 .HasColumnType("bigint");
+
45
+
46 b.Property<string>("Name")
+
47 .IsRequired()
+
48 .HasMaxLength(100)
+
49 .HasColumnType("nvarchar(100)");
+
50
+
51 b.Property<int>("Provider")
+
52 .HasColumnType("int");
+
53
+
54 b.Property<long>("ReconnectionInterval")
+
55 .HasColumnType("bigint");
+
56
+
57 b.HasKey("Id");
+
58
+
59 b.HasIndex("InstanceId", "Name")
+
60 .IsUnique();
+
61
+
62 b.ToTable("ChatBots");
+
63 });
+
64
+
65 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
66 {
+
67 b.Property<long>("Id")
+
68 .ValueGeneratedOnAdd()
+
69 .HasColumnType("bigint");
+
70
+
71 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
72
+
73 b.Property<long>("ChatSettingsId")
+
74 .HasColumnType("bigint");
+
75
+
76 b.Property<decimal?>("DiscordChannelId")
+
77 .HasColumnType("decimal(20,0)");
+
78
+
79 b.Property<string>("IrcChannel")
+
80 .HasMaxLength(100)
+
81 .HasColumnType("nvarchar(100)");
+
82
+
83 b.Property<bool?>("IsAdminChannel")
+
84 .IsRequired()
+
85 .HasColumnType("bit");
+
86
+
87 b.Property<bool?>("IsSystemChannel")
+
88 .IsRequired()
+
89 .HasColumnType("bit");
+
90
+
91 b.Property<bool?>("IsUpdatesChannel")
+
92 .IsRequired()
+
93 .HasColumnType("bit");
+
94
+
95 b.Property<bool?>("IsWatchdogChannel")
+
96 .IsRequired()
+
97 .HasColumnType("bit");
+
98
+
99 b.Property<string>("Tag")
+
100 .HasMaxLength(10000)
+
101 .HasColumnType("nvarchar(max)");
+
102
+
103 b.HasKey("Id");
+
104
+
105 b.HasIndex("ChatSettingsId", "DiscordChannelId")
+
106 .IsUnique()
+
107 .HasFilter("[DiscordChannelId] IS NOT NULL");
+
108
+
109 b.HasIndex("ChatSettingsId", "IrcChannel")
+
110 .IsUnique()
+
111 .HasFilter("[IrcChannel] IS NOT NULL");
+
112
+
113 b.ToTable("ChatChannels");
+
114 });
+
115
+
116 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
117 {
+
118 b.Property<long?>("Id")
+
119 .ValueGeneratedOnAdd()
+
120 .HasColumnType("bigint");
+
121
+
122 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
123
+
124 b.Property<int?>("DMApiMajorVersion")
+
125 .HasColumnType("int");
+
126
+
127 b.Property<int?>("DMApiMinorVersion")
+
128 .HasColumnType("int");
+
129
+
130 b.Property<int?>("DMApiPatchVersion")
+
131 .HasColumnType("int");
+
132
+
133 b.Property<Guid?>("DirectoryName")
+
134 .IsRequired()
+
135 .HasColumnType("uniqueidentifier");
+
136
+
137 b.Property<string>("DmeName")
+
138 .IsRequired()
+
139 .HasColumnType("nvarchar(max)");
+
140
+
141 b.Property<string>("EngineVersion")
+
142 .IsRequired()
+
143 .HasColumnType("nvarchar(max)");
+
144
+
145 b.Property<int?>("GitHubDeploymentId")
+
146 .HasColumnType("int");
+
147
+
148 b.Property<long?>("GitHubRepoId")
+
149 .HasColumnType("bigint");
+
150
+
151 b.Property<long>("JobId")
+
152 .HasColumnType("bigint");
+
153
+
154 b.Property<int?>("MinimumSecurityLevel")
+
155 .HasColumnType("int");
+
156
+
157 b.Property<string>("Output")
+
158 .IsRequired()
+
159 .HasColumnType("nvarchar(max)");
+
160
+
161 b.Property<string>("RepositoryOrigin")
+
162 .HasColumnType("nvarchar(max)");
+
163
+
164 b.Property<long>("RevisionInformationId")
+
165 .HasColumnType("bigint");
+
166
+
167 b.HasKey("Id");
+
168
+
169 b.HasIndex("DirectoryName");
+
170
+
171 b.HasIndex("JobId")
+
172 .IsUnique();
+
173
+
174 b.HasIndex("RevisionInformationId");
+
175
+
176 b.ToTable("CompileJobs");
+
177 });
+
178
+
179 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
180 {
+
181 b.Property<long>("Id")
+
182 .ValueGeneratedOnAdd()
+
183 .HasColumnType("bigint");
+
184
+
185 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
186
+
187 b.Property<string>("AdditionalParameters")
+
188 .IsRequired()
+
189 .HasMaxLength(10000)
+
190 .HasColumnType("nvarchar(max)");
+
191
+
192 b.Property<bool?>("AllowWebClient")
+
193 .IsRequired()
+
194 .HasColumnType("bit");
+
195
+
196 b.Property<bool?>("AutoStart")
+
197 .IsRequired()
+
198 .HasColumnType("bit");
+
199
+
200 b.Property<bool?>("DumpOnHealthCheckRestart")
+
201 .IsRequired()
+
202 .HasColumnType("bit");
+
203
+
204 b.Property<long>("HealthCheckSeconds")
+
205 .HasColumnType("bigint");
+
206
+
207 b.Property<long>("InstanceId")
+
208 .HasColumnType("bigint");
+
209
+
210 b.Property<bool?>("LogOutput")
+
211 .IsRequired()
+
212 .HasColumnType("bit");
+
213
+
214 b.Property<long>("MapThreads")
+
215 .HasColumnType("bigint");
+
216
+
217 b.Property<bool?>("Minidumps")
+
218 .IsRequired()
+
219 .HasColumnType("bit");
+
220
+
221 b.Property<int>("Port")
+
222 .HasColumnType("int");
+
223
+
224 b.Property<int>("SecurityLevel")
+
225 .HasColumnType("int");
+
226
+
227 b.Property<bool?>("StartProfiler")
+
228 .IsRequired()
+
229 .HasColumnType("bit");
+
230
+
231 b.Property<long>("StartupTimeout")
+
232 .HasColumnType("bigint");
+
233
+
234 b.Property<long>("TopicRequestTimeout")
+
235 .HasColumnType("bigint");
+
236
+
237 b.Property<int>("Visibility")
+
238 .HasColumnType("int");
+
239
+
240 b.HasKey("Id");
+
241
+
242 b.HasIndex("InstanceId")
+
243 .IsUnique();
+
244
+
245 b.ToTable("DreamDaemonSettings");
+
246 });
+
247
+
248 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
249 {
+
250 b.Property<long>("Id")
+
251 .ValueGeneratedOnAdd()
+
252 .HasColumnType("bigint");
+
253
+
254 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
255
+
256 b.Property<int>("ApiValidationPort")
+
257 .HasColumnType("int");
+
258
+
259 b.Property<int>("ApiValidationSecurityLevel")
+
260 .HasColumnType("int");
+
261
+
262 b.Property<long>("InstanceId")
+
263 .HasColumnType("bigint");
+
264
+
265 b.Property<string>("ProjectName")
+
266 .HasMaxLength(10000)
+
267 .HasColumnType("nvarchar(max)");
+
268
+
269 b.Property<bool?>("RequireDMApiValidation")
+
270 .IsRequired()
+
271 .HasColumnType("bit");
+
272
+
273 b.Property<TimeSpan?>("Timeout")
+
274 .IsRequired()
+
275 .HasColumnType("time");
+
276
+
277 b.HasKey("Id");
+
278
+
279 b.HasIndex("InstanceId")
+
280 .IsUnique();
+
281
+
282 b.ToTable("DreamMakerSettings");
+
283 });
+
284
+
285 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
286 {
+
287 b.Property<long?>("Id")
+
288 .ValueGeneratedOnAdd()
+
289 .HasColumnType("bigint");
+
290
+
291 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
292
+
293 b.Property<long>("AutoUpdateInterval")
+
294 .HasColumnType("bigint");
+
295
+
296 b.Property<int>("ChatBotLimit")
+
297 .HasColumnType("int");
+
298
+
299 b.Property<int>("ConfigurationType")
+
300 .HasColumnType("int");
+
301
+
302 b.Property<string>("Name")
+
303 .IsRequired()
+
304 .HasMaxLength(100)
+
305 .HasColumnType("nvarchar(100)");
+
306
+
307 b.Property<bool?>("Online")
+
308 .IsRequired()
+
309 .HasColumnType("bit");
+
310
+
311 b.Property<string>("Path")
+
312 .IsRequired()
+
313 .HasColumnType("nvarchar(450)");
+
314
+
315 b.Property<string>("SwarmIdentifer")
+
316 .HasColumnType("nvarchar(450)");
+
317
+
318 b.HasKey("Id");
+
319
+
320 b.HasIndex("Path", "SwarmIdentifer")
+
321 .IsUnique()
+
322 .HasFilter("[SwarmIdentifer] IS NOT NULL");
+
323
+
324 b.ToTable("Instances");
+
325 });
+
326
+
327 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
328 {
+
329 b.Property<long>("Id")
+
330 .ValueGeneratedOnAdd()
+
331 .HasColumnType("bigint");
+
332
+
333 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
334
+
335 b.Property<decimal>("ChatBotRights")
+
336 .HasColumnType("decimal(20,0)");
+
337
+
338 b.Property<decimal>("ConfigurationRights")
+
339 .HasColumnType("decimal(20,0)");
+
340
+
341 b.Property<decimal>("DreamDaemonRights")
+
342 .HasColumnType("decimal(20,0)");
+
343
+
344 b.Property<decimal>("DreamMakerRights")
+
345 .HasColumnType("decimal(20,0)");
+
346
+
347 b.Property<decimal>("EngineRights")
+
348 .HasColumnType("decimal(20,0)");
+
349
+
350 b.Property<long>("InstanceId")
+
351 .HasColumnType("bigint");
+
352
+
353 b.Property<decimal>("InstancePermissionSetRights")
+
354 .HasColumnType("decimal(20,0)");
+
355
+
356 b.Property<long>("PermissionSetId")
+
357 .HasColumnType("bigint");
+
358
+
359 b.Property<decimal>("RepositoryRights")
+
360 .HasColumnType("decimal(20,0)");
+
361
+
362 b.HasKey("Id");
+
363
+
364 b.HasIndex("InstanceId");
+
365
+
366 b.HasIndex("PermissionSetId", "InstanceId")
+
367 .IsUnique();
+
368
+
369 b.ToTable("InstancePermissionSets");
+
370 });
+
371
+
372 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
373 {
+
374 b.Property<long?>("Id")
+
375 .ValueGeneratedOnAdd()
+
376 .HasColumnType("bigint");
+
377
+
378 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
379
+
380 b.Property<decimal?>("CancelRight")
+
381 .HasColumnType("decimal(20,0)");
+
382
+
383 b.Property<decimal?>("CancelRightsType")
+
384 .HasColumnType("decimal(20,0)");
+
385
+
386 b.Property<bool?>("Cancelled")
+
387 .IsRequired()
+
388 .HasColumnType("bit");
+
389
+
390 b.Property<long?>("CancelledById")
+
391 .HasColumnType("bigint");
+
392
+
393 b.Property<string>("Description")
+
394 .IsRequired()
+
395 .HasColumnType("nvarchar(max)");
+
396
+
397 b.Property<long?>("ErrorCode")
+
398 .HasColumnType("bigint");
+
399
+
400 b.Property<string>("ExceptionDetails")
+
401 .HasColumnType("nvarchar(max)");
+
402
+
403 b.Property<long>("InstanceId")
+
404 .HasColumnType("bigint");
+
405
+
406 b.Property<byte>("JobCode")
+
407 .HasColumnType("tinyint");
+
408
+
409 b.Property<DateTimeOffset?>("StartedAt")
+
410 .IsRequired()
+
411 .HasColumnType("datetimeoffset");
+
412
+
413 b.Property<long>("StartedById")
+
414 .HasColumnType("bigint");
+
415
+
416 b.Property<DateTimeOffset?>("StoppedAt")
+
417 .HasColumnType("datetimeoffset");
+
418
+
419 b.HasKey("Id");
+
420
+
421 b.HasIndex("CancelledById");
+
422
+
423 b.HasIndex("InstanceId");
+
424
+
425 b.HasIndex("StartedById");
+
426
+
427 b.ToTable("Jobs");
+
428 });
+
429
+
430 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
431 {
+
432 b.Property<long>("Id")
+
433 .ValueGeneratedOnAdd()
+
434 .HasColumnType("bigint");
+
435
+
436 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
437
+
438 b.Property<string>("ExternalUserId")
+
439 .IsRequired()
+
440 .HasMaxLength(100)
+
441 .HasColumnType("nvarchar(100)");
+
442
+
443 b.Property<int>("Provider")
+
444 .HasColumnType("int");
+
445
+
446 b.Property<long?>("UserId")
+
447 .HasColumnType("bigint");
+
448
+
449 b.HasKey("Id");
+
450
+
451 b.HasIndex("UserId");
+
452
+
453 b.HasIndex("Provider", "ExternalUserId")
+
454 .IsUnique();
+
455
+
456 b.ToTable("OAuthConnections");
+
457 });
+
458
+
459 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
460 {
+
461 b.Property<long?>("Id")
+
462 .ValueGeneratedOnAdd()
+
463 .HasColumnType("bigint");
+
464
+
465 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
466
+
467 b.Property<decimal>("AdministrationRights")
+
468 .HasColumnType("decimal(20,0)");
+
469
+
470 b.Property<long?>("GroupId")
+
471 .HasColumnType("bigint");
+
472
+
473 b.Property<decimal>("InstanceManagerRights")
+
474 .HasColumnType("decimal(20,0)");
+
475
+
476 b.Property<long?>("UserId")
+
477 .HasColumnType("bigint");
+
478
+
479 b.HasKey("Id");
+
480
+
481 b.HasIndex("GroupId")
+
482 .IsUnique()
+
483 .HasFilter("[GroupId] IS NOT NULL");
+
484
+
485 b.HasIndex("UserId")
+
486 .IsUnique()
+
487 .HasFilter("[UserId] IS NOT NULL");
+
488
+
489 b.ToTable("PermissionSets");
+
490 });
+
491
+
492 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
493 {
+
494 b.Property<long?>("Id")
+
495 .ValueGeneratedOnAdd()
+
496 .HasColumnType("bigint");
+
497
+
498 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
499
+
500 b.Property<string>("AccessIdentifier")
+
501 .IsRequired()
+
502 .HasColumnType("nvarchar(max)");
+
503
+
504 b.Property<long>("CompileJobId")
+
505 .HasColumnType("bigint");
+
506
+
507 b.Property<long?>("InitialCompileJobId")
+
508 .HasColumnType("bigint");
+
509
+
510 b.Property<int>("LaunchSecurityLevel")
+
511 .HasColumnType("int");
+
512
+
513 b.Property<int>("LaunchVisibility")
+
514 .HasColumnType("int");
+
515
+
516 b.Property<int>("Port")
+
517 .HasColumnType("int");
+
518
+
519 b.Property<int>("ProcessId")
+
520 .HasColumnType("int");
+
521
+
522 b.Property<int>("RebootState")
+
523 .HasColumnType("int");
+
524
+
525 b.Property<int?>("TopicPort")
+
526 .HasColumnType("int");
+
527
+
528 b.HasKey("Id");
+
529
+
530 b.HasIndex("CompileJobId");
+
531
+
532 b.HasIndex("InitialCompileJobId");
+
533
+
534 b.ToTable("ReattachInformations");
+
535 });
+
536
+
537 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
538 {
+
539 b.Property<long>("Id")
+
540 .ValueGeneratedOnAdd()
+
541 .HasColumnType("bigint");
+
542
+
543 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
544
+
545 b.Property<string>("AccessToken")
+
546 .HasMaxLength(10000)
+
547 .HasColumnType("nvarchar(max)");
+
548
+
549 b.Property<string>("AccessUser")
+
550 .HasMaxLength(10000)
+
551 .HasColumnType("nvarchar(max)");
+
552
+
553 b.Property<bool?>("AutoUpdatesKeepTestMerges")
+
554 .IsRequired()
+
555 .HasColumnType("bit");
+
556
+
557 b.Property<bool?>("AutoUpdatesSynchronize")
+
558 .IsRequired()
+
559 .HasColumnType("bit");
+
560
+
561 b.Property<string>("CommitterEmail")
+
562 .IsRequired()
+
563 .HasMaxLength(10000)
+
564 .HasColumnType("nvarchar(max)");
+
565
+
566 b.Property<string>("CommitterName")
+
567 .IsRequired()
+
568 .HasMaxLength(10000)
+
569 .HasColumnType("nvarchar(max)");
+
570
+
571 b.Property<bool?>("CreateGitHubDeployments")
+
572 .IsRequired()
+
573 .HasColumnType("bit");
+
574
+
575 b.Property<long>("InstanceId")
+
576 .HasColumnType("bigint");
+
577
+
578 b.Property<bool?>("PostTestMergeComment")
+
579 .IsRequired()
+
580 .HasColumnType("bit");
+
581
+
582 b.Property<bool?>("PushTestMergeCommits")
+
583 .IsRequired()
+
584 .HasColumnType("bit");
+
585
+
586 b.Property<bool?>("ShowTestMergeCommitters")
+
587 .IsRequired()
+
588 .HasColumnType("bit");
+
589
+
590 b.Property<bool?>("UpdateSubmodules")
+
591 .IsRequired()
+
592 .HasColumnType("bit");
+
593
+
594 b.HasKey("Id");
+
595
+
596 b.HasIndex("InstanceId")
+
597 .IsUnique();
+
598
+
599 b.ToTable("RepositorySettings");
+
600 });
+
601
+
602 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
603 {
+
604 b.Property<long>("Id")
+
605 .ValueGeneratedOnAdd()
+
606 .HasColumnType("bigint");
+
607
+
608 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
609
+
610 b.Property<long>("RevisionInformationId")
+
611 .HasColumnType("bigint");
+
612
+
613 b.Property<long>("TestMergeId")
+
614 .HasColumnType("bigint");
+
615
+
616 b.HasKey("Id");
+
617
+
618 b.HasIndex("RevisionInformationId");
+
619
+
620 b.HasIndex("TestMergeId");
+
621
+
622 b.ToTable("RevInfoTestMerges");
+
623 });
+
624
+
625 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
626 {
+
627 b.Property<long>("Id")
+
628 .ValueGeneratedOnAdd()
+
629 .HasColumnType("bigint");
+
630
+
631 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
632
+
633 b.Property<string>("CommitSha")
+
634 .IsRequired()
+
635 .HasMaxLength(40)
+
636 .HasColumnType("nvarchar(40)");
+
637
+
638 b.Property<long>("InstanceId")
+
639 .HasColumnType("bigint");
+
640
+
641 b.Property<string>("OriginCommitSha")
+
642 .IsRequired()
+
643 .HasMaxLength(40)
+
644 .HasColumnType("nvarchar(40)");
+
645
+
646 b.Property<DateTimeOffset>("Timestamp")
+
647 .HasColumnType("datetimeoffset");
+
648
+
649 b.HasKey("Id");
+
650
+
651 b.HasIndex("InstanceId", "CommitSha")
+
652 .IsUnique();
+
653
+
654 b.ToTable("RevisionInformations");
+
655 });
+
656
+
657 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
658 {
+
659 b.Property<long>("Id")
+
660 .ValueGeneratedOnAdd()
+
661 .HasColumnType("bigint");
+
662
+
663 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
664
+
665 b.Property<string>("Author")
+
666 .IsRequired()
+
667 .HasColumnType("nvarchar(max)");
+
668
+
669 b.Property<string>("BodyAtMerge")
+
670 .IsRequired()
+
671 .HasColumnType("nvarchar(max)");
+
672
+
673 b.Property<string>("Comment")
+
674 .HasMaxLength(10000)
+
675 .HasColumnType("nvarchar(max)");
+
676
+
677 b.Property<DateTimeOffset>("MergedAt")
+
678 .HasColumnType("datetimeoffset");
+
679
+
680 b.Property<long>("MergedById")
+
681 .HasColumnType("bigint");
+
682
+
683 b.Property<int>("Number")
+
684 .HasColumnType("int");
+
685
+
686 b.Property<long?>("PrimaryRevisionInformationId")
+
687 .IsRequired()
+
688 .HasColumnType("bigint");
+
689
+
690 b.Property<string>("TargetCommitSha")
+
691 .IsRequired()
+
692 .HasMaxLength(40)
+
693 .HasColumnType("nvarchar(40)");
+
694
+
695 b.Property<string>("TitleAtMerge")
+
696 .IsRequired()
+
697 .HasColumnType("nvarchar(max)");
+
698
+
699 b.Property<string>("Url")
+
700 .IsRequired()
+
701 .HasColumnType("nvarchar(max)");
+
702
+
703 b.HasKey("Id");
+
704
+
705 b.HasIndex("MergedById");
+
706
+
707 b.HasIndex("PrimaryRevisionInformationId")
+
708 .IsUnique();
+
709
+
710 b.ToTable("TestMerges");
+
711 });
+
712
+
713 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
714 {
+
715 b.Property<long?>("Id")
+
716 .ValueGeneratedOnAdd()
+
717 .HasColumnType("bigint");
+
718
+
719 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
720
+
721 b.Property<string>("CanonicalName")
+
722 .IsRequired()
+
723 .HasMaxLength(100)
+
724 .HasColumnType("nvarchar(100)");
+
725
+
726 b.Property<DateTimeOffset?>("CreatedAt")
+
727 .IsRequired()
+
728 .HasColumnType("datetimeoffset");
+
729
+
730 b.Property<long?>("CreatedById")
+
731 .HasColumnType("bigint");
+
732
+
733 b.Property<bool?>("Enabled")
+
734 .IsRequired()
+
735 .HasColumnType("bit");
+
736
+
737 b.Property<long?>("GroupId")
+
738 .HasColumnType("bigint");
+
739
+
740 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
741 .HasColumnType("datetimeoffset");
+
742
+
743 b.Property<string>("Name")
+
744 .IsRequired()
+
745 .HasMaxLength(100)
+
746 .HasColumnType("nvarchar(100)");
+
747
+
748 b.Property<string>("PasswordHash")
+
749 .HasColumnType("nvarchar(max)");
+
750
+
751 b.Property<string>("SystemIdentifier")
+
752 .HasMaxLength(100)
+
753 .HasColumnType("nvarchar(100)");
+
754
+
755 b.HasKey("Id");
+
756
+
757 b.HasIndex("CanonicalName")
+
758 .IsUnique();
+
759
+
760 b.HasIndex("CreatedById");
+
761
+
762 b.HasIndex("GroupId");
+
763
+
764 b.HasIndex("SystemIdentifier")
+
765 .IsUnique()
+
766 .HasFilter("[SystemIdentifier] IS NOT NULL");
+
767
+
768 b.ToTable("Users");
+
769 });
+
770
+
771 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
772 {
+
773 b.Property<long?>("Id")
+
774 .ValueGeneratedOnAdd()
+
775 .HasColumnType("bigint");
+
776
+
777 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
778
+
779 b.Property<string>("Name")
+
780 .IsRequired()
+
781 .HasMaxLength(100)
+
782 .HasColumnType("nvarchar(100)");
+
783
+
784 b.HasKey("Id");
+
785
+
786 b.HasIndex("Name")
+
787 .IsUnique();
+
788
+
789 b.ToTable("Groups");
+
790 });
+
791
+
792 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
793 {
+
794 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
795 .WithMany("ChatSettings")
+
796 .HasForeignKey("InstanceId")
+
797 .OnDelete(DeleteBehavior.Cascade)
+
798 .IsRequired();
+
799
+
800 b.Navigation("Instance");
+
801 });
+
802
+
803 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
804 {
+
805 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
806 .WithMany("Channels")
+
807 .HasForeignKey("ChatSettingsId")
+
808 .OnDelete(DeleteBehavior.Cascade)
+
809 .IsRequired();
+
810
+
811 b.Navigation("ChatSettings");
+
812 });
+
813
+
814 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
815 {
+
816 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
817 .WithOne()
+
818 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
819 .OnDelete(DeleteBehavior.Cascade)
+
820 .IsRequired();
+
821
+
822 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
823 .WithMany("CompileJobs")
+
824 .HasForeignKey("RevisionInformationId")
+
825 .OnDelete(DeleteBehavior.ClientNoAction)
+
826 .IsRequired();
+
827
+
828 b.Navigation("Job");
+
829
+
830 b.Navigation("RevisionInformation");
+
831 });
+
832
+
833 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
834 {
+
835 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
836 .WithOne("DreamDaemonSettings")
+
837 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
838 .OnDelete(DeleteBehavior.Cascade)
+
839 .IsRequired();
+
840
+
841 b.Navigation("Instance");
+
842 });
+
843
+
844 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
845 {
+
846 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
847 .WithOne("DreamMakerSettings")
+
848 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
849 .OnDelete(DeleteBehavior.Cascade)
+
850 .IsRequired();
+
851
+
852 b.Navigation("Instance");
+
853 });
+
854
+
855 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
856 {
+
857 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
858 .WithMany("InstancePermissionSets")
+
859 .HasForeignKey("InstanceId")
+
860 .OnDelete(DeleteBehavior.Cascade)
+
861 .IsRequired();
+
862
+
863 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
864 .WithMany("InstancePermissionSets")
+
865 .HasForeignKey("PermissionSetId")
+
866 .OnDelete(DeleteBehavior.Cascade)
+
867 .IsRequired();
+
868
+
869 b.Navigation("Instance");
+
870
+
871 b.Navigation("PermissionSet");
+
872 });
+
873
+
874 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
875 {
+
876 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
877 .WithMany()
+
878 .HasForeignKey("CancelledById");
+
879
+
880 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
881 .WithMany("Jobs")
+
882 .HasForeignKey("InstanceId")
+
883 .OnDelete(DeleteBehavior.Cascade)
+
884 .IsRequired();
+
885
+
886 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
887 .WithMany()
+
888 .HasForeignKey("StartedById")
+
889 .OnDelete(DeleteBehavior.Cascade)
+
890 .IsRequired();
+
891
+
892 b.Navigation("CancelledBy");
+
893
+
894 b.Navigation("Instance");
+
895
+
896 b.Navigation("StartedBy");
+
897 });
+
898
+
899 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
900 {
+
901 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
902 .WithMany("OAuthConnections")
+
903 .HasForeignKey("UserId")
+
904 .OnDelete(DeleteBehavior.Cascade);
+
905
+
906 b.Navigation("User");
+
907 });
+
908
+
909 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
910 {
+
911 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
912 .WithOne("PermissionSet")
+
913 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
914 .OnDelete(DeleteBehavior.Cascade);
+
915
+
916 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
917 .WithOne("PermissionSet")
+
918 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
919 .OnDelete(DeleteBehavior.Cascade);
+
920
+
921 b.Navigation("Group");
+
922
+
923 b.Navigation("User");
+
924 });
+
925
+
926 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
927 {
+
928 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
929 .WithMany()
+
930 .HasForeignKey("CompileJobId")
+
931 .OnDelete(DeleteBehavior.Cascade)
+
932 .IsRequired();
+
933
+
934 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
935 .WithMany()
+
936 .HasForeignKey("InitialCompileJobId");
+
937
+
938 b.Navigation("CompileJob");
+
939
+
940 b.Navigation("InitialCompileJob");
+
941 });
+
942
+
943 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
944 {
+
945 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
946 .WithOne("RepositorySettings")
+
947 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
948 .OnDelete(DeleteBehavior.Cascade)
+
949 .IsRequired();
+
950
+
951 b.Navigation("Instance");
+
952 });
+
953
+
954 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
955 {
+
956 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
957 .WithMany("ActiveTestMerges")
+
958 .HasForeignKey("RevisionInformationId")
+
959 .OnDelete(DeleteBehavior.Cascade)
+
960 .IsRequired();
+
961
+
962 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
963 .WithMany("RevisonInformations")
+
964 .HasForeignKey("TestMergeId")
+
965 .OnDelete(DeleteBehavior.ClientNoAction)
+
966 .IsRequired();
+
967
+
968 b.Navigation("RevisionInformation");
+
969
+
970 b.Navigation("TestMerge");
+
971 });
+
972
+
973 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
974 {
+
975 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
976 .WithMany("RevisionInformations")
+
977 .HasForeignKey("InstanceId")
+
978 .OnDelete(DeleteBehavior.Cascade)
+
979 .IsRequired();
+
980
+
981 b.Navigation("Instance");
+
982 });
+
983
+
984 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
985 {
+
986 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
987 .WithMany("TestMerges")
+
988 .HasForeignKey("MergedById")
+
989 .OnDelete(DeleteBehavior.Restrict)
+
990 .IsRequired();
+
991
+
992 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
993 .WithOne("PrimaryTestMerge")
+
994 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
995 .OnDelete(DeleteBehavior.Cascade)
+
996 .IsRequired();
+
997
+
998 b.Navigation("MergedBy");
+
999
+
1000 b.Navigation("PrimaryRevisionInformation");
+
1001 });
+
1002
+
1003 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1004 {
+
1005 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
1006 .WithMany("CreatedUsers")
+
1007 .HasForeignKey("CreatedById");
+
1008
+
1009 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
1010 .WithMany("Users")
+
1011 .HasForeignKey("GroupId");
+
1012
+
1013 b.Navigation("CreatedBy");
+
1014
+
1015 b.Navigation("Group");
+
1016 });
+
1017
+
1018 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
1019 {
+
1020 b.Navigation("Channels");
+
1021 });
+
1022
+
1023 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
1024 {
+
1025 b.Navigation("ChatSettings");
+
1026
+
1027 b.Navigation("DreamDaemonSettings");
+
1028
+
1029 b.Navigation("DreamMakerSettings");
+
1030
+
1031 b.Navigation("InstancePermissionSets");
+
1032
+
1033 b.Navigation("Jobs");
+
1034
+
1035 b.Navigation("RepositorySettings");
+
1036
+
1037 b.Navigation("RevisionInformations");
+
1038 });
+
1039
+
1040 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1041 {
+
1042 b.Navigation("InstancePermissionSets");
+
1043 });
+
1044
+
1045 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1046 {
+
1047 b.Navigation("ActiveTestMerges");
+
1048
+
1049 b.Navigation("CompileJobs");
+
1050
+
1051 b.Navigation("PrimaryTestMerge");
+
1052 });
+
1053
+
1054 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1055 {
+
1056 b.Navigation("RevisonInformations");
+
1057 });
+
1058
+
1059 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1060 {
+
1061 b.Navigation("CreatedUsers");
+
1062
+
1063 b.Navigation("OAuthConnections");
+
1064
+
1065 b.Navigation("PermissionSet");
+
1066
+
1067 b.Navigation("TestMerges");
+
1068 });
+
1069
+
1070 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1071 {
+
1072 b.Navigation("PermissionSet")
+
1073 .IsRequired();
+
1074
+
1075 b.Navigation("Users");
+
1076 });
+
1077#pragma warning restore 612, 618
+
1078 }
+
1079 }
+
1080}
+ + + + +
+ + + + diff --git a/20240202202038___m_s_add_minidumps_option_8cs.html b/20240202202038___m_s_add_minidumps_option_8cs.html new file mode 100644 index 0000000000..df85af3434 --- /dev/null +++ b/20240202202038___m_s_add_minidumps_option_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202038_MSAddMinidumpsOption.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202038_MSAddMinidumpsOption.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.MSAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202038___m_s_add_minidumps_option_8cs_source.html b/20240202202038___m_s_add_minidumps_option_8cs_source.html new file mode 100644 index 0000000000..3a26276e29 --- /dev/null +++ b/20240202202038___m_s_add_minidumps_option_8cs_source.html @@ -0,0 +1,128 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202038_MSAddMinidumpsOption.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202038_MSAddMinidumpsOption.cs
+
+
+Go to the documentation of this file.
1using System;
+
2
+
3using Microsoft.EntityFrameworkCore.Migrations;
+
4
+ +
6
+ +
8{
+
10 public partial class MSAddMinidumpsOption : Migration
+
11 {
+
13 protected override void Up(MigrationBuilder migrationBuilder)
+
14 {
+
15 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
16
+
17 // This was originally minidumps on Linux and full dumps on Windows
+
18 var defaultValue = !new PlatformIdentifier().IsWindows;
+
19 migrationBuilder.AddColumn<bool>(
+
20 name: "Minidumps",
+
21 table: "DreamDaemonSettings",
+
22 type: "bit",
+
23 nullable: false,
+
24 defaultValue: defaultValue);
+
25 }
+
26
+
28 protected override void Down(MigrationBuilder migrationBuilder)
+
29 {
+
30 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
31
+
32 migrationBuilder.DropColumn(
+
33 name: "Minidumps",
+
34 table: "DreamDaemonSettings");
+
35 }
+
36 }
+
37}
+ + + + + +
bool IsWindows
If the current platform is a Windows platform.
+ + +
+ + + + diff --git a/20240202202051___m_y_add_minidumps_option_8_designer_8cs.html b/20240202202051___m_y_add_minidumps_option_8_designer_8cs.html new file mode 100644 index 0000000000..254cec3adc --- /dev/null +++ b/20240202202051___m_y_add_minidumps_option_8_designer_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202051_MYAddMinidumpsOption.Designer.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202051_MYAddMinidumpsOption.Designer.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.MYAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202051___m_y_add_minidumps_option_8_designer_8cs_source.html b/20240202202051___m_y_add_minidumps_option_8_designer_8cs_source.html new file mode 100644 index 0000000000..687e2626f9 --- /dev/null +++ b/20240202202051___m_y_add_minidumps_option_8_designer_8cs_source.html @@ -0,0 +1,1203 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202051_MYAddMinidumpsOption.Designer.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202051_MYAddMinidumpsOption.Designer.cs
+
+
+Go to the documentation of this file.
1// <auto-generated />
+
2using System;
+
3
+
4using Microsoft.EntityFrameworkCore;
+
5using Microsoft.EntityFrameworkCore.Infrastructure;
+
6using Microsoft.EntityFrameworkCore.Migrations;
+
7
+ +
9{
+
10 [DbContext(typeof(MySqlDatabaseContext))]
+
11 [Migration("20240202202051_MYAddMinidumpsOption")]
+
12 partial class MYAddMinidumpsOption
+
13 {
+
15 protected override void BuildTargetModel(ModelBuilder modelBuilder)
+
16 {
+
17#pragma warning disable 612, 618
+
18 modelBuilder
+
19 .HasAnnotation("ProductVersion", "8.0.1")
+
20 .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
21
+
22 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
23 {
+
24 b.Property<long?>("Id")
+
25 .ValueGeneratedOnAdd()
+
26 .HasColumnType("bigint");
+
27
+
28 b.Property<ushort?>("ChannelLimit")
+
29 .IsRequired()
+
30 .HasColumnType("smallint unsigned");
+
31
+
32 b.Property<string>("ConnectionString")
+
33 .IsRequired()
+
34 .HasMaxLength(10000)
+
35 .HasColumnType("longtext");
+
36
+
37 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ConnectionString"), "utf8mb4");
+
38
+
39 b.Property<bool?>("Enabled")
+
40 .HasColumnType("tinyint(1)");
+
41
+
42 b.Property<long>("InstanceId")
+
43 .HasColumnType("bigint");
+
44
+
45 b.Property<string>("Name")
+
46 .IsRequired()
+
47 .HasMaxLength(100)
+
48 .HasColumnType("varchar(100)");
+
49
+
50 b.Property<int>("Provider")
+
51 .HasColumnType("int");
+
52
+
53 b.Property<uint?>("ReconnectionInterval")
+
54 .IsRequired()
+
55 .HasColumnType("int unsigned");
+
56
+
57 b.HasKey("Id");
+
58
+
59 b.HasIndex("InstanceId", "Name")
+
60 .IsUnique();
+
61
+
62 b.ToTable("ChatBots");
+
63 });
+
64
+
65 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
66 {
+
67 b.Property<long>("Id")
+
68 .ValueGeneratedOnAdd()
+
69 .HasColumnType("bigint");
+
70
+
71 b.Property<long>("ChatSettingsId")
+
72 .HasColumnType("bigint");
+
73
+
74 b.Property<ulong?>("DiscordChannelId")
+
75 .HasColumnType("bigint unsigned");
+
76
+
77 b.Property<string>("IrcChannel")
+
78 .HasMaxLength(100)
+
79 .HasColumnType("varchar(100)");
+
80
+
81 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("IrcChannel"), "utf8mb4");
+
82
+
83 b.Property<bool?>("IsAdminChannel")
+
84 .IsRequired()
+
85 .HasColumnType("tinyint(1)");
+
86
+
87 b.Property<bool?>("IsSystemChannel")
+
88 .IsRequired()
+
89 .HasColumnType("tinyint(1)");
+
90
+
91 b.Property<bool?>("IsUpdatesChannel")
+
92 .IsRequired()
+
93 .HasColumnType("tinyint(1)");
+
94
+
95 b.Property<bool?>("IsWatchdogChannel")
+
96 .IsRequired()
+
97 .HasColumnType("tinyint(1)");
+
98
+
99 b.Property<string>("Tag")
+
100 .HasMaxLength(10000)
+
101 .HasColumnType("longtext");
+
102
+
103 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Tag"), "utf8mb4");
+
104
+
105 b.HasKey("Id");
+
106
+
107 b.HasIndex("ChatSettingsId", "DiscordChannelId")
+
108 .IsUnique();
+
109
+
110 b.HasIndex("ChatSettingsId", "IrcChannel")
+
111 .IsUnique();
+
112
+
113 b.ToTable("ChatChannels");
+
114 });
+
115
+
116 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
117 {
+
118 b.Property<long?>("Id")
+
119 .ValueGeneratedOnAdd()
+
120 .HasColumnType("bigint");
+
121
+
122 b.Property<int?>("DMApiMajorVersion")
+
123 .HasColumnType("int");
+
124
+
125 b.Property<int?>("DMApiMinorVersion")
+
126 .HasColumnType("int");
+
127
+
128 b.Property<int?>("DMApiPatchVersion")
+
129 .HasColumnType("int");
+
130
+
131 b.Property<Guid?>("DirectoryName")
+
132 .IsRequired()
+
133 .HasColumnType("char(36)");
+
134
+
135 b.Property<string>("DmeName")
+
136 .IsRequired()
+
137 .HasColumnType("longtext");
+
138
+
139 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("DmeName"), "utf8mb4");
+
140
+
141 b.Property<string>("EngineVersion")
+
142 .IsRequired()
+
143 .HasColumnType("longtext");
+
144
+
145 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("EngineVersion"), "utf8mb4");
+
146
+
147 b.Property<int?>("GitHubDeploymentId")
+
148 .HasColumnType("int");
+
149
+
150 b.Property<long?>("GitHubRepoId")
+
151 .HasColumnType("bigint");
+
152
+
153 b.Property<long>("JobId")
+
154 .HasColumnType("bigint");
+
155
+
156 b.Property<int?>("MinimumSecurityLevel")
+
157 .HasColumnType("int");
+
158
+
159 b.Property<string>("Output")
+
160 .IsRequired()
+
161 .HasColumnType("longtext");
+
162
+
163 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Output"), "utf8mb4");
+
164
+
165 b.Property<string>("RepositoryOrigin")
+
166 .HasColumnType("longtext");
+
167
+
168 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("RepositoryOrigin"), "utf8mb4");
+
169
+
170 b.Property<long>("RevisionInformationId")
+
171 .HasColumnType("bigint");
+
172
+
173 b.HasKey("Id");
+
174
+
175 b.HasIndex("DirectoryName");
+
176
+
177 b.HasIndex("JobId")
+
178 .IsUnique();
+
179
+
180 b.HasIndex("RevisionInformationId");
+
181
+
182 b.ToTable("CompileJobs");
+
183 });
+
184
+
185 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
186 {
+
187 b.Property<long>("Id")
+
188 .ValueGeneratedOnAdd()
+
189 .HasColumnType("bigint");
+
190
+
191 b.Property<string>("AdditionalParameters")
+
192 .IsRequired()
+
193 .HasMaxLength(10000)
+
194 .HasColumnType("longtext");
+
195
+
196 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AdditionalParameters"), "utf8mb4");
+
197
+
198 b.Property<bool?>("AllowWebClient")
+
199 .IsRequired()
+
200 .HasColumnType("tinyint(1)");
+
201
+
202 b.Property<bool?>("AutoStart")
+
203 .IsRequired()
+
204 .HasColumnType("tinyint(1)");
+
205
+
206 b.Property<bool?>("DumpOnHealthCheckRestart")
+
207 .IsRequired()
+
208 .HasColumnType("tinyint(1)");
+
209
+
210 b.Property<uint?>("HealthCheckSeconds")
+
211 .IsRequired()
+
212 .HasColumnType("int unsigned");
+
213
+
214 b.Property<long>("InstanceId")
+
215 .HasColumnType("bigint");
+
216
+
217 b.Property<bool?>("LogOutput")
+
218 .IsRequired()
+
219 .HasColumnType("tinyint(1)");
+
220
+
221 b.Property<uint?>("MapThreads")
+
222 .IsRequired()
+
223 .HasColumnType("int unsigned");
+
224
+
225 b.Property<bool?>("Minidumps")
+
226 .IsRequired()
+
227 .HasColumnType("tinyint(1)");
+
228
+
229 b.Property<ushort?>("Port")
+
230 .IsRequired()
+
231 .HasColumnType("smallint unsigned");
+
232
+
233 b.Property<int>("SecurityLevel")
+
234 .HasColumnType("int");
+
235
+
236 b.Property<bool?>("StartProfiler")
+
237 .IsRequired()
+
238 .HasColumnType("tinyint(1)");
+
239
+
240 b.Property<uint?>("StartupTimeout")
+
241 .IsRequired()
+
242 .HasColumnType("int unsigned");
+
243
+
244 b.Property<uint?>("TopicRequestTimeout")
+
245 .IsRequired()
+
246 .HasColumnType("int unsigned");
+
247
+
248 b.Property<int>("Visibility")
+
249 .HasColumnType("int");
+
250
+
251 b.HasKey("Id");
+
252
+
253 b.HasIndex("InstanceId")
+
254 .IsUnique();
+
255
+
256 b.ToTable("DreamDaemonSettings");
+
257 });
+
258
+
259 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
260 {
+
261 b.Property<long>("Id")
+
262 .ValueGeneratedOnAdd()
+
263 .HasColumnType("bigint");
+
264
+
265 b.Property<ushort?>("ApiValidationPort")
+
266 .IsRequired()
+
267 .HasColumnType("smallint unsigned");
+
268
+
269 b.Property<int>("ApiValidationSecurityLevel")
+
270 .HasColumnType("int");
+
271
+
272 b.Property<long>("InstanceId")
+
273 .HasColumnType("bigint");
+
274
+
275 b.Property<string>("ProjectName")
+
276 .HasMaxLength(10000)
+
277 .HasColumnType("longtext");
+
278
+
279 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ProjectName"), "utf8mb4");
+
280
+
281 b.Property<bool?>("RequireDMApiValidation")
+
282 .IsRequired()
+
283 .HasColumnType("tinyint(1)");
+
284
+
285 b.Property<TimeSpan?>("Timeout")
+
286 .IsRequired()
+
287 .HasColumnType("time(6)");
+
288
+
289 b.HasKey("Id");
+
290
+
291 b.HasIndex("InstanceId")
+
292 .IsUnique();
+
293
+
294 b.ToTable("DreamMakerSettings");
+
295 });
+
296
+
297 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
298 {
+
299 b.Property<long?>("Id")
+
300 .ValueGeneratedOnAdd()
+
301 .HasColumnType("bigint");
+
302
+
303 b.Property<uint?>("AutoUpdateInterval")
+
304 .IsRequired()
+
305 .HasColumnType("int unsigned");
+
306
+
307 b.Property<ushort?>("ChatBotLimit")
+
308 .IsRequired()
+
309 .HasColumnType("smallint unsigned");
+
310
+
311 b.Property<int>("ConfigurationType")
+
312 .HasColumnType("int");
+
313
+
314 b.Property<string>("Name")
+
315 .IsRequired()
+
316 .HasMaxLength(100)
+
317 .HasColumnType("varchar(100)");
+
318
+
319 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
+
320
+
321 b.Property<bool?>("Online")
+
322 .IsRequired()
+
323 .HasColumnType("tinyint(1)");
+
324
+
325 b.Property<string>("Path")
+
326 .IsRequired()
+
327 .HasColumnType("varchar(255)");
+
328
+
329 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Path"), "utf8mb4");
+
330
+
331 b.Property<string>("SwarmIdentifer")
+
332 .HasColumnType("varchar(255)");
+
333
+
334 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SwarmIdentifer"), "utf8mb4");
+
335
+
336 b.HasKey("Id");
+
337
+
338 b.HasIndex("Path", "SwarmIdentifer")
+
339 .IsUnique();
+
340
+
341 b.ToTable("Instances");
+
342 });
+
343
+
344 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
345 {
+
346 b.Property<long>("Id")
+
347 .ValueGeneratedOnAdd()
+
348 .HasColumnType("bigint");
+
349
+
350 b.Property<ulong>("ChatBotRights")
+
351 .HasColumnType("bigint unsigned");
+
352
+
353 b.Property<ulong>("ConfigurationRights")
+
354 .HasColumnType("bigint unsigned");
+
355
+
356 b.Property<ulong>("DreamDaemonRights")
+
357 .HasColumnType("bigint unsigned");
+
358
+
359 b.Property<ulong>("DreamMakerRights")
+
360 .HasColumnType("bigint unsigned");
+
361
+
362 b.Property<ulong>("EngineRights")
+
363 .HasColumnType("bigint unsigned");
+
364
+
365 b.Property<long>("InstanceId")
+
366 .HasColumnType("bigint");
+
367
+
368 b.Property<ulong>("InstancePermissionSetRights")
+
369 .HasColumnType("bigint unsigned");
+
370
+
371 b.Property<long>("PermissionSetId")
+
372 .HasColumnType("bigint");
+
373
+
374 b.Property<ulong>("RepositoryRights")
+
375 .HasColumnType("bigint unsigned");
+
376
+
377 b.HasKey("Id");
+
378
+
379 b.HasIndex("InstanceId");
+
380
+
381 b.HasIndex("PermissionSetId", "InstanceId")
+
382 .IsUnique();
+
383
+
384 b.ToTable("InstancePermissionSets");
+
385 });
+
386
+
387 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
388 {
+
389 b.Property<long?>("Id")
+
390 .ValueGeneratedOnAdd()
+
391 .HasColumnType("bigint");
+
392
+
393 b.Property<ulong?>("CancelRight")
+
394 .HasColumnType("bigint unsigned");
+
395
+
396 b.Property<ulong?>("CancelRightsType")
+
397 .HasColumnType("bigint unsigned");
+
398
+
399 b.Property<bool?>("Cancelled")
+
400 .IsRequired()
+
401 .HasColumnType("tinyint(1)");
+
402
+
403 b.Property<long?>("CancelledById")
+
404 .HasColumnType("bigint");
+
405
+
406 b.Property<string>("Description")
+
407 .IsRequired()
+
408 .HasColumnType("longtext");
+
409
+
410 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Description"), "utf8mb4");
+
411
+
412 b.Property<uint?>("ErrorCode")
+
413 .HasColumnType("int unsigned");
+
414
+
415 b.Property<string>("ExceptionDetails")
+
416 .HasColumnType("longtext");
+
417
+
418 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExceptionDetails"), "utf8mb4");
+
419
+
420 b.Property<long>("InstanceId")
+
421 .HasColumnType("bigint");
+
422
+
423 b.Property<byte>("JobCode")
+
424 .HasColumnType("tinyint unsigned");
+
425
+
426 b.Property<DateTimeOffset?>("StartedAt")
+
427 .IsRequired()
+
428 .HasColumnType("datetime(6)");
+
429
+
430 b.Property<long>("StartedById")
+
431 .HasColumnType("bigint");
+
432
+
433 b.Property<DateTimeOffset?>("StoppedAt")
+
434 .HasColumnType("datetime(6)");
+
435
+
436 b.HasKey("Id");
+
437
+
438 b.HasIndex("CancelledById");
+
439
+
440 b.HasIndex("InstanceId");
+
441
+
442 b.HasIndex("StartedById");
+
443
+
444 b.ToTable("Jobs");
+
445 });
+
446
+
447 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
448 {
+
449 b.Property<long>("Id")
+
450 .ValueGeneratedOnAdd()
+
451 .HasColumnType("bigint");
+
452
+
453 b.Property<string>("ExternalUserId")
+
454 .IsRequired()
+
455 .HasMaxLength(100)
+
456 .HasColumnType("varchar(100)");
+
457
+
458 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExternalUserId"), "utf8mb4");
+
459
+
460 b.Property<int>("Provider")
+
461 .HasColumnType("int");
+
462
+
463 b.Property<long?>("UserId")
+
464 .HasColumnType("bigint");
+
465
+
466 b.HasKey("Id");
+
467
+
468 b.HasIndex("UserId");
+
469
+
470 b.HasIndex("Provider", "ExternalUserId")
+
471 .IsUnique();
+
472
+
473 b.ToTable("OAuthConnections");
+
474 });
+
475
+
476 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
477 {
+
478 b.Property<long?>("Id")
+
479 .ValueGeneratedOnAdd()
+
480 .HasColumnType("bigint");
+
481
+
482 b.Property<ulong>("AdministrationRights")
+
483 .HasColumnType("bigint unsigned");
+
484
+
485 b.Property<long?>("GroupId")
+
486 .HasColumnType("bigint");
+
487
+
488 b.Property<ulong>("InstanceManagerRights")
+
489 .HasColumnType("bigint unsigned");
+
490
+
491 b.Property<long?>("UserId")
+
492 .HasColumnType("bigint");
+
493
+
494 b.HasKey("Id");
+
495
+
496 b.HasIndex("GroupId")
+
497 .IsUnique();
+
498
+
499 b.HasIndex("UserId")
+
500 .IsUnique();
+
501
+
502 b.ToTable("PermissionSets");
+
503 });
+
504
+
505 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
506 {
+
507 b.Property<long?>("Id")
+
508 .ValueGeneratedOnAdd()
+
509 .HasColumnType("bigint");
+
510
+
511 b.Property<string>("AccessIdentifier")
+
512 .IsRequired()
+
513 .HasColumnType("longtext");
+
514
+
515 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessIdentifier"), "utf8mb4");
+
516
+
517 b.Property<long>("CompileJobId")
+
518 .HasColumnType("bigint");
+
519
+
520 b.Property<long?>("InitialCompileJobId")
+
521 .HasColumnType("bigint");
+
522
+
523 b.Property<int>("LaunchSecurityLevel")
+
524 .HasColumnType("int");
+
525
+
526 b.Property<int>("LaunchVisibility")
+
527 .HasColumnType("int");
+
528
+
529 b.Property<ushort>("Port")
+
530 .HasColumnType("smallint unsigned");
+
531
+
532 b.Property<int>("ProcessId")
+
533 .HasColumnType("int");
+
534
+
535 b.Property<int>("RebootState")
+
536 .HasColumnType("int");
+
537
+
538 b.Property<ushort?>("TopicPort")
+
539 .HasColumnType("smallint unsigned");
+
540
+
541 b.HasKey("Id");
+
542
+
543 b.HasIndex("CompileJobId");
+
544
+
545 b.HasIndex("InitialCompileJobId");
+
546
+
547 b.ToTable("ReattachInformations");
+
548 });
+
549
+
550 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
551 {
+
552 b.Property<long>("Id")
+
553 .ValueGeneratedOnAdd()
+
554 .HasColumnType("bigint");
+
555
+
556 b.Property<string>("AccessToken")
+
557 .HasMaxLength(10000)
+
558 .HasColumnType("longtext");
+
559
+
560 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessToken"), "utf8mb4");
+
561
+
562 b.Property<string>("AccessUser")
+
563 .HasMaxLength(10000)
+
564 .HasColumnType("longtext");
+
565
+
566 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessUser"), "utf8mb4");
+
567
+
568 b.Property<bool?>("AutoUpdatesKeepTestMerges")
+
569 .IsRequired()
+
570 .HasColumnType("tinyint(1)");
+
571
+
572 b.Property<bool?>("AutoUpdatesSynchronize")
+
573 .IsRequired()
+
574 .HasColumnType("tinyint(1)");
+
575
+
576 b.Property<string>("CommitterEmail")
+
577 .IsRequired()
+
578 .HasMaxLength(10000)
+
579 .HasColumnType("longtext");
+
580
+
581 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterEmail"), "utf8mb4");
+
582
+
583 b.Property<string>("CommitterName")
+
584 .IsRequired()
+
585 .HasMaxLength(10000)
+
586 .HasColumnType("longtext");
+
587
+
588 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterName"), "utf8mb4");
+
589
+
590 b.Property<bool?>("CreateGitHubDeployments")
+
591 .IsRequired()
+
592 .HasColumnType("tinyint(1)");
+
593
+
594 b.Property<long>("InstanceId")
+
595 .HasColumnType("bigint");
+
596
+
597 b.Property<bool?>("PostTestMergeComment")
+
598 .IsRequired()
+
599 .HasColumnType("tinyint(1)");
+
600
+
601 b.Property<bool?>("PushTestMergeCommits")
+
602 .IsRequired()
+
603 .HasColumnType("tinyint(1)");
+
604
+
605 b.Property<bool?>("ShowTestMergeCommitters")
+
606 .IsRequired()
+
607 .HasColumnType("tinyint(1)");
+
608
+
609 b.Property<bool?>("UpdateSubmodules")
+
610 .IsRequired()
+
611 .HasColumnType("tinyint(1)");
+
612
+
613 b.HasKey("Id");
+
614
+
615 b.HasIndex("InstanceId")
+
616 .IsUnique();
+
617
+
618 b.ToTable("RepositorySettings");
+
619 });
+
620
+
621 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
622 {
+
623 b.Property<long>("Id")
+
624 .ValueGeneratedOnAdd()
+
625 .HasColumnType("bigint");
+
626
+
627 b.Property<long>("RevisionInformationId")
+
628 .HasColumnType("bigint");
+
629
+
630 b.Property<long>("TestMergeId")
+
631 .HasColumnType("bigint");
+
632
+
633 b.HasKey("Id");
+
634
+
635 b.HasIndex("RevisionInformationId");
+
636
+
637 b.HasIndex("TestMergeId");
+
638
+
639 b.ToTable("RevInfoTestMerges");
+
640 });
+
641
+
642 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
643 {
+
644 b.Property<long>("Id")
+
645 .ValueGeneratedOnAdd()
+
646 .HasColumnType("bigint");
+
647
+
648 b.Property<string>("CommitSha")
+
649 .IsRequired()
+
650 .HasMaxLength(40)
+
651 .HasColumnType("varchar(40)");
+
652
+
653 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitSha"), "utf8mb4");
+
654
+
655 b.Property<long>("InstanceId")
+
656 .HasColumnType("bigint");
+
657
+
658 b.Property<string>("OriginCommitSha")
+
659 .IsRequired()
+
660 .HasMaxLength(40)
+
661 .HasColumnType("varchar(40)");
+
662
+
663 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("OriginCommitSha"), "utf8mb4");
+
664
+
665 b.Property<DateTimeOffset>("Timestamp")
+
666 .HasColumnType("datetime(6)");
+
667
+
668 b.HasKey("Id");
+
669
+
670 b.HasIndex("InstanceId", "CommitSha")
+
671 .IsUnique();
+
672
+
673 b.ToTable("RevisionInformations");
+
674 });
+
675
+
676 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
677 {
+
678 b.Property<long>("Id")
+
679 .ValueGeneratedOnAdd()
+
680 .HasColumnType("bigint");
+
681
+
682 b.Property<string>("Author")
+
683 .IsRequired()
+
684 .HasColumnType("longtext");
+
685
+
686 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Author"), "utf8mb4");
+
687
+
688 b.Property<string>("BodyAtMerge")
+
689 .IsRequired()
+
690 .HasColumnType("longtext");
+
691
+
692 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("BodyAtMerge"), "utf8mb4");
+
693
+
694 b.Property<string>("Comment")
+
695 .HasMaxLength(10000)
+
696 .HasColumnType("longtext");
+
697
+
698 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Comment"), "utf8mb4");
+
699
+
700 b.Property<DateTimeOffset>("MergedAt")
+
701 .HasColumnType("datetime(6)");
+
702
+
703 b.Property<long>("MergedById")
+
704 .HasColumnType("bigint");
+
705
+
706 b.Property<int>("Number")
+
707 .HasColumnType("int");
+
708
+
709 b.Property<long?>("PrimaryRevisionInformationId")
+
710 .IsRequired()
+
711 .HasColumnType("bigint");
+
712
+
713 b.Property<string>("TargetCommitSha")
+
714 .IsRequired()
+
715 .HasMaxLength(40)
+
716 .HasColumnType("varchar(40)");
+
717
+
718 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TargetCommitSha"), "utf8mb4");
+
719
+
720 b.Property<string>("TitleAtMerge")
+
721 .IsRequired()
+
722 .HasColumnType("longtext");
+
723
+
724 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TitleAtMerge"), "utf8mb4");
+
725
+
726 b.Property<string>("Url")
+
727 .IsRequired()
+
728 .HasColumnType("longtext");
+
729
+
730 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Url"), "utf8mb4");
+
731
+
732 b.HasKey("Id");
+
733
+
734 b.HasIndex("MergedById");
+
735
+
736 b.HasIndex("PrimaryRevisionInformationId")
+
737 .IsUnique();
+
738
+
739 b.ToTable("TestMerges");
+
740 });
+
741
+
742 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
743 {
+
744 b.Property<long?>("Id")
+
745 .ValueGeneratedOnAdd()
+
746 .HasColumnType("bigint");
+
747
+
748 b.Property<string>("CanonicalName")
+
749 .IsRequired()
+
750 .HasMaxLength(100)
+
751 .HasColumnType("varchar(100)");
+
752
+
753 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CanonicalName"), "utf8mb4");
+
754
+
755 b.Property<DateTimeOffset?>("CreatedAt")
+
756 .IsRequired()
+
757 .HasColumnType("datetime(6)");
+
758
+
759 b.Property<long?>("CreatedById")
+
760 .HasColumnType("bigint");
+
761
+
762 b.Property<bool?>("Enabled")
+
763 .IsRequired()
+
764 .HasColumnType("tinyint(1)");
+
765
+
766 b.Property<long?>("GroupId")
+
767 .HasColumnType("bigint");
+
768
+
769 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
770 .HasColumnType("datetime(6)");
+
771
+
772 b.Property<string>("Name")
+
773 .IsRequired()
+
774 .HasMaxLength(100)
+
775 .HasColumnType("varchar(100)");
+
776
+
777 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
+
778
+
779 b.Property<string>("PasswordHash")
+
780 .HasColumnType("longtext");
+
781
+
782 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("PasswordHash"), "utf8mb4");
+
783
+
784 b.Property<string>("SystemIdentifier")
+
785 .HasMaxLength(100)
+
786 .HasColumnType("varchar(100)");
+
787
+
788 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SystemIdentifier"), "utf8mb4");
+
789
+
790 b.HasKey("Id");
+
791
+
792 b.HasIndex("CanonicalName")
+
793 .IsUnique();
+
794
+
795 b.HasIndex("CreatedById");
+
796
+
797 b.HasIndex("GroupId");
+
798
+
799 b.HasIndex("SystemIdentifier")
+
800 .IsUnique();
+
801
+
802 b.ToTable("Users");
+
803 });
+
804
+
805 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
806 {
+
807 b.Property<long?>("Id")
+
808 .ValueGeneratedOnAdd()
+
809 .HasColumnType("bigint");
+
810
+
811 b.Property<string>("Name")
+
812 .IsRequired()
+
813 .HasMaxLength(100)
+
814 .HasColumnType("varchar(100)");
+
815
+
816 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
+
817
+
818 b.HasKey("Id");
+
819
+
820 b.HasIndex("Name")
+
821 .IsUnique();
+
822
+
823 b.ToTable("Groups");
+
824 });
+
825
+
826 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
827 {
+
828 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
829 .WithMany("ChatSettings")
+
830 .HasForeignKey("InstanceId")
+
831 .OnDelete(DeleteBehavior.Cascade)
+
832 .IsRequired();
+
833
+
834 b.Navigation("Instance");
+
835 });
+
836
+
837 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
838 {
+
839 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
840 .WithMany("Channels")
+
841 .HasForeignKey("ChatSettingsId")
+
842 .OnDelete(DeleteBehavior.Cascade)
+
843 .IsRequired();
+
844
+
845 b.Navigation("ChatSettings");
+
846 });
+
847
+
848 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
849 {
+
850 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
851 .WithOne()
+
852 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
853 .OnDelete(DeleteBehavior.Cascade)
+
854 .IsRequired();
+
855
+
856 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
857 .WithMany("CompileJobs")
+
858 .HasForeignKey("RevisionInformationId")
+
859 .OnDelete(DeleteBehavior.Cascade)
+
860 .IsRequired();
+
861
+
862 b.Navigation("Job");
+
863
+
864 b.Navigation("RevisionInformation");
+
865 });
+
866
+
867 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
868 {
+
869 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
870 .WithOne("DreamDaemonSettings")
+
871 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
872 .OnDelete(DeleteBehavior.Cascade)
+
873 .IsRequired();
+
874
+
875 b.Navigation("Instance");
+
876 });
+
877
+
878 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
879 {
+
880 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
881 .WithOne("DreamMakerSettings")
+
882 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
883 .OnDelete(DeleteBehavior.Cascade)
+
884 .IsRequired();
+
885
+
886 b.Navigation("Instance");
+
887 });
+
888
+
889 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
890 {
+
891 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
892 .WithMany("InstancePermissionSets")
+
893 .HasForeignKey("InstanceId")
+
894 .OnDelete(DeleteBehavior.Cascade)
+
895 .IsRequired();
+
896
+
897 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
898 .WithMany("InstancePermissionSets")
+
899 .HasForeignKey("PermissionSetId")
+
900 .OnDelete(DeleteBehavior.Cascade)
+
901 .IsRequired();
+
902
+
903 b.Navigation("Instance");
+
904
+
905 b.Navigation("PermissionSet");
+
906 });
+
907
+
908 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
909 {
+
910 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
911 .WithMany()
+
912 .HasForeignKey("CancelledById");
+
913
+
914 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
915 .WithMany("Jobs")
+
916 .HasForeignKey("InstanceId")
+
917 .OnDelete(DeleteBehavior.Cascade)
+
918 .IsRequired();
+
919
+
920 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
921 .WithMany()
+
922 .HasForeignKey("StartedById")
+
923 .OnDelete(DeleteBehavior.Cascade)
+
924 .IsRequired();
+
925
+
926 b.Navigation("CancelledBy");
+
927
+
928 b.Navigation("Instance");
+
929
+
930 b.Navigation("StartedBy");
+
931 });
+
932
+
933 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
934 {
+
935 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
936 .WithMany("OAuthConnections")
+
937 .HasForeignKey("UserId")
+
938 .OnDelete(DeleteBehavior.Cascade);
+
939
+
940 b.Navigation("User");
+
941 });
+
942
+
943 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
944 {
+
945 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
946 .WithOne("PermissionSet")
+
947 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
948 .OnDelete(DeleteBehavior.Cascade);
+
949
+
950 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
951 .WithOne("PermissionSet")
+
952 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
953 .OnDelete(DeleteBehavior.Cascade);
+
954
+
955 b.Navigation("Group");
+
956
+
957 b.Navigation("User");
+
958 });
+
959
+
960 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
961 {
+
962 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
963 .WithMany()
+
964 .HasForeignKey("CompileJobId")
+
965 .OnDelete(DeleteBehavior.Cascade)
+
966 .IsRequired();
+
967
+
968 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
969 .WithMany()
+
970 .HasForeignKey("InitialCompileJobId");
+
971
+
972 b.Navigation("CompileJob");
+
973
+
974 b.Navigation("InitialCompileJob");
+
975 });
+
976
+
977 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
978 {
+
979 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
980 .WithOne("RepositorySettings")
+
981 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
982 .OnDelete(DeleteBehavior.Cascade)
+
983 .IsRequired();
+
984
+
985 b.Navigation("Instance");
+
986 });
+
987
+
988 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
989 {
+
990 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
991 .WithMany("ActiveTestMerges")
+
992 .HasForeignKey("RevisionInformationId")
+
993 .OnDelete(DeleteBehavior.Cascade)
+
994 .IsRequired();
+
995
+
996 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
997 .WithMany("RevisonInformations")
+
998 .HasForeignKey("TestMergeId")
+
999 .OnDelete(DeleteBehavior.ClientNoAction)
+
1000 .IsRequired();
+
1001
+
1002 b.Navigation("RevisionInformation");
+
1003
+
1004 b.Navigation("TestMerge");
+
1005 });
+
1006
+
1007 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1008 {
+
1009 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
1010 .WithMany("RevisionInformations")
+
1011 .HasForeignKey("InstanceId")
+
1012 .OnDelete(DeleteBehavior.Cascade)
+
1013 .IsRequired();
+
1014
+
1015 b.Navigation("Instance");
+
1016 });
+
1017
+
1018 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1019 {
+
1020 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
1021 .WithMany("TestMerges")
+
1022 .HasForeignKey("MergedById")
+
1023 .OnDelete(DeleteBehavior.Restrict)
+
1024 .IsRequired();
+
1025
+
1026 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
1027 .WithOne("PrimaryTestMerge")
+
1028 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
1029 .OnDelete(DeleteBehavior.Cascade)
+
1030 .IsRequired();
+
1031
+
1032 b.Navigation("MergedBy");
+
1033
+
1034 b.Navigation("PrimaryRevisionInformation");
+
1035 });
+
1036
+
1037 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1038 {
+
1039 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
1040 .WithMany("CreatedUsers")
+
1041 .HasForeignKey("CreatedById");
+
1042
+
1043 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
1044 .WithMany("Users")
+
1045 .HasForeignKey("GroupId");
+
1046
+
1047 b.Navigation("CreatedBy");
+
1048
+
1049 b.Navigation("Group");
+
1050 });
+
1051
+
1052 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
1053 {
+
1054 b.Navigation("Channels");
+
1055 });
+
1056
+
1057 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
1058 {
+
1059 b.Navigation("ChatSettings");
+
1060
+
1061 b.Navigation("DreamDaemonSettings");
+
1062
+
1063 b.Navigation("DreamMakerSettings");
+
1064
+
1065 b.Navigation("InstancePermissionSets");
+
1066
+
1067 b.Navigation("Jobs");
+
1068
+
1069 b.Navigation("RepositorySettings");
+
1070
+
1071 b.Navigation("RevisionInformations");
+
1072 });
+
1073
+
1074 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1075 {
+
1076 b.Navigation("InstancePermissionSets");
+
1077 });
+
1078
+
1079 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1080 {
+
1081 b.Navigation("ActiveTestMerges");
+
1082
+
1083 b.Navigation("CompileJobs");
+
1084
+
1085 b.Navigation("PrimaryTestMerge");
+
1086 });
+
1087
+
1088 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1089 {
+
1090 b.Navigation("RevisonInformations");
+
1091 });
+
1092
+
1093 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1094 {
+
1095 b.Navigation("CreatedUsers");
+
1096
+
1097 b.Navigation("OAuthConnections");
+
1098
+
1099 b.Navigation("PermissionSet");
+
1100
+
1101 b.Navigation("TestMerges");
+
1102 });
+
1103
+
1104 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1105 {
+
1106 b.Navigation("PermissionSet")
+
1107 .IsRequired();
+
1108
+
1109 b.Navigation("Users");
+
1110 });
+
1111#pragma warning restore 612, 618
+
1112 }
+
1113 }
+
1114}
+ + + + +
+ + + + diff --git a/20240202202051___m_y_add_minidumps_option_8cs.html b/20240202202051___m_y_add_minidumps_option_8cs.html new file mode 100644 index 0000000000..b589bc83db --- /dev/null +++ b/20240202202051___m_y_add_minidumps_option_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202051_MYAddMinidumpsOption.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202051_MYAddMinidumpsOption.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.MYAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202051___m_y_add_minidumps_option_8cs_source.html b/20240202202051___m_y_add_minidumps_option_8cs_source.html new file mode 100644 index 0000000000..44da4f3ef7 --- /dev/null +++ b/20240202202051___m_y_add_minidumps_option_8cs_source.html @@ -0,0 +1,128 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202051_MYAddMinidumpsOption.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202051_MYAddMinidumpsOption.cs
+
+
+Go to the documentation of this file.
1using System;
+
2
+
3using Microsoft.EntityFrameworkCore.Migrations;
+
4
+ +
6
+ +
8{
+
10 public partial class MYAddMinidumpsOption : Migration
+
11 {
+
13 protected override void Up(MigrationBuilder migrationBuilder)
+
14 {
+
15 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
16
+
17 // This was originally minidumps on Linux and full dumps on Windows
+
18 var defaultValue = !new PlatformIdentifier().IsWindows;
+
19 migrationBuilder.AddColumn<bool>(
+
20 name: "Minidumps",
+
21 table: "DreamDaemonSettings",
+
22 type: "tinyint(1)",
+
23 nullable: false,
+
24 defaultValue: defaultValue);
+
25 }
+
26
+
28 protected override void Down(MigrationBuilder migrationBuilder)
+
29 {
+
30 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
31
+
32 migrationBuilder.DropColumn(
+
33 name: "Minidumps",
+
34 table: "DreamDaemonSettings");
+
35 }
+
36 }
+
37}
+ + + + + +
bool IsWindows
If the current platform is a Windows platform.
+ + +
+ + + + diff --git a/20240202202106___p_g_add_minidumps_option_8_designer_8cs.html b/20240202202106___p_g_add_minidumps_option_8_designer_8cs.html new file mode 100644 index 0000000000..8243d9edc3 --- /dev/null +++ b/20240202202106___p_g_add_minidumps_option_8_designer_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202106_PGAddMinidumpsOption.Designer.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202106_PGAddMinidumpsOption.Designer.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.PGAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202106___p_g_add_minidumps_option_8_designer_8cs_source.html b/20240202202106___p_g_add_minidumps_option_8_designer_8cs_source.html new file mode 100644 index 0000000000..d325d32017 --- /dev/null +++ b/20240202202106___p_g_add_minidumps_option_8_designer_8cs_source.html @@ -0,0 +1,1163 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202106_PGAddMinidumpsOption.Designer.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202106_PGAddMinidumpsOption.Designer.cs
+
+
+Go to the documentation of this file.
1// <auto-generated />
+
2using System;
+
3
+
4using Microsoft.EntityFrameworkCore;
+
5using Microsoft.EntityFrameworkCore.Infrastructure;
+
6using Microsoft.EntityFrameworkCore.Migrations;
+
7
+ +
9{
+
10 [DbContext(typeof(PostgresSqlDatabaseContext))]
+
11 [Migration("20240202202106_PGAddMinidumpsOption")]
+
12 partial class PGAddMinidumpsOption
+
13 {
+
15 protected override void BuildTargetModel(ModelBuilder modelBuilder)
+
16 {
+
17#pragma warning disable 612, 618
+
18 modelBuilder
+
19 .HasAnnotation("ProductVersion", "8.0.1")
+
20 .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
21
+
22 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
23
+
24 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
25 {
+
26 b.Property<long?>("Id")
+
27 .ValueGeneratedOnAdd()
+
28 .HasColumnType("bigint");
+
29
+
30 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
31
+
32 b.Property<int>("ChannelLimit")
+
33 .HasColumnType("integer");
+
34
+
35 b.Property<string>("ConnectionString")
+
36 .IsRequired()
+
37 .HasMaxLength(10000)
+
38 .HasColumnType("character varying(10000)");
+
39
+
40 b.Property<bool?>("Enabled")
+
41 .HasColumnType("boolean");
+
42
+
43 b.Property<long>("InstanceId")
+
44 .HasColumnType("bigint");
+
45
+
46 b.Property<string>("Name")
+
47 .IsRequired()
+
48 .HasMaxLength(100)
+
49 .HasColumnType("character varying(100)");
+
50
+
51 b.Property<int>("Provider")
+
52 .HasColumnType("integer");
+
53
+
54 b.Property<long>("ReconnectionInterval")
+
55 .HasColumnType("bigint");
+
56
+
57 b.HasKey("Id");
+
58
+
59 b.HasIndex("InstanceId", "Name")
+
60 .IsUnique();
+
61
+
62 b.ToTable("ChatBots");
+
63 });
+
64
+
65 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
66 {
+
67 b.Property<long>("Id")
+
68 .ValueGeneratedOnAdd()
+
69 .HasColumnType("bigint");
+
70
+
71 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
72
+
73 b.Property<long>("ChatSettingsId")
+
74 .HasColumnType("bigint");
+
75
+
76 b.Property<decimal?>("DiscordChannelId")
+
77 .HasColumnType("numeric(20,0)");
+
78
+
79 b.Property<string>("IrcChannel")
+
80 .HasMaxLength(100)
+
81 .HasColumnType("character varying(100)");
+
82
+
83 b.Property<bool?>("IsAdminChannel")
+
84 .IsRequired()
+
85 .HasColumnType("boolean");
+
86
+
87 b.Property<bool?>("IsSystemChannel")
+
88 .IsRequired()
+
89 .HasColumnType("boolean");
+
90
+
91 b.Property<bool?>("IsUpdatesChannel")
+
92 .IsRequired()
+
93 .HasColumnType("boolean");
+
94
+
95 b.Property<bool?>("IsWatchdogChannel")
+
96 .IsRequired()
+
97 .HasColumnType("boolean");
+
98
+
99 b.Property<string>("Tag")
+
100 .HasMaxLength(10000)
+
101 .HasColumnType("character varying(10000)");
+
102
+
103 b.HasKey("Id");
+
104
+
105 b.HasIndex("ChatSettingsId", "DiscordChannelId")
+
106 .IsUnique();
+
107
+
108 b.HasIndex("ChatSettingsId", "IrcChannel")
+
109 .IsUnique();
+
110
+
111 b.ToTable("ChatChannels");
+
112 });
+
113
+
114 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
115 {
+
116 b.Property<long?>("Id")
+
117 .ValueGeneratedOnAdd()
+
118 .HasColumnType("bigint");
+
119
+
120 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
121
+
122 b.Property<int?>("DMApiMajorVersion")
+
123 .HasColumnType("integer");
+
124
+
125 b.Property<int?>("DMApiMinorVersion")
+
126 .HasColumnType("integer");
+
127
+
128 b.Property<int?>("DMApiPatchVersion")
+
129 .HasColumnType("integer");
+
130
+
131 b.Property<Guid?>("DirectoryName")
+
132 .IsRequired()
+
133 .HasColumnType("uuid");
+
134
+
135 b.Property<string>("DmeName")
+
136 .IsRequired()
+
137 .HasColumnType("text");
+
138
+
139 b.Property<string>("EngineVersion")
+
140 .IsRequired()
+
141 .HasColumnType("text");
+
142
+
143 b.Property<int?>("GitHubDeploymentId")
+
144 .HasColumnType("integer");
+
145
+
146 b.Property<long?>("GitHubRepoId")
+
147 .HasColumnType("bigint");
+
148
+
149 b.Property<long>("JobId")
+
150 .HasColumnType("bigint");
+
151
+
152 b.Property<int?>("MinimumSecurityLevel")
+
153 .HasColumnType("integer");
+
154
+
155 b.Property<string>("Output")
+
156 .IsRequired()
+
157 .HasColumnType("text");
+
158
+
159 b.Property<string>("RepositoryOrigin")
+
160 .HasColumnType("text");
+
161
+
162 b.Property<long>("RevisionInformationId")
+
163 .HasColumnType("bigint");
+
164
+
165 b.HasKey("Id");
+
166
+
167 b.HasIndex("DirectoryName");
+
168
+
169 b.HasIndex("JobId")
+
170 .IsUnique();
+
171
+
172 b.HasIndex("RevisionInformationId");
+
173
+
174 b.ToTable("CompileJobs");
+
175 });
+
176
+
177 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
178 {
+
179 b.Property<long>("Id")
+
180 .ValueGeneratedOnAdd()
+
181 .HasColumnType("bigint");
+
182
+
183 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
184
+
185 b.Property<string>("AdditionalParameters")
+
186 .IsRequired()
+
187 .HasMaxLength(10000)
+
188 .HasColumnType("character varying(10000)");
+
189
+
190 b.Property<bool?>("AllowWebClient")
+
191 .IsRequired()
+
192 .HasColumnType("boolean");
+
193
+
194 b.Property<bool?>("AutoStart")
+
195 .IsRequired()
+
196 .HasColumnType("boolean");
+
197
+
198 b.Property<bool?>("DumpOnHealthCheckRestart")
+
199 .IsRequired()
+
200 .HasColumnType("boolean");
+
201
+
202 b.Property<long>("HealthCheckSeconds")
+
203 .HasColumnType("bigint");
+
204
+
205 b.Property<long>("InstanceId")
+
206 .HasColumnType("bigint");
+
207
+
208 b.Property<bool?>("LogOutput")
+
209 .IsRequired()
+
210 .HasColumnType("boolean");
+
211
+
212 b.Property<long>("MapThreads")
+
213 .HasColumnType("bigint");
+
214
+
215 b.Property<bool?>("Minidumps")
+
216 .IsRequired()
+
217 .HasColumnType("boolean");
+
218
+
219 b.Property<int>("Port")
+
220 .HasColumnType("integer");
+
221
+
222 b.Property<int>("SecurityLevel")
+
223 .HasColumnType("integer");
+
224
+
225 b.Property<bool?>("StartProfiler")
+
226 .IsRequired()
+
227 .HasColumnType("boolean");
+
228
+
229 b.Property<long>("StartupTimeout")
+
230 .HasColumnType("bigint");
+
231
+
232 b.Property<long>("TopicRequestTimeout")
+
233 .HasColumnType("bigint");
+
234
+
235 b.Property<int>("Visibility")
+
236 .HasColumnType("integer");
+
237
+
238 b.HasKey("Id");
+
239
+
240 b.HasIndex("InstanceId")
+
241 .IsUnique();
+
242
+
243 b.ToTable("DreamDaemonSettings");
+
244 });
+
245
+
246 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
247 {
+
248 b.Property<long>("Id")
+
249 .ValueGeneratedOnAdd()
+
250 .HasColumnType("bigint");
+
251
+
252 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
253
+
254 b.Property<int>("ApiValidationPort")
+
255 .HasColumnType("integer");
+
256
+
257 b.Property<int>("ApiValidationSecurityLevel")
+
258 .HasColumnType("integer");
+
259
+
260 b.Property<long>("InstanceId")
+
261 .HasColumnType("bigint");
+
262
+
263 b.Property<string>("ProjectName")
+
264 .HasMaxLength(10000)
+
265 .HasColumnType("character varying(10000)");
+
266
+
267 b.Property<bool?>("RequireDMApiValidation")
+
268 .IsRequired()
+
269 .HasColumnType("boolean");
+
270
+
271 b.Property<TimeSpan?>("Timeout")
+
272 .IsRequired()
+
273 .HasColumnType("interval");
+
274
+
275 b.HasKey("Id");
+
276
+
277 b.HasIndex("InstanceId")
+
278 .IsUnique();
+
279
+
280 b.ToTable("DreamMakerSettings");
+
281 });
+
282
+
283 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
284 {
+
285 b.Property<long?>("Id")
+
286 .ValueGeneratedOnAdd()
+
287 .HasColumnType("bigint");
+
288
+
289 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
290
+
291 b.Property<long>("AutoUpdateInterval")
+
292 .HasColumnType("bigint");
+
293
+
294 b.Property<int>("ChatBotLimit")
+
295 .HasColumnType("integer");
+
296
+
297 b.Property<int>("ConfigurationType")
+
298 .HasColumnType("integer");
+
299
+
300 b.Property<string>("Name")
+
301 .IsRequired()
+
302 .HasMaxLength(100)
+
303 .HasColumnType("character varying(100)");
+
304
+
305 b.Property<bool?>("Online")
+
306 .IsRequired()
+
307 .HasColumnType("boolean");
+
308
+
309 b.Property<string>("Path")
+
310 .IsRequired()
+
311 .HasColumnType("text");
+
312
+
313 b.Property<string>("SwarmIdentifer")
+
314 .HasColumnType("text");
+
315
+
316 b.HasKey("Id");
+
317
+
318 b.HasIndex("Path", "SwarmIdentifer")
+
319 .IsUnique();
+
320
+
321 b.ToTable("Instances");
+
322 });
+
323
+
324 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
325 {
+
326 b.Property<long>("Id")
+
327 .ValueGeneratedOnAdd()
+
328 .HasColumnType("bigint");
+
329
+
330 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
331
+
332 b.Property<decimal>("ChatBotRights")
+
333 .HasColumnType("numeric(20,0)");
+
334
+
335 b.Property<decimal>("ConfigurationRights")
+
336 .HasColumnType("numeric(20,0)");
+
337
+
338 b.Property<decimal>("DreamDaemonRights")
+
339 .HasColumnType("numeric(20,0)");
+
340
+
341 b.Property<decimal>("DreamMakerRights")
+
342 .HasColumnType("numeric(20,0)");
+
343
+
344 b.Property<decimal>("EngineRights")
+
345 .HasColumnType("numeric(20,0)");
+
346
+
347 b.Property<long>("InstanceId")
+
348 .HasColumnType("bigint");
+
349
+
350 b.Property<decimal>("InstancePermissionSetRights")
+
351 .HasColumnType("numeric(20,0)");
+
352
+
353 b.Property<long>("PermissionSetId")
+
354 .HasColumnType("bigint");
+
355
+
356 b.Property<decimal>("RepositoryRights")
+
357 .HasColumnType("numeric(20,0)");
+
358
+
359 b.HasKey("Id");
+
360
+
361 b.HasIndex("InstanceId");
+
362
+
363 b.HasIndex("PermissionSetId", "InstanceId")
+
364 .IsUnique();
+
365
+
366 b.ToTable("InstancePermissionSets");
+
367 });
+
368
+
369 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
370 {
+
371 b.Property<long?>("Id")
+
372 .ValueGeneratedOnAdd()
+
373 .HasColumnType("bigint");
+
374
+
375 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
376
+
377 b.Property<decimal?>("CancelRight")
+
378 .HasColumnType("numeric(20,0)");
+
379
+
380 b.Property<decimal?>("CancelRightsType")
+
381 .HasColumnType("numeric(20,0)");
+
382
+
383 b.Property<bool?>("Cancelled")
+
384 .IsRequired()
+
385 .HasColumnType("boolean");
+
386
+
387 b.Property<long?>("CancelledById")
+
388 .HasColumnType("bigint");
+
389
+
390 b.Property<string>("Description")
+
391 .IsRequired()
+
392 .HasColumnType("text");
+
393
+
394 b.Property<long?>("ErrorCode")
+
395 .HasColumnType("bigint");
+
396
+
397 b.Property<string>("ExceptionDetails")
+
398 .HasColumnType("text");
+
399
+
400 b.Property<long>("InstanceId")
+
401 .HasColumnType("bigint");
+
402
+
403 b.Property<byte>("JobCode")
+
404 .HasColumnType("smallint");
+
405
+
406 b.Property<DateTimeOffset?>("StartedAt")
+
407 .IsRequired()
+
408 .HasColumnType("timestamp with time zone");
+
409
+
410 b.Property<long>("StartedById")
+
411 .HasColumnType("bigint");
+
412
+
413 b.Property<DateTimeOffset?>("StoppedAt")
+
414 .HasColumnType("timestamp with time zone");
+
415
+
416 b.HasKey("Id");
+
417
+
418 b.HasIndex("CancelledById");
+
419
+
420 b.HasIndex("InstanceId");
+
421
+
422 b.HasIndex("StartedById");
+
423
+
424 b.ToTable("Jobs");
+
425 });
+
426
+
427 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
428 {
+
429 b.Property<long>("Id")
+
430 .ValueGeneratedOnAdd()
+
431 .HasColumnType("bigint");
+
432
+
433 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
434
+
435 b.Property<string>("ExternalUserId")
+
436 .IsRequired()
+
437 .HasMaxLength(100)
+
438 .HasColumnType("character varying(100)");
+
439
+
440 b.Property<int>("Provider")
+
441 .HasColumnType("integer");
+
442
+
443 b.Property<long?>("UserId")
+
444 .HasColumnType("bigint");
+
445
+
446 b.HasKey("Id");
+
447
+
448 b.HasIndex("UserId");
+
449
+
450 b.HasIndex("Provider", "ExternalUserId")
+
451 .IsUnique();
+
452
+
453 b.ToTable("OAuthConnections");
+
454 });
+
455
+
456 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
457 {
+
458 b.Property<long?>("Id")
+
459 .ValueGeneratedOnAdd()
+
460 .HasColumnType("bigint");
+
461
+
462 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
463
+
464 b.Property<decimal>("AdministrationRights")
+
465 .HasColumnType("numeric(20,0)");
+
466
+
467 b.Property<long?>("GroupId")
+
468 .HasColumnType("bigint");
+
469
+
470 b.Property<decimal>("InstanceManagerRights")
+
471 .HasColumnType("numeric(20,0)");
+
472
+
473 b.Property<long?>("UserId")
+
474 .HasColumnType("bigint");
+
475
+
476 b.HasKey("Id");
+
477
+
478 b.HasIndex("GroupId")
+
479 .IsUnique();
+
480
+
481 b.HasIndex("UserId")
+
482 .IsUnique();
+
483
+
484 b.ToTable("PermissionSets");
+
485 });
+
486
+
487 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
488 {
+
489 b.Property<long?>("Id")
+
490 .ValueGeneratedOnAdd()
+
491 .HasColumnType("bigint");
+
492
+
493 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
494
+
495 b.Property<string>("AccessIdentifier")
+
496 .IsRequired()
+
497 .HasColumnType("text");
+
498
+
499 b.Property<long>("CompileJobId")
+
500 .HasColumnType("bigint");
+
501
+
502 b.Property<long?>("InitialCompileJobId")
+
503 .HasColumnType("bigint");
+
504
+
505 b.Property<int>("LaunchSecurityLevel")
+
506 .HasColumnType("integer");
+
507
+
508 b.Property<int>("LaunchVisibility")
+
509 .HasColumnType("integer");
+
510
+
511 b.Property<int>("Port")
+
512 .HasColumnType("integer");
+
513
+
514 b.Property<int>("ProcessId")
+
515 .HasColumnType("integer");
+
516
+
517 b.Property<int>("RebootState")
+
518 .HasColumnType("integer");
+
519
+
520 b.Property<int?>("TopicPort")
+
521 .HasColumnType("integer");
+
522
+
523 b.HasKey("Id");
+
524
+
525 b.HasIndex("CompileJobId");
+
526
+
527 b.HasIndex("InitialCompileJobId");
+
528
+
529 b.ToTable("ReattachInformations");
+
530 });
+
531
+
532 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
533 {
+
534 b.Property<long>("Id")
+
535 .ValueGeneratedOnAdd()
+
536 .HasColumnType("bigint");
+
537
+
538 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
539
+
540 b.Property<string>("AccessToken")
+
541 .HasMaxLength(10000)
+
542 .HasColumnType("character varying(10000)");
+
543
+
544 b.Property<string>("AccessUser")
+
545 .HasMaxLength(10000)
+
546 .HasColumnType("character varying(10000)");
+
547
+
548 b.Property<bool?>("AutoUpdatesKeepTestMerges")
+
549 .IsRequired()
+
550 .HasColumnType("boolean");
+
551
+
552 b.Property<bool?>("AutoUpdatesSynchronize")
+
553 .IsRequired()
+
554 .HasColumnType("boolean");
+
555
+
556 b.Property<string>("CommitterEmail")
+
557 .IsRequired()
+
558 .HasMaxLength(10000)
+
559 .HasColumnType("character varying(10000)");
+
560
+
561 b.Property<string>("CommitterName")
+
562 .IsRequired()
+
563 .HasMaxLength(10000)
+
564 .HasColumnType("character varying(10000)");
+
565
+
566 b.Property<bool?>("CreateGitHubDeployments")
+
567 .IsRequired()
+
568 .HasColumnType("boolean");
+
569
+
570 b.Property<long>("InstanceId")
+
571 .HasColumnType("bigint");
+
572
+
573 b.Property<bool?>("PostTestMergeComment")
+
574 .IsRequired()
+
575 .HasColumnType("boolean");
+
576
+
577 b.Property<bool?>("PushTestMergeCommits")
+
578 .IsRequired()
+
579 .HasColumnType("boolean");
+
580
+
581 b.Property<bool?>("ShowTestMergeCommitters")
+
582 .IsRequired()
+
583 .HasColumnType("boolean");
+
584
+
585 b.Property<bool?>("UpdateSubmodules")
+
586 .IsRequired()
+
587 .HasColumnType("boolean");
+
588
+
589 b.HasKey("Id");
+
590
+
591 b.HasIndex("InstanceId")
+
592 .IsUnique();
+
593
+
594 b.ToTable("RepositorySettings");
+
595 });
+
596
+
597 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
598 {
+
599 b.Property<long>("Id")
+
600 .ValueGeneratedOnAdd()
+
601 .HasColumnType("bigint");
+
602
+
603 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
604
+
605 b.Property<long>("RevisionInformationId")
+
606 .HasColumnType("bigint");
+
607
+
608 b.Property<long>("TestMergeId")
+
609 .HasColumnType("bigint");
+
610
+
611 b.HasKey("Id");
+
612
+
613 b.HasIndex("RevisionInformationId");
+
614
+
615 b.HasIndex("TestMergeId");
+
616
+
617 b.ToTable("RevInfoTestMerges");
+
618 });
+
619
+
620 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
621 {
+
622 b.Property<long>("Id")
+
623 .ValueGeneratedOnAdd()
+
624 .HasColumnType("bigint");
+
625
+
626 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
627
+
628 b.Property<string>("CommitSha")
+
629 .IsRequired()
+
630 .HasMaxLength(40)
+
631 .HasColumnType("character varying(40)");
+
632
+
633 b.Property<long>("InstanceId")
+
634 .HasColumnType("bigint");
+
635
+
636 b.Property<string>("OriginCommitSha")
+
637 .IsRequired()
+
638 .HasMaxLength(40)
+
639 .HasColumnType("character varying(40)");
+
640
+
641 b.Property<DateTimeOffset>("Timestamp")
+
642 .HasColumnType("timestamp with time zone");
+
643
+
644 b.HasKey("Id");
+
645
+
646 b.HasIndex("InstanceId", "CommitSha")
+
647 .IsUnique();
+
648
+
649 b.ToTable("RevisionInformations");
+
650 });
+
651
+
652 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
653 {
+
654 b.Property<long>("Id")
+
655 .ValueGeneratedOnAdd()
+
656 .HasColumnType("bigint");
+
657
+
658 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
659
+
660 b.Property<string>("Author")
+
661 .IsRequired()
+
662 .HasColumnType("text");
+
663
+
664 b.Property<string>("BodyAtMerge")
+
665 .IsRequired()
+
666 .HasColumnType("text");
+
667
+
668 b.Property<string>("Comment")
+
669 .HasMaxLength(10000)
+
670 .HasColumnType("character varying(10000)");
+
671
+
672 b.Property<DateTimeOffset>("MergedAt")
+
673 .HasColumnType("timestamp with time zone");
+
674
+
675 b.Property<long>("MergedById")
+
676 .HasColumnType("bigint");
+
677
+
678 b.Property<int>("Number")
+
679 .HasColumnType("integer");
+
680
+
681 b.Property<long?>("PrimaryRevisionInformationId")
+
682 .IsRequired()
+
683 .HasColumnType("bigint");
+
684
+
685 b.Property<string>("TargetCommitSha")
+
686 .IsRequired()
+
687 .HasMaxLength(40)
+
688 .HasColumnType("character varying(40)");
+
689
+
690 b.Property<string>("TitleAtMerge")
+
691 .IsRequired()
+
692 .HasColumnType("text");
+
693
+
694 b.Property<string>("Url")
+
695 .IsRequired()
+
696 .HasColumnType("text");
+
697
+
698 b.HasKey("Id");
+
699
+
700 b.HasIndex("MergedById");
+
701
+
702 b.HasIndex("PrimaryRevisionInformationId")
+
703 .IsUnique();
+
704
+
705 b.ToTable("TestMerges");
+
706 });
+
707
+
708 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
709 {
+
710 b.Property<long?>("Id")
+
711 .ValueGeneratedOnAdd()
+
712 .HasColumnType("bigint");
+
713
+
714 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
715
+
716 b.Property<string>("CanonicalName")
+
717 .IsRequired()
+
718 .HasMaxLength(100)
+
719 .HasColumnType("character varying(100)");
+
720
+
721 b.Property<DateTimeOffset?>("CreatedAt")
+
722 .IsRequired()
+
723 .HasColumnType("timestamp with time zone");
+
724
+
725 b.Property<long?>("CreatedById")
+
726 .HasColumnType("bigint");
+
727
+
728 b.Property<bool?>("Enabled")
+
729 .IsRequired()
+
730 .HasColumnType("boolean");
+
731
+
732 b.Property<long?>("GroupId")
+
733 .HasColumnType("bigint");
+
734
+
735 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
736 .HasColumnType("timestamp with time zone");
+
737
+
738 b.Property<string>("Name")
+
739 .IsRequired()
+
740 .HasMaxLength(100)
+
741 .HasColumnType("character varying(100)");
+
742
+
743 b.Property<string>("PasswordHash")
+
744 .HasColumnType("text");
+
745
+
746 b.Property<string>("SystemIdentifier")
+
747 .HasMaxLength(100)
+
748 .HasColumnType("character varying(100)");
+
749
+
750 b.HasKey("Id");
+
751
+
752 b.HasIndex("CanonicalName")
+
753 .IsUnique();
+
754
+
755 b.HasIndex("CreatedById");
+
756
+
757 b.HasIndex("GroupId");
+
758
+
759 b.HasIndex("SystemIdentifier")
+
760 .IsUnique();
+
761
+
762 b.ToTable("Users");
+
763 });
+
764
+
765 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
766 {
+
767 b.Property<long?>("Id")
+
768 .ValueGeneratedOnAdd()
+
769 .HasColumnType("bigint");
+
770
+
771 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
772
+
773 b.Property<string>("Name")
+
774 .IsRequired()
+
775 .HasMaxLength(100)
+
776 .HasColumnType("character varying(100)");
+
777
+
778 b.HasKey("Id");
+
779
+
780 b.HasIndex("Name")
+
781 .IsUnique();
+
782
+
783 b.ToTable("Groups");
+
784 });
+
785
+
786 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
787 {
+
788 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
789 .WithMany("ChatSettings")
+
790 .HasForeignKey("InstanceId")
+
791 .OnDelete(DeleteBehavior.Cascade)
+
792 .IsRequired();
+
793
+
794 b.Navigation("Instance");
+
795 });
+
796
+
797 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
798 {
+
799 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
800 .WithMany("Channels")
+
801 .HasForeignKey("ChatSettingsId")
+
802 .OnDelete(DeleteBehavior.Cascade)
+
803 .IsRequired();
+
804
+
805 b.Navigation("ChatSettings");
+
806 });
+
807
+
808 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
809 {
+
810 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
811 .WithOne()
+
812 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
813 .OnDelete(DeleteBehavior.Cascade)
+
814 .IsRequired();
+
815
+
816 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
817 .WithMany("CompileJobs")
+
818 .HasForeignKey("RevisionInformationId")
+
819 .OnDelete(DeleteBehavior.Cascade)
+
820 .IsRequired();
+
821
+
822 b.Navigation("Job");
+
823
+
824 b.Navigation("RevisionInformation");
+
825 });
+
826
+
827 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
828 {
+
829 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
830 .WithOne("DreamDaemonSettings")
+
831 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
832 .OnDelete(DeleteBehavior.Cascade)
+
833 .IsRequired();
+
834
+
835 b.Navigation("Instance");
+
836 });
+
837
+
838 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
839 {
+
840 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
841 .WithOne("DreamMakerSettings")
+
842 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
843 .OnDelete(DeleteBehavior.Cascade)
+
844 .IsRequired();
+
845
+
846 b.Navigation("Instance");
+
847 });
+
848
+
849 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
850 {
+
851 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
852 .WithMany("InstancePermissionSets")
+
853 .HasForeignKey("InstanceId")
+
854 .OnDelete(DeleteBehavior.Cascade)
+
855 .IsRequired();
+
856
+
857 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
858 .WithMany("InstancePermissionSets")
+
859 .HasForeignKey("PermissionSetId")
+
860 .OnDelete(DeleteBehavior.Cascade)
+
861 .IsRequired();
+
862
+
863 b.Navigation("Instance");
+
864
+
865 b.Navigation("PermissionSet");
+
866 });
+
867
+
868 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
869 {
+
870 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
871 .WithMany()
+
872 .HasForeignKey("CancelledById");
+
873
+
874 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
875 .WithMany("Jobs")
+
876 .HasForeignKey("InstanceId")
+
877 .OnDelete(DeleteBehavior.Cascade)
+
878 .IsRequired();
+
879
+
880 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
881 .WithMany()
+
882 .HasForeignKey("StartedById")
+
883 .OnDelete(DeleteBehavior.Cascade)
+
884 .IsRequired();
+
885
+
886 b.Navigation("CancelledBy");
+
887
+
888 b.Navigation("Instance");
+
889
+
890 b.Navigation("StartedBy");
+
891 });
+
892
+
893 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
894 {
+
895 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
896 .WithMany("OAuthConnections")
+
897 .HasForeignKey("UserId")
+
898 .OnDelete(DeleteBehavior.Cascade);
+
899
+
900 b.Navigation("User");
+
901 });
+
902
+
903 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
904 {
+
905 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
906 .WithOne("PermissionSet")
+
907 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
908 .OnDelete(DeleteBehavior.Cascade);
+
909
+
910 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
911 .WithOne("PermissionSet")
+
912 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
913 .OnDelete(DeleteBehavior.Cascade);
+
914
+
915 b.Navigation("Group");
+
916
+
917 b.Navigation("User");
+
918 });
+
919
+
920 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
921 {
+
922 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
923 .WithMany()
+
924 .HasForeignKey("CompileJobId")
+
925 .OnDelete(DeleteBehavior.Cascade)
+
926 .IsRequired();
+
927
+
928 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
929 .WithMany()
+
930 .HasForeignKey("InitialCompileJobId");
+
931
+
932 b.Navigation("CompileJob");
+
933
+
934 b.Navigation("InitialCompileJob");
+
935 });
+
936
+
937 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
938 {
+
939 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
940 .WithOne("RepositorySettings")
+
941 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
942 .OnDelete(DeleteBehavior.Cascade)
+
943 .IsRequired();
+
944
+
945 b.Navigation("Instance");
+
946 });
+
947
+
948 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
949 {
+
950 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
951 .WithMany("ActiveTestMerges")
+
952 .HasForeignKey("RevisionInformationId")
+
953 .OnDelete(DeleteBehavior.Cascade)
+
954 .IsRequired();
+
955
+
956 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
957 .WithMany("RevisonInformations")
+
958 .HasForeignKey("TestMergeId")
+
959 .OnDelete(DeleteBehavior.ClientNoAction)
+
960 .IsRequired();
+
961
+
962 b.Navigation("RevisionInformation");
+
963
+
964 b.Navigation("TestMerge");
+
965 });
+
966
+
967 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
968 {
+
969 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
970 .WithMany("RevisionInformations")
+
971 .HasForeignKey("InstanceId")
+
972 .OnDelete(DeleteBehavior.Cascade)
+
973 .IsRequired();
+
974
+
975 b.Navigation("Instance");
+
976 });
+
977
+
978 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
979 {
+
980 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
981 .WithMany("TestMerges")
+
982 .HasForeignKey("MergedById")
+
983 .OnDelete(DeleteBehavior.Restrict)
+
984 .IsRequired();
+
985
+
986 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
987 .WithOne("PrimaryTestMerge")
+
988 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
989 .OnDelete(DeleteBehavior.Cascade)
+
990 .IsRequired();
+
991
+
992 b.Navigation("MergedBy");
+
993
+
994 b.Navigation("PrimaryRevisionInformation");
+
995 });
+
996
+
997 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
998 {
+
999 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
1000 .WithMany("CreatedUsers")
+
1001 .HasForeignKey("CreatedById");
+
1002
+
1003 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
1004 .WithMany("Users")
+
1005 .HasForeignKey("GroupId");
+
1006
+
1007 b.Navigation("CreatedBy");
+
1008
+
1009 b.Navigation("Group");
+
1010 });
+
1011
+
1012 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
1013 {
+
1014 b.Navigation("Channels");
+
1015 });
+
1016
+
1017 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
1018 {
+
1019 b.Navigation("ChatSettings");
+
1020
+
1021 b.Navigation("DreamDaemonSettings");
+
1022
+
1023 b.Navigation("DreamMakerSettings");
+
1024
+
1025 b.Navigation("InstancePermissionSets");
+
1026
+
1027 b.Navigation("Jobs");
+
1028
+
1029 b.Navigation("RepositorySettings");
+
1030
+
1031 b.Navigation("RevisionInformations");
+
1032 });
+
1033
+
1034 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1035 {
+
1036 b.Navigation("InstancePermissionSets");
+
1037 });
+
1038
+
1039 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1040 {
+
1041 b.Navigation("ActiveTestMerges");
+
1042
+
1043 b.Navigation("CompileJobs");
+
1044
+
1045 b.Navigation("PrimaryTestMerge");
+
1046 });
+
1047
+
1048 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1049 {
+
1050 b.Navigation("RevisonInformations");
+
1051 });
+
1052
+
1053 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1054 {
+
1055 b.Navigation("CreatedUsers");
+
1056
+
1057 b.Navigation("OAuthConnections");
+
1058
+
1059 b.Navigation("PermissionSet");
+
1060
+
1061 b.Navigation("TestMerges");
+
1062 });
+
1063
+
1064 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1065 {
+
1066 b.Navigation("PermissionSet")
+
1067 .IsRequired();
+
1068
+
1069 b.Navigation("Users");
+
1070 });
+
1071#pragma warning restore 612, 618
+
1072 }
+
1073 }
+
1074}
+ + + + +
+ + + + diff --git a/20240202202106___p_g_add_minidumps_option_8cs.html b/20240202202106___p_g_add_minidumps_option_8cs.html new file mode 100644 index 0000000000..bf66012a1d --- /dev/null +++ b/20240202202106___p_g_add_minidumps_option_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202106_PGAddMinidumpsOption.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202106_PGAddMinidumpsOption.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.PGAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202106___p_g_add_minidumps_option_8cs_source.html b/20240202202106___p_g_add_minidumps_option_8cs_source.html new file mode 100644 index 0000000000..e9a93d303d --- /dev/null +++ b/20240202202106___p_g_add_minidumps_option_8cs_source.html @@ -0,0 +1,128 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202106_PGAddMinidumpsOption.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202106_PGAddMinidumpsOption.cs
+
+
+Go to the documentation of this file.
1using System;
+
2
+
3using Microsoft.EntityFrameworkCore.Migrations;
+
4
+ +
6
+ +
8{
+
10 public partial class PGAddMinidumpsOption : Migration
+
11 {
+
13 protected override void Up(MigrationBuilder migrationBuilder)
+
14 {
+
15 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
16
+
17 // This was originally minidumps on Linux and full dumps on Windows
+
18 var defaultValue = !new PlatformIdentifier().IsWindows;
+
19 migrationBuilder.AddColumn<bool>(
+
20 name: "Minidumps",
+
21 table: "DreamDaemonSettings",
+
22 type: "boolean",
+
23 nullable: false,
+
24 defaultValue: defaultValue);
+
25 }
+
26
+
28 protected override void Down(MigrationBuilder migrationBuilder)
+
29 {
+
30 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
31
+
32 migrationBuilder.DropColumn(
+
33 name: "Minidumps",
+
34 table: "DreamDaemonSettings");
+
35 }
+
36 }
+
37}
+ + + + + +
bool IsWindows
If the current platform is a Windows platform.
+ + +
+ + + + diff --git a/20240202202121___s_l_add_minidumps_option_8_designer_8cs.html b/20240202202121___s_l_add_minidumps_option_8_designer_8cs.html new file mode 100644 index 0000000000..642e3603cb --- /dev/null +++ b/20240202202121___s_l_add_minidumps_option_8_designer_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202121_SLAddMinidumpsOption.Designer.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202121_SLAddMinidumpsOption.Designer.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.SLAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202121___s_l_add_minidumps_option_8_designer_8cs_source.html b/20240202202121___s_l_add_minidumps_option_8_designer_8cs_source.html new file mode 100644 index 0000000000..1a6777efa7 --- /dev/null +++ b/20240202202121___s_l_add_minidumps_option_8_designer_8cs_source.html @@ -0,0 +1,1135 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202121_SLAddMinidumpsOption.Designer.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202121_SLAddMinidumpsOption.Designer.cs
+
+
+Go to the documentation of this file.
1// <auto-generated />
+
2using System;
+
3
+
4using Microsoft.EntityFrameworkCore;
+
5using Microsoft.EntityFrameworkCore.Infrastructure;
+
6using Microsoft.EntityFrameworkCore.Migrations;
+
7
+ +
9{
+
10 [DbContext(typeof(SqliteDatabaseContext))]
+
11 [Migration("20240202202121_SLAddMinidumpsOption")]
+
12 partial class SLAddMinidumpsOption
+
13 {
+
15 protected override void BuildTargetModel(ModelBuilder modelBuilder)
+
16 {
+
17#pragma warning disable 612, 618
+
18 modelBuilder.HasAnnotation("ProductVersion", "8.0.1");
+
19
+
20 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
21 {
+
22 b.Property<long?>("Id")
+
23 .ValueGeneratedOnAdd()
+
24 .HasColumnType("INTEGER");
+
25
+
26 b.Property<ushort?>("ChannelLimit")
+
27 .IsRequired()
+
28 .HasColumnType("INTEGER");
+
29
+
30 b.Property<string>("ConnectionString")
+
31 .IsRequired()
+
32 .HasMaxLength(10000)
+
33 .HasColumnType("TEXT");
+
34
+
35 b.Property<bool?>("Enabled")
+
36 .HasColumnType("INTEGER");
+
37
+
38 b.Property<long>("InstanceId")
+
39 .HasColumnType("INTEGER");
+
40
+
41 b.Property<string>("Name")
+
42 .IsRequired()
+
43 .HasMaxLength(100)
+
44 .HasColumnType("TEXT");
+
45
+
46 b.Property<int>("Provider")
+
47 .HasColumnType("INTEGER");
+
48
+
49 b.Property<uint?>("ReconnectionInterval")
+
50 .IsRequired()
+
51 .HasColumnType("INTEGER");
+
52
+
53 b.HasKey("Id");
+
54
+
55 b.HasIndex("InstanceId", "Name")
+
56 .IsUnique();
+
57
+
58 b.ToTable("ChatBots");
+
59 });
+
60
+
61 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
62 {
+
63 b.Property<long>("Id")
+
64 .ValueGeneratedOnAdd()
+
65 .HasColumnType("INTEGER");
+
66
+
67 b.Property<long>("ChatSettingsId")
+
68 .HasColumnType("INTEGER");
+
69
+
70 b.Property<ulong?>("DiscordChannelId")
+
71 .HasColumnType("INTEGER");
+
72
+
73 b.Property<string>("IrcChannel")
+
74 .HasMaxLength(100)
+
75 .HasColumnType("TEXT");
+
76
+
77 b.Property<bool?>("IsAdminChannel")
+
78 .IsRequired()
+
79 .HasColumnType("INTEGER");
+
80
+
81 b.Property<bool?>("IsSystemChannel")
+
82 .IsRequired()
+
83 .HasColumnType("INTEGER");
+
84
+
85 b.Property<bool?>("IsUpdatesChannel")
+
86 .IsRequired()
+
87 .HasColumnType("INTEGER");
+
88
+
89 b.Property<bool?>("IsWatchdogChannel")
+
90 .IsRequired()
+
91 .HasColumnType("INTEGER");
+
92
+
93 b.Property<string>("Tag")
+
94 .HasMaxLength(10000)
+
95 .HasColumnType("TEXT");
+
96
+
97 b.HasKey("Id");
+
98
+
99 b.HasIndex("ChatSettingsId", "DiscordChannelId")
+
100 .IsUnique();
+
101
+
102 b.HasIndex("ChatSettingsId", "IrcChannel")
+
103 .IsUnique();
+
104
+
105 b.ToTable("ChatChannels");
+
106 });
+
107
+
108 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
109 {
+
110 b.Property<long?>("Id")
+
111 .ValueGeneratedOnAdd()
+
112 .HasColumnType("INTEGER");
+
113
+
114 b.Property<int?>("DMApiMajorVersion")
+
115 .HasColumnType("INTEGER");
+
116
+
117 b.Property<int?>("DMApiMinorVersion")
+
118 .HasColumnType("INTEGER");
+
119
+
120 b.Property<int?>("DMApiPatchVersion")
+
121 .HasColumnType("INTEGER");
+
122
+
123 b.Property<Guid?>("DirectoryName")
+
124 .IsRequired()
+
125 .HasColumnType("TEXT");
+
126
+
127 b.Property<string>("DmeName")
+
128 .IsRequired()
+
129 .HasColumnType("TEXT");
+
130
+
131 b.Property<string>("EngineVersion")
+
132 .IsRequired()
+
133 .HasColumnType("TEXT");
+
134
+
135 b.Property<int?>("GitHubDeploymentId")
+
136 .HasColumnType("INTEGER");
+
137
+
138 b.Property<long?>("GitHubRepoId")
+
139 .HasColumnType("INTEGER");
+
140
+
141 b.Property<long>("JobId")
+
142 .HasColumnType("INTEGER");
+
143
+
144 b.Property<int?>("MinimumSecurityLevel")
+
145 .HasColumnType("INTEGER");
+
146
+
147 b.Property<string>("Output")
+
148 .IsRequired()
+
149 .HasColumnType("TEXT");
+
150
+
151 b.Property<string>("RepositoryOrigin")
+
152 .HasColumnType("TEXT");
+
153
+
154 b.Property<long>("RevisionInformationId")
+
155 .HasColumnType("INTEGER");
+
156
+
157 b.HasKey("Id");
+
158
+
159 b.HasIndex("DirectoryName");
+
160
+
161 b.HasIndex("JobId")
+
162 .IsUnique();
+
163
+
164 b.HasIndex("RevisionInformationId");
+
165
+
166 b.ToTable("CompileJobs");
+
167 });
+
168
+
169 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
170 {
+
171 b.Property<long>("Id")
+
172 .ValueGeneratedOnAdd()
+
173 .HasColumnType("INTEGER");
+
174
+
175 b.Property<string>("AdditionalParameters")
+
176 .IsRequired()
+
177 .HasMaxLength(10000)
+
178 .HasColumnType("TEXT");
+
179
+
180 b.Property<bool?>("AllowWebClient")
+
181 .IsRequired()
+
182 .HasColumnType("INTEGER");
+
183
+
184 b.Property<bool?>("AutoStart")
+
185 .IsRequired()
+
186 .HasColumnType("INTEGER");
+
187
+
188 b.Property<bool?>("DumpOnHealthCheckRestart")
+
189 .IsRequired()
+
190 .HasColumnType("INTEGER");
+
191
+
192 b.Property<uint?>("HealthCheckSeconds")
+
193 .IsRequired()
+
194 .HasColumnType("INTEGER");
+
195
+
196 b.Property<long>("InstanceId")
+
197 .HasColumnType("INTEGER");
+
198
+
199 b.Property<bool?>("LogOutput")
+
200 .IsRequired()
+
201 .HasColumnType("INTEGER");
+
202
+
203 b.Property<uint?>("MapThreads")
+
204 .IsRequired()
+
205 .HasColumnType("INTEGER");
+
206
+
207 b.Property<bool?>("Minidumps")
+
208 .IsRequired()
+
209 .HasColumnType("INTEGER");
+
210
+
211 b.Property<ushort?>("Port")
+
212 .IsRequired()
+
213 .HasColumnType("INTEGER");
+
214
+
215 b.Property<int>("SecurityLevel")
+
216 .HasColumnType("INTEGER");
+
217
+
218 b.Property<bool?>("StartProfiler")
+
219 .IsRequired()
+
220 .HasColumnType("INTEGER");
+
221
+
222 b.Property<uint?>("StartupTimeout")
+
223 .IsRequired()
+
224 .HasColumnType("INTEGER");
+
225
+
226 b.Property<uint?>("TopicRequestTimeout")
+
227 .IsRequired()
+
228 .HasColumnType("INTEGER");
+
229
+
230 b.Property<int>("Visibility")
+
231 .HasColumnType("INTEGER");
+
232
+
233 b.HasKey("Id");
+
234
+
235 b.HasIndex("InstanceId")
+
236 .IsUnique();
+
237
+
238 b.ToTable("DreamDaemonSettings");
+
239 });
+
240
+
241 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
242 {
+
243 b.Property<long>("Id")
+
244 .ValueGeneratedOnAdd()
+
245 .HasColumnType("INTEGER");
+
246
+
247 b.Property<ushort?>("ApiValidationPort")
+
248 .IsRequired()
+
249 .HasColumnType("INTEGER");
+
250
+
251 b.Property<int>("ApiValidationSecurityLevel")
+
252 .HasColumnType("INTEGER");
+
253
+
254 b.Property<long>("InstanceId")
+
255 .HasColumnType("INTEGER");
+
256
+
257 b.Property<string>("ProjectName")
+
258 .HasMaxLength(10000)
+
259 .HasColumnType("TEXT");
+
260
+
261 b.Property<bool?>("RequireDMApiValidation")
+
262 .IsRequired()
+
263 .HasColumnType("INTEGER");
+
264
+
265 b.Property<TimeSpan?>("Timeout")
+
266 .IsRequired()
+
267 .HasColumnType("TEXT");
+
268
+
269 b.HasKey("Id");
+
270
+
271 b.HasIndex("InstanceId")
+
272 .IsUnique();
+
273
+
274 b.ToTable("DreamMakerSettings");
+
275 });
+
276
+
277 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
278 {
+
279 b.Property<long?>("Id")
+
280 .ValueGeneratedOnAdd()
+
281 .HasColumnType("INTEGER");
+
282
+
283 b.Property<uint?>("AutoUpdateInterval")
+
284 .IsRequired()
+
285 .HasColumnType("INTEGER");
+
286
+
287 b.Property<ushort?>("ChatBotLimit")
+
288 .IsRequired()
+
289 .HasColumnType("INTEGER");
+
290
+
291 b.Property<int>("ConfigurationType")
+
292 .HasColumnType("INTEGER");
+
293
+
294 b.Property<string>("Name")
+
295 .IsRequired()
+
296 .HasMaxLength(100)
+
297 .HasColumnType("TEXT");
+
298
+
299 b.Property<bool?>("Online")
+
300 .IsRequired()
+
301 .HasColumnType("INTEGER");
+
302
+
303 b.Property<string>("Path")
+
304 .IsRequired()
+
305 .HasColumnType("TEXT");
+
306
+
307 b.Property<string>("SwarmIdentifer")
+
308 .HasColumnType("TEXT");
+
309
+
310 b.HasKey("Id");
+
311
+
312 b.HasIndex("Path", "SwarmIdentifer")
+
313 .IsUnique();
+
314
+
315 b.ToTable("Instances");
+
316 });
+
317
+
318 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
319 {
+
320 b.Property<long>("Id")
+
321 .ValueGeneratedOnAdd()
+
322 .HasColumnType("INTEGER");
+
323
+
324 b.Property<ulong>("ChatBotRights")
+
325 .HasColumnType("INTEGER");
+
326
+
327 b.Property<ulong>("ConfigurationRights")
+
328 .HasColumnType("INTEGER");
+
329
+
330 b.Property<ulong>("DreamDaemonRights")
+
331 .HasColumnType("INTEGER");
+
332
+
333 b.Property<ulong>("DreamMakerRights")
+
334 .HasColumnType("INTEGER");
+
335
+
336 b.Property<ulong>("EngineRights")
+
337 .HasColumnType("INTEGER");
+
338
+
339 b.Property<long>("InstanceId")
+
340 .HasColumnType("INTEGER");
+
341
+
342 b.Property<ulong>("InstancePermissionSetRights")
+
343 .HasColumnType("INTEGER");
+
344
+
345 b.Property<long>("PermissionSetId")
+
346 .HasColumnType("INTEGER");
+
347
+
348 b.Property<ulong>("RepositoryRights")
+
349 .HasColumnType("INTEGER");
+
350
+
351 b.HasKey("Id");
+
352
+
353 b.HasIndex("InstanceId");
+
354
+
355 b.HasIndex("PermissionSetId", "InstanceId")
+
356 .IsUnique();
+
357
+
358 b.ToTable("InstancePermissionSets");
+
359 });
+
360
+
361 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
362 {
+
363 b.Property<long?>("Id")
+
364 .ValueGeneratedOnAdd()
+
365 .HasColumnType("INTEGER");
+
366
+
367 b.Property<ulong?>("CancelRight")
+
368 .HasColumnType("INTEGER");
+
369
+
370 b.Property<ulong?>("CancelRightsType")
+
371 .HasColumnType("INTEGER");
+
372
+
373 b.Property<bool?>("Cancelled")
+
374 .IsRequired()
+
375 .HasColumnType("INTEGER");
+
376
+
377 b.Property<long?>("CancelledById")
+
378 .HasColumnType("INTEGER");
+
379
+
380 b.Property<string>("Description")
+
381 .IsRequired()
+
382 .HasColumnType("TEXT");
+
383
+
384 b.Property<uint?>("ErrorCode")
+
385 .HasColumnType("INTEGER");
+
386
+
387 b.Property<string>("ExceptionDetails")
+
388 .HasColumnType("TEXT");
+
389
+
390 b.Property<long>("InstanceId")
+
391 .HasColumnType("INTEGER");
+
392
+
393 b.Property<byte>("JobCode")
+
394 .HasColumnType("INTEGER");
+
395
+
396 b.Property<DateTimeOffset?>("StartedAt")
+
397 .IsRequired()
+
398 .HasColumnType("TEXT");
+
399
+
400 b.Property<long>("StartedById")
+
401 .HasColumnType("INTEGER");
+
402
+
403 b.Property<DateTimeOffset?>("StoppedAt")
+
404 .HasColumnType("TEXT");
+
405
+
406 b.HasKey("Id");
+
407
+
408 b.HasIndex("CancelledById");
+
409
+
410 b.HasIndex("InstanceId");
+
411
+
412 b.HasIndex("StartedById");
+
413
+
414 b.ToTable("Jobs");
+
415 });
+
416
+
417 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
418 {
+
419 b.Property<long>("Id")
+
420 .ValueGeneratedOnAdd()
+
421 .HasColumnType("INTEGER");
+
422
+
423 b.Property<string>("ExternalUserId")
+
424 .IsRequired()
+
425 .HasMaxLength(100)
+
426 .HasColumnType("TEXT");
+
427
+
428 b.Property<int>("Provider")
+
429 .HasColumnType("INTEGER");
+
430
+
431 b.Property<long?>("UserId")
+
432 .HasColumnType("INTEGER");
+
433
+
434 b.HasKey("Id");
+
435
+
436 b.HasIndex("UserId");
+
437
+
438 b.HasIndex("Provider", "ExternalUserId")
+
439 .IsUnique();
+
440
+
441 b.ToTable("OAuthConnections");
+
442 });
+
443
+
444 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
445 {
+
446 b.Property<long?>("Id")
+
447 .ValueGeneratedOnAdd()
+
448 .HasColumnType("INTEGER");
+
449
+
450 b.Property<ulong>("AdministrationRights")
+
451 .HasColumnType("INTEGER");
+
452
+
453 b.Property<long?>("GroupId")
+
454 .HasColumnType("INTEGER");
+
455
+
456 b.Property<ulong>("InstanceManagerRights")
+
457 .HasColumnType("INTEGER");
+
458
+
459 b.Property<long?>("UserId")
+
460 .HasColumnType("INTEGER");
+
461
+
462 b.HasKey("Id");
+
463
+
464 b.HasIndex("GroupId")
+
465 .IsUnique();
+
466
+
467 b.HasIndex("UserId")
+
468 .IsUnique();
+
469
+
470 b.ToTable("PermissionSets");
+
471 });
+
472
+
473 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
474 {
+
475 b.Property<long?>("Id")
+
476 .ValueGeneratedOnAdd()
+
477 .HasColumnType("INTEGER");
+
478
+
479 b.Property<string>("AccessIdentifier")
+
480 .IsRequired()
+
481 .HasColumnType("TEXT");
+
482
+
483 b.Property<long>("CompileJobId")
+
484 .HasColumnType("INTEGER");
+
485
+
486 b.Property<long?>("InitialCompileJobId")
+
487 .HasColumnType("INTEGER");
+
488
+
489 b.Property<int>("LaunchSecurityLevel")
+
490 .HasColumnType("INTEGER");
+
491
+
492 b.Property<int>("LaunchVisibility")
+
493 .HasColumnType("INTEGER");
+
494
+
495 b.Property<ushort>("Port")
+
496 .HasColumnType("INTEGER");
+
497
+
498 b.Property<int>("ProcessId")
+
499 .HasColumnType("INTEGER");
+
500
+
501 b.Property<int>("RebootState")
+
502 .HasColumnType("INTEGER");
+
503
+
504 b.Property<ushort?>("TopicPort")
+
505 .HasColumnType("INTEGER");
+
506
+
507 b.HasKey("Id");
+
508
+
509 b.HasIndex("CompileJobId");
+
510
+
511 b.HasIndex("InitialCompileJobId");
+
512
+
513 b.ToTable("ReattachInformations");
+
514 });
+
515
+
516 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
517 {
+
518 b.Property<long>("Id")
+
519 .ValueGeneratedOnAdd()
+
520 .HasColumnType("INTEGER");
+
521
+
522 b.Property<string>("AccessToken")
+
523 .HasMaxLength(10000)
+
524 .HasColumnType("TEXT");
+
525
+
526 b.Property<string>("AccessUser")
+
527 .HasMaxLength(10000)
+
528 .HasColumnType("TEXT");
+
529
+
530 b.Property<bool?>("AutoUpdatesKeepTestMerges")
+
531 .IsRequired()
+
532 .HasColumnType("INTEGER");
+
533
+
534 b.Property<bool?>("AutoUpdatesSynchronize")
+
535 .IsRequired()
+
536 .HasColumnType("INTEGER");
+
537
+
538 b.Property<string>("CommitterEmail")
+
539 .IsRequired()
+
540 .HasMaxLength(10000)
+
541 .HasColumnType("TEXT");
+
542
+
543 b.Property<string>("CommitterName")
+
544 .IsRequired()
+
545 .HasMaxLength(10000)
+
546 .HasColumnType("TEXT");
+
547
+
548 b.Property<bool?>("CreateGitHubDeployments")
+
549 .IsRequired()
+
550 .HasColumnType("INTEGER");
+
551
+
552 b.Property<long>("InstanceId")
+
553 .HasColumnType("INTEGER");
+
554
+
555 b.Property<bool?>("PostTestMergeComment")
+
556 .IsRequired()
+
557 .HasColumnType("INTEGER");
+
558
+
559 b.Property<bool?>("PushTestMergeCommits")
+
560 .IsRequired()
+
561 .HasColumnType("INTEGER");
+
562
+
563 b.Property<bool?>("ShowTestMergeCommitters")
+
564 .IsRequired()
+
565 .HasColumnType("INTEGER");
+
566
+
567 b.Property<bool?>("UpdateSubmodules")
+
568 .IsRequired()
+
569 .HasColumnType("INTEGER");
+
570
+
571 b.HasKey("Id");
+
572
+
573 b.HasIndex("InstanceId")
+
574 .IsUnique();
+
575
+
576 b.ToTable("RepositorySettings");
+
577 });
+
578
+
579 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
580 {
+
581 b.Property<long>("Id")
+
582 .ValueGeneratedOnAdd()
+
583 .HasColumnType("INTEGER");
+
584
+
585 b.Property<long>("RevisionInformationId")
+
586 .HasColumnType("INTEGER");
+
587
+
588 b.Property<long>("TestMergeId")
+
589 .HasColumnType("INTEGER");
+
590
+
591 b.HasKey("Id");
+
592
+
593 b.HasIndex("RevisionInformationId");
+
594
+
595 b.HasIndex("TestMergeId");
+
596
+
597 b.ToTable("RevInfoTestMerges");
+
598 });
+
599
+
600 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
601 {
+
602 b.Property<long>("Id")
+
603 .ValueGeneratedOnAdd()
+
604 .HasColumnType("INTEGER");
+
605
+
606 b.Property<string>("CommitSha")
+
607 .IsRequired()
+
608 .HasMaxLength(40)
+
609 .HasColumnType("TEXT");
+
610
+
611 b.Property<long>("InstanceId")
+
612 .HasColumnType("INTEGER");
+
613
+
614 b.Property<string>("OriginCommitSha")
+
615 .IsRequired()
+
616 .HasMaxLength(40)
+
617 .HasColumnType("TEXT");
+
618
+
619 b.Property<DateTimeOffset>("Timestamp")
+
620 .HasColumnType("TEXT");
+
621
+
622 b.HasKey("Id");
+
623
+
624 b.HasIndex("InstanceId", "CommitSha")
+
625 .IsUnique();
+
626
+
627 b.ToTable("RevisionInformations");
+
628 });
+
629
+
630 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
631 {
+
632 b.Property<long>("Id")
+
633 .ValueGeneratedOnAdd()
+
634 .HasColumnType("INTEGER");
+
635
+
636 b.Property<string>("Author")
+
637 .IsRequired()
+
638 .HasColumnType("TEXT");
+
639
+
640 b.Property<string>("BodyAtMerge")
+
641 .IsRequired()
+
642 .HasColumnType("TEXT");
+
643
+
644 b.Property<string>("Comment")
+
645 .HasMaxLength(10000)
+
646 .HasColumnType("TEXT");
+
647
+
648 b.Property<DateTimeOffset>("MergedAt")
+
649 .HasColumnType("TEXT");
+
650
+
651 b.Property<long>("MergedById")
+
652 .HasColumnType("INTEGER");
+
653
+
654 b.Property<int>("Number")
+
655 .HasColumnType("INTEGER");
+
656
+
657 b.Property<long?>("PrimaryRevisionInformationId")
+
658 .IsRequired()
+
659 .HasColumnType("INTEGER");
+
660
+
661 b.Property<string>("TargetCommitSha")
+
662 .IsRequired()
+
663 .HasMaxLength(40)
+
664 .HasColumnType("TEXT");
+
665
+
666 b.Property<string>("TitleAtMerge")
+
667 .IsRequired()
+
668 .HasColumnType("TEXT");
+
669
+
670 b.Property<string>("Url")
+
671 .IsRequired()
+
672 .HasColumnType("TEXT");
+
673
+
674 b.HasKey("Id");
+
675
+
676 b.HasIndex("MergedById");
+
677
+
678 b.HasIndex("PrimaryRevisionInformationId")
+
679 .IsUnique();
+
680
+
681 b.ToTable("TestMerges");
+
682 });
+
683
+
684 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
685 {
+
686 b.Property<long?>("Id")
+
687 .ValueGeneratedOnAdd()
+
688 .HasColumnType("INTEGER");
+
689
+
690 b.Property<string>("CanonicalName")
+
691 .IsRequired()
+
692 .HasMaxLength(100)
+
693 .HasColumnType("TEXT");
+
694
+
695 b.Property<DateTimeOffset?>("CreatedAt")
+
696 .IsRequired()
+
697 .HasColumnType("TEXT");
+
698
+
699 b.Property<long?>("CreatedById")
+
700 .HasColumnType("INTEGER");
+
701
+
702 b.Property<bool?>("Enabled")
+
703 .IsRequired()
+
704 .HasColumnType("INTEGER");
+
705
+
706 b.Property<long?>("GroupId")
+
707 .HasColumnType("INTEGER");
+
708
+
709 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
710 .HasColumnType("TEXT");
+
711
+
712 b.Property<string>("Name")
+
713 .IsRequired()
+
714 .HasMaxLength(100)
+
715 .HasColumnType("TEXT");
+
716
+
717 b.Property<string>("PasswordHash")
+
718 .HasColumnType("TEXT");
+
719
+
720 b.Property<string>("SystemIdentifier")
+
721 .HasMaxLength(100)
+
722 .HasColumnType("TEXT");
+
723
+
724 b.HasKey("Id");
+
725
+
726 b.HasIndex("CanonicalName")
+
727 .IsUnique();
+
728
+
729 b.HasIndex("CreatedById");
+
730
+
731 b.HasIndex("GroupId");
+
732
+
733 b.HasIndex("SystemIdentifier")
+
734 .IsUnique();
+
735
+
736 b.ToTable("Users");
+
737 });
+
738
+
739 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
740 {
+
741 b.Property<long?>("Id")
+
742 .ValueGeneratedOnAdd()
+
743 .HasColumnType("INTEGER");
+
744
+
745 b.Property<string>("Name")
+
746 .IsRequired()
+
747 .HasMaxLength(100)
+
748 .HasColumnType("TEXT");
+
749
+
750 b.HasKey("Id");
+
751
+
752 b.HasIndex("Name")
+
753 .IsUnique();
+
754
+
755 b.ToTable("Groups");
+
756 });
+
757
+
758 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
759 {
+
760 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
761 .WithMany("ChatSettings")
+
762 .HasForeignKey("InstanceId")
+
763 .OnDelete(DeleteBehavior.Cascade)
+
764 .IsRequired();
+
765
+
766 b.Navigation("Instance");
+
767 });
+
768
+
769 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
770 {
+
771 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
772 .WithMany("Channels")
+
773 .HasForeignKey("ChatSettingsId")
+
774 .OnDelete(DeleteBehavior.Cascade)
+
775 .IsRequired();
+
776
+
777 b.Navigation("ChatSettings");
+
778 });
+
779
+
780 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
781 {
+
782 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
783 .WithOne()
+
784 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
785 .OnDelete(DeleteBehavior.Cascade)
+
786 .IsRequired();
+
787
+
788 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
789 .WithMany("CompileJobs")
+
790 .HasForeignKey("RevisionInformationId")
+
791 .OnDelete(DeleteBehavior.ClientNoAction)
+
792 .IsRequired();
+
793
+
794 b.Navigation("Job");
+
795
+
796 b.Navigation("RevisionInformation");
+
797 });
+
798
+
799 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
800 {
+
801 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
802 .WithOne("DreamDaemonSettings")
+
803 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
804 .OnDelete(DeleteBehavior.Cascade)
+
805 .IsRequired();
+
806
+
807 b.Navigation("Instance");
+
808 });
+
809
+
810 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
811 {
+
812 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
813 .WithOne("DreamMakerSettings")
+
814 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
815 .OnDelete(DeleteBehavior.Cascade)
+
816 .IsRequired();
+
817
+
818 b.Navigation("Instance");
+
819 });
+
820
+
821 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
822 {
+
823 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
824 .WithMany("InstancePermissionSets")
+
825 .HasForeignKey("InstanceId")
+
826 .OnDelete(DeleteBehavior.Cascade)
+
827 .IsRequired();
+
828
+
829 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
830 .WithMany("InstancePermissionSets")
+
831 .HasForeignKey("PermissionSetId")
+
832 .OnDelete(DeleteBehavior.Cascade)
+
833 .IsRequired();
+
834
+
835 b.Navigation("Instance");
+
836
+
837 b.Navigation("PermissionSet");
+
838 });
+
839
+
840 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
841 {
+
842 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
843 .WithMany()
+
844 .HasForeignKey("CancelledById");
+
845
+
846 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
847 .WithMany("Jobs")
+
848 .HasForeignKey("InstanceId")
+
849 .OnDelete(DeleteBehavior.Cascade)
+
850 .IsRequired();
+
851
+
852 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
853 .WithMany()
+
854 .HasForeignKey("StartedById")
+
855 .OnDelete(DeleteBehavior.Cascade)
+
856 .IsRequired();
+
857
+
858 b.Navigation("CancelledBy");
+
859
+
860 b.Navigation("Instance");
+
861
+
862 b.Navigation("StartedBy");
+
863 });
+
864
+
865 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
866 {
+
867 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
868 .WithMany("OAuthConnections")
+
869 .HasForeignKey("UserId")
+
870 .OnDelete(DeleteBehavior.Cascade);
+
871
+
872 b.Navigation("User");
+
873 });
+
874
+
875 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
876 {
+
877 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
878 .WithOne("PermissionSet")
+
879 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
880 .OnDelete(DeleteBehavior.Cascade);
+
881
+
882 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
883 .WithOne("PermissionSet")
+
884 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
885 .OnDelete(DeleteBehavior.Cascade);
+
886
+
887 b.Navigation("Group");
+
888
+
889 b.Navigation("User");
+
890 });
+
891
+
892 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
893 {
+
894 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
895 .WithMany()
+
896 .HasForeignKey("CompileJobId")
+
897 .OnDelete(DeleteBehavior.Cascade)
+
898 .IsRequired();
+
899
+
900 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
901 .WithMany()
+
902 .HasForeignKey("InitialCompileJobId");
+
903
+
904 b.Navigation("CompileJob");
+
905
+
906 b.Navigation("InitialCompileJob");
+
907 });
+
908
+
909 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
910 {
+
911 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
912 .WithOne("RepositorySettings")
+
913 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
914 .OnDelete(DeleteBehavior.Cascade)
+
915 .IsRequired();
+
916
+
917 b.Navigation("Instance");
+
918 });
+
919
+
920 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
921 {
+
922 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
923 .WithMany("ActiveTestMerges")
+
924 .HasForeignKey("RevisionInformationId")
+
925 .OnDelete(DeleteBehavior.Cascade)
+
926 .IsRequired();
+
927
+
928 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
929 .WithMany("RevisonInformations")
+
930 .HasForeignKey("TestMergeId")
+
931 .OnDelete(DeleteBehavior.ClientNoAction)
+
932 .IsRequired();
+
933
+
934 b.Navigation("RevisionInformation");
+
935
+
936 b.Navigation("TestMerge");
+
937 });
+
938
+
939 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
940 {
+
941 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
942 .WithMany("RevisionInformations")
+
943 .HasForeignKey("InstanceId")
+
944 .OnDelete(DeleteBehavior.Cascade)
+
945 .IsRequired();
+
946
+
947 b.Navigation("Instance");
+
948 });
+
949
+
950 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
951 {
+
952 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
953 .WithMany("TestMerges")
+
954 .HasForeignKey("MergedById")
+
955 .OnDelete(DeleteBehavior.Restrict)
+
956 .IsRequired();
+
957
+
958 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
959 .WithOne("PrimaryTestMerge")
+
960 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
961 .OnDelete(DeleteBehavior.Cascade)
+
962 .IsRequired();
+
963
+
964 b.Navigation("MergedBy");
+
965
+
966 b.Navigation("PrimaryRevisionInformation");
+
967 });
+
968
+
969 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
970 {
+
971 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
972 .WithMany("CreatedUsers")
+
973 .HasForeignKey("CreatedById");
+
974
+
975 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
976 .WithMany("Users")
+
977 .HasForeignKey("GroupId");
+
978
+
979 b.Navigation("CreatedBy");
+
980
+
981 b.Navigation("Group");
+
982 });
+
983
+
984 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
985 {
+
986 b.Navigation("Channels");
+
987 });
+
988
+
989 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
990 {
+
991 b.Navigation("ChatSettings");
+
992
+
993 b.Navigation("DreamDaemonSettings");
+
994
+
995 b.Navigation("DreamMakerSettings");
+
996
+
997 b.Navigation("InstancePermissionSets");
+
998
+
999 b.Navigation("Jobs");
+
1000
+
1001 b.Navigation("RepositorySettings");
+
1002
+
1003 b.Navigation("RevisionInformations");
+
1004 });
+
1005
+
1006 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1007 {
+
1008 b.Navigation("InstancePermissionSets");
+
1009 });
+
1010
+
1011 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1012 {
+
1013 b.Navigation("ActiveTestMerges");
+
1014
+
1015 b.Navigation("CompileJobs");
+
1016
+
1017 b.Navigation("PrimaryTestMerge");
+
1018 });
+
1019
+
1020 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1021 {
+
1022 b.Navigation("RevisonInformations");
+
1023 });
+
1024
+
1025 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1026 {
+
1027 b.Navigation("CreatedUsers");
+
1028
+
1029 b.Navigation("OAuthConnections");
+
1030
+
1031 b.Navigation("PermissionSet");
+
1032
+
1033 b.Navigation("TestMerges");
+
1034 });
+
1035
+
1036 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1037 {
+
1038 b.Navigation("PermissionSet")
+
1039 .IsRequired();
+
1040
+
1041 b.Navigation("Users");
+
1042 });
+
1043#pragma warning restore 612, 618
+
1044 }
+
1045 }
+
1046}
+ + + + +
+ + + + diff --git a/20240202202121___s_l_add_minidumps_option_8cs.html b/20240202202121___s_l_add_minidumps_option_8cs.html new file mode 100644 index 0000000000..53d92e7f4d --- /dev/null +++ b/20240202202121___s_l_add_minidumps_option_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202121_SLAddMinidumpsOption.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
20240202202121_SLAddMinidumpsOption.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  Tgstation.Server.Host.Database.Migrations.SLAddMinidumpsOption
 
+ + + + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Database
 
namespace  Tgstation.Server.Host.Database.Migrations
 
+
+ + + + diff --git a/20240202202121___s_l_add_minidumps_option_8cs_source.html b/20240202202121___s_l_add_minidumps_option_8cs_source.html new file mode 100644 index 0000000000..534ac8051b --- /dev/null +++ b/20240202202121___s_l_add_minidumps_option_8cs_source.html @@ -0,0 +1,128 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host/Database/Migrations/20240202202121_SLAddMinidumpsOption.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.1.5 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
20240202202121_SLAddMinidumpsOption.cs
+
+
+Go to the documentation of this file.
1using System;
+
2
+
3using Microsoft.EntityFrameworkCore.Migrations;
+
4
+ +
6
+ +
8{
+
10 public partial class SLAddMinidumpsOption : Migration
+
11 {
+
13 protected override void Up(MigrationBuilder migrationBuilder)
+
14 {
+
15 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
16
+
17 // This was originally minidumps on Linux and full dumps on Windows
+
18 var defaultValue = !new PlatformIdentifier().IsWindows;
+
19 migrationBuilder.AddColumn<bool>(
+
20 name: "Minidumps",
+
21 table: "DreamDaemonSettings",
+
22 type: "INTEGER",
+
23 nullable: false,
+
24 defaultValue: defaultValue);
+
25 }
+
26
+
28 protected override void Down(MigrationBuilder migrationBuilder)
+
29 {
+
30 ArgumentNullException.ThrowIfNull(migrationBuilder);
+
31
+
32 migrationBuilder.DropColumn(
+
33 name: "Minidumps",
+
34 table: "DreamDaemonSettings");
+
35 }
+
36 }
+
37}
+ + + + + +
bool IsWindows
If the current platform is a Windows platform.
+ + +
+ + + + diff --git a/_api_version_assembly_info_8cs_source.html b/_api_version_assembly_info_8cs_source.html index 37f076805d..9927f6c679 100644 --- a/_api_version_assembly_info_8cs_source.html +++ b/_api_version_assembly_info_8cs_source.html @@ -89,7 +89,7 @@ $(function() {
10using System;
11using System.Reflection;
12
-
13[assembly: Tgstation.Server.Api.Properties.ApiVersionAttribute("10.0.0")]
+
13[assembly: Tgstation.Server.Api.Properties.ApiVersionAttribute("10.1.0")]
14
15// Generated by the MSBuild WriteCodeFragment class.
16
diff --git a/_database_context_8cs_source.html b/_database_context_8cs_source.html index 4c7df80a62..9f9f6c7181 100644 --- a/_database_context_8cs_source.html +++ b/_database_context_8cs_source.html @@ -321,13 +321,13 @@ $(function() {
372 // IN THE FUNCTION BELOW YOU ALSO NEED TO CORRECTLY SET THE RIGHT MIGRATION TO DOWNGRADE TO FOR THE LAST TGS VERSION
373 // IF THIS BREAKS AGAIN I WILL PERSONALLY HAUNT YOUR ASS WHEN I DIE
374
-
378 internal static readonly Type MSLatestMigration = typeof(MSAddTopicPort);
+
378 internal static readonly Type MSLatestMigration = typeof(MSAddMinidumpsOption);
379
-
383 internal static readonly Type MYLatestMigration = typeof(MYAddTopicPort);
+
383 internal static readonly Type MYLatestMigration = typeof(MYAddMinidumpsOption);
384
-
388 internal static readonly Type PGLatestMigration = typeof(PGAddTopicPort);
+
388 internal static readonly Type PGLatestMigration = typeof(PGAddMinidumpsOption);
389
-
393 internal static readonly Type SLLatestMigration = typeof(SLAddTopicPort);
+
393 internal static readonly Type SLLatestMigration = typeof(SLAddMinidumpsOption);
394
396#pragma warning disable CA1502 // Cyclomatic complexity
397 public async ValueTask SchemaDowngradeForServerVersion(
@@ -355,171 +355,181 @@ $(function() {
419
420 string BadDatabaseType() => throw new ArgumentException($"Invalid DatabaseType: {currentDatabaseType}", nameof(currentDatabaseType));
421
-
422 if (targetVersion < new Version(6, 0, 0))
+
422 if (targetVersion < new Version(6, 2, 0))
423 targetMigration = currentDatabaseType switch
424 {
-
425 DatabaseType.MySql => nameof(MYAddJobCodes),
-
426 DatabaseType.PostgresSql => nameof(PGAddJobCodes),
-
427 DatabaseType.SqlServer => nameof(MSAddJobCodes),
-
428 DatabaseType.Sqlite => nameof(SLAddJobCodes),
+
425 DatabaseType.MySql => nameof(MYAddTopicPort),
+
426 DatabaseType.PostgresSql => nameof(PGAddTopicPort),
+
427 DatabaseType.SqlServer => nameof(MSAddTopicPort),
+
428 DatabaseType.Sqlite => nameof(SLAddTopicPort),
429 _ => BadDatabaseType(),
430 };
-
431 if (targetVersion < new Version(5, 17, 0))
-
432 targetMigration = currentDatabaseType switch
-
433 {
-
434 DatabaseType.MySql => nameof(MYAddMapThreads),
-
435 DatabaseType.PostgresSql => nameof(PGAddMapThreads),
-
436 DatabaseType.SqlServer => nameof(MSAddMapThreads),
-
437 DatabaseType.Sqlite => nameof(SLAddMapThreads),
-
438 _ => BadDatabaseType(),
-
439 };
-
440 if (targetVersion < new Version(5, 13, 0))
-
441 targetMigration = currentDatabaseType switch
-
442 {
-
443 DatabaseType.MySql => nameof(MYAddReattachInfoInitialCompileJob),
-
444 DatabaseType.PostgresSql => nameof(PGAddReattachInfoInitialCompileJob),
-
445 DatabaseType.SqlServer => nameof(MSAddReattachInfoInitialCompileJob),
-
446 DatabaseType.Sqlite => nameof(SLAddReattachInfoInitialCompileJob),
-
447 _ => BadDatabaseType(),
-
448 };
-
449 if (targetVersion < new Version(5, 7, 3))
-
450 targetMigration = currentDatabaseType switch
-
451 {
-
452 DatabaseType.MySql => nameof(MYAddDreamDaemonLogOutput),
-
453 DatabaseType.PostgresSql => nameof(PGAddDreamDaemonLogOutput),
-
454 DatabaseType.SqlServer => nameof(MSAddDreamDaemonLogOutput),
-
455 DatabaseType.Sqlite => nameof(SLAddDreamDaemonLogOutput),
-
456 _ => BadDatabaseType(),
-
457 };
-
458 if (targetVersion < new Version(5, 7, 0))
-
459 targetMigration = currentDatabaseType switch
-
460 {
-
461 DatabaseType.MySql => nameof(MYAddProfiler),
-
462 DatabaseType.PostgresSql => nameof(PGAddProfiler),
-
463 DatabaseType.SqlServer => nameof(MSAddProfiler),
-
464 DatabaseType.Sqlite => nameof(SLAddProfiler),
-
465 _ => BadDatabaseType(),
-
466 };
-
467 if (targetVersion < new Version(4, 19, 0))
-
468 targetMigration = currentDatabaseType switch
-
469 {
-
470 DatabaseType.MySql => nameof(MYAddDumpOnHeartbeatRestart),
-
471 DatabaseType.PostgresSql => nameof(PGAddDumpOnHeartbeatRestart),
-
472 DatabaseType.SqlServer => nameof(MSAddDumpOnHeartbeatRestart),
-
473 DatabaseType.Sqlite => nameof(SLAddDumpOnHeartbeatRestart),
-
474 _ => BadDatabaseType(),
-
475 };
-
476 if (targetVersion < new Version(4, 18, 0))
-
477 targetMigration = currentDatabaseType switch
-
478 {
-
479 DatabaseType.MySql => nameof(MYAddUpdateSubmodules),
-
480 DatabaseType.PostgresSql => nameof(PGAddUpdateSubmodules),
-
481 DatabaseType.SqlServer => nameof(MSAddUpdateSubmodules),
-
482 DatabaseType.Sqlite => nameof(SLAddUpdateSubmodules),
-
483 _ => BadDatabaseType(),
-
484 };
-
485 if (targetVersion < new Version(4, 14, 0))
-
486 targetMigration = currentDatabaseType switch
-
487 {
-
488 DatabaseType.MySql => nameof(MYTruncateInstanceNames),
-
489 DatabaseType.PostgresSql => nameof(PGTruncateInstanceNames),
-
490 DatabaseType.SqlServer => nameof(MSTruncateInstanceNames),
-
491 DatabaseType.Sqlite => nameof(SLAddRevInfoTimestamp),
-
492 _ => BadDatabaseType(),
-
493 };
-
494 if (targetVersion < new Version(4, 10, 0))
-
495 targetMigration = currentDatabaseType switch
-
496 {
-
497 DatabaseType.MySql => nameof(MSAddRevInfoTimestamp),
-
498 DatabaseType.PostgresSql => nameof(PGAddRevInfoTimestamp),
-
499 DatabaseType.SqlServer => nameof(MSAddRevInfoTimestamp),
-
500 DatabaseType.Sqlite => nameof(SLAddRevInfoTimestamp),
-
501 _ => BadDatabaseType(),
-
502 };
-
503 if (targetVersion < new Version(4, 8, 0))
-
504 targetMigration = currentDatabaseType switch
-
505 {
-
506 DatabaseType.MySql => nameof(MYAddSwarmIdentifer),
-
507 DatabaseType.PostgresSql => nameof(PGAddSwarmIdentifer),
-
508 DatabaseType.SqlServer => nameof(MSAddSwarmIdentifer),
-
509 DatabaseType.Sqlite => nameof(SLAddSwarmIdentifer),
-
510 _ => BadDatabaseType(),
-
511 };
-
512 if (targetVersion < new Version(4, 7, 0))
-
513 targetMigration = currentDatabaseType switch
-
514 {
-
515 DatabaseType.MySql => nameof(MYAddAdditionalDDParameters),
-
516 DatabaseType.PostgresSql => nameof(PGAddAdditionalDDParameters),
-
517 DatabaseType.SqlServer => nameof(MSAddAdditionalDDParameters),
-
518 DatabaseType.Sqlite => nameof(SLAddAdditionalDDParameters),
-
519 _ => BadDatabaseType(),
-
520 };
-
521 if (targetVersion < new Version(4, 6, 0))
-
522 targetMigration = currentDatabaseType switch
-
523 {
-
524 DatabaseType.MySql => nameof(MYAddDeploymentColumns),
-
525 DatabaseType.PostgresSql => nameof(PGAddDeploymentColumns),
-
526 DatabaseType.SqlServer => nameof(MSAddDeploymentColumns),
-
527 DatabaseType.Sqlite => nameof(SLAddDeploymentColumns),
-
528 _ => BadDatabaseType(),
-
529 };
-
530 if (targetVersion < new Version(4, 5, 0))
-
531 targetMigration = currentDatabaseType switch
-
532 {
-
533 DatabaseType.MySql => nameof(MYAllowNullDMApi),
-
534 DatabaseType.PostgresSql => nameof(PGAllowNullDMApi),
-
535 DatabaseType.SqlServer => nameof(MSAllowNullDMApi),
-
536 DatabaseType.Sqlite => nameof(SLAllowNullDMApi),
-
537 _ => BadDatabaseType(),
-
538 };
-
539 if (targetVersion < new Version(4, 4, 0))
-
540 targetMigration = currentDatabaseType switch
-
541 {
-
542 DatabaseType.MySql => nameof(MYFixForeignKey),
-
543 DatabaseType.PostgresSql => nameof(PGCreate),
-
544 DatabaseType.SqlServer => nameof(MSRemoveSoftColumns),
-
545 DatabaseType.Sqlite => nameof(SLRemoveSoftColumns),
-
546 _ => BadDatabaseType(),
-
547 };
-
548 if (targetVersion < new Version(4, 2, 0))
-
549 targetMigration = currentDatabaseType == DatabaseType.Sqlite ? nameof(SLRebuild) : nameof(MSFixCascadingDelete);
-
550
-
551 if (targetMigration == null)
-
552 {
-
553 logger.LogDebug("No down migration required.");
-
554 return;
-
555 }
-
556
-
557 // already setup
-
558 var migrationSubstitution = currentDatabaseType switch
-
559 {
-
560 DatabaseType.SqlServer => null, // already setup
-
561 DatabaseType.MySql => "MY{0}",
-
562 DatabaseType.Sqlite => "SL{0}",
-
563 DatabaseType.PostgresSql => "PG{0}",
-
564 _ => throw new InvalidOperationException($"Invalid DatabaseType: {currentDatabaseType}"),
-
565 };
+
431
+
432 if (targetVersion < new Version(6, 0, 0))
+
433 targetMigration = currentDatabaseType switch
+
434 {
+
435 DatabaseType.MySql => nameof(MYAddJobCodes),
+
436 DatabaseType.PostgresSql => nameof(PGAddJobCodes),
+
437 DatabaseType.SqlServer => nameof(MSAddJobCodes),
+
438 DatabaseType.Sqlite => nameof(SLAddJobCodes),
+
439 _ => BadDatabaseType(),
+
440 };
+
441 if (targetVersion < new Version(5, 17, 0))
+
442 targetMigration = currentDatabaseType switch
+
443 {
+
444 DatabaseType.MySql => nameof(MYAddMapThreads),
+
445 DatabaseType.PostgresSql => nameof(PGAddMapThreads),
+
446 DatabaseType.SqlServer => nameof(MSAddMapThreads),
+
447 DatabaseType.Sqlite => nameof(SLAddMapThreads),
+
448 _ => BadDatabaseType(),
+
449 };
+
450 if (targetVersion < new Version(5, 13, 0))
+
451 targetMigration = currentDatabaseType switch
+
452 {
+
453 DatabaseType.MySql => nameof(MYAddReattachInfoInitialCompileJob),
+
454 DatabaseType.PostgresSql => nameof(PGAddReattachInfoInitialCompileJob),
+
455 DatabaseType.SqlServer => nameof(MSAddReattachInfoInitialCompileJob),
+
456 DatabaseType.Sqlite => nameof(SLAddReattachInfoInitialCompileJob),
+
457 _ => BadDatabaseType(),
+
458 };
+
459 if (targetVersion < new Version(5, 7, 3))
+
460 targetMigration = currentDatabaseType switch
+
461 {
+
462 DatabaseType.MySql => nameof(MYAddDreamDaemonLogOutput),
+
463 DatabaseType.PostgresSql => nameof(PGAddDreamDaemonLogOutput),
+
464 DatabaseType.SqlServer => nameof(MSAddDreamDaemonLogOutput),
+
465 DatabaseType.Sqlite => nameof(SLAddDreamDaemonLogOutput),
+
466 _ => BadDatabaseType(),
+
467 };
+
468 if (targetVersion < new Version(5, 7, 0))
+
469 targetMigration = currentDatabaseType switch
+
470 {
+
471 DatabaseType.MySql => nameof(MYAddProfiler),
+
472 DatabaseType.PostgresSql => nameof(PGAddProfiler),
+
473 DatabaseType.SqlServer => nameof(MSAddProfiler),
+
474 DatabaseType.Sqlite => nameof(SLAddProfiler),
+
475 _ => BadDatabaseType(),
+
476 };
+
477 if (targetVersion < new Version(4, 19, 0))
+
478 targetMigration = currentDatabaseType switch
+
479 {
+
480 DatabaseType.MySql => nameof(MYAddDumpOnHeartbeatRestart),
+
481 DatabaseType.PostgresSql => nameof(PGAddDumpOnHeartbeatRestart),
+
482 DatabaseType.SqlServer => nameof(MSAddDumpOnHeartbeatRestart),
+
483 DatabaseType.Sqlite => nameof(SLAddDumpOnHeartbeatRestart),
+
484 _ => BadDatabaseType(),
+
485 };
+
486 if (targetVersion < new Version(4, 18, 0))
+
487 targetMigration = currentDatabaseType switch
+
488 {
+
489 DatabaseType.MySql => nameof(MYAddUpdateSubmodules),
+
490 DatabaseType.PostgresSql => nameof(PGAddUpdateSubmodules),
+
491 DatabaseType.SqlServer => nameof(MSAddUpdateSubmodules),
+
492 DatabaseType.Sqlite => nameof(SLAddUpdateSubmodules),
+
493 _ => BadDatabaseType(),
+
494 };
+
495 if (targetVersion < new Version(4, 14, 0))
+
496 targetMigration = currentDatabaseType switch
+
497 {
+
498 DatabaseType.MySql => nameof(MYTruncateInstanceNames),
+
499 DatabaseType.PostgresSql => nameof(PGTruncateInstanceNames),
+
500 DatabaseType.SqlServer => nameof(MSTruncateInstanceNames),
+
501 DatabaseType.Sqlite => nameof(SLAddRevInfoTimestamp),
+
502 _ => BadDatabaseType(),
+
503 };
+
504 if (targetVersion < new Version(4, 10, 0))
+
505 targetMigration = currentDatabaseType switch
+
506 {
+
507 DatabaseType.MySql => nameof(MSAddRevInfoTimestamp),
+
508 DatabaseType.PostgresSql => nameof(PGAddRevInfoTimestamp),
+
509 DatabaseType.SqlServer => nameof(MSAddRevInfoTimestamp),
+
510 DatabaseType.Sqlite => nameof(SLAddRevInfoTimestamp),
+
511 _ => BadDatabaseType(),
+
512 };
+
513 if (targetVersion < new Version(4, 8, 0))
+
514 targetMigration = currentDatabaseType switch
+
515 {
+
516 DatabaseType.MySql => nameof(MYAddSwarmIdentifer),
+
517 DatabaseType.PostgresSql => nameof(PGAddSwarmIdentifer),
+
518 DatabaseType.SqlServer => nameof(MSAddSwarmIdentifer),
+
519 DatabaseType.Sqlite => nameof(SLAddSwarmIdentifer),
+
520 _ => BadDatabaseType(),
+
521 };
+
522 if (targetVersion < new Version(4, 7, 0))
+
523 targetMigration = currentDatabaseType switch
+
524 {
+
525 DatabaseType.MySql => nameof(MYAddAdditionalDDParameters),
+
526 DatabaseType.PostgresSql => nameof(PGAddAdditionalDDParameters),
+
527 DatabaseType.SqlServer => nameof(MSAddAdditionalDDParameters),
+
528 DatabaseType.Sqlite => nameof(SLAddAdditionalDDParameters),
+
529 _ => BadDatabaseType(),
+
530 };
+
531 if (targetVersion < new Version(4, 6, 0))
+
532 targetMigration = currentDatabaseType switch
+
533 {
+
534 DatabaseType.MySql => nameof(MYAddDeploymentColumns),
+
535 DatabaseType.PostgresSql => nameof(PGAddDeploymentColumns),
+
536 DatabaseType.SqlServer => nameof(MSAddDeploymentColumns),
+
537 DatabaseType.Sqlite => nameof(SLAddDeploymentColumns),
+
538 _ => BadDatabaseType(),
+
539 };
+
540 if (targetVersion < new Version(4, 5, 0))
+
541 targetMigration = currentDatabaseType switch
+
542 {
+
543 DatabaseType.MySql => nameof(MYAllowNullDMApi),
+
544 DatabaseType.PostgresSql => nameof(PGAllowNullDMApi),
+
545 DatabaseType.SqlServer => nameof(MSAllowNullDMApi),
+
546 DatabaseType.Sqlite => nameof(SLAllowNullDMApi),
+
547 _ => BadDatabaseType(),
+
548 };
+
549 if (targetVersion < new Version(4, 4, 0))
+
550 targetMigration = currentDatabaseType switch
+
551 {
+
552 DatabaseType.MySql => nameof(MYFixForeignKey),
+
553 DatabaseType.PostgresSql => nameof(PGCreate),
+
554 DatabaseType.SqlServer => nameof(MSRemoveSoftColumns),
+
555 DatabaseType.Sqlite => nameof(SLRemoveSoftColumns),
+
556 _ => BadDatabaseType(),
+
557 };
+
558 if (targetVersion < new Version(4, 2, 0))
+
559 targetMigration = currentDatabaseType == DatabaseType.Sqlite ? nameof(SLRebuild) : nameof(MSFixCascadingDelete);
+
560
+
561 if (targetMigration == null)
+
562 {
+
563 logger.LogDebug("No down migration required.");
+
564 return;
+
565 }
566
-
567 if (migrationSubstitution != null)
-
568 targetMigration = String.Format(CultureInfo.InvariantCulture, migrationSubstitution, targetMigration[2..]);
-
569
-
570 // even though it clearly implements it in the DatabaseFacade definition this won't work without casting (╯ಠ益ಠ)╯︵ ┻━┻
-
571 var dbServiceProvider = ((IInfrastructure<IServiceProvider>)Database).Instance;
-
572 var migrator = dbServiceProvider.GetRequiredService<IMigrator>();
-
573
-
574 logger.LogInformation("Migrating down to version {targetVersion}. Target: {targetMigration}", targetVersion, targetMigration);
-
575 try
-
576 {
-
577 await migrator.MigrateAsync(targetMigration, cancellationToken);
-
578 }
-
579 catch (Exception e)
-
580 {
-
581 logger.LogCritical(e, "Failed to migrate!");
-
582 }
-
583 }
-
584#pragma warning restore CA1502 // Cyclomatic complexity
-
585 }
-
586}
+
567 // already setup
+
568 var migrationSubstitution = currentDatabaseType switch
+
569 {
+
570 DatabaseType.SqlServer => null, // already setup
+
571 DatabaseType.MySql => "MY{0}",
+
572 DatabaseType.Sqlite => "SL{0}",
+
573 DatabaseType.PostgresSql => "PG{0}",
+
574 _ => throw new InvalidOperationException($"Invalid DatabaseType: {currentDatabaseType}"),
+
575 };
+
576
+
577 if (migrationSubstitution != null)
+
578 targetMigration = String.Format(CultureInfo.InvariantCulture, migrationSubstitution, targetMigration[2..]);
+
579
+
580 // even though it clearly implements it in the DatabaseFacade definition this won't work without casting (╯ಠ益ಠ)╯︵ ┻━┻
+
581 var dbServiceProvider = ((IInfrastructure<IServiceProvider>)Database).Instance;
+
582 var migrator = dbServiceProvider.GetRequiredService<IMigrator>();
+
583
+
584 logger.LogInformation("Migrating down to version {targetVersion}. Target: {targetMigration}", targetVersion, targetMigration);
+
585 try
+
586 {
+
587 await migrator.MigrateAsync(targetMigration, cancellationToken);
+
588 }
+
589 catch (Exception e)
+
590 {
+
591 logger.LogCritical(e, "Failed to migrate!");
+
592 }
+
593 }
+
594#pragma warning restore CA1502 // Cyclomatic complexity
+
595 }
+
596}
@@ -567,6 +577,7 @@ $(function() {
Adds the DreamMakerSettings DumpOnHeartbeatRestart column for MSSQL.
Adds the MapThreads DreamDaemonSettings column for MSSQL.
+
Adds the option to start the profiler with DreamDaemon for MSSQL.
Adds the InitialCompileJobId to the ReattachInformations table for MSSQL.
Add the Timestamp column to RevisionInformations for MSSQL.
@@ -583,6 +594,7 @@ $(function() {
Adds the DreamMakerSettings DumpOnHeartbeatRestart column for MYSQL.
Adds the MapThreads DreamDaemonSettings column for MYSQL.
+
Adds the option to start the profiler with DreamDaemon for MYSQL.
Adds the InitialCompileJobId to the ReattachInformations table for MYSQL.
Adds the swarm identifier column for MySQL.
@@ -597,6 +609,7 @@ $(function() {
Adds the DreamMakerSettings DumpOnHeartbeatRestart column for PostgresSQL.
Adds the MapThreads DreamDaemonSettings column for PostgresSQL.
+
Adds the option to start the profiler with DreamDaemon for PostgresSQL.
Adds the InitialCompileJobId to the ReattachInformations table for PostgresSQL.
Add the Timestamp column to RevisionInformations for PostgresSQL.
@@ -612,6 +625,7 @@ $(function() {
Adds the DreamMakerSettings DumpOnHeartbeatRestart column for SQLite.
Adds the MapThreads DreamDaemonSettings column for SQLite.
+
Adds the option to start the profiler with DreamDaemon for SQLite.
Adds the InitialCompileJobId to the ReattachInformations table for SQLite.
Add the Timestamp column to RevisionInformations for SQLite.
diff --git a/_dotnet_dump_service_8cs_source.html b/_dotnet_dump_service_8cs_source.html index b18486dd65..b7379a7ef9 100644 --- a/_dotnet_dump_service_8cs_source.html +++ b/_dotnet_dump_service_8cs_source.html @@ -96,7 +96,7 @@ $(function() {
25 this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
26 }
27
-
29 public async ValueTask Dump(IProcess process, string outputFile, CancellationToken cancellationToken)
+
29 public async ValueTask Dump(IProcess process, string outputFile, bool minidump, CancellationToken cancellationToken)
30 {
31 // need to use an extra timeout here because if the process is truly deadlocked. A cooperative dump will hang forever
32 using var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
@@ -112,14 +112,20 @@ $(function() {
42 var pid = process.Id;
43 logger.LogDebug("dotnet-dump requested for PID {pid}...", pid);
44 var client = new DiagnosticsClient(pid);
-
45 await client.WriteDumpAsync(DumpType.Full, outputFile, false, cts.Token);
-
46 }
-
47 }
-
48}
+
45 await client.WriteDumpAsync(
+
46 minidump
+
47 ? DumpType.Normal
+
48 : DumpType.Full,
+
49 outputFile,
+
50 false,
+
51 cts.Token);
+
52 }
+
53 }
+
54}
+
async ValueTask Dump(IProcess process, string outputFile, bool minidump, CancellationToken cancellationToken)
Attempt to dump a given process . A ValueTask representing the running operation.
DotnetDumpService(ILogger< DotnetDumpService > logger)
Initializes a new instance of the DotnetDumpService class.
readonly ILogger< DotnetDumpService > logger
The ILogger for the DotnetDumpService.
-
async ValueTask Dump(IProcess process, string outputFile, CancellationToken cancellationToken)
Attempt to dump a given process . A ValueTask representing the running operation.
Service for managing the dotnet-dump installation.
Abstraction over a global::System.Diagnostics.Process.
Definition: IProcess.cs:11
int Id
The IProcess' ID.
Definition: IProcess.cs:15
diff --git a/_dream_daemon_controller_8cs_source.html b/_dream_daemon_controller_8cs_source.html index 6657a78741..86f19dc77c 100644 --- a/_dream_daemon_controller_8cs_source.html +++ b/_dream_daemon_controller_8cs_source.html @@ -182,234 +182,237 @@ $(function() {
149 | DreamDaemonRights.SetProfiler
150 | DreamDaemonRights.SetLogOutput
151 | DreamDaemonRights.SetMapThreads
-
152 | DreamDaemonRights.BroadcastMessage)]
-
153 [ProducesResponseType(typeof(DreamDaemonResponse), 200)]
-
154 [ProducesResponseType(typeof(ErrorMessageResponse), 410)]
-
155#pragma warning disable CA1502 // TODO: Decomplexify
-
156#pragma warning disable CA1506
-
157 public async ValueTask<IActionResult> Update([FromBody] DreamDaemonRequest model, CancellationToken cancellationToken)
-
158 {
-
159 ArgumentNullException.ThrowIfNull(model);
-
160
-
161 if (model.SoftShutdown == true && model.SoftRestart == true)
-
162 return BadRequest(new ErrorMessageResponse(ErrorCode.GameServerDoubleSoft));
-
163
-
164 // alias for changing DD settings
-
165 var current = await DatabaseContext
-
166 .Instances
-
167 .AsQueryable()
-
168 .Where(x => x.Id == Instance.Id)
-
169 .Select(x => x.DreamDaemonSettings)
-
170 .FirstOrDefaultAsync(cancellationToken);
-
171
-
172 if (current == default)
-
173 return this.Gone();
-
174
-
175 if (model.Port.HasValue && model.Port.Value != current.Port!.Value)
-
176 {
-
177 Logger.LogTrace(
-
178 "Triggering port allocator for DD-I:{instanceId} because model port {modelPort} doesn't match DB port {dbPort}...",
-
179 Instance.Id,
-
180 model.Port,
-
181 current.Port);
-
182 var verifiedPort = await portAllocator
-
183 .GetAvailablePort(
-
184 model.Port.Value,
-
185 true,
-
186 cancellationToken);
-
187
-
188 if (verifiedPort != model.Port)
-
189 return Conflict(new ErrorMessageResponse(ErrorCode.PortNotAvailable));
-
190 }
-
191
-
192 var userRights = (DreamDaemonRights)AuthenticationContext.GetRight(RightsType.DreamDaemon);
-
193
-
194 bool CheckModified<T>(Expression<Func<Api.Models.Internal.DreamDaemonSettings, T>> expression, DreamDaemonRights requiredRight)
-
195 {
-
196 var memberSelectorExpression = (MemberExpression)expression.Body;
-
197 var property = (PropertyInfo)memberSelectorExpression.Member;
-
198
-
199 var newVal = property.GetValue(model);
-
200 if (newVal == null)
-
201 return false;
-
202 if (!userRights.HasFlag(requiredRight) && property.GetValue(current) != newVal)
-
203 return true;
-
204
-
205 property.SetValue(current, newVal);
-
206 return false;
-
207 }
-
208
-
209 var ddRights = InstancePermissionSet.DreamDaemonRights!.Value;
-
210 if (CheckModified(x => x.AllowWebClient, DreamDaemonRights.SetWebClient)
-
211 || CheckModified(x => x.AutoStart, DreamDaemonRights.SetAutoStart)
-
212 || CheckModified(x => x.Port, DreamDaemonRights.SetPort)
-
213 || CheckModified(x => x.SecurityLevel, DreamDaemonRights.SetSecurity)
-
214 || CheckModified(x => x.Visibility, DreamDaemonRights.SetVisibility)
-
215 || (model.SoftRestart.HasValue && !ddRights.HasFlag(DreamDaemonRights.SoftRestart))
-
216 || (model.SoftShutdown.HasValue && !ddRights.HasFlag(DreamDaemonRights.SoftShutdown))
-
217 || (!String.IsNullOrWhiteSpace(model.BroadcastMessage) && !ddRights.HasFlag(DreamDaemonRights.BroadcastMessage))
-
218 || CheckModified(x => x.StartupTimeout, DreamDaemonRights.SetStartupTimeout)
-
219 || CheckModified(x => x.HealthCheckSeconds, DreamDaemonRights.SetHealthCheckInterval)
-
220 || CheckModified(x => x.DumpOnHealthCheckRestart, DreamDaemonRights.CreateDump)
-
221 || CheckModified(x => x.TopicRequestTimeout, DreamDaemonRights.SetTopicTimeout)
-
222 || CheckModified(x => x.AdditionalParameters, DreamDaemonRights.SetAdditionalParameters)
-
223 || CheckModified(x => x.StartProfiler, DreamDaemonRights.SetProfiler)
-
224 || CheckModified(x => x.LogOutput, DreamDaemonRights.SetLogOutput)
-
225 || CheckModified(x => x.MapThreads, DreamDaemonRights.SetMapThreads))
-
226 return Forbid();
-
227
-
228 return await WithComponentInstance(
-
229 async instance =>
-
230 {
-
231 var watchdog = instance.Watchdog;
-
232 if (!String.IsNullOrWhiteSpace(model.BroadcastMessage)
-
233 && !await watchdog.Broadcast(model.BroadcastMessage, cancellationToken))
-
234 return Conflict(new ErrorMessageResponse(ErrorCode.BroadcastFailure));
-
235
-
236 await DatabaseContext.Save(cancellationToken);
+
152 | DreamDaemonRights.BroadcastMessage
+
153 | DreamDaemonRights.SetMinidumps)]
+
154 [ProducesResponseType(typeof(DreamDaemonResponse), 200)]
+
155 [ProducesResponseType(typeof(ErrorMessageResponse), 410)]
+
156#pragma warning disable CA1502 // TODO: Decomplexify
+
157#pragma warning disable CA1506
+
158 public async ValueTask<IActionResult> Update([FromBody] DreamDaemonRequest model, CancellationToken cancellationToken)
+
159 {
+
160 ArgumentNullException.ThrowIfNull(model);
+
161
+
162 if (model.SoftShutdown == true && model.SoftRestart == true)
+
163 return BadRequest(new ErrorMessageResponse(ErrorCode.GameServerDoubleSoft));
+
164
+
165 // alias for changing DD settings
+
166 var current = await DatabaseContext
+
167 .Instances
+
168 .AsQueryable()
+
169 .Where(x => x.Id == Instance.Id)
+
170 .Select(x => x.DreamDaemonSettings)
+
171 .FirstOrDefaultAsync(cancellationToken);
+
172
+
173 if (current == default)
+
174 return this.Gone();
+
175
+
176 if (model.Port.HasValue && model.Port.Value != current.Port!.Value)
+
177 {
+
178 Logger.LogTrace(
+
179 "Triggering port allocator for DD-I:{instanceId} because model port {modelPort} doesn't match DB port {dbPort}...",
+
180 Instance.Id,
+
181 model.Port,
+
182 current.Port);
+
183 var verifiedPort = await portAllocator
+
184 .GetAvailablePort(
+
185 model.Port.Value,
+
186 true,
+
187 cancellationToken);
+
188
+
189 if (verifiedPort != model.Port)
+
190 return Conflict(new ErrorMessageResponse(ErrorCode.PortNotAvailable));
+
191 }
+
192
+
193 var userRights = (DreamDaemonRights)AuthenticationContext.GetRight(RightsType.DreamDaemon);
+
194
+
195 bool CheckModified<T>(Expression<Func<Api.Models.Internal.DreamDaemonSettings, T>> expression, DreamDaemonRights requiredRight)
+
196 {
+
197 var memberSelectorExpression = (MemberExpression)expression.Body;
+
198 var property = (PropertyInfo)memberSelectorExpression.Member;
+
199
+
200 var newVal = property.GetValue(model);
+
201 if (newVal == null)
+
202 return false;
+
203 if (!userRights.HasFlag(requiredRight) && property.GetValue(current) != newVal)
+
204 return true;
+
205
+
206 property.SetValue(current, newVal);
+
207 return false;
+
208 }
+
209
+
210 var ddRights = InstancePermissionSet.DreamDaemonRights!.Value;
+
211 if (CheckModified(x => x.AllowWebClient, DreamDaemonRights.SetWebClient)
+
212 || CheckModified(x => x.AutoStart, DreamDaemonRights.SetAutoStart)
+
213 || CheckModified(x => x.Port, DreamDaemonRights.SetPort)
+
214 || CheckModified(x => x.SecurityLevel, DreamDaemonRights.SetSecurity)
+
215 || CheckModified(x => x.Visibility, DreamDaemonRights.SetVisibility)
+
216 || (model.SoftRestart.HasValue && !ddRights.HasFlag(DreamDaemonRights.SoftRestart))
+
217 || (model.SoftShutdown.HasValue && !ddRights.HasFlag(DreamDaemonRights.SoftShutdown))
+
218 || (!String.IsNullOrWhiteSpace(model.BroadcastMessage) && !ddRights.HasFlag(DreamDaemonRights.BroadcastMessage))
+
219 || CheckModified(x => x.StartupTimeout, DreamDaemonRights.SetStartupTimeout)
+
220 || CheckModified(x => x.HealthCheckSeconds, DreamDaemonRights.SetHealthCheckInterval)
+
221 || CheckModified(x => x.DumpOnHealthCheckRestart, DreamDaemonRights.CreateDump)
+
222 || CheckModified(x => x.TopicRequestTimeout, DreamDaemonRights.SetTopicTimeout)
+
223 || CheckModified(x => x.AdditionalParameters, DreamDaemonRights.SetAdditionalParameters)
+
224 || CheckModified(x => x.StartProfiler, DreamDaemonRights.SetProfiler)
+
225 || CheckModified(x => x.LogOutput, DreamDaemonRights.SetLogOutput)
+
226 || CheckModified(x => x.MapThreads, DreamDaemonRights.SetMapThreads)
+
227 || CheckModified(x => x.Minidumps, DreamDaemonRights.SetMinidumps))
+
228 return Forbid();
+
229
+
230 return await WithComponentInstance(
+
231 async instance =>
+
232 {
+
233 var watchdog = instance.Watchdog;
+
234 if (!String.IsNullOrWhiteSpace(model.BroadcastMessage)
+
235 && !await watchdog.Broadcast(model.BroadcastMessage, cancellationToken))
+
236 return Conflict(new ErrorMessageResponse(ErrorCode.BroadcastFailure));
237
-
238 // run this second because current may be modified by it
-
239 // slight race condition with request cancellation, but I CANNOT be assed right now
-
240 var rebootRequired = await watchdog.ChangeSettings(current, cancellationToken);
-
241
-
242 var rebootState = watchdog.RebootState;
-
243 var oldSoftRestart = rebootState == RebootState.Restart;
-
244 var oldSoftShutdown = rebootState == RebootState.Shutdown;
-
245 if (!oldSoftRestart && model.SoftRestart == true && watchdog.Status == WatchdogStatus.Online)
-
246 await watchdog.Restart(true, cancellationToken);
-
247 else if (!oldSoftShutdown && model.SoftShutdown == true)
-
248 await watchdog.Terminate(true, cancellationToken);
-
249 else if ((oldSoftRestart && model.SoftRestart == false) || (oldSoftShutdown && model.SoftShutdown == false))
-
250 await watchdog.ResetRebootState(cancellationToken);
-
251
-
252 return await ReadImpl(current, rebootRequired, cancellationToken);
-
253 });
-
254 }
-
255#pragma warning restore CA1506
-
256#pragma warning restore CA1502
-
257
-
264 [HttpPatch]
-
265 [TgsAuthorize(DreamDaemonRights.Restart)]
-
266 [ProducesResponseType(typeof(JobResponse), 202)]
-
267 public ValueTask<IActionResult> Restart(CancellationToken cancellationToken)
-
268 => WithComponentInstance(async instance =>
-
269 {
-
270 var job = Job.Create(JobCode.WatchdogRestart, AuthenticationContext.User, Instance, DreamDaemonRights.Shutdown);
-
271
-
272 var watchdog = instance.Watchdog;
+
238 await DatabaseContext.Save(cancellationToken);
+
239
+
240 // run this second because current may be modified by it
+
241 // slight race condition with request cancellation, but I CANNOT be assed right now
+
242 var rebootRequired = await watchdog.ChangeSettings(current, cancellationToken);
+
243
+
244 var rebootState = watchdog.RebootState;
+
245 var oldSoftRestart = rebootState == RebootState.Restart;
+
246 var oldSoftShutdown = rebootState == RebootState.Shutdown;
+
247 if (!oldSoftRestart && model.SoftRestart == true && watchdog.Status == WatchdogStatus.Online)
+
248 await watchdog.Restart(true, cancellationToken);
+
249 else if (!oldSoftShutdown && model.SoftShutdown == true)
+
250 await watchdog.Terminate(true, cancellationToken);
+
251 else if ((oldSoftRestart && model.SoftRestart == false) || (oldSoftShutdown && model.SoftShutdown == false))
+
252 await watchdog.ResetRebootState(cancellationToken);
+
253
+
254 return await ReadImpl(current, rebootRequired, cancellationToken);
+
255 });
+
256 }
+
257#pragma warning restore CA1506
+
258#pragma warning restore CA1502
+
259
+
266 [HttpPatch]
+
267 [TgsAuthorize(DreamDaemonRights.Restart)]
+
268 [ProducesResponseType(typeof(JobResponse), 202)]
+
269 public ValueTask<IActionResult> Restart(CancellationToken cancellationToken)
+
270 => WithComponentInstance(async instance =>
+
271 {
+
272 var job = Job.Create(JobCode.WatchdogRestart, AuthenticationContext.User, Instance, DreamDaemonRights.Shutdown);
273
-
274 if (watchdog.Status == WatchdogStatus.Offline)
-
275 return Conflict(new ErrorMessageResponse(ErrorCode.WatchdogNotRunning));
-
276
-
277 await jobManager.RegisterOperation(
-
278 job,
-
279 (core, paramJob, databaseContextFactory, progressReporter, ct) => core!.Watchdog.Restart(false, ct),
-
280 cancellationToken);
-
281 return Accepted(job.ToApi());
-
282 });
-
283
-
290 [HttpPatch(Routes.Diagnostics)]
-
291 [TgsAuthorize(DreamDaemonRights.CreateDump)]
-
292 [ProducesResponseType(typeof(JobResponse), 202)]
-
293 public ValueTask<IActionResult> CreateDump(CancellationToken cancellationToken)
-
294 => WithComponentInstance(async instance =>
-
295 {
-
296 var job = Job.Create(JobCode.WatchdogDump, AuthenticationContext.User, Instance, DreamDaemonRights.CreateDump);
-
297
-
298 var watchdog = instance.Watchdog;
+
274 var watchdog = instance.Watchdog;
+
275
+
276 if (watchdog.Status == WatchdogStatus.Offline)
+
277 return Conflict(new ErrorMessageResponse(ErrorCode.WatchdogNotRunning));
+
278
+
279 await jobManager.RegisterOperation(
+
280 job,
+
281 (core, paramJob, databaseContextFactory, progressReporter, ct) => core!.Watchdog.Restart(false, ct),
+
282 cancellationToken);
+
283 return Accepted(job.ToApi());
+
284 });
+
285
+
292 [HttpPatch(Routes.Diagnostics)]
+
293 [TgsAuthorize(DreamDaemonRights.CreateDump)]
+
294 [ProducesResponseType(typeof(JobResponse), 202)]
+
295 public ValueTask<IActionResult> CreateDump(CancellationToken cancellationToken)
+
296 => WithComponentInstance(async instance =>
+
297 {
+
298 var job = Job.Create(JobCode.WatchdogDump, AuthenticationContext.User, Instance, DreamDaemonRights.CreateDump);
299
-
300 if (watchdog.Status == WatchdogStatus.Offline)
-
301 return Conflict(new ErrorMessageResponse(ErrorCode.WatchdogNotRunning));
-
302
-
303 await jobManager.RegisterOperation(
-
304 job,
-
305 (core, databaseContextFactory, paramJob, progressReporter, ct) => core!.Watchdog.CreateDump(ct),
-
306 cancellationToken);
-
307 return Accepted(job.ToApi());
-
308 });
-
309
-
317 ValueTask<IActionResult> ReadImpl(DreamDaemonSettings? settings, bool knownForcedReboot, CancellationToken cancellationToken)
-
318 => WithComponentInstance(async instance =>
-
319 {
-
320 var dd = instance.Watchdog;
-
321
-
322 var metadata = (AuthenticationContext.GetRight(RightsType.DreamDaemon) & (ulong)DreamDaemonRights.ReadMetadata) != 0;
-
323 var revision = (AuthenticationContext.GetRight(RightsType.DreamDaemon) & (ulong)DreamDaemonRights.ReadRevision) != 0;
-
324
-
325 if (settings == null)
-
326 {
-
327 settings = await DatabaseContext
-
328 .Instances
-
329 .AsQueryable()
-
330 .Where(x => x.Id == Instance.Id)
-
331 .Select(x => x.DreamDaemonSettings!)
-
332 .FirstOrDefaultAsync(cancellationToken);
-
333 if (settings == default)
-
334 return this.Gone();
-
335 }
-
336
-
337 var result = new DreamDaemonResponse();
-
338 if (metadata)
-
339 {
-
340 var alphaActive = dd.AlphaIsActive;
-
341 var llp = dd.LastLaunchParameters;
-
342 var rstate = dd.RebootState;
-
343 result.AutoStart = settings.AutoStart!.Value;
-
344 result.CurrentPort = llp?.Port!.Value;
-
345 result.CurrentSecurity = llp?.SecurityLevel!.Value;
-
346 result.CurrentVisibility = llp?.Visibility!.Value;
-
347 result.CurrentAllowWebclient = llp?.AllowWebClient!.Value;
-
348 result.Port = settings.Port!.Value;
-
349 result.AllowWebClient = settings.AllowWebClient!.Value;
-
350
-
351 var firstIteration = true;
-
352 do
-
353 {
-
354 if (!firstIteration)
-
355 {
-
356 cancellationToken.ThrowIfCancellationRequested();
-
357 await Task.Yield();
-
358 }
-
359
-
360 firstIteration = false;
-
361 result.Status = dd.Status;
-
362 result.SessionId = dd.SessionId;
-
363 }
-
364 while (result.Status == WatchdogStatus.Online && !result.SessionId.HasValue); // this is the one invalid combo, it's not that racy
-
365
-
366 result.SecurityLevel = settings.SecurityLevel!.Value;
-
367 result.Visibility = settings.Visibility!.Value;
-
368 result.SoftRestart = rstate == RebootState.Restart;
-
369 result.SoftShutdown = rstate == RebootState.Shutdown;
-
370
-
371 if (rstate == RebootState.Normal && knownForcedReboot)
-
372 result.SoftRestart = true;
-
373
-
374 result.StartupTimeout = settings.StartupTimeout!.Value;
-
375 result.HealthCheckSeconds = settings.HealthCheckSeconds!.Value;
-
376 result.DumpOnHealthCheckRestart = settings.DumpOnHealthCheckRestart!.Value;
-
377 result.TopicRequestTimeout = settings.TopicRequestTimeout!.Value;
-
378 result.AdditionalParameters = settings.AdditionalParameters;
-
379 result.StartProfiler = settings.StartProfiler;
-
380 result.LogOutput = settings.LogOutput;
-
381 result.MapThreads = settings.MapThreads;
-
382 }
-
383
-
384 if (revision)
-
385 {
-
386 var latestCompileJob = instance.LatestCompileJob();
-
387 result.ActiveCompileJob = ((instance.Watchdog.Status != WatchdogStatus.Offline
-
388 ? dd.ActiveCompileJob
-
389 : latestCompileJob) ?? latestCompileJob)
-
390 ?.ToApi();
-
391 if (latestCompileJob?.Id != result.ActiveCompileJob?.Id)
-
392 result.StagedCompileJob = latestCompileJob?.ToApi();
-
393 }
-
394
-
395 return Json(result);
-
396 });
-
397 }
-
398}
+
300 var watchdog = instance.Watchdog;
+
301
+
302 if (watchdog.Status == WatchdogStatus.Offline)
+
303 return Conflict(new ErrorMessageResponse(ErrorCode.WatchdogNotRunning));
+
304
+
305 await jobManager.RegisterOperation(
+
306 job,
+
307 (core, databaseContextFactory, paramJob, progressReporter, ct) => core!.Watchdog.CreateDump(ct),
+
308 cancellationToken);
+
309 return Accepted(job.ToApi());
+
310 });
+
311
+
319 ValueTask<IActionResult> ReadImpl(DreamDaemonSettings? settings, bool knownForcedReboot, CancellationToken cancellationToken)
+
320 => WithComponentInstance(async instance =>
+
321 {
+
322 var dd = instance.Watchdog;
+
323
+
324 var metadata = (AuthenticationContext.GetRight(RightsType.DreamDaemon) & (ulong)DreamDaemonRights.ReadMetadata) != 0;
+
325 var revision = (AuthenticationContext.GetRight(RightsType.DreamDaemon) & (ulong)DreamDaemonRights.ReadRevision) != 0;
+
326
+
327 if (settings == null)
+
328 {
+
329 settings = await DatabaseContext
+
330 .Instances
+
331 .AsQueryable()
+
332 .Where(x => x.Id == Instance.Id)
+
333 .Select(x => x.DreamDaemonSettings!)
+
334 .FirstOrDefaultAsync(cancellationToken);
+
335 if (settings == default)
+
336 return this.Gone();
+
337 }
+
338
+
339 var result = new DreamDaemonResponse();
+
340 if (metadata)
+
341 {
+
342 var alphaActive = dd.AlphaIsActive;
+
343 var llp = dd.LastLaunchParameters;
+
344 var rstate = dd.RebootState;
+
345 result.AutoStart = settings.AutoStart!.Value;
+
346 result.CurrentPort = llp?.Port!.Value;
+
347 result.CurrentSecurity = llp?.SecurityLevel!.Value;
+
348 result.CurrentVisibility = llp?.Visibility!.Value;
+
349 result.CurrentAllowWebclient = llp?.AllowWebClient!.Value;
+
350 result.Port = settings.Port!.Value;
+
351 result.AllowWebClient = settings.AllowWebClient!.Value;
+
352
+
353 var firstIteration = true;
+
354 do
+
355 {
+
356 if (!firstIteration)
+
357 {
+
358 cancellationToken.ThrowIfCancellationRequested();
+
359 await Task.Yield();
+
360 }
+
361
+
362 firstIteration = false;
+
363 result.Status = dd.Status;
+
364 result.SessionId = dd.SessionId;
+
365 }
+
366 while (result.Status == WatchdogStatus.Online && !result.SessionId.HasValue); // this is the one invalid combo, it's not that racy
+
367
+
368 result.SecurityLevel = settings.SecurityLevel!.Value;
+
369 result.Visibility = settings.Visibility!.Value;
+
370 result.SoftRestart = rstate == RebootState.Restart;
+
371 result.SoftShutdown = rstate == RebootState.Shutdown;
+
372
+
373 if (rstate == RebootState.Normal && knownForcedReboot)
+
374 result.SoftRestart = true;
+
375
+
376 result.StartupTimeout = settings.StartupTimeout!.Value;
+
377 result.HealthCheckSeconds = settings.HealthCheckSeconds!.Value;
+
378 result.DumpOnHealthCheckRestart = settings.DumpOnHealthCheckRestart!.Value;
+
379 result.TopicRequestTimeout = settings.TopicRequestTimeout!.Value;
+
380 result.AdditionalParameters = settings.AdditionalParameters;
+
381 result.StartProfiler = settings.StartProfiler;
+
382 result.LogOutput = settings.LogOutput;
+
383 result.MapThreads = settings.MapThreads;
+
384 result.Minidumps = settings.Minidumps;
+
385 }
+
386
+
387 if (revision)
+
388 {
+
389 var latestCompileJob = instance.LatestCompileJob();
+
390 result.ActiveCompileJob = ((instance.Watchdog.Status != WatchdogStatus.Offline
+
391 ? dd.ActiveCompileJob
+
392 : latestCompileJob) ?? latestCompileJob)
+
393 ?.ToApi();
+
394 if (latestCompileJob?.Id != result.ActiveCompileJob?.Id)
+
395 result.StagedCompileJob = latestCompileJob?.ToApi();
+
396 }
+
397
+
398 return Json(result);
+
399 });
+
400 }
+
401}
virtual ? long Id
The ID of the entity.
Definition: EntityId.cs:13
Metadata about a server instance.
Definition: Instance.cs:9
DreamDaemonRights? DreamDaemonRights
The Rights.DreamDaemonRights of the InstancePermissionSet.
@@ -432,7 +435,7 @@ $(function() {
DreamDaemonController(IDatabaseContext databaseContext, IAuthenticationContext authenticationContext, ILogger< DreamDaemonController > logger, IInstanceManager instanceManager, IJobManager jobManager, IPortAllocator portAllocator, IApiHeadersProvider apiHeaders)
Initializes a new instance of the DreamDaemonController class.
ValueTask< IActionResult > CreateDump(CancellationToken cancellationToken)
Creates a JobResponse to generate a DreamDaemon process dump.
readonly IJobManager jobManager
The IJobManager for the DreamDaemonController.
-
async ValueTask< IActionResult > Update([FromBody] DreamDaemonRequest model, CancellationToken cancellationToken)
Update watchdog settings to be applied at next server reboot.
+
async ValueTask< IActionResult > Update([FromBody] DreamDaemonRequest model, CancellationToken cancellationToken)
Update watchdog settings to be applied at next server reboot.
ValueTask< IActionResult > Delete(CancellationToken cancellationToken)
Stops the Watchdog if it's running.
ComponentInterfacingController for operations that require an instance.
Backend abstract implementation of IDatabaseContext.
diff --git a/_dream_daemon_launch_parameters_8cs_source.html b/_dream_daemon_launch_parameters_8cs_source.html index 770a1b88cd..e852e299b7 100644 --- a/_dream_daemon_launch_parameters_8cs_source.html +++ b/_dream_daemon_launch_parameters_8cs_source.html @@ -138,23 +138,27 @@ $(function() {
98 [ResponseOptions]
99 public uint? MapThreads { get; set; }
100
-
106 public bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
-
107 {
-
108 if (otherParameters == null)
-
109 throw new ArgumentNullException(nameof(otherParameters));
-
110
-
111 return AllowWebClient == otherParameters.AllowWebClient
-
112 && SecurityLevel == otherParameters.SecurityLevel
-
113 && Visibility == otherParameters.Visibility
-
114 && Port == otherParameters.Port
-
115 && TopicRequestTimeout == otherParameters.TopicRequestTimeout
-
116 && AdditionalParameters == otherParameters.AdditionalParameters
-
117 && StartProfiler == otherParameters.StartProfiler
-
118 && LogOutput == otherParameters.LogOutput
-
119 && MapThreads == otherParameters.MapThreads; // We intentionally don't check StartupTimeout, health check seconds, or health check dump as they don't matter in terms of the watchdog
-
120 }
-
121 }
-
122}
+
104 [Required]
+
105 [ResponseOptions]
+
106 public bool? Minidumps { get; set; }
+
107
+
113 public bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
+
114 {
+
115 if (otherParameters == null)
+
116 throw new ArgumentNullException(nameof(otherParameters));
+
117
+
118 return AllowWebClient == otherParameters.AllowWebClient
+
119 && SecurityLevel == otherParameters.SecurityLevel
+
120 && Visibility == otherParameters.Visibility
+
121 && Port == otherParameters.Port
+
122 && TopicRequestTimeout == otherParameters.TopicRequestTimeout
+
123 && AdditionalParameters == otherParameters.AdditionalParameters
+
124 && StartProfiler == otherParameters.StartProfiler
+
125 && LogOutput == otherParameters.LogOutput
+
126 && MapThreads == otherParameters.MapThreads; // We intentionally don't check StartupTimeout, Minidumps, health check seconds, or health check dump as they don't matter in terms of the watchdog
+
127 }
+
128 }
+
129}
Launch settings for DreamDaemon.
ushort? Port
The port DreamDaemon uses. This should be publically accessible.
DreamDaemonVisibility? Visibility
The DreamDaemonVisibility level of DreamDaemon. No-op for EngineType.OpenDream.
@@ -165,7 +169,8 @@ $(function() {
uint? StartupTimeout
The DreamDaemon startup timeout in seconds.
bool? StartProfiler
If -profile is passed in on the DreamDaemon command line. No-op for EngineType.OpenDream.
DreamDaemonSecurity? SecurityLevel
The DreamDaemonSecurity level of DreamDaemon. No-op for EngineType.OpenDream.
-
bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
Check if we match a given set of otherParameters . StartupTimeout is excluded.
+
bool? Minidumps
If minidumps should be taken instead of full dumps.
+
bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
Check if we match a given set of otherParameters . StartupTimeout is excluded.
string? AdditionalParameters
Parameters string for DreamDaemon.
bool? DumpOnHealthCheckRestart
If a process core dump should be created prior to restarting the watchdog due to health check failure...
uint? MapThreads
If DreamDaemon supports it, the value added as the -map-threads parameter. 0 uses the default BYOND v...
diff --git a/_dream_daemon_rights_8cs_source.html b/_dream_daemon_rights_8cs_source.html index c3c37c9a1e..62128f2b50 100644 --- a/_dream_daemon_rights_8cs_source.html +++ b/_dream_daemon_rights_8cs_source.html @@ -127,8 +127,10 @@ $(function() {
114 SetMapThreads = 1 << 19,
115
119 BroadcastMessage = 1 << 20,
-
120 }
-
121}
+
120
+
124 SetMinidumps = 1 << 21,
+
125 }
+
126}
DreamDaemonRights
Rights for managing DreamDaemon.
diff --git a/_i_dotnet_dump_service_8cs_source.html b/_i_dotnet_dump_service_8cs_source.html index 6706ab7181..5dbc321d17 100644 --- a/_i_dotnet_dump_service_8cs_source.html +++ b/_i_dotnet_dump_service_8cs_source.html @@ -84,11 +84,11 @@ $(function() {
5{
9 public interface IDotnetDumpService
10 {
-
18 ValueTask Dump(IProcess process, string outputFile, CancellationToken cancellationToken);
-
19 }
-
20}
+
19 ValueTask Dump(IProcess process, string outputFile, bool minidump, CancellationToken cancellationToken);
+
20 }
+
21}
Service for managing the dotnet-dump installation.
-
ValueTask Dump(IProcess process, string outputFile, CancellationToken cancellationToken)
Attempt to dump a given process .
+
ValueTask Dump(IProcess process, string outputFile, bool minidump, CancellationToken cancellationToken)
Attempt to dump a given process .
Abstraction over a global::System.Diagnostics.Process.
Definition: IProcess.cs:11
diff --git a/_i_process_base_8cs_source.html b/_i_process_base_8cs_source.html index c7ab117027..9ccaba2fc3 100644 --- a/_i_process_base_8cs_source.html +++ b/_i_process_base_8cs_source.html @@ -92,14 +92,14 @@ $(function() {
26
30 void ResumeProcess();
31
-
38 ValueTask CreateDump(string outputFile, CancellationToken cancellationToken);
-
39 }
-
40}
+
39 ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken);
+
40 }
+
41}
Represents process lifetime.
Definition: IProcessBase.cs:10
-
ValueTask CreateDump(string outputFile, CancellationToken cancellationToken)
Create a dump file of the process.
void SuspendProcess()
Suspends the process.
void ResumeProcess()
Resumes the process.
void AdjustPriority(bool higher)
Set's the owned global::System.Diagnostics.Process.PriorityClass to a non-normal value.
+
ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file of the process.
Task< int?> Lifetime
The Task<TResult> resulting in the exit code of the process or null if the process was detached.
Definition: IProcessBase.cs:14
diff --git a/_i_process_features_8cs_source.html b/_i_process_features_8cs_source.html index 1010ad4803..659a207d2d 100644 --- a/_i_process_features_8cs_source.html +++ b/_i_process_features_8cs_source.html @@ -90,12 +90,12 @@ $(function() {
23
28 void ResumeProcess(global::System.Diagnostics.Process process);
29
-
37 ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken);
-
38 }
-
39}
+
38 ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken);
+
39 }
+
40}
Abstraction for suspending and resuming processes.
string GetExecutingUsername(global::System.Diagnostics.Process process)
Get the name of the user executing a given process .
-
ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken)
Create a dump file for a given process .
+
ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file for a given process .
void SuspendProcess(global::System.Diagnostics.Process process)
Suspend a given process .
void ResumeProcess(global::System.Diagnostics.Process process)
Resume a given suspended Process.
diff --git a/_instance_controller_8cs_source.html b/_instance_controller_8cs_source.html index 8ef24ee976..a8f4653d8b 100644 --- a/_instance_controller_8cs_source.html +++ b/_instance_controller_8cs_source.html @@ -715,79 +715,80 @@ $(function() {
732 StartProfiler = false,
733 LogOutput = false,
734 MapThreads = 0,
-
735 },
-
736 DreamMakerSettings = new DreamMakerSettings
-
737 {
-
738 ApiValidationPort = dmPort,
-
739 ApiValidationSecurityLevel = DreamDaemonSecurity.Safe,
-
740 RequireDMApiValidation = true,
-
741 Timeout = TimeSpan.FromHours(1),
-
742 },
-
743 Name = initialSettings.Name,
-
744 Online = false,
-
745 Path = initialSettings.Path,
-
746 AutoUpdateInterval = initialSettings.AutoUpdateInterval ?? 0,
-
747 ChatBotLimit = initialSettings.ChatBotLimit ?? Models.Instance.DefaultChatBotLimit,
-
748 RepositorySettings = new RepositorySettings
-
749 {
-
750 CommitterEmail = Components.Repository.Repository.DefaultCommitterEmail,
-
751 CommitterName = Components.Repository.Repository.DefaultCommitterName,
-
752 PushTestMergeCommits = false,
-
753 ShowTestMergeCommitters = false,
-
754 AutoUpdatesKeepTestMerges = false,
-
755 AutoUpdatesSynchronize = false,
-
756 PostTestMergeComment = false,
-
757 CreateGitHubDeployments = false,
-
758 UpdateSubmodules = true,
-
759 },
-
760 InstancePermissionSets = new List<InstancePermissionSet> // give this user full privileges on the instance
-
761 {
-
762 InstanceAdminPermissionSet(null),
-
763 },
-
764 SwarmIdentifer = swarmConfiguration.Identifier,
-
765 };
-
766 }
-
767
-
773 InstancePermissionSet InstanceAdminPermissionSet(InstancePermissionSet? permissionSetToModify)
-
774 {
-
775 permissionSetToModify ??= new InstancePermissionSet()
-
776 {
-
777 PermissionSet = AuthenticationContext.PermissionSet,
-
778 PermissionSetId = AuthenticationContext.PermissionSet.Require(x => x.Id),
-
779 };
-
780 permissionSetToModify.EngineRights = RightsHelper.AllRights<EngineRights>();
-
781 permissionSetToModify.ChatBotRights = RightsHelper.AllRights<ChatBotRights>();
-
782 permissionSetToModify.ConfigurationRights = RightsHelper.AllRights<ConfigurationRights>();
-
783 permissionSetToModify.DreamDaemonRights = RightsHelper.AllRights<DreamDaemonRights>();
-
784 permissionSetToModify.DreamMakerRights = RightsHelper.AllRights<DreamMakerRights>();
-
785 permissionSetToModify.RepositoryRights = RightsHelper.AllRights<RepositoryRights>();
-
786 permissionSetToModify.InstancePermissionSetRights = RightsHelper.AllRights<InstancePermissionSetRights>();
-
787 return permissionSetToModify;
-
788 }
-
789
-
795 [return: NotNullIfNotNull(nameof(path))]
-
796 string? NormalizePath(string? path)
-
797 {
-
798 if (path == null)
-
799 return null;
-
800
-
801 path = ioManager.ResolvePath(path);
-
802 if (platformIdentifier.IsWindows)
-
803 path = path.ToUpperInvariant().Replace('\\', '/');
-
804
-
805 return path;
-
806 }
-
807
-
814 async ValueTask CheckAccessible(InstanceResponse instanceResponse, CancellationToken cancellationToken)
-
815 {
-
816 instanceResponse.Accessible = await DatabaseContext
-
817 .InstancePermissionSets
-
818 .AsQueryable()
-
819 .Where(x => x.InstanceId == instanceResponse.Id && x.PermissionSetId == AuthenticationContext.PermissionSet.Id)
-
820 .AnyAsync(cancellationToken);
-
821 }
-
822 }
-
823}
+
735 Minidumps = true,
+
736 },
+
737 DreamMakerSettings = new DreamMakerSettings
+
738 {
+
739 ApiValidationPort = dmPort,
+
740 ApiValidationSecurityLevel = DreamDaemonSecurity.Safe,
+
741 RequireDMApiValidation = true,
+
742 Timeout = TimeSpan.FromHours(1),
+
743 },
+
744 Name = initialSettings.Name,
+
745 Online = false,
+
746 Path = initialSettings.Path,
+
747 AutoUpdateInterval = initialSettings.AutoUpdateInterval ?? 0,
+
748 ChatBotLimit = initialSettings.ChatBotLimit ?? Models.Instance.DefaultChatBotLimit,
+
749 RepositorySettings = new RepositorySettings
+
750 {
+
751 CommitterEmail = Components.Repository.Repository.DefaultCommitterEmail,
+
752 CommitterName = Components.Repository.Repository.DefaultCommitterName,
+
753 PushTestMergeCommits = false,
+
754 ShowTestMergeCommitters = false,
+
755 AutoUpdatesKeepTestMerges = false,
+
756 AutoUpdatesSynchronize = false,
+
757 PostTestMergeComment = false,
+
758 CreateGitHubDeployments = false,
+
759 UpdateSubmodules = true,
+
760 },
+
761 InstancePermissionSets = new List<InstancePermissionSet> // give this user full privileges on the instance
+
762 {
+
763 InstanceAdminPermissionSet(null),
+
764 },
+
765 SwarmIdentifer = swarmConfiguration.Identifier,
+
766 };
+
767 }
+
768
+
774 InstancePermissionSet InstanceAdminPermissionSet(InstancePermissionSet? permissionSetToModify)
+
775 {
+
776 permissionSetToModify ??= new InstancePermissionSet()
+
777 {
+
778 PermissionSet = AuthenticationContext.PermissionSet,
+
779 PermissionSetId = AuthenticationContext.PermissionSet.Require(x => x.Id),
+
780 };
+
781 permissionSetToModify.EngineRights = RightsHelper.AllRights<EngineRights>();
+
782 permissionSetToModify.ChatBotRights = RightsHelper.AllRights<ChatBotRights>();
+
783 permissionSetToModify.ConfigurationRights = RightsHelper.AllRights<ConfigurationRights>();
+
784 permissionSetToModify.DreamDaemonRights = RightsHelper.AllRights<DreamDaemonRights>();
+
785 permissionSetToModify.DreamMakerRights = RightsHelper.AllRights<DreamMakerRights>();
+
786 permissionSetToModify.RepositoryRights = RightsHelper.AllRights<RepositoryRights>();
+
787 permissionSetToModify.InstancePermissionSetRights = RightsHelper.AllRights<InstancePermissionSetRights>();
+
788 return permissionSetToModify;
+
789 }
+
790
+
796 [return: NotNullIfNotNull(nameof(path))]
+
797 string? NormalizePath(string? path)
+
798 {
+
799 if (path == null)
+
800 return null;
+
801
+
802 path = ioManager.ResolvePath(path);
+
803 if (platformIdentifier.IsWindows)
+
804 path = path.ToUpperInvariant().Replace('\\', '/');
+
805
+
806 return path;
+
807 }
+
808
+
815 async ValueTask CheckAccessible(InstanceResponse instanceResponse, CancellationToken cancellationToken)
+
816 {
+
817 instanceResponse.Accessible = await DatabaseContext
+
818 .InstancePermissionSets
+
819 .AsQueryable()
+
820 .Where(x => x.InstanceId == instanceResponse.Id && x.PermissionSetId == AuthenticationContext.PermissionSet.Id)
+
821 .AnyAsync(cancellationToken);
+
822 }
+
823 }
+
824}
virtual ? long Id
The ID of the entity.
Definition: EntityId.cs:13
@@ -820,10 +821,10 @@ $(function() {
async ValueTask< IActionResult > GetId(long id, CancellationToken cancellationToken)
Get a specific Api.Models.Instance.
readonly IJobManager jobManager
The IJobManager for the InstanceController.
readonly GeneralConfiguration generalConfiguration
The GeneralConfiguration for the InstanceController.
-
string? NormalizePath(string? path)
Normalize a given path for an instance.
+
string? NormalizePath(string? path)
Normalize a given path for an instance.
readonly IPortAllocator portAllocator
The IPortAllocator for the InstanceController.
async ValueTask< IActionResult > Update([FromBody] InstanceUpdateRequest model, CancellationToken cancellationToken)
Modify an Api.Models.Instance's settings.
-
InstancePermissionSet InstanceAdminPermissionSet(InstancePermissionSet? permissionSetToModify)
Generate an InstancePermissionSet with full rights.
+
InstancePermissionSet InstanceAdminPermissionSet(InstancePermissionSet? permissionSetToModify)
Generate an InstancePermissionSet with full rights.
readonly SwarmConfiguration swarmConfiguration
The SwarmConfiguration for the InstanceController.
async ValueTask< IActionResult > List([FromQuery] int? page, [FromQuery] int? pageSize, CancellationToken cancellationToken)
List Api.Models.Instances.
const string InstanceAttachFileName
File name to allow attaching instances.
@@ -831,7 +832,7 @@ $(function() {
readonly IPlatformIdentifier platformIdentifier
The IPlatformIdentifier for the InstanceController.
readonly IPermissionsUpdateNotifyee permissionsUpdateNotifyee
The IPermissionsUpdateNotifyee for the InstanceController.
async ValueTask< IActionResult > Delete(long id, CancellationToken cancellationToken)
Detach an Api.Models.Instance with the given id .
-
async ValueTask CheckAccessible(InstanceResponse instanceResponse, CancellationToken cancellationToken)
Populate the InstanceResponse.Accessible property of a given instanceResponse .
+
async ValueTask CheckAccessible(InstanceResponse instanceResponse, CancellationToken cancellationToken)
Populate the InstanceResponse.Accessible property of a given instanceResponse .
InstanceController(IDatabaseContext databaseContext, IAuthenticationContext authenticationContext, ILogger< InstanceController > logger, IInstanceManager instanceManager, IJobManager jobManager, IIOManager ioManager, IPortAllocator portAllocator, IPlatformIdentifier platformIdentifier, IPermissionsUpdateNotifyee permissionsUpdateNotifyee, IOptions< GeneralConfiguration > generalConfigurationOptions, IOptions< SwarmConfiguration > swarmConfigurationOptions, IApiHeadersProvider apiHeaders)
Initializes a new instance of the InstanceController class.
readonly IIOManager ioManager
The IIOManager for the InstanceController.
async ValueTask< IActionResult > GrantPermissions(long id, CancellationToken cancellationToken)
Gives the current user full permissions on a given instance id .
diff --git a/_my_sql_database_context_model_snapshot_8cs_source.html b/_my_sql_database_context_model_snapshot_8cs_source.html index 96718edba6..a87e755c1f 100644 --- a/_my_sql_database_context_model_snapshot_8cs_source.html +++ b/_my_sql_database_context_model_snapshot_8cs_source.html @@ -92,7 +92,7 @@ $(function() {
13 {
14#pragma warning disable 612, 618
15 modelBuilder
-
16 .HasAnnotation("ProductVersion", "8.0.0")
+
16 .HasAnnotation("ProductVersion", "8.0.1")
17 .HasAnnotation("Relational:MaxIdentifierLength", 64);
18
19 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
@@ -298,892 +298,896 @@ $(function() {
219 .IsRequired()
220 .HasColumnType("int unsigned");
221
-
222 b.Property<ushort?>("Port")
+
222 b.Property<bool?>("Minidumps")
223 .IsRequired()
-
224 .HasColumnType("smallint unsigned");
+
224 .HasColumnType("tinyint(1)");
225
-
226 b.Property<int>("SecurityLevel")
-
227 .HasColumnType("int");
-
228
-
229 b.Property<bool?>("StartProfiler")
-
230 .IsRequired()
-
231 .HasColumnType("tinyint(1)");
+
226 b.Property<ushort?>("Port")
+
227 .IsRequired()
+
228 .HasColumnType("smallint unsigned");
+
229
+
230 b.Property<int>("SecurityLevel")
+
231 .HasColumnType("int");
232
-
233 b.Property<uint?>("StartupTimeout")
+
233 b.Property<bool?>("StartProfiler")
234 .IsRequired()
-
235 .HasColumnType("int unsigned");
+
235 .HasColumnType("tinyint(1)");
236
-
237 b.Property<uint?>("TopicRequestTimeout")
+
237 b.Property<uint?>("StartupTimeout")
238 .IsRequired()
239 .HasColumnType("int unsigned");
240
-
241 b.Property<int>("Visibility")
-
242 .HasColumnType("int");
-
243
-
244 b.HasKey("Id");
-
245
-
246 b.HasIndex("InstanceId")
-
247 .IsUnique();
-
248
-
249 b.ToTable("DreamDaemonSettings");
-
250 });
-
251
-
252 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
253 {
-
254 b.Property<long>("Id")
-
255 .ValueGeneratedOnAdd()
-
256 .HasColumnType("bigint");
-
257
-
258 b.Property<ushort?>("ApiValidationPort")
-
259 .IsRequired()
-
260 .HasColumnType("smallint unsigned");
+
241 b.Property<uint?>("TopicRequestTimeout")
+
242 .IsRequired()
+
243 .HasColumnType("int unsigned");
+
244
+
245 b.Property<int>("Visibility")
+
246 .HasColumnType("int");
+
247
+
248 b.HasKey("Id");
+
249
+
250 b.HasIndex("InstanceId")
+
251 .IsUnique();
+
252
+
253 b.ToTable("DreamDaemonSettings");
+
254 });
+
255
+
256 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
257 {
+
258 b.Property<long>("Id")
+
259 .ValueGeneratedOnAdd()
+
260 .HasColumnType("bigint");
261
-
262 b.Property<int>("ApiValidationSecurityLevel")
-
263 .HasColumnType("int");
-
264
-
265 b.Property<long>("InstanceId")
-
266 .HasColumnType("bigint");
-
267
-
268 b.Property<string>("ProjectName")
-
269 .HasMaxLength(10000)
-
270 .HasColumnType("longtext");
+
262 b.Property<ushort?>("ApiValidationPort")
+
263 .IsRequired()
+
264 .HasColumnType("smallint unsigned");
+
265
+
266 b.Property<int>("ApiValidationSecurityLevel")
+
267 .HasColumnType("int");
+
268
+
269 b.Property<long>("InstanceId")
+
270 .HasColumnType("bigint");
271
-
272 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ProjectName"), "utf8mb4");
-
273
-
274 b.Property<bool?>("RequireDMApiValidation")
-
275 .IsRequired()
-
276 .HasColumnType("tinyint(1)");
+
272 b.Property<string>("ProjectName")
+
273 .HasMaxLength(10000)
+
274 .HasColumnType("longtext");
+
275
+
276 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ProjectName"), "utf8mb4");
277
-
278 b.Property<TimeSpan?>("Timeout")
+
278 b.Property<bool?>("RequireDMApiValidation")
279 .IsRequired()
-
280 .HasColumnType("time(6)");
+
280 .HasColumnType("tinyint(1)");
281
-
282 b.HasKey("Id");
-
283
-
284 b.HasIndex("InstanceId")
-
285 .IsUnique();
-
286
-
287 b.ToTable("DreamMakerSettings");
-
288 });
-
289
-
290 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
291 {
-
292 b.Property<long?>("Id")
-
293 .ValueGeneratedOnAdd()
-
294 .HasColumnType("bigint");
-
295
-
296 b.Property<uint?>("AutoUpdateInterval")
-
297 .IsRequired()
-
298 .HasColumnType("int unsigned");
+
282 b.Property<TimeSpan?>("Timeout")
+
283 .IsRequired()
+
284 .HasColumnType("time(6)");
+
285
+
286 b.HasKey("Id");
+
287
+
288 b.HasIndex("InstanceId")
+
289 .IsUnique();
+
290
+
291 b.ToTable("DreamMakerSettings");
+
292 });
+
293
+
294 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
295 {
+
296 b.Property<long?>("Id")
+
297 .ValueGeneratedOnAdd()
+
298 .HasColumnType("bigint");
299
-
300 b.Property<ushort?>("ChatBotLimit")
+
300 b.Property<uint?>("AutoUpdateInterval")
301 .IsRequired()
-
302 .HasColumnType("smallint unsigned");
+
302 .HasColumnType("int unsigned");
303
-
304 b.Property<int>("ConfigurationType")
-
305 .HasColumnType("int");
-
306
-
307 b.Property<string>("Name")
-
308 .IsRequired()
-
309 .HasMaxLength(100)
-
310 .HasColumnType("varchar(100)");
-
311
-
312 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
-
313
-
314 b.Property<bool?>("Online")
-
315 .IsRequired()
-
316 .HasColumnType("tinyint(1)");
+
304 b.Property<ushort?>("ChatBotLimit")
+
305 .IsRequired()
+
306 .HasColumnType("smallint unsigned");
+
307
+
308 b.Property<int>("ConfigurationType")
+
309 .HasColumnType("int");
+
310
+
311 b.Property<string>("Name")
+
312 .IsRequired()
+
313 .HasMaxLength(100)
+
314 .HasColumnType("varchar(100)");
+
315
+
316 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
317
-
318 b.Property<string>("Path")
+
318 b.Property<bool?>("Online")
319 .IsRequired()
-
320 .HasColumnType("varchar(255)");
+
320 .HasColumnType("tinyint(1)");
321
-
322 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Path"), "utf8mb4");
-
323
-
324 b.Property<string>("SwarmIdentifer")
-
325 .HasColumnType("varchar(255)");
-
326
-
327 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SwarmIdentifer"), "utf8mb4");
-
328
-
329 b.HasKey("Id");
+
322 b.Property<string>("Path")
+
323 .IsRequired()
+
324 .HasColumnType("varchar(255)");
+
325
+
326 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Path"), "utf8mb4");
+
327
+
328 b.Property<string>("SwarmIdentifer")
+
329 .HasColumnType("varchar(255)");
330
-
331 b.HasIndex("Path", "SwarmIdentifer")
-
332 .IsUnique();
-
333
-
334 b.ToTable("Instances");
-
335 });
-
336
-
337 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
338 {
-
339 b.Property<long>("Id")
-
340 .ValueGeneratedOnAdd()
-
341 .HasColumnType("bigint");
-
342
-
343 b.Property<ulong>("ChatBotRights")
-
344 .HasColumnType("bigint unsigned");
-
345
-
346 b.Property<ulong>("ConfigurationRights")
-
347 .HasColumnType("bigint unsigned");
-
348
-
349 b.Property<ulong>("DreamDaemonRights")
-
350 .HasColumnType("bigint unsigned");
-
351
-
352 b.Property<ulong>("DreamMakerRights")
-
353 .HasColumnType("bigint unsigned");
-
354
-
355 b.Property<ulong>("EngineRights")
-
356 .HasColumnType("bigint unsigned");
-
357
-
358 b.Property<long>("InstanceId")
-
359 .HasColumnType("bigint");
-
360
-
361 b.Property<ulong>("InstancePermissionSetRights")
-
362 .HasColumnType("bigint unsigned");
-
363
-
364 b.Property<long>("PermissionSetId")
-
365 .HasColumnType("bigint");
-
366
-
367 b.Property<ulong>("RepositoryRights")
-
368 .HasColumnType("bigint unsigned");
-
369
-
370 b.HasKey("Id");
-
371
-
372 b.HasIndex("InstanceId");
+
331 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SwarmIdentifer"), "utf8mb4");
+
332
+
333 b.HasKey("Id");
+
334
+
335 b.HasIndex("Path", "SwarmIdentifer")
+
336 .IsUnique();
+
337
+
338 b.ToTable("Instances");
+
339 });
+
340
+
341 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
342 {
+
343 b.Property<long>("Id")
+
344 .ValueGeneratedOnAdd()
+
345 .HasColumnType("bigint");
+
346
+
347 b.Property<ulong>("ChatBotRights")
+
348 .HasColumnType("bigint unsigned");
+
349
+
350 b.Property<ulong>("ConfigurationRights")
+
351 .HasColumnType("bigint unsigned");
+
352
+
353 b.Property<ulong>("DreamDaemonRights")
+
354 .HasColumnType("bigint unsigned");
+
355
+
356 b.Property<ulong>("DreamMakerRights")
+
357 .HasColumnType("bigint unsigned");
+
358
+
359 b.Property<ulong>("EngineRights")
+
360 .HasColumnType("bigint unsigned");
+
361
+
362 b.Property<long>("InstanceId")
+
363 .HasColumnType("bigint");
+
364
+
365 b.Property<ulong>("InstancePermissionSetRights")
+
366 .HasColumnType("bigint unsigned");
+
367
+
368 b.Property<long>("PermissionSetId")
+
369 .HasColumnType("bigint");
+
370
+
371 b.Property<ulong>("RepositoryRights")
+
372 .HasColumnType("bigint unsigned");
373
-
374 b.HasIndex("PermissionSetId", "InstanceId")
-
375 .IsUnique();
-
376
-
377 b.ToTable("InstancePermissionSets");
-
378 });
-
379
-
380 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
381 {
-
382 b.Property<long?>("Id")
-
383 .ValueGeneratedOnAdd()
-
384 .HasColumnType("bigint");
-
385
-
386 b.Property<ulong?>("CancelRight")
-
387 .HasColumnType("bigint unsigned");
-
388
-
389 b.Property<ulong?>("CancelRightsType")
-
390 .HasColumnType("bigint unsigned");
-
391
-
392 b.Property<bool?>("Cancelled")
-
393 .IsRequired()
-
394 .HasColumnType("tinyint(1)");
+
374 b.HasKey("Id");
+
375
+
376 b.HasIndex("InstanceId");
+
377
+
378 b.HasIndex("PermissionSetId", "InstanceId")
+
379 .IsUnique();
+
380
+
381 b.ToTable("InstancePermissionSets");
+
382 });
+
383
+
384 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
385 {
+
386 b.Property<long?>("Id")
+
387 .ValueGeneratedOnAdd()
+
388 .HasColumnType("bigint");
+
389
+
390 b.Property<ulong?>("CancelRight")
+
391 .HasColumnType("bigint unsigned");
+
392
+
393 b.Property<ulong?>("CancelRightsType")
+
394 .HasColumnType("bigint unsigned");
395
-
396 b.Property<long?>("CancelledById")
-
397 .HasColumnType("bigint");
-
398
-
399 b.Property<string>("Description")
-
400 .IsRequired()
-
401 .HasColumnType("longtext");
+
396 b.Property<bool?>("Cancelled")
+
397 .IsRequired()
+
398 .HasColumnType("tinyint(1)");
+
399
+
400 b.Property<long?>("CancelledById")
+
401 .HasColumnType("bigint");
402
-
403 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Description"), "utf8mb4");
-
404
-
405 b.Property<uint?>("ErrorCode")
-
406 .HasColumnType("int unsigned");
-
407
-
408 b.Property<string>("ExceptionDetails")
-
409 .HasColumnType("longtext");
-
410
-
411 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExceptionDetails"), "utf8mb4");
-
412
-
413 b.Property<long>("InstanceId")
-
414 .HasColumnType("bigint");
-
415
-
416 b.Property<byte>("JobCode")
-
417 .HasColumnType("tinyint unsigned");
-
418
-
419 b.Property<DateTimeOffset?>("StartedAt")
-
420 .IsRequired()
-
421 .HasColumnType("datetime(6)");
+
403 b.Property<string>("Description")
+
404 .IsRequired()
+
405 .HasColumnType("longtext");
+
406
+
407 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Description"), "utf8mb4");
+
408
+
409 b.Property<uint?>("ErrorCode")
+
410 .HasColumnType("int unsigned");
+
411
+
412 b.Property<string>("ExceptionDetails")
+
413 .HasColumnType("longtext");
+
414
+
415 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExceptionDetails"), "utf8mb4");
+
416
+
417 b.Property<long>("InstanceId")
+
418 .HasColumnType("bigint");
+
419
+
420 b.Property<byte>("JobCode")
+
421 .HasColumnType("tinyint unsigned");
422
-
423 b.Property<long>("StartedById")
-
424 .HasColumnType("bigint");
-
425
-
426 b.Property<DateTimeOffset?>("StoppedAt")
-
427 .HasColumnType("datetime(6)");
-
428
-
429 b.HasKey("Id");
-
430
-
431 b.HasIndex("CancelledById");
+
423 b.Property<DateTimeOffset?>("StartedAt")
+
424 .IsRequired()
+
425 .HasColumnType("datetime(6)");
+
426
+
427 b.Property<long>("StartedById")
+
428 .HasColumnType("bigint");
+
429
+
430 b.Property<DateTimeOffset?>("StoppedAt")
+
431 .HasColumnType("datetime(6)");
432
-
433 b.HasIndex("InstanceId");
+
433 b.HasKey("Id");
434
-
435 b.HasIndex("StartedById");
+
435 b.HasIndex("CancelledById");
436
-
437 b.ToTable("Jobs");
-
438 });
-
439
-
440 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
441 {
-
442 b.Property<long>("Id")
-
443 .ValueGeneratedOnAdd()
-
444 .HasColumnType("bigint");
-
445
-
446 b.Property<string>("ExternalUserId")
-
447 .IsRequired()
-
448 .HasMaxLength(100)
-
449 .HasColumnType("varchar(100)");
-
450
-
451 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExternalUserId"), "utf8mb4");
-
452
-
453 b.Property<int>("Provider")
-
454 .HasColumnType("int");
-
455
-
456 b.Property<long?>("UserId")
-
457 .HasColumnType("bigint");
-
458
-
459 b.HasKey("Id");
-
460
-
461 b.HasIndex("UserId");
+
437 b.HasIndex("InstanceId");
+
438
+
439 b.HasIndex("StartedById");
+
440
+
441 b.ToTable("Jobs");
+
442 });
+
443
+
444 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
445 {
+
446 b.Property<long>("Id")
+
447 .ValueGeneratedOnAdd()
+
448 .HasColumnType("bigint");
+
449
+
450 b.Property<string>("ExternalUserId")
+
451 .IsRequired()
+
452 .HasMaxLength(100)
+
453 .HasColumnType("varchar(100)");
+
454
+
455 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExternalUserId"), "utf8mb4");
+
456
+
457 b.Property<int>("Provider")
+
458 .HasColumnType("int");
+
459
+
460 b.Property<long?>("UserId")
+
461 .HasColumnType("bigint");
462
-
463 b.HasIndex("Provider", "ExternalUserId")
-
464 .IsUnique();
-
465
-
466 b.ToTable("OAuthConnections");
-
467 });
-
468
-
469 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
470 {
-
471 b.Property<long?>("Id")
-
472 .ValueGeneratedOnAdd()
-
473 .HasColumnType("bigint");
-
474
-
475 b.Property<ulong>("AdministrationRights")
-
476 .HasColumnType("bigint unsigned");
-
477
-
478 b.Property<long?>("GroupId")
-
479 .HasColumnType("bigint");
-
480
-
481 b.Property<ulong>("InstanceManagerRights")
-
482 .HasColumnType("bigint unsigned");
-
483
-
484 b.Property<long?>("UserId")
-
485 .HasColumnType("bigint");
-
486
-
487 b.HasKey("Id");
-
488
-
489 b.HasIndex("GroupId")
-
490 .IsUnique();
-
491
-
492 b.HasIndex("UserId")
-
493 .IsUnique();
-
494
-
495 b.ToTable("PermissionSets");
-
496 });
-
497
-
498 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
499 {
-
500 b.Property<long?>("Id")
-
501 .ValueGeneratedOnAdd()
-
502 .HasColumnType("bigint");
-
503
-
504 b.Property<string>("AccessIdentifier")
-
505 .IsRequired()
-
506 .HasColumnType("longtext");
+
463 b.HasKey("Id");
+
464
+
465 b.HasIndex("UserId");
+
466
+
467 b.HasIndex("Provider", "ExternalUserId")
+
468 .IsUnique();
+
469
+
470 b.ToTable("OAuthConnections");
+
471 });
+
472
+
473 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
474 {
+
475 b.Property<long?>("Id")
+
476 .ValueGeneratedOnAdd()
+
477 .HasColumnType("bigint");
+
478
+
479 b.Property<ulong>("AdministrationRights")
+
480 .HasColumnType("bigint unsigned");
+
481
+
482 b.Property<long?>("GroupId")
+
483 .HasColumnType("bigint");
+
484
+
485 b.Property<ulong>("InstanceManagerRights")
+
486 .HasColumnType("bigint unsigned");
+
487
+
488 b.Property<long?>("UserId")
+
489 .HasColumnType("bigint");
+
490
+
491 b.HasKey("Id");
+
492
+
493 b.HasIndex("GroupId")
+
494 .IsUnique();
+
495
+
496 b.HasIndex("UserId")
+
497 .IsUnique();
+
498
+
499 b.ToTable("PermissionSets");
+
500 });
+
501
+
502 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
503 {
+
504 b.Property<long?>("Id")
+
505 .ValueGeneratedOnAdd()
+
506 .HasColumnType("bigint");
507
-
508 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessIdentifier"), "utf8mb4");
-
509
-
510 b.Property<long>("CompileJobId")
-
511 .HasColumnType("bigint");
-
512
-
513 b.Property<long?>("InitialCompileJobId")
-
514 .HasColumnType("bigint");
-
515
-
516 b.Property<int>("LaunchSecurityLevel")
-
517 .HasColumnType("int");
-
518
-
519 b.Property<int>("LaunchVisibility")
-
520 .HasColumnType("int");
-
521
-
522 b.Property<ushort>("Port")
-
523 .HasColumnType("smallint unsigned");
-
524
-
525 b.Property<int>("ProcessId")
-
526 .HasColumnType("int");
-
527
-
528 b.Property<int>("RebootState")
-
529 .HasColumnType("int");
-
530
-
531 b.Property<ushort?>("TopicPort")
-
532 .HasColumnType("smallint unsigned");
-
533
-
534 b.HasKey("Id");
-
535
-
536 b.HasIndex("CompileJobId");
+
508 b.Property<string>("AccessIdentifier")
+
509 .IsRequired()
+
510 .HasColumnType("longtext");
+
511
+
512 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessIdentifier"), "utf8mb4");
+
513
+
514 b.Property<long>("CompileJobId")
+
515 .HasColumnType("bigint");
+
516
+
517 b.Property<long?>("InitialCompileJobId")
+
518 .HasColumnType("bigint");
+
519
+
520 b.Property<int>("LaunchSecurityLevel")
+
521 .HasColumnType("int");
+
522
+
523 b.Property<int>("LaunchVisibility")
+
524 .HasColumnType("int");
+
525
+
526 b.Property<ushort>("Port")
+
527 .HasColumnType("smallint unsigned");
+
528
+
529 b.Property<int>("ProcessId")
+
530 .HasColumnType("int");
+
531
+
532 b.Property<int>("RebootState")
+
533 .HasColumnType("int");
+
534
+
535 b.Property<ushort?>("TopicPort")
+
536 .HasColumnType("smallint unsigned");
537
-
538 b.HasIndex("InitialCompileJobId");
+
538 b.HasKey("Id");
539
-
540 b.ToTable("ReattachInformations");
-
541 });
-
542
-
543 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
544 {
-
545 b.Property<long>("Id")
-
546 .ValueGeneratedOnAdd()
-
547 .HasColumnType("bigint");
-
548
-
549 b.Property<string>("AccessToken")
-
550 .HasMaxLength(10000)
-
551 .HasColumnType("longtext");
+
540 b.HasIndex("CompileJobId");
+
541
+
542 b.HasIndex("InitialCompileJobId");
+
543
+
544 b.ToTable("ReattachInformations");
+
545 });
+
546
+
547 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
548 {
+
549 b.Property<long>("Id")
+
550 .ValueGeneratedOnAdd()
+
551 .HasColumnType("bigint");
552
-
553 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessToken"), "utf8mb4");
-
554
-
555 b.Property<string>("AccessUser")
-
556 .HasMaxLength(10000)
-
557 .HasColumnType("longtext");
+
553 b.Property<string>("AccessToken")
+
554 .HasMaxLength(10000)
+
555 .HasColumnType("longtext");
+
556
+
557 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessToken"), "utf8mb4");
558
-
559 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessUser"), "utf8mb4");
-
560
-
561 b.Property<bool?>("AutoUpdatesKeepTestMerges")
-
562 .IsRequired()
-
563 .HasColumnType("tinyint(1)");
+
559 b.Property<string>("AccessUser")
+
560 .HasMaxLength(10000)
+
561 .HasColumnType("longtext");
+
562
+
563 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessUser"), "utf8mb4");
564
-
565 b.Property<bool?>("AutoUpdatesSynchronize")
+
565 b.Property<bool?>("AutoUpdatesKeepTestMerges")
566 .IsRequired()
567 .HasColumnType("tinyint(1)");
568
-
569 b.Property<string>("CommitterEmail")
+
569 b.Property<bool?>("AutoUpdatesSynchronize")
570 .IsRequired()
-
571 .HasMaxLength(10000)
-
572 .HasColumnType("longtext");
-
573
-
574 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterEmail"), "utf8mb4");
-
575
-
576 b.Property<string>("CommitterName")
-
577 .IsRequired()
-
578 .HasMaxLength(10000)
-
579 .HasColumnType("longtext");
-
580
-
581 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterName"), "utf8mb4");
-
582
-
583 b.Property<bool?>("CreateGitHubDeployments")
-
584 .IsRequired()
-
585 .HasColumnType("tinyint(1)");
+
571 .HasColumnType("tinyint(1)");
+
572
+
573 b.Property<string>("CommitterEmail")
+
574 .IsRequired()
+
575 .HasMaxLength(10000)
+
576 .HasColumnType("longtext");
+
577
+
578 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterEmail"), "utf8mb4");
+
579
+
580 b.Property<string>("CommitterName")
+
581 .IsRequired()
+
582 .HasMaxLength(10000)
+
583 .HasColumnType("longtext");
+
584
+
585 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterName"), "utf8mb4");
586
-
587 b.Property<long>("InstanceId")
-
588 .HasColumnType("bigint");
-
589
-
590 b.Property<bool?>("PostTestMergeComment")
-
591 .IsRequired()
-
592 .HasColumnType("tinyint(1)");
+
587 b.Property<bool?>("CreateGitHubDeployments")
+
588 .IsRequired()
+
589 .HasColumnType("tinyint(1)");
+
590
+
591 b.Property<long>("InstanceId")
+
592 .HasColumnType("bigint");
593
-
594 b.Property<bool?>("PushTestMergeCommits")
+
594 b.Property<bool?>("PostTestMergeComment")
595 .IsRequired()
596 .HasColumnType("tinyint(1)");
597
-
598 b.Property<bool?>("ShowTestMergeCommitters")
+
598 b.Property<bool?>("PushTestMergeCommits")
599 .IsRequired()
600 .HasColumnType("tinyint(1)");
601
-
602 b.Property<bool?>("UpdateSubmodules")
+
602 b.Property<bool?>("ShowTestMergeCommitters")
603 .IsRequired()
604 .HasColumnType("tinyint(1)");
605
-
606 b.HasKey("Id");
-
607
-
608 b.HasIndex("InstanceId")
-
609 .IsUnique();
-
610
-
611 b.ToTable("RepositorySettings");
-
612 });
-
613
-
614 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
615 {
-
616 b.Property<long>("Id")
-
617 .ValueGeneratedOnAdd()
-
618 .HasColumnType("bigint");
-
619
-
620 b.Property<long>("RevisionInformationId")
-
621 .HasColumnType("bigint");
-
622
-
623 b.Property<long>("TestMergeId")
-
624 .HasColumnType("bigint");
-
625
-
626 b.HasKey("Id");
-
627
-
628 b.HasIndex("RevisionInformationId");
+
606 b.Property<bool?>("UpdateSubmodules")
+
607 .IsRequired()
+
608 .HasColumnType("tinyint(1)");
+
609
+
610 b.HasKey("Id");
+
611
+
612 b.HasIndex("InstanceId")
+
613 .IsUnique();
+
614
+
615 b.ToTable("RepositorySettings");
+
616 });
+
617
+
618 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
619 {
+
620 b.Property<long>("Id")
+
621 .ValueGeneratedOnAdd()
+
622 .HasColumnType("bigint");
+
623
+
624 b.Property<long>("RevisionInformationId")
+
625 .HasColumnType("bigint");
+
626
+
627 b.Property<long>("TestMergeId")
+
628 .HasColumnType("bigint");
629
-
630 b.HasIndex("TestMergeId");
+
630 b.HasKey("Id");
631
-
632 b.ToTable("RevInfoTestMerges");
-
633 });
-
634
-
635 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
636 {
-
637 b.Property<long>("Id")
-
638 .ValueGeneratedOnAdd()
-
639 .HasColumnType("bigint");
-
640
-
641 b.Property<string>("CommitSha")
-
642 .IsRequired()
-
643 .HasMaxLength(40)
-
644 .HasColumnType("varchar(40)");
-
645
-
646 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitSha"), "utf8mb4");
-
647
-
648 b.Property<long>("InstanceId")
-
649 .HasColumnType("bigint");
-
650
-
651 b.Property<string>("OriginCommitSha")
-
652 .IsRequired()
-
653 .HasMaxLength(40)
-
654 .HasColumnType("varchar(40)");
-
655
-
656 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("OriginCommitSha"), "utf8mb4");
-
657
-
658 b.Property<DateTimeOffset>("Timestamp")
-
659 .HasColumnType("datetime(6)");
-
660
-
661 b.HasKey("Id");
-
662
-
663 b.HasIndex("InstanceId", "CommitSha")
-
664 .IsUnique();
-
665
-
666 b.ToTable("RevisionInformations");
-
667 });
-
668
-
669 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
670 {
-
671 b.Property<long>("Id")
-
672 .ValueGeneratedOnAdd()
-
673 .HasColumnType("bigint");
-
674
-
675 b.Property<string>("Author")
-
676 .IsRequired()
-
677 .HasColumnType("longtext");
+
632 b.HasIndex("RevisionInformationId");
+
633
+
634 b.HasIndex("TestMergeId");
+
635
+
636 b.ToTable("RevInfoTestMerges");
+
637 });
+
638
+
639 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
640 {
+
641 b.Property<long>("Id")
+
642 .ValueGeneratedOnAdd()
+
643 .HasColumnType("bigint");
+
644
+
645 b.Property<string>("CommitSha")
+
646 .IsRequired()
+
647 .HasMaxLength(40)
+
648 .HasColumnType("varchar(40)");
+
649
+
650 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitSha"), "utf8mb4");
+
651
+
652 b.Property<long>("InstanceId")
+
653 .HasColumnType("bigint");
+
654
+
655 b.Property<string>("OriginCommitSha")
+
656 .IsRequired()
+
657 .HasMaxLength(40)
+
658 .HasColumnType("varchar(40)");
+
659
+
660 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("OriginCommitSha"), "utf8mb4");
+
661
+
662 b.Property<DateTimeOffset>("Timestamp")
+
663 .HasColumnType("datetime(6)");
+
664
+
665 b.HasKey("Id");
+
666
+
667 b.HasIndex("InstanceId", "CommitSha")
+
668 .IsUnique();
+
669
+
670 b.ToTable("RevisionInformations");
+
671 });
+
672
+
673 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
674 {
+
675 b.Property<long>("Id")
+
676 .ValueGeneratedOnAdd()
+
677 .HasColumnType("bigint");
678
-
679 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Author"), "utf8mb4");
-
680
-
681 b.Property<string>("BodyAtMerge")
-
682 .IsRequired()
-
683 .HasColumnType("longtext");
+
679 b.Property<string>("Author")
+
680 .IsRequired()
+
681 .HasColumnType("longtext");
+
682
+
683 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Author"), "utf8mb4");
684
-
685 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("BodyAtMerge"), "utf8mb4");
-
686
-
687 b.Property<string>("Comment")
-
688 .HasMaxLength(10000)
-
689 .HasColumnType("longtext");
+
685 b.Property<string>("BodyAtMerge")
+
686 .IsRequired()
+
687 .HasColumnType("longtext");
+
688
+
689 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("BodyAtMerge"), "utf8mb4");
690
-
691 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Comment"), "utf8mb4");
-
692
-
693 b.Property<DateTimeOffset>("MergedAt")
-
694 .HasColumnType("datetime(6)");
-
695
-
696 b.Property<long>("MergedById")
-
697 .HasColumnType("bigint");
-
698
-
699 b.Property<int>("Number")
-
700 .HasColumnType("int");
-
701
-
702 b.Property<long?>("PrimaryRevisionInformationId")
-
703 .IsRequired()
-
704 .HasColumnType("bigint");
+
691 b.Property<string>("Comment")
+
692 .HasMaxLength(10000)
+
693 .HasColumnType("longtext");
+
694
+
695 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Comment"), "utf8mb4");
+
696
+
697 b.Property<DateTimeOffset>("MergedAt")
+
698 .HasColumnType("datetime(6)");
+
699
+
700 b.Property<long>("MergedById")
+
701 .HasColumnType("bigint");
+
702
+
703 b.Property<int>("Number")
+
704 .HasColumnType("int");
705
-
706 b.Property<string>("TargetCommitSha")
+
706 b.Property<long?>("PrimaryRevisionInformationId")
707 .IsRequired()
-
708 .HasMaxLength(40)
-
709 .HasColumnType("varchar(40)");
-
710
-
711 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TargetCommitSha"), "utf8mb4");
-
712
-
713 b.Property<string>("TitleAtMerge")
-
714 .IsRequired()
-
715 .HasColumnType("longtext");
+
708 .HasColumnType("bigint");
+
709
+
710 b.Property<string>("TargetCommitSha")
+
711 .IsRequired()
+
712 .HasMaxLength(40)
+
713 .HasColumnType("varchar(40)");
+
714
+
715 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TargetCommitSha"), "utf8mb4");
716
-
717 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TitleAtMerge"), "utf8mb4");
-
718
-
719 b.Property<string>("Url")
-
720 .IsRequired()
-
721 .HasColumnType("longtext");
+
717 b.Property<string>("TitleAtMerge")
+
718 .IsRequired()
+
719 .HasColumnType("longtext");
+
720
+
721 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TitleAtMerge"), "utf8mb4");
722
-
723 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Url"), "utf8mb4");
-
724
-
725 b.HasKey("Id");
+
723 b.Property<string>("Url")
+
724 .IsRequired()
+
725 .HasColumnType("longtext");
726
-
727 b.HasIndex("MergedById");
+
727 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Url"), "utf8mb4");
728
-
729 b.HasIndex("PrimaryRevisionInformationId")
-
730 .IsUnique();
-
731
-
732 b.ToTable("TestMerges");
-
733 });
-
734
-
735 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
736 {
-
737 b.Property<long?>("Id")
-
738 .ValueGeneratedOnAdd()
-
739 .HasColumnType("bigint");
-
740
-
741 b.Property<string>("CanonicalName")
-
742 .IsRequired()
-
743 .HasMaxLength(100)
-
744 .HasColumnType("varchar(100)");
-
745
-
746 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CanonicalName"), "utf8mb4");
-
747
-
748 b.Property<DateTimeOffset?>("CreatedAt")
-
749 .IsRequired()
-
750 .HasColumnType("datetime(6)");
+
729 b.HasKey("Id");
+
730
+
731 b.HasIndex("MergedById");
+
732
+
733 b.HasIndex("PrimaryRevisionInformationId")
+
734 .IsUnique();
+
735
+
736 b.ToTable("TestMerges");
+
737 });
+
738
+
739 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
740 {
+
741 b.Property<long?>("Id")
+
742 .ValueGeneratedOnAdd()
+
743 .HasColumnType("bigint");
+
744
+
745 b.Property<string>("CanonicalName")
+
746 .IsRequired()
+
747 .HasMaxLength(100)
+
748 .HasColumnType("varchar(100)");
+
749
+
750 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CanonicalName"), "utf8mb4");
751
-
752 b.Property<long?>("CreatedById")
-
753 .HasColumnType("bigint");
-
754
-
755 b.Property<bool?>("Enabled")
-
756 .IsRequired()
-
757 .HasColumnType("tinyint(1)");
+
752 b.Property<DateTimeOffset?>("CreatedAt")
+
753 .IsRequired()
+
754 .HasColumnType("datetime(6)");
+
755
+
756 b.Property<long?>("CreatedById")
+
757 .HasColumnType("bigint");
758
-
759 b.Property<long?>("GroupId")
-
760 .HasColumnType("bigint");
-
761
-
762 b.Property<DateTimeOffset?>("LastPasswordUpdate")
-
763 .HasColumnType("datetime(6)");
-
764
-
765 b.Property<string>("Name")
-
766 .IsRequired()
-
767 .HasMaxLength(100)
-
768 .HasColumnType("varchar(100)");
-
769
-
770 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
-
771
-
772 b.Property<string>("PasswordHash")
-
773 .HasColumnType("longtext");
-
774
-
775 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("PasswordHash"), "utf8mb4");
-
776
-
777 b.Property<string>("SystemIdentifier")
-
778 .HasMaxLength(100)
-
779 .HasColumnType("varchar(100)");
+
759 b.Property<bool?>("Enabled")
+
760 .IsRequired()
+
761 .HasColumnType("tinyint(1)");
+
762
+
763 b.Property<long?>("GroupId")
+
764 .HasColumnType("bigint");
+
765
+
766 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
767 .HasColumnType("datetime(6)");
+
768
+
769 b.Property<string>("Name")
+
770 .IsRequired()
+
771 .HasMaxLength(100)
+
772 .HasColumnType("varchar(100)");
+
773
+
774 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
+
775
+
776 b.Property<string>("PasswordHash")
+
777 .HasColumnType("longtext");
+
778
+
779 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("PasswordHash"), "utf8mb4");
780
-
781 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SystemIdentifier"), "utf8mb4");
-
782
-
783 b.HasKey("Id");
+
781 b.Property<string>("SystemIdentifier")
+
782 .HasMaxLength(100)
+
783 .HasColumnType("varchar(100)");
784
-
785 b.HasIndex("CanonicalName")
-
786 .IsUnique();
-
787
-
788 b.HasIndex("CreatedById");
-
789
-
790 b.HasIndex("GroupId");
+
785 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SystemIdentifier"), "utf8mb4");
+
786
+
787 b.HasKey("Id");
+
788
+
789 b.HasIndex("CanonicalName")
+
790 .IsUnique();
791
-
792 b.HasIndex("SystemIdentifier")
-
793 .IsUnique();
-
794
-
795 b.ToTable("Users");
-
796 });
-
797
-
798 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
799 {
-
800 b.Property<long?>("Id")
-
801 .ValueGeneratedOnAdd()
-
802 .HasColumnType("bigint");
-
803
-
804 b.Property<string>("Name")
-
805 .IsRequired()
-
806 .HasMaxLength(100)
-
807 .HasColumnType("varchar(100)");
-
808
-
809 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
-
810
-
811 b.HasKey("Id");
+
792 b.HasIndex("CreatedById");
+
793
+
794 b.HasIndex("GroupId");
+
795
+
796 b.HasIndex("SystemIdentifier")
+
797 .IsUnique();
+
798
+
799 b.ToTable("Users");
+
800 });
+
801
+
802 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
803 {
+
804 b.Property<long?>("Id")
+
805 .ValueGeneratedOnAdd()
+
806 .HasColumnType("bigint");
+
807
+
808 b.Property<string>("Name")
+
809 .IsRequired()
+
810 .HasMaxLength(100)
+
811 .HasColumnType("varchar(100)");
812
-
813 b.HasIndex("Name")
-
814 .IsUnique();
-
815
-
816 b.ToTable("Groups");
-
817 });
-
818
-
819 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
820 {
-
821 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
822 .WithMany("ChatSettings")
-
823 .HasForeignKey("InstanceId")
-
824 .OnDelete(DeleteBehavior.Cascade)
-
825 .IsRequired();
-
826
-
827 b.Navigation("Instance");
-
828 });
-
829
-
830 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
-
831 {
-
832 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
-
833 .WithMany("Channels")
-
834 .HasForeignKey("ChatSettingsId")
-
835 .OnDelete(DeleteBehavior.Cascade)
-
836 .IsRequired();
-
837
-
838 b.Navigation("ChatSettings");
-
839 });
-
840
-
841 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
-
842 {
-
843 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
-
844 .WithOne()
-
845 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
-
846 .OnDelete(DeleteBehavior.Cascade)
-
847 .IsRequired();
-
848
-
849 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
850 .WithMany("CompileJobs")
-
851 .HasForeignKey("RevisionInformationId")
-
852 .OnDelete(DeleteBehavior.Cascade)
-
853 .IsRequired();
-
854
-
855 b.Navigation("Job");
-
856
-
857 b.Navigation("RevisionInformation");
-
858 });
-
859
-
860 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
-
861 {
-
862 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
863 .WithOne("DreamDaemonSettings")
-
864 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
-
865 .OnDelete(DeleteBehavior.Cascade)
-
866 .IsRequired();
-
867
-
868 b.Navigation("Instance");
-
869 });
-
870
-
871 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
872 {
-
873 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
874 .WithOne("DreamMakerSettings")
-
875 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
-
876 .OnDelete(DeleteBehavior.Cascade)
-
877 .IsRequired();
-
878
-
879 b.Navigation("Instance");
-
880 });
-
881
-
882 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
883 {
-
884 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
885 .WithMany("InstancePermissionSets")
-
886 .HasForeignKey("InstanceId")
-
887 .OnDelete(DeleteBehavior.Cascade)
-
888 .IsRequired();
-
889
-
890 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
-
891 .WithMany("InstancePermissionSets")
-
892 .HasForeignKey("PermissionSetId")
-
893 .OnDelete(DeleteBehavior.Cascade)
-
894 .IsRequired();
-
895
-
896 b.Navigation("Instance");
-
897
-
898 b.Navigation("PermissionSet");
-
899 });
-
900
-
901 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
902 {
-
903 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
-
904 .WithMany()
-
905 .HasForeignKey("CancelledById");
-
906
-
907 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
908 .WithMany("Jobs")
-
909 .HasForeignKey("InstanceId")
-
910 .OnDelete(DeleteBehavior.Cascade)
-
911 .IsRequired();
-
912
-
913 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
-
914 .WithMany()
-
915 .HasForeignKey("StartedById")
-
916 .OnDelete(DeleteBehavior.Cascade)
-
917 .IsRequired();
-
918
-
919 b.Navigation("CancelledBy");
-
920
-
921 b.Navigation("Instance");
+
813 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
+
814
+
815 b.HasKey("Id");
+
816
+
817 b.HasIndex("Name")
+
818 .IsUnique();
+
819
+
820 b.ToTable("Groups");
+
821 });
+
822
+
823 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
824 {
+
825 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
826 .WithMany("ChatSettings")
+
827 .HasForeignKey("InstanceId")
+
828 .OnDelete(DeleteBehavior.Cascade)
+
829 .IsRequired();
+
830
+
831 b.Navigation("Instance");
+
832 });
+
833
+
834 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
835 {
+
836 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
837 .WithMany("Channels")
+
838 .HasForeignKey("ChatSettingsId")
+
839 .OnDelete(DeleteBehavior.Cascade)
+
840 .IsRequired();
+
841
+
842 b.Navigation("ChatSettings");
+
843 });
+
844
+
845 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
846 {
+
847 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
848 .WithOne()
+
849 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
850 .OnDelete(DeleteBehavior.Cascade)
+
851 .IsRequired();
+
852
+
853 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
854 .WithMany("CompileJobs")
+
855 .HasForeignKey("RevisionInformationId")
+
856 .OnDelete(DeleteBehavior.Cascade)
+
857 .IsRequired();
+
858
+
859 b.Navigation("Job");
+
860
+
861 b.Navigation("RevisionInformation");
+
862 });
+
863
+
864 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
865 {
+
866 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
867 .WithOne("DreamDaemonSettings")
+
868 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
869 .OnDelete(DeleteBehavior.Cascade)
+
870 .IsRequired();
+
871
+
872 b.Navigation("Instance");
+
873 });
+
874
+
875 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
876 {
+
877 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
878 .WithOne("DreamMakerSettings")
+
879 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
880 .OnDelete(DeleteBehavior.Cascade)
+
881 .IsRequired();
+
882
+
883 b.Navigation("Instance");
+
884 });
+
885
+
886 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
887 {
+
888 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
889 .WithMany("InstancePermissionSets")
+
890 .HasForeignKey("InstanceId")
+
891 .OnDelete(DeleteBehavior.Cascade)
+
892 .IsRequired();
+
893
+
894 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
895 .WithMany("InstancePermissionSets")
+
896 .HasForeignKey("PermissionSetId")
+
897 .OnDelete(DeleteBehavior.Cascade)
+
898 .IsRequired();
+
899
+
900 b.Navigation("Instance");
+
901
+
902 b.Navigation("PermissionSet");
+
903 });
+
904
+
905 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
906 {
+
907 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
908 .WithMany()
+
909 .HasForeignKey("CancelledById");
+
910
+
911 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
912 .WithMany("Jobs")
+
913 .HasForeignKey("InstanceId")
+
914 .OnDelete(DeleteBehavior.Cascade)
+
915 .IsRequired();
+
916
+
917 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
918 .WithMany()
+
919 .HasForeignKey("StartedById")
+
920 .OnDelete(DeleteBehavior.Cascade)
+
921 .IsRequired();
922
-
923 b.Navigation("StartedBy");
-
924 });
-
925
-
926 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
927 {
-
928 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
929 .WithMany("OAuthConnections")
-
930 .HasForeignKey("UserId")
-
931 .OnDelete(DeleteBehavior.Cascade);
-
932
-
933 b.Navigation("User");
-
934 });
-
935
-
936 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
937 {
-
938 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
939 .WithOne("PermissionSet")
-
940 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
-
941 .OnDelete(DeleteBehavior.Cascade);
-
942
-
943 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
944 .WithOne("PermissionSet")
-
945 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
-
946 .OnDelete(DeleteBehavior.Cascade);
-
947
-
948 b.Navigation("Group");
-
949
-
950 b.Navigation("User");
-
951 });
-
952
-
953 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
954 {
-
955 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
-
956 .WithMany()
-
957 .HasForeignKey("CompileJobId")
-
958 .OnDelete(DeleteBehavior.Cascade)
-
959 .IsRequired();
-
960
-
961 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
-
962 .WithMany()
-
963 .HasForeignKey("InitialCompileJobId");
+
923 b.Navigation("CancelledBy");
+
924
+
925 b.Navigation("Instance");
+
926
+
927 b.Navigation("StartedBy");
+
928 });
+
929
+
930 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
931 {
+
932 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
933 .WithMany("OAuthConnections")
+
934 .HasForeignKey("UserId")
+
935 .OnDelete(DeleteBehavior.Cascade);
+
936
+
937 b.Navigation("User");
+
938 });
+
939
+
940 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
941 {
+
942 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
943 .WithOne("PermissionSet")
+
944 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
945 .OnDelete(DeleteBehavior.Cascade);
+
946
+
947 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
948 .WithOne("PermissionSet")
+
949 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
950 .OnDelete(DeleteBehavior.Cascade);
+
951
+
952 b.Navigation("Group");
+
953
+
954 b.Navigation("User");
+
955 });
+
956
+
957 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
958 {
+
959 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
960 .WithMany()
+
961 .HasForeignKey("CompileJobId")
+
962 .OnDelete(DeleteBehavior.Cascade)
+
963 .IsRequired();
964
-
965 b.Navigation("CompileJob");
-
966
-
967 b.Navigation("InitialCompileJob");
-
968 });
-
969
-
970 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
971 {
-
972 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
973 .WithOne("RepositorySettings")
-
974 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
-
975 .OnDelete(DeleteBehavior.Cascade)
-
976 .IsRequired();
-
977
-
978 b.Navigation("Instance");
-
979 });
-
980
-
981 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
982 {
-
983 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
984 .WithMany("ActiveTestMerges")
-
985 .HasForeignKey("RevisionInformationId")
-
986 .OnDelete(DeleteBehavior.Cascade)
-
987 .IsRequired();
-
988
-
989 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
-
990 .WithMany("RevisonInformations")
-
991 .HasForeignKey("TestMergeId")
-
992 .OnDelete(DeleteBehavior.ClientNoAction)
-
993 .IsRequired();
-
994
-
995 b.Navigation("RevisionInformation");
-
996
-
997 b.Navigation("TestMerge");
-
998 });
-
999
-
1000 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
1001 {
-
1002 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
1003 .WithMany("RevisionInformations")
-
1004 .HasForeignKey("InstanceId")
-
1005 .OnDelete(DeleteBehavior.Cascade)
-
1006 .IsRequired();
-
1007
-
1008 b.Navigation("Instance");
-
1009 });
-
1010
-
1011 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
1012 {
-
1013 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
-
1014 .WithMany("TestMerges")
-
1015 .HasForeignKey("MergedById")
-
1016 .OnDelete(DeleteBehavior.Restrict)
-
1017 .IsRequired();
-
1018
-
1019 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
-
1020 .WithOne("PrimaryTestMerge")
-
1021 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
-
1022 .OnDelete(DeleteBehavior.Cascade)
-
1023 .IsRequired();
-
1024
-
1025 b.Navigation("MergedBy");
-
1026
-
1027 b.Navigation("PrimaryRevisionInformation");
-
1028 });
-
1029
-
1030 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
1031 {
-
1032 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
-
1033 .WithMany("CreatedUsers")
-
1034 .HasForeignKey("CreatedById");
-
1035
-
1036 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
1037 .WithMany("Users")
-
1038 .HasForeignKey("GroupId");
+
965 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
966 .WithMany()
+
967 .HasForeignKey("InitialCompileJobId");
+
968
+
969 b.Navigation("CompileJob");
+
970
+
971 b.Navigation("InitialCompileJob");
+
972 });
+
973
+
974 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
975 {
+
976 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
977 .WithOne("RepositorySettings")
+
978 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
979 .OnDelete(DeleteBehavior.Cascade)
+
980 .IsRequired();
+
981
+
982 b.Navigation("Instance");
+
983 });
+
984
+
985 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
986 {
+
987 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
988 .WithMany("ActiveTestMerges")
+
989 .HasForeignKey("RevisionInformationId")
+
990 .OnDelete(DeleteBehavior.Cascade)
+
991 .IsRequired();
+
992
+
993 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
994 .WithMany("RevisonInformations")
+
995 .HasForeignKey("TestMergeId")
+
996 .OnDelete(DeleteBehavior.ClientNoAction)
+
997 .IsRequired();
+
998
+
999 b.Navigation("RevisionInformation");
+
1000
+
1001 b.Navigation("TestMerge");
+
1002 });
+
1003
+
1004 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1005 {
+
1006 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
1007 .WithMany("RevisionInformations")
+
1008 .HasForeignKey("InstanceId")
+
1009 .OnDelete(DeleteBehavior.Cascade)
+
1010 .IsRequired();
+
1011
+
1012 b.Navigation("Instance");
+
1013 });
+
1014
+
1015 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1016 {
+
1017 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
1018 .WithMany("TestMerges")
+
1019 .HasForeignKey("MergedById")
+
1020 .OnDelete(DeleteBehavior.Restrict)
+
1021 .IsRequired();
+
1022
+
1023 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
1024 .WithOne("PrimaryTestMerge")
+
1025 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
1026 .OnDelete(DeleteBehavior.Cascade)
+
1027 .IsRequired();
+
1028
+
1029 b.Navigation("MergedBy");
+
1030
+
1031 b.Navigation("PrimaryRevisionInformation");
+
1032 });
+
1033
+
1034 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1035 {
+
1036 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
1037 .WithMany("CreatedUsers")
+
1038 .HasForeignKey("CreatedById");
1039
-
1040 b.Navigation("CreatedBy");
-
1041
-
1042 b.Navigation("Group");
-
1043 });
-
1044
-
1045 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
1046 {
-
1047 b.Navigation("Channels");
-
1048 });
-
1049
-
1050 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
1051 {
-
1052 b.Navigation("ChatSettings");
+
1040 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
1041 .WithMany("Users")
+
1042 .HasForeignKey("GroupId");
+
1043
+
1044 b.Navigation("CreatedBy");
+
1045
+
1046 b.Navigation("Group");
+
1047 });
+
1048
+
1049 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
1050 {
+
1051 b.Navigation("Channels");
+
1052 });
1053
-
1054 b.Navigation("DreamDaemonSettings");
-
1055
-
1056 b.Navigation("DreamMakerSettings");
+
1054 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
1055 {
+
1056 b.Navigation("ChatSettings");
1057
-
1058 b.Navigation("InstancePermissionSets");
+
1058 b.Navigation("DreamDaemonSettings");
1059
-
1060 b.Navigation("Jobs");
+
1060 b.Navigation("DreamMakerSettings");
1061
-
1062 b.Navigation("RepositorySettings");
+
1062 b.Navigation("InstancePermissionSets");
1063
-
1064 b.Navigation("RevisionInformations");
-
1065 });
-
1066
-
1067 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
1068 {
-
1069 b.Navigation("InstancePermissionSets");
-
1070 });
-
1071
-
1072 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
1073 {
-
1074 b.Navigation("ActiveTestMerges");
+
1064 b.Navigation("Jobs");
+
1065
+
1066 b.Navigation("RepositorySettings");
+
1067
+
1068 b.Navigation("RevisionInformations");
+
1069 });
+
1070
+
1071 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1072 {
+
1073 b.Navigation("InstancePermissionSets");
+
1074 });
1075
-
1076 b.Navigation("CompileJobs");
-
1077
-
1078 b.Navigation("PrimaryTestMerge");
-
1079 });
-
1080
-
1081 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
1082 {
-
1083 b.Navigation("RevisonInformations");
-
1084 });
-
1085
-
1086 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
1087 {
-
1088 b.Navigation("CreatedUsers");
+
1076 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1077 {
+
1078 b.Navigation("ActiveTestMerges");
+
1079
+
1080 b.Navigation("CompileJobs");
+
1081
+
1082 b.Navigation("PrimaryTestMerge");
+
1083 });
+
1084
+
1085 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1086 {
+
1087 b.Navigation("RevisonInformations");
+
1088 });
1089
-
1090 b.Navigation("OAuthConnections");
-
1091
-
1092 b.Navigation("PermissionSet");
+
1090 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1091 {
+
1092 b.Navigation("CreatedUsers");
1093
-
1094 b.Navigation("TestMerges");
-
1095 });
-
1096
-
1097 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
1098 {
-
1099 b.Navigation("PermissionSet")
-
1100 .IsRequired();
-
1101
-
1102 b.Navigation("Users");
-
1103 });
-
1104#pragma warning restore 612, 618
-
1105 }
-
1106 }
-
1107}
+
1094 b.Navigation("OAuthConnections");
+
1095
+
1096 b.Navigation("PermissionSet");
+
1097
+
1098 b.Navigation("TestMerges");
+
1099 });
+
1100
+
1101 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1102 {
+
1103 b.Navigation("PermissionSet")
+
1104 .IsRequired();
+
1105
+
1106 b.Navigation("Users");
+
1107 });
+
1108#pragma warning restore 612, 618
+
1109 }
+
1110 }
+
1111}
diff --git a/_posix_process_features_8cs_source.html b/_posix_process_features_8cs_source.html index 6ea827707d..8568a17bdf 100644 --- a/_posix_process_features_8cs_source.html +++ b/_posix_process_features_8cs_source.html @@ -123,7 +123,7 @@ $(function() {
63 public string GetExecutingUsername(global::System.Diagnostics.Process process)
64 => throw new NotSupportedException();
65
-
67 public async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken)
+
67 public async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken)
68 {
69 ArgumentNullException.ThrowIfNull(process);
70 ArgumentNullException.ThrowIfNull(outputFile);
@@ -150,7 +150,7 @@ $(function() {
91 await using (var gcoreProc = lazyLoadedProcessExecutor.Value.LaunchProcess(
92 GCorePath,
93 Environment.CurrentDirectory,
-
94 $"-o {outputFile} {process.Id}",
+
94 $"{(!minidump ? "-a " : String.Empty)}-o {outputFile} {process.Id}",
95 readStandardHandles: true,
96 noShellExecute: true))
97 {
@@ -158,7 +158,7 @@ $(function() {
99 exitCode = (await gcoreProc.Lifetime).Value;
100
101 output = await gcoreProc.GetCombinedOutput(cancellationToken);
-
102 logger.LogDebug("gcore output:{0}{1}", Environment.NewLine, output);
+
102 logger.LogDebug("gcore output:{newline}{output}", Environment.NewLine, output);
103 }
104
105 if (exitCode != 0)
@@ -178,11 +178,11 @@ $(function() {
void SuspendProcess(global::System.Diagnostics.Process process)
Suspend a given process .
readonly IIOManager ioManager
The IIOManager for the PosixProcessFeatures.
readonly Lazy< IProcessExecutor > lazyLoadedProcessExecutor
Lazy<T> loaded IProcessExecutor.
+
async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file for a given process . A ValueTask representing the running operation.
void ResumeProcess(global::System.Diagnostics.Process process)
Resume a given suspended Process.
PosixProcessFeatures(Lazy< IProcessExecutor > lazyLoadedProcessExecutor, IIOManager ioManager, ILogger< PosixProcessFeatures > logger)
Initializes a new instance of the PosixProcessFeatures class.
readonly ILogger< PosixProcessFeatures > logger
The ILogger<TCategoryName> for the PosixProcessFeatures.
string GetExecutingUsername(global::System.Diagnostics.Process process)
Get the name of the user executing a given process . The name of the user executing process .
-
async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken)
Create a dump file for a given process . A ValueTask representing the running operation.
Interface for using filesystems.
Definition: IIOManager.cs:13
Task MoveFile(string source, string destination, CancellationToken cancellationToken)
Moves a file at source to destination .
Task< bool > FileExists(string path, CancellationToken cancellationToken)
Check that the file at path exists.
diff --git a/_postgres_sql_database_context_model_snapshot_8cs_source.html b/_postgres_sql_database_context_model_snapshot_8cs_source.html index 53ae7ce712..157a3e17de 100644 --- a/_postgres_sql_database_context_model_snapshot_8cs_source.html +++ b/_postgres_sql_database_context_model_snapshot_8cs_source.html @@ -92,7 +92,7 @@ $(function() {
13 {
14#pragma warning disable 612, 618
15 modelBuilder
-
16 .HasAnnotation("ProductVersion", "8.0.0")
+
16 .HasAnnotation("ProductVersion", "8.0.1")
17 .HasAnnotation("Relational:MaxIdentifierLength", 63);
18
19 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -288,862 +288,866 @@ $(function() {
209 b.Property<long>("MapThreads")
210 .HasColumnType("bigint");
211
-
212 b.Property<int>("Port")
-
213 .HasColumnType("integer");
-
214
-
215 b.Property<int>("SecurityLevel")
-
216 .HasColumnType("integer");
-
217
-
218 b.Property<bool?>("StartProfiler")
-
219 .IsRequired()
-
220 .HasColumnType("boolean");
+
212 b.Property<bool?>("Minidumps")
+
213 .IsRequired()
+
214 .HasColumnType("boolean");
+
215
+
216 b.Property<int>("Port")
+
217 .HasColumnType("integer");
+
218
+
219 b.Property<int>("SecurityLevel")
+
220 .HasColumnType("integer");
221
-
222 b.Property<long>("StartupTimeout")
-
223 .HasColumnType("bigint");
-
224
-
225 b.Property<long>("TopicRequestTimeout")
-
226 .HasColumnType("bigint");
-
227
-
228 b.Property<int>("Visibility")
-
229 .HasColumnType("integer");
-
230
-
231 b.HasKey("Id");
-
232
-
233 b.HasIndex("InstanceId")
-
234 .IsUnique();
-
235
-
236 b.ToTable("DreamDaemonSettings");
-
237 });
-
238
-
239 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
240 {
-
241 b.Property<long>("Id")
-
242 .ValueGeneratedOnAdd()
-
243 .HasColumnType("bigint");
-
244
-
245 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
246
-
247 b.Property<int>("ApiValidationPort")
-
248 .HasColumnType("integer");
-
249
-
250 b.Property<int>("ApiValidationSecurityLevel")
-
251 .HasColumnType("integer");
-
252
-
253 b.Property<long>("InstanceId")
-
254 .HasColumnType("bigint");
-
255
-
256 b.Property<string>("ProjectName")
-
257 .HasMaxLength(10000)
-
258 .HasColumnType("character varying(10000)");
+
222 b.Property<bool?>("StartProfiler")
+
223 .IsRequired()
+
224 .HasColumnType("boolean");
+
225
+
226 b.Property<long>("StartupTimeout")
+
227 .HasColumnType("bigint");
+
228
+
229 b.Property<long>("TopicRequestTimeout")
+
230 .HasColumnType("bigint");
+
231
+
232 b.Property<int>("Visibility")
+
233 .HasColumnType("integer");
+
234
+
235 b.HasKey("Id");
+
236
+
237 b.HasIndex("InstanceId")
+
238 .IsUnique();
+
239
+
240 b.ToTable("DreamDaemonSettings");
+
241 });
+
242
+
243 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
244 {
+
245 b.Property<long>("Id")
+
246 .ValueGeneratedOnAdd()
+
247 .HasColumnType("bigint");
+
248
+
249 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
250
+
251 b.Property<int>("ApiValidationPort")
+
252 .HasColumnType("integer");
+
253
+
254 b.Property<int>("ApiValidationSecurityLevel")
+
255 .HasColumnType("integer");
+
256
+
257 b.Property<long>("InstanceId")
+
258 .HasColumnType("bigint");
259
-
260 b.Property<bool?>("RequireDMApiValidation")
-
261 .IsRequired()
-
262 .HasColumnType("boolean");
+
260 b.Property<string>("ProjectName")
+
261 .HasMaxLength(10000)
+
262 .HasColumnType("character varying(10000)");
263
-
264 b.Property<TimeSpan?>("Timeout")
+
264 b.Property<bool?>("RequireDMApiValidation")
265 .IsRequired()
-
266 .HasColumnType("interval");
+
266 .HasColumnType("boolean");
267
-
268 b.HasKey("Id");
-
269
-
270 b.HasIndex("InstanceId")
-
271 .IsUnique();
-
272
-
273 b.ToTable("DreamMakerSettings");
-
274 });
-
275
-
276 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
277 {
-
278 b.Property<long?>("Id")
-
279 .ValueGeneratedOnAdd()
-
280 .HasColumnType("bigint");
-
281
-
282 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
-
283
-
284 b.Property<long>("AutoUpdateInterval")
-
285 .HasColumnType("bigint");
-
286
-
287 b.Property<int>("ChatBotLimit")
-
288 .HasColumnType("integer");
-
289
-
290 b.Property<int>("ConfigurationType")
-
291 .HasColumnType("integer");
-
292
-
293 b.Property<string>("Name")
-
294 .IsRequired()
-
295 .HasMaxLength(100)
-
296 .HasColumnType("character varying(100)");
-
297
-
298 b.Property<bool?>("Online")
-
299 .IsRequired()
-
300 .HasColumnType("boolean");
+
268 b.Property<TimeSpan?>("Timeout")
+
269 .IsRequired()
+
270 .HasColumnType("interval");
+
271
+
272 b.HasKey("Id");
+
273
+
274 b.HasIndex("InstanceId")
+
275 .IsUnique();
+
276
+
277 b.ToTable("DreamMakerSettings");
+
278 });
+
279
+
280 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
281 {
+
282 b.Property<long?>("Id")
+
283 .ValueGeneratedOnAdd()
+
284 .HasColumnType("bigint");
+
285
+
286 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
287
+
288 b.Property<long>("AutoUpdateInterval")
+
289 .HasColumnType("bigint");
+
290
+
291 b.Property<int>("ChatBotLimit")
+
292 .HasColumnType("integer");
+
293
+
294 b.Property<int>("ConfigurationType")
+
295 .HasColumnType("integer");
+
296
+
297 b.Property<string>("Name")
+
298 .IsRequired()
+
299 .HasMaxLength(100)
+
300 .HasColumnType("character varying(100)");
301
-
302 b.Property<string>("Path")
+
302 b.Property<bool?>("Online")
303 .IsRequired()
-
304 .HasColumnType("text");
+
304 .HasColumnType("boolean");
305
-
306 b.Property<string>("SwarmIdentifer")
-
307 .HasColumnType("text");
-
308
-
309 b.HasKey("Id");
-
310
-
311 b.HasIndex("Path", "SwarmIdentifer")
-
312 .IsUnique();
-
313
-
314 b.ToTable("Instances");
-
315 });
-
316
-
317 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
318 {
-
319 b.Property<long>("Id")
-
320 .ValueGeneratedOnAdd()
-
321 .HasColumnType("bigint");
-
322
-
323 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
324
-
325 b.Property<decimal>("ChatBotRights")
-
326 .HasColumnType("numeric(20,0)");
-
327
-
328 b.Property<decimal>("ConfigurationRights")
-
329 .HasColumnType("numeric(20,0)");
-
330
-
331 b.Property<decimal>("DreamDaemonRights")
-
332 .HasColumnType("numeric(20,0)");
-
333
-
334 b.Property<decimal>("DreamMakerRights")
-
335 .HasColumnType("numeric(20,0)");
-
336
-
337 b.Property<decimal>("EngineRights")
-
338 .HasColumnType("numeric(20,0)");
-
339
-
340 b.Property<long>("InstanceId")
-
341 .HasColumnType("bigint");
-
342
-
343 b.Property<decimal>("InstancePermissionSetRights")
-
344 .HasColumnType("numeric(20,0)");
-
345
-
346 b.Property<long>("PermissionSetId")
-
347 .HasColumnType("bigint");
-
348
-
349 b.Property<decimal>("RepositoryRights")
-
350 .HasColumnType("numeric(20,0)");
-
351
-
352 b.HasKey("Id");
-
353
-
354 b.HasIndex("InstanceId");
+
306 b.Property<string>("Path")
+
307 .IsRequired()
+
308 .HasColumnType("text");
+
309
+
310 b.Property<string>("SwarmIdentifer")
+
311 .HasColumnType("text");
+
312
+
313 b.HasKey("Id");
+
314
+
315 b.HasIndex("Path", "SwarmIdentifer")
+
316 .IsUnique();
+
317
+
318 b.ToTable("Instances");
+
319 });
+
320
+
321 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
322 {
+
323 b.Property<long>("Id")
+
324 .ValueGeneratedOnAdd()
+
325 .HasColumnType("bigint");
+
326
+
327 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
328
+
329 b.Property<decimal>("ChatBotRights")
+
330 .HasColumnType("numeric(20,0)");
+
331
+
332 b.Property<decimal>("ConfigurationRights")
+
333 .HasColumnType("numeric(20,0)");
+
334
+
335 b.Property<decimal>("DreamDaemonRights")
+
336 .HasColumnType("numeric(20,0)");
+
337
+
338 b.Property<decimal>("DreamMakerRights")
+
339 .HasColumnType("numeric(20,0)");
+
340
+
341 b.Property<decimal>("EngineRights")
+
342 .HasColumnType("numeric(20,0)");
+
343
+
344 b.Property<long>("InstanceId")
+
345 .HasColumnType("bigint");
+
346
+
347 b.Property<decimal>("InstancePermissionSetRights")
+
348 .HasColumnType("numeric(20,0)");
+
349
+
350 b.Property<long>("PermissionSetId")
+
351 .HasColumnType("bigint");
+
352
+
353 b.Property<decimal>("RepositoryRights")
+
354 .HasColumnType("numeric(20,0)");
355
-
356 b.HasIndex("PermissionSetId", "InstanceId")
-
357 .IsUnique();
-
358
-
359 b.ToTable("InstancePermissionSets");
-
360 });
-
361
-
362 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
363 {
-
364 b.Property<long?>("Id")
-
365 .ValueGeneratedOnAdd()
-
366 .HasColumnType("bigint");
-
367
-
368 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
-
369
-
370 b.Property<decimal?>("CancelRight")
-
371 .HasColumnType("numeric(20,0)");
-
372
-
373 b.Property<decimal?>("CancelRightsType")
-
374 .HasColumnType("numeric(20,0)");
-
375
-
376 b.Property<bool?>("Cancelled")
-
377 .IsRequired()
-
378 .HasColumnType("boolean");
+
356 b.HasKey("Id");
+
357
+
358 b.HasIndex("InstanceId");
+
359
+
360 b.HasIndex("PermissionSetId", "InstanceId")
+
361 .IsUnique();
+
362
+
363 b.ToTable("InstancePermissionSets");
+
364 });
+
365
+
366 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
367 {
+
368 b.Property<long?>("Id")
+
369 .ValueGeneratedOnAdd()
+
370 .HasColumnType("bigint");
+
371
+
372 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
373
+
374 b.Property<decimal?>("CancelRight")
+
375 .HasColumnType("numeric(20,0)");
+
376
+
377 b.Property<decimal?>("CancelRightsType")
+
378 .HasColumnType("numeric(20,0)");
379
-
380 b.Property<long?>("CancelledById")
-
381 .HasColumnType("bigint");
-
382
-
383 b.Property<string>("Description")
-
384 .IsRequired()
-
385 .HasColumnType("text");
+
380 b.Property<bool?>("Cancelled")
+
381 .IsRequired()
+
382 .HasColumnType("boolean");
+
383
+
384 b.Property<long?>("CancelledById")
+
385 .HasColumnType("bigint");
386
-
387 b.Property<long?>("ErrorCode")
-
388 .HasColumnType("bigint");
-
389
-
390 b.Property<string>("ExceptionDetails")
-
391 .HasColumnType("text");
-
392
-
393 b.Property<long>("InstanceId")
-
394 .HasColumnType("bigint");
-
395
-
396 b.Property<byte>("JobCode")
-
397 .HasColumnType("smallint");
-
398
-
399 b.Property<DateTimeOffset?>("StartedAt")
-
400 .IsRequired()
-
401 .HasColumnType("timestamp with time zone");
+
387 b.Property<string>("Description")
+
388 .IsRequired()
+
389 .HasColumnType("text");
+
390
+
391 b.Property<long?>("ErrorCode")
+
392 .HasColumnType("bigint");
+
393
+
394 b.Property<string>("ExceptionDetails")
+
395 .HasColumnType("text");
+
396
+
397 b.Property<long>("InstanceId")
+
398 .HasColumnType("bigint");
+
399
+
400 b.Property<byte>("JobCode")
+
401 .HasColumnType("smallint");
402
-
403 b.Property<long>("StartedById")
-
404 .HasColumnType("bigint");
-
405
-
406 b.Property<DateTimeOffset?>("StoppedAt")
-
407 .HasColumnType("timestamp with time zone");
-
408
-
409 b.HasKey("Id");
-
410
-
411 b.HasIndex("CancelledById");
+
403 b.Property<DateTimeOffset?>("StartedAt")
+
404 .IsRequired()
+
405 .HasColumnType("timestamp with time zone");
+
406
+
407 b.Property<long>("StartedById")
+
408 .HasColumnType("bigint");
+
409
+
410 b.Property<DateTimeOffset?>("StoppedAt")
+
411 .HasColumnType("timestamp with time zone");
412
-
413 b.HasIndex("InstanceId");
+
413 b.HasKey("Id");
414
-
415 b.HasIndex("StartedById");
+
415 b.HasIndex("CancelledById");
416
-
417 b.ToTable("Jobs");
-
418 });
-
419
-
420 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
421 {
-
422 b.Property<long>("Id")
-
423 .ValueGeneratedOnAdd()
-
424 .HasColumnType("bigint");
-
425
-
426 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
427
-
428 b.Property<string>("ExternalUserId")
-
429 .IsRequired()
-
430 .HasMaxLength(100)
-
431 .HasColumnType("character varying(100)");
-
432
-
433 b.Property<int>("Provider")
-
434 .HasColumnType("integer");
-
435
-
436 b.Property<long?>("UserId")
-
437 .HasColumnType("bigint");
-
438
-
439 b.HasKey("Id");
-
440
-
441 b.HasIndex("UserId");
+
417 b.HasIndex("InstanceId");
+
418
+
419 b.HasIndex("StartedById");
+
420
+
421 b.ToTable("Jobs");
+
422 });
+
423
+
424 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
425 {
+
426 b.Property<long>("Id")
+
427 .ValueGeneratedOnAdd()
+
428 .HasColumnType("bigint");
+
429
+
430 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
431
+
432 b.Property<string>("ExternalUserId")
+
433 .IsRequired()
+
434 .HasMaxLength(100)
+
435 .HasColumnType("character varying(100)");
+
436
+
437 b.Property<int>("Provider")
+
438 .HasColumnType("integer");
+
439
+
440 b.Property<long?>("UserId")
+
441 .HasColumnType("bigint");
442
-
443 b.HasIndex("Provider", "ExternalUserId")
-
444 .IsUnique();
-
445
-
446 b.ToTable("OAuthConnections");
-
447 });
-
448
-
449 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
450 {
-
451 b.Property<long?>("Id")
-
452 .ValueGeneratedOnAdd()
-
453 .HasColumnType("bigint");
-
454
-
455 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
-
456
-
457 b.Property<decimal>("AdministrationRights")
-
458 .HasColumnType("numeric(20,0)");
-
459
-
460 b.Property<long?>("GroupId")
-
461 .HasColumnType("bigint");
-
462
-
463 b.Property<decimal>("InstanceManagerRights")
-
464 .HasColumnType("numeric(20,0)");
-
465
-
466 b.Property<long?>("UserId")
-
467 .HasColumnType("bigint");
-
468
-
469 b.HasKey("Id");
-
470
-
471 b.HasIndex("GroupId")
-
472 .IsUnique();
-
473
-
474 b.HasIndex("UserId")
-
475 .IsUnique();
-
476
-
477 b.ToTable("PermissionSets");
-
478 });
-
479
-
480 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
481 {
-
482 b.Property<long?>("Id")
-
483 .ValueGeneratedOnAdd()
-
484 .HasColumnType("bigint");
-
485
-
486 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
-
487
-
488 b.Property<string>("AccessIdentifier")
-
489 .IsRequired()
-
490 .HasColumnType("text");
+
443 b.HasKey("Id");
+
444
+
445 b.HasIndex("UserId");
+
446
+
447 b.HasIndex("Provider", "ExternalUserId")
+
448 .IsUnique();
+
449
+
450 b.ToTable("OAuthConnections");
+
451 });
+
452
+
453 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
454 {
+
455 b.Property<long?>("Id")
+
456 .ValueGeneratedOnAdd()
+
457 .HasColumnType("bigint");
+
458
+
459 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
460
+
461 b.Property<decimal>("AdministrationRights")
+
462 .HasColumnType("numeric(20,0)");
+
463
+
464 b.Property<long?>("GroupId")
+
465 .HasColumnType("bigint");
+
466
+
467 b.Property<decimal>("InstanceManagerRights")
+
468 .HasColumnType("numeric(20,0)");
+
469
+
470 b.Property<long?>("UserId")
+
471 .HasColumnType("bigint");
+
472
+
473 b.HasKey("Id");
+
474
+
475 b.HasIndex("GroupId")
+
476 .IsUnique();
+
477
+
478 b.HasIndex("UserId")
+
479 .IsUnique();
+
480
+
481 b.ToTable("PermissionSets");
+
482 });
+
483
+
484 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
485 {
+
486 b.Property<long?>("Id")
+
487 .ValueGeneratedOnAdd()
+
488 .HasColumnType("bigint");
+
489
+
490 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
491
-
492 b.Property<long>("CompileJobId")
-
493 .HasColumnType("bigint");
-
494
-
495 b.Property<long?>("InitialCompileJobId")
-
496 .HasColumnType("bigint");
-
497
-
498 b.Property<int>("LaunchSecurityLevel")
-
499 .HasColumnType("integer");
-
500
-
501 b.Property<int>("LaunchVisibility")
-
502 .HasColumnType("integer");
-
503
-
504 b.Property<int>("Port")
-
505 .HasColumnType("integer");
-
506
-
507 b.Property<int>("ProcessId")
-
508 .HasColumnType("integer");
-
509
-
510 b.Property<int>("RebootState")
-
511 .HasColumnType("integer");
-
512
-
513 b.Property<int?>("TopicPort")
-
514 .HasColumnType("integer");
-
515
-
516 b.HasKey("Id");
-
517
-
518 b.HasIndex("CompileJobId");
+
492 b.Property<string>("AccessIdentifier")
+
493 .IsRequired()
+
494 .HasColumnType("text");
+
495
+
496 b.Property<long>("CompileJobId")
+
497 .HasColumnType("bigint");
+
498
+
499 b.Property<long?>("InitialCompileJobId")
+
500 .HasColumnType("bigint");
+
501
+
502 b.Property<int>("LaunchSecurityLevel")
+
503 .HasColumnType("integer");
+
504
+
505 b.Property<int>("LaunchVisibility")
+
506 .HasColumnType("integer");
+
507
+
508 b.Property<int>("Port")
+
509 .HasColumnType("integer");
+
510
+
511 b.Property<int>("ProcessId")
+
512 .HasColumnType("integer");
+
513
+
514 b.Property<int>("RebootState")
+
515 .HasColumnType("integer");
+
516
+
517 b.Property<int?>("TopicPort")
+
518 .HasColumnType("integer");
519
-
520 b.HasIndex("InitialCompileJobId");
+
520 b.HasKey("Id");
521
-
522 b.ToTable("ReattachInformations");
-
523 });
-
524
-
525 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
526 {
-
527 b.Property<long>("Id")
-
528 .ValueGeneratedOnAdd()
-
529 .HasColumnType("bigint");
-
530
-
531 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
532
-
533 b.Property<string>("AccessToken")
-
534 .HasMaxLength(10000)
-
535 .HasColumnType("character varying(10000)");
+
522 b.HasIndex("CompileJobId");
+
523
+
524 b.HasIndex("InitialCompileJobId");
+
525
+
526 b.ToTable("ReattachInformations");
+
527 });
+
528
+
529 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
530 {
+
531 b.Property<long>("Id")
+
532 .ValueGeneratedOnAdd()
+
533 .HasColumnType("bigint");
+
534
+
535 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
536
-
537 b.Property<string>("AccessUser")
+
537 b.Property<string>("AccessToken")
538 .HasMaxLength(10000)
539 .HasColumnType("character varying(10000)");
540
-
541 b.Property<bool?>("AutoUpdatesKeepTestMerges")
-
542 .IsRequired()
-
543 .HasColumnType("boolean");
+
541 b.Property<string>("AccessUser")
+
542 .HasMaxLength(10000)
+
543 .HasColumnType("character varying(10000)");
544
-
545 b.Property<bool?>("AutoUpdatesSynchronize")
+
545 b.Property<bool?>("AutoUpdatesKeepTestMerges")
546 .IsRequired()
547 .HasColumnType("boolean");
548
-
549 b.Property<string>("CommitterEmail")
+
549 b.Property<bool?>("AutoUpdatesSynchronize")
550 .IsRequired()
-
551 .HasMaxLength(10000)
-
552 .HasColumnType("character varying(10000)");
-
553
-
554 b.Property<string>("CommitterName")
-
555 .IsRequired()
-
556 .HasMaxLength(10000)
-
557 .HasColumnType("character varying(10000)");
-
558
-
559 b.Property<bool?>("CreateGitHubDeployments")
-
560 .IsRequired()
-
561 .HasColumnType("boolean");
+
551 .HasColumnType("boolean");
+
552
+
553 b.Property<string>("CommitterEmail")
+
554 .IsRequired()
+
555 .HasMaxLength(10000)
+
556 .HasColumnType("character varying(10000)");
+
557
+
558 b.Property<string>("CommitterName")
+
559 .IsRequired()
+
560 .HasMaxLength(10000)
+
561 .HasColumnType("character varying(10000)");
562
-
563 b.Property<long>("InstanceId")
-
564 .HasColumnType("bigint");
-
565
-
566 b.Property<bool?>("PostTestMergeComment")
-
567 .IsRequired()
-
568 .HasColumnType("boolean");
+
563 b.Property<bool?>("CreateGitHubDeployments")
+
564 .IsRequired()
+
565 .HasColumnType("boolean");
+
566
+
567 b.Property<long>("InstanceId")
+
568 .HasColumnType("bigint");
569
-
570 b.Property<bool?>("PushTestMergeCommits")
+
570 b.Property<bool?>("PostTestMergeComment")
571 .IsRequired()
572 .HasColumnType("boolean");
573
-
574 b.Property<bool?>("ShowTestMergeCommitters")
+
574 b.Property<bool?>("PushTestMergeCommits")
575 .IsRequired()
576 .HasColumnType("boolean");
577
-
578 b.Property<bool?>("UpdateSubmodules")
+
578 b.Property<bool?>("ShowTestMergeCommitters")
579 .IsRequired()
580 .HasColumnType("boolean");
581
-
582 b.HasKey("Id");
-
583
-
584 b.HasIndex("InstanceId")
-
585 .IsUnique();
-
586
-
587 b.ToTable("RepositorySettings");
-
588 });
-
589
-
590 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
591 {
-
592 b.Property<long>("Id")
-
593 .ValueGeneratedOnAdd()
-
594 .HasColumnType("bigint");
-
595
-
596 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
597
-
598 b.Property<long>("RevisionInformationId")
-
599 .HasColumnType("bigint");
-
600
-
601 b.Property<long>("TestMergeId")
-
602 .HasColumnType("bigint");
-
603
-
604 b.HasKey("Id");
-
605
-
606 b.HasIndex("RevisionInformationId");
+
582 b.Property<bool?>("UpdateSubmodules")
+
583 .IsRequired()
+
584 .HasColumnType("boolean");
+
585
+
586 b.HasKey("Id");
+
587
+
588 b.HasIndex("InstanceId")
+
589 .IsUnique();
+
590
+
591 b.ToTable("RepositorySettings");
+
592 });
+
593
+
594 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
595 {
+
596 b.Property<long>("Id")
+
597 .ValueGeneratedOnAdd()
+
598 .HasColumnType("bigint");
+
599
+
600 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
601
+
602 b.Property<long>("RevisionInformationId")
+
603 .HasColumnType("bigint");
+
604
+
605 b.Property<long>("TestMergeId")
+
606 .HasColumnType("bigint");
607
-
608 b.HasIndex("TestMergeId");
+
608 b.HasKey("Id");
609
-
610 b.ToTable("RevInfoTestMerges");
-
611 });
-
612
-
613 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
614 {
-
615 b.Property<long>("Id")
-
616 .ValueGeneratedOnAdd()
-
617 .HasColumnType("bigint");
-
618
-
619 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
620
-
621 b.Property<string>("CommitSha")
-
622 .IsRequired()
-
623 .HasMaxLength(40)
-
624 .HasColumnType("character varying(40)");
-
625
-
626 b.Property<long>("InstanceId")
-
627 .HasColumnType("bigint");
-
628
-
629 b.Property<string>("OriginCommitSha")
-
630 .IsRequired()
-
631 .HasMaxLength(40)
-
632 .HasColumnType("character varying(40)");
-
633
-
634 b.Property<DateTimeOffset>("Timestamp")
-
635 .HasColumnType("timestamp with time zone");
-
636
-
637 b.HasKey("Id");
-
638
-
639 b.HasIndex("InstanceId", "CommitSha")
-
640 .IsUnique();
-
641
-
642 b.ToTable("RevisionInformations");
-
643 });
-
644
-
645 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
646 {
-
647 b.Property<long>("Id")
-
648 .ValueGeneratedOnAdd()
-
649 .HasColumnType("bigint");
-
650
-
651 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
-
652
-
653 b.Property<string>("Author")
-
654 .IsRequired()
-
655 .HasColumnType("text");
+
610 b.HasIndex("RevisionInformationId");
+
611
+
612 b.HasIndex("TestMergeId");
+
613
+
614 b.ToTable("RevInfoTestMerges");
+
615 });
+
616
+
617 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
618 {
+
619 b.Property<long>("Id")
+
620 .ValueGeneratedOnAdd()
+
621 .HasColumnType("bigint");
+
622
+
623 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
624
+
625 b.Property<string>("CommitSha")
+
626 .IsRequired()
+
627 .HasMaxLength(40)
+
628 .HasColumnType("character varying(40)");
+
629
+
630 b.Property<long>("InstanceId")
+
631 .HasColumnType("bigint");
+
632
+
633 b.Property<string>("OriginCommitSha")
+
634 .IsRequired()
+
635 .HasMaxLength(40)
+
636 .HasColumnType("character varying(40)");
+
637
+
638 b.Property<DateTimeOffset>("Timestamp")
+
639 .HasColumnType("timestamp with time zone");
+
640
+
641 b.HasKey("Id");
+
642
+
643 b.HasIndex("InstanceId", "CommitSha")
+
644 .IsUnique();
+
645
+
646 b.ToTable("RevisionInformations");
+
647 });
+
648
+
649 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
650 {
+
651 b.Property<long>("Id")
+
652 .ValueGeneratedOnAdd()
+
653 .HasColumnType("bigint");
+
654
+
655 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
656
-
657 b.Property<string>("BodyAtMerge")
+
657 b.Property<string>("Author")
658 .IsRequired()
659 .HasColumnType("text");
660
-
661 b.Property<string>("Comment")
-
662 .HasMaxLength(10000)
-
663 .HasColumnType("character varying(10000)");
+
661 b.Property<string>("BodyAtMerge")
+
662 .IsRequired()
+
663 .HasColumnType("text");
664
-
665 b.Property<DateTimeOffset>("MergedAt")
-
666 .HasColumnType("timestamp with time zone");
-
667
-
668 b.Property<long>("MergedById")
-
669 .HasColumnType("bigint");
-
670
-
671 b.Property<int>("Number")
-
672 .HasColumnType("integer");
-
673
-
674 b.Property<long?>("PrimaryRevisionInformationId")
-
675 .IsRequired()
-
676 .HasColumnType("bigint");
+
665 b.Property<string>("Comment")
+
666 .HasMaxLength(10000)
+
667 .HasColumnType("character varying(10000)");
+
668
+
669 b.Property<DateTimeOffset>("MergedAt")
+
670 .HasColumnType("timestamp with time zone");
+
671
+
672 b.Property<long>("MergedById")
+
673 .HasColumnType("bigint");
+
674
+
675 b.Property<int>("Number")
+
676 .HasColumnType("integer");
677
-
678 b.Property<string>("TargetCommitSha")
+
678 b.Property<long?>("PrimaryRevisionInformationId")
679 .IsRequired()
-
680 .HasMaxLength(40)
-
681 .HasColumnType("character varying(40)");
-
682
-
683 b.Property<string>("TitleAtMerge")
-
684 .IsRequired()
-
685 .HasColumnType("text");
+
680 .HasColumnType("bigint");
+
681
+
682 b.Property<string>("TargetCommitSha")
+
683 .IsRequired()
+
684 .HasMaxLength(40)
+
685 .HasColumnType("character varying(40)");
686
-
687 b.Property<string>("Url")
+
687 b.Property<string>("TitleAtMerge")
688 .IsRequired()
689 .HasColumnType("text");
690
-
691 b.HasKey("Id");
-
692
-
693 b.HasIndex("MergedById");
+
691 b.Property<string>("Url")
+
692 .IsRequired()
+
693 .HasColumnType("text");
694
-
695 b.HasIndex("PrimaryRevisionInformationId")
-
696 .IsUnique();
-
697
-
698 b.ToTable("TestMerges");
-
699 });
-
700
-
701 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
702 {
-
703 b.Property<long?>("Id")
-
704 .ValueGeneratedOnAdd()
-
705 .HasColumnType("bigint");
-
706
-
707 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
-
708
-
709 b.Property<string>("CanonicalName")
-
710 .IsRequired()
-
711 .HasMaxLength(100)
-
712 .HasColumnType("character varying(100)");
-
713
-
714 b.Property<DateTimeOffset?>("CreatedAt")
-
715 .IsRequired()
-
716 .HasColumnType("timestamp with time zone");
+
695 b.HasKey("Id");
+
696
+
697 b.HasIndex("MergedById");
+
698
+
699 b.HasIndex("PrimaryRevisionInformationId")
+
700 .IsUnique();
+
701
+
702 b.ToTable("TestMerges");
+
703 });
+
704
+
705 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
706 {
+
707 b.Property<long?>("Id")
+
708 .ValueGeneratedOnAdd()
+
709 .HasColumnType("bigint");
+
710
+
711 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
712
+
713 b.Property<string>("CanonicalName")
+
714 .IsRequired()
+
715 .HasMaxLength(100)
+
716 .HasColumnType("character varying(100)");
717
-
718 b.Property<long?>("CreatedById")
-
719 .HasColumnType("bigint");
-
720
-
721 b.Property<bool?>("Enabled")
-
722 .IsRequired()
-
723 .HasColumnType("boolean");
+
718 b.Property<DateTimeOffset?>("CreatedAt")
+
719 .IsRequired()
+
720 .HasColumnType("timestamp with time zone");
+
721
+
722 b.Property<long?>("CreatedById")
+
723 .HasColumnType("bigint");
724
-
725 b.Property<long?>("GroupId")
-
726 .HasColumnType("bigint");
-
727
-
728 b.Property<DateTimeOffset?>("LastPasswordUpdate")
-
729 .HasColumnType("timestamp with time zone");
-
730
-
731 b.Property<string>("Name")
-
732 .IsRequired()
-
733 .HasMaxLength(100)
-
734 .HasColumnType("character varying(100)");
-
735
-
736 b.Property<string>("PasswordHash")
-
737 .HasColumnType("text");
-
738
-
739 b.Property<string>("SystemIdentifier")
-
740 .HasMaxLength(100)
-
741 .HasColumnType("character varying(100)");
+
725 b.Property<bool?>("Enabled")
+
726 .IsRequired()
+
727 .HasColumnType("boolean");
+
728
+
729 b.Property<long?>("GroupId")
+
730 .HasColumnType("bigint");
+
731
+
732 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
733 .HasColumnType("timestamp with time zone");
+
734
+
735 b.Property<string>("Name")
+
736 .IsRequired()
+
737 .HasMaxLength(100)
+
738 .HasColumnType("character varying(100)");
+
739
+
740 b.Property<string>("PasswordHash")
+
741 .HasColumnType("text");
742
-
743 b.HasKey("Id");
-
744
-
745 b.HasIndex("CanonicalName")
-
746 .IsUnique();
-
747
-
748 b.HasIndex("CreatedById");
-
749
-
750 b.HasIndex("GroupId");
+
743 b.Property<string>("SystemIdentifier")
+
744 .HasMaxLength(100)
+
745 .HasColumnType("character varying(100)");
+
746
+
747 b.HasKey("Id");
+
748
+
749 b.HasIndex("CanonicalName")
+
750 .IsUnique();
751
-
752 b.HasIndex("SystemIdentifier")
-
753 .IsUnique();
-
754
-
755 b.ToTable("Users");
-
756 });
-
757
-
758 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
759 {
-
760 b.Property<long?>("Id")
-
761 .ValueGeneratedOnAdd()
-
762 .HasColumnType("bigint");
-
763
-
764 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
-
765
-
766 b.Property<string>("Name")
-
767 .IsRequired()
-
768 .HasMaxLength(100)
-
769 .HasColumnType("character varying(100)");
-
770
-
771 b.HasKey("Id");
-
772
-
773 b.HasIndex("Name")
-
774 .IsUnique();
-
775
-
776 b.ToTable("Groups");
-
777 });
-
778
-
779 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
780 {
-
781 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
782 .WithMany("ChatSettings")
-
783 .HasForeignKey("InstanceId")
-
784 .OnDelete(DeleteBehavior.Cascade)
-
785 .IsRequired();
-
786
-
787 b.Navigation("Instance");
-
788 });
-
789
-
790 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
-
791 {
-
792 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
-
793 .WithMany("Channels")
-
794 .HasForeignKey("ChatSettingsId")
-
795 .OnDelete(DeleteBehavior.Cascade)
-
796 .IsRequired();
-
797
-
798 b.Navigation("ChatSettings");
-
799 });
-
800
-
801 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
-
802 {
-
803 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
-
804 .WithOne()
-
805 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
-
806 .OnDelete(DeleteBehavior.Cascade)
-
807 .IsRequired();
-
808
-
809 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
810 .WithMany("CompileJobs")
-
811 .HasForeignKey("RevisionInformationId")
-
812 .OnDelete(DeleteBehavior.Cascade)
-
813 .IsRequired();
-
814
-
815 b.Navigation("Job");
-
816
-
817 b.Navigation("RevisionInformation");
-
818 });
-
819
-
820 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
-
821 {
-
822 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
823 .WithOne("DreamDaemonSettings")
-
824 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
-
825 .OnDelete(DeleteBehavior.Cascade)
-
826 .IsRequired();
-
827
-
828 b.Navigation("Instance");
-
829 });
-
830
-
831 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
832 {
-
833 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
834 .WithOne("DreamMakerSettings")
-
835 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
-
836 .OnDelete(DeleteBehavior.Cascade)
-
837 .IsRequired();
-
838
-
839 b.Navigation("Instance");
-
840 });
-
841
-
842 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
843 {
-
844 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
845 .WithMany("InstancePermissionSets")
-
846 .HasForeignKey("InstanceId")
-
847 .OnDelete(DeleteBehavior.Cascade)
-
848 .IsRequired();
-
849
-
850 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
-
851 .WithMany("InstancePermissionSets")
-
852 .HasForeignKey("PermissionSetId")
-
853 .OnDelete(DeleteBehavior.Cascade)
-
854 .IsRequired();
-
855
-
856 b.Navigation("Instance");
-
857
-
858 b.Navigation("PermissionSet");
-
859 });
-
860
-
861 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
862 {
-
863 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
-
864 .WithMany()
-
865 .HasForeignKey("CancelledById");
-
866
-
867 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
868 .WithMany("Jobs")
-
869 .HasForeignKey("InstanceId")
-
870 .OnDelete(DeleteBehavior.Cascade)
-
871 .IsRequired();
-
872
-
873 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
-
874 .WithMany()
-
875 .HasForeignKey("StartedById")
-
876 .OnDelete(DeleteBehavior.Cascade)
-
877 .IsRequired();
-
878
-
879 b.Navigation("CancelledBy");
-
880
-
881 b.Navigation("Instance");
+
752 b.HasIndex("CreatedById");
+
753
+
754 b.HasIndex("GroupId");
+
755
+
756 b.HasIndex("SystemIdentifier")
+
757 .IsUnique();
+
758
+
759 b.ToTable("Users");
+
760 });
+
761
+
762 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
763 {
+
764 b.Property<long?>("Id")
+
765 .ValueGeneratedOnAdd()
+
766 .HasColumnType("bigint");
+
767
+
768 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long?>("Id"));
+
769
+
770 b.Property<string>("Name")
+
771 .IsRequired()
+
772 .HasMaxLength(100)
+
773 .HasColumnType("character varying(100)");
+
774
+
775 b.HasKey("Id");
+
776
+
777 b.HasIndex("Name")
+
778 .IsUnique();
+
779
+
780 b.ToTable("Groups");
+
781 });
+
782
+
783 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
784 {
+
785 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
786 .WithMany("ChatSettings")
+
787 .HasForeignKey("InstanceId")
+
788 .OnDelete(DeleteBehavior.Cascade)
+
789 .IsRequired();
+
790
+
791 b.Navigation("Instance");
+
792 });
+
793
+
794 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
795 {
+
796 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
797 .WithMany("Channels")
+
798 .HasForeignKey("ChatSettingsId")
+
799 .OnDelete(DeleteBehavior.Cascade)
+
800 .IsRequired();
+
801
+
802 b.Navigation("ChatSettings");
+
803 });
+
804
+
805 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
806 {
+
807 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
808 .WithOne()
+
809 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
810 .OnDelete(DeleteBehavior.Cascade)
+
811 .IsRequired();
+
812
+
813 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
814 .WithMany("CompileJobs")
+
815 .HasForeignKey("RevisionInformationId")
+
816 .OnDelete(DeleteBehavior.Cascade)
+
817 .IsRequired();
+
818
+
819 b.Navigation("Job");
+
820
+
821 b.Navigation("RevisionInformation");
+
822 });
+
823
+
824 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
825 {
+
826 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
827 .WithOne("DreamDaemonSettings")
+
828 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
829 .OnDelete(DeleteBehavior.Cascade)
+
830 .IsRequired();
+
831
+
832 b.Navigation("Instance");
+
833 });
+
834
+
835 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
836 {
+
837 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
838 .WithOne("DreamMakerSettings")
+
839 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
840 .OnDelete(DeleteBehavior.Cascade)
+
841 .IsRequired();
+
842
+
843 b.Navigation("Instance");
+
844 });
+
845
+
846 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
847 {
+
848 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
849 .WithMany("InstancePermissionSets")
+
850 .HasForeignKey("InstanceId")
+
851 .OnDelete(DeleteBehavior.Cascade)
+
852 .IsRequired();
+
853
+
854 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
855 .WithMany("InstancePermissionSets")
+
856 .HasForeignKey("PermissionSetId")
+
857 .OnDelete(DeleteBehavior.Cascade)
+
858 .IsRequired();
+
859
+
860 b.Navigation("Instance");
+
861
+
862 b.Navigation("PermissionSet");
+
863 });
+
864
+
865 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
866 {
+
867 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
868 .WithMany()
+
869 .HasForeignKey("CancelledById");
+
870
+
871 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
872 .WithMany("Jobs")
+
873 .HasForeignKey("InstanceId")
+
874 .OnDelete(DeleteBehavior.Cascade)
+
875 .IsRequired();
+
876
+
877 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
878 .WithMany()
+
879 .HasForeignKey("StartedById")
+
880 .OnDelete(DeleteBehavior.Cascade)
+
881 .IsRequired();
882
-
883 b.Navigation("StartedBy");
-
884 });
-
885
-
886 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
887 {
-
888 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
889 .WithMany("OAuthConnections")
-
890 .HasForeignKey("UserId")
-
891 .OnDelete(DeleteBehavior.Cascade);
-
892
-
893 b.Navigation("User");
-
894 });
-
895
-
896 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
897 {
-
898 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
899 .WithOne("PermissionSet")
-
900 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
-
901 .OnDelete(DeleteBehavior.Cascade);
-
902
-
903 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
904 .WithOne("PermissionSet")
-
905 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
-
906 .OnDelete(DeleteBehavior.Cascade);
-
907
-
908 b.Navigation("Group");
-
909
-
910 b.Navigation("User");
-
911 });
-
912
-
913 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
914 {
-
915 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
-
916 .WithMany()
-
917 .HasForeignKey("CompileJobId")
-
918 .OnDelete(DeleteBehavior.Cascade)
-
919 .IsRequired();
-
920
-
921 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
-
922 .WithMany()
-
923 .HasForeignKey("InitialCompileJobId");
+
883 b.Navigation("CancelledBy");
+
884
+
885 b.Navigation("Instance");
+
886
+
887 b.Navigation("StartedBy");
+
888 });
+
889
+
890 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
891 {
+
892 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
893 .WithMany("OAuthConnections")
+
894 .HasForeignKey("UserId")
+
895 .OnDelete(DeleteBehavior.Cascade);
+
896
+
897 b.Navigation("User");
+
898 });
+
899
+
900 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
901 {
+
902 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
903 .WithOne("PermissionSet")
+
904 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
905 .OnDelete(DeleteBehavior.Cascade);
+
906
+
907 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
908 .WithOne("PermissionSet")
+
909 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
910 .OnDelete(DeleteBehavior.Cascade);
+
911
+
912 b.Navigation("Group");
+
913
+
914 b.Navigation("User");
+
915 });
+
916
+
917 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
918 {
+
919 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
920 .WithMany()
+
921 .HasForeignKey("CompileJobId")
+
922 .OnDelete(DeleteBehavior.Cascade)
+
923 .IsRequired();
924
-
925 b.Navigation("CompileJob");
-
926
-
927 b.Navigation("InitialCompileJob");
-
928 });
-
929
-
930 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
931 {
-
932 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
933 .WithOne("RepositorySettings")
-
934 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
-
935 .OnDelete(DeleteBehavior.Cascade)
-
936 .IsRequired();
-
937
-
938 b.Navigation("Instance");
-
939 });
-
940
-
941 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
942 {
-
943 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
944 .WithMany("ActiveTestMerges")
-
945 .HasForeignKey("RevisionInformationId")
-
946 .OnDelete(DeleteBehavior.Cascade)
-
947 .IsRequired();
-
948
-
949 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
-
950 .WithMany("RevisonInformations")
-
951 .HasForeignKey("TestMergeId")
-
952 .OnDelete(DeleteBehavior.ClientNoAction)
-
953 .IsRequired();
-
954
-
955 b.Navigation("RevisionInformation");
-
956
-
957 b.Navigation("TestMerge");
-
958 });
-
959
-
960 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
961 {
-
962 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
963 .WithMany("RevisionInformations")
-
964 .HasForeignKey("InstanceId")
-
965 .OnDelete(DeleteBehavior.Cascade)
-
966 .IsRequired();
-
967
-
968 b.Navigation("Instance");
-
969 });
-
970
-
971 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
972 {
-
973 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
-
974 .WithMany("TestMerges")
-
975 .HasForeignKey("MergedById")
-
976 .OnDelete(DeleteBehavior.Restrict)
-
977 .IsRequired();
-
978
-
979 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
-
980 .WithOne("PrimaryTestMerge")
-
981 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
-
982 .OnDelete(DeleteBehavior.Cascade)
-
983 .IsRequired();
-
984
-
985 b.Navigation("MergedBy");
-
986
-
987 b.Navigation("PrimaryRevisionInformation");
-
988 });
-
989
-
990 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
991 {
-
992 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
-
993 .WithMany("CreatedUsers")
-
994 .HasForeignKey("CreatedById");
-
995
-
996 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
997 .WithMany("Users")
-
998 .HasForeignKey("GroupId");
+
925 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
926 .WithMany()
+
927 .HasForeignKey("InitialCompileJobId");
+
928
+
929 b.Navigation("CompileJob");
+
930
+
931 b.Navigation("InitialCompileJob");
+
932 });
+
933
+
934 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
935 {
+
936 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
937 .WithOne("RepositorySettings")
+
938 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
939 .OnDelete(DeleteBehavior.Cascade)
+
940 .IsRequired();
+
941
+
942 b.Navigation("Instance");
+
943 });
+
944
+
945 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
946 {
+
947 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
948 .WithMany("ActiveTestMerges")
+
949 .HasForeignKey("RevisionInformationId")
+
950 .OnDelete(DeleteBehavior.Cascade)
+
951 .IsRequired();
+
952
+
953 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
954 .WithMany("RevisonInformations")
+
955 .HasForeignKey("TestMergeId")
+
956 .OnDelete(DeleteBehavior.ClientNoAction)
+
957 .IsRequired();
+
958
+
959 b.Navigation("RevisionInformation");
+
960
+
961 b.Navigation("TestMerge");
+
962 });
+
963
+
964 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
965 {
+
966 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
967 .WithMany("RevisionInformations")
+
968 .HasForeignKey("InstanceId")
+
969 .OnDelete(DeleteBehavior.Cascade)
+
970 .IsRequired();
+
971
+
972 b.Navigation("Instance");
+
973 });
+
974
+
975 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
976 {
+
977 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
978 .WithMany("TestMerges")
+
979 .HasForeignKey("MergedById")
+
980 .OnDelete(DeleteBehavior.Restrict)
+
981 .IsRequired();
+
982
+
983 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
984 .WithOne("PrimaryTestMerge")
+
985 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
986 .OnDelete(DeleteBehavior.Cascade)
+
987 .IsRequired();
+
988
+
989 b.Navigation("MergedBy");
+
990
+
991 b.Navigation("PrimaryRevisionInformation");
+
992 });
+
993
+
994 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
995 {
+
996 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
997 .WithMany("CreatedUsers")
+
998 .HasForeignKey("CreatedById");
999
-
1000 b.Navigation("CreatedBy");
-
1001
-
1002 b.Navigation("Group");
-
1003 });
-
1004
-
1005 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
1006 {
-
1007 b.Navigation("Channels");
-
1008 });
-
1009
-
1010 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
1011 {
-
1012 b.Navigation("ChatSettings");
+
1000 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
1001 .WithMany("Users")
+
1002 .HasForeignKey("GroupId");
+
1003
+
1004 b.Navigation("CreatedBy");
+
1005
+
1006 b.Navigation("Group");
+
1007 });
+
1008
+
1009 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
1010 {
+
1011 b.Navigation("Channels");
+
1012 });
1013
-
1014 b.Navigation("DreamDaemonSettings");
-
1015
-
1016 b.Navigation("DreamMakerSettings");
+
1014 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
1015 {
+
1016 b.Navigation("ChatSettings");
1017
-
1018 b.Navigation("InstancePermissionSets");
+
1018 b.Navigation("DreamDaemonSettings");
1019
-
1020 b.Navigation("Jobs");
+
1020 b.Navigation("DreamMakerSettings");
1021
-
1022 b.Navigation("RepositorySettings");
+
1022 b.Navigation("InstancePermissionSets");
1023
-
1024 b.Navigation("RevisionInformations");
-
1025 });
-
1026
-
1027 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
1028 {
-
1029 b.Navigation("InstancePermissionSets");
-
1030 });
-
1031
-
1032 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
1033 {
-
1034 b.Navigation("ActiveTestMerges");
+
1024 b.Navigation("Jobs");
+
1025
+
1026 b.Navigation("RepositorySettings");
+
1027
+
1028 b.Navigation("RevisionInformations");
+
1029 });
+
1030
+
1031 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1032 {
+
1033 b.Navigation("InstancePermissionSets");
+
1034 });
1035
-
1036 b.Navigation("CompileJobs");
-
1037
-
1038 b.Navigation("PrimaryTestMerge");
-
1039 });
-
1040
-
1041 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
1042 {
-
1043 b.Navigation("RevisonInformations");
-
1044 });
-
1045
-
1046 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
1047 {
-
1048 b.Navigation("CreatedUsers");
+
1036 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1037 {
+
1038 b.Navigation("ActiveTestMerges");
+
1039
+
1040 b.Navigation("CompileJobs");
+
1041
+
1042 b.Navigation("PrimaryTestMerge");
+
1043 });
+
1044
+
1045 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1046 {
+
1047 b.Navigation("RevisonInformations");
+
1048 });
1049
-
1050 b.Navigation("OAuthConnections");
-
1051
-
1052 b.Navigation("PermissionSet");
+
1050 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1051 {
+
1052 b.Navigation("CreatedUsers");
1053
-
1054 b.Navigation("TestMerges");
-
1055 });
-
1056
-
1057 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
1058 {
-
1059 b.Navigation("PermissionSet")
-
1060 .IsRequired();
-
1061
-
1062 b.Navigation("Users");
-
1063 });
-
1064#pragma warning restore 612, 618
-
1065 }
-
1066 }
-
1067}
+
1054 b.Navigation("OAuthConnections");
+
1055
+
1056 b.Navigation("PermissionSet");
+
1057
+
1058 b.Navigation("TestMerges");
+
1059 });
+
1060
+
1061 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1062 {
+
1063 b.Navigation("PermissionSet")
+
1064 .IsRequired();
+
1065
+
1066 b.Navigation("Users");
+
1067 });
+
1068#pragma warning restore 612, 618
+
1069 }
+
1070 }
+
1071}
diff --git a/_process_8cs_source.html b/_process_8cs_source.html index be506bcf10..9a19921494 100644 --- a/_process_8cs_source.html +++ b/_process_8cs_source.html @@ -260,13 +260,13 @@ $(function() {
223 return result;
224 }
225
-
227 public ValueTask CreateDump(string outputFile, CancellationToken cancellationToken)
+
227 public ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken)
228 {
229 ArgumentNullException.ThrowIfNull(outputFile);
230 CheckDisposed();
231
232 logger.LogTrace("Dumping PID {pid} to {dumpFilePath}...", Id, outputFile);
-
233 return processFeatures.CreateDump(handle, outputFile, cancellationToken);
+
233 return processFeatures.CreateDump(handle, outputFile, minidump, cancellationToken);
234 }
235
240 async Task<int?> WrapLifetimeTask()
@@ -299,7 +299,6 @@ $(function() {
const TaskCreationOptions BlockingTaskCreationOptions
The TaskCreationOptions used to spawn Tasks for potentially long running, blocking operations.
Definition: Process.cs:15
Process(IProcessFeatures processFeatures, global::System.Diagnostics.Process handle, CancellationTokenSource? readerCts, Task< string?>? readTask, ILogger< Process > logger, bool preExisting)
Initializes a new instance of the Process class.
Definition: Process.cs:70
-
ValueTask CreateDump(string outputFile, CancellationToken cancellationToken)
Create a dump file of the process. A ValueTask representing the running operation.
Definition: Process.cs:227
void CheckDisposed()
Throws an ObjectDisposedException if a method of the Process was called after DisposeAsync.
async ValueTask DisposeAsync()
Definition: Process.cs:120
int Id
The IProcess' ID.
Definition: Process.cs:17
@@ -307,6 +306,7 @@ $(function() {
Task< int?> Lifetime
The Task<TResult> resulting in the exit code of the process or null if the process was detached.
Definition: Process.cs:23
Task< string?> GetCombinedOutput(CancellationToken cancellationToken)
Get the stderr and stdout output of the IProcess. A Task<TResult> resulting in the stderr and stdout ...
Definition: Process.cs:138
void AdjustPriority(bool higher)
Set's the owned global::System.Diagnostics.Process.PriorityClass to a non-normal value.
Definition: Process.cs:170
+
ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file of the process. A ValueTask representing the running operation.
Definition: Process.cs:227
volatile int disposed
If the Process was disposed.
Definition: Process.cs:59
void Terminate()
Asycnhronously terminates the process. To ensure the IProcess has ended, use the IProcessBase....
Definition: Process.cs:147
readonly ILogger< Process > logger
The ILogger for the Process.
Definition: Process.cs:33
@@ -321,7 +321,7 @@ $(function() {
async Task< int?> WrapLifetimeTask()
Attaches a log message to the process' exit event.
Definition: Process.cs:240
Abstraction for suspending and resuming processes.
string GetExecutingUsername(global::System.Diagnostics.Process process)
Get the name of the user executing a given process .
-
ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken)
Create a dump file for a given process .
+
ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file for a given process .
void SuspendProcess(global::System.Diagnostics.Process process)
Suspend a given process .
void ResumeProcess(global::System.Diagnostics.Process process)
Resume a given suspended Process.
Abstraction over a global::System.Diagnostics.Process.
Definition: IProcess.cs:11
diff --git a/_session_controller_8cs_source.html b/_session_controller_8cs_source.html index 4781293029..fefcc26ffe 100644 --- a/_session_controller_8cs_source.html +++ b/_session_controller_8cs_source.html @@ -439,12 +439,12 @@ $(function() {
486 new ChatUpdate(newChannels)),
487 cancellationToken);
488
-
490 public ValueTask CreateDump(string outputFile, CancellationToken cancellationToken)
+
490 public ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken)
491 {
492 if (engineLock.UseDotnetDump)
-
493 return dotnetDumpService.Dump(process, outputFile, cancellationToken);
+
493 return dotnetDumpService.Dump(process, outputFile, minidump, cancellationToken);
494
-
495 return process.CreateDump(outputFile, cancellationToken);
+
495 return process.CreateDump(outputFile, minidump, cancellationToken);
496 }
497
507 async Task<LaunchResult> GetLaunchResult(
@@ -1088,6 +1088,7 @@ $(function() {
readonly IChatManager chat
The IChatManager for the SessionController.
readonly IChatTrackingContext chatTrackingContext
The IChatTrackingContext for the SessionController.
Task< int?> Lifetime
The Task<TResult> resulting in the exit code of the process or null if the process was detached.
+
ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file of the process. A ValueTask representing the running operation.
volatile TaskCompletionSource startupTcs
The TaskCompletionSource that completes when DD sends a valid startup bridge request.
async Task PostValidationShutdown(Task< bool > proceedTask)
Terminates the server after ten seconds if it does not exit.
void ResumeProcess()
Resumes the process.
@@ -1095,7 +1096,6 @@ $(function() {
FifoSemaphore TopicSendSemaphore
The FifoSemaphore used to prevent concurrent calls into /world/Topic().
async ValueTask UpdateChannels(IEnumerable< ChannelRepresentation > newChannels, CancellationToken cancellationToken)
Called when newChannels are set. A ValueTask representing the running operation.
string GenerateQueryString(TopicParameters parameters, out string json)
Generates a Byond.TopicSender.ITopicClient query string for a given set of parameters .
-
ValueTask CreateDump(string outputFile, CancellationToken cancellationToken)
Create a dump file of the process. A ValueTask representing the running operation.
void CheckDisposed()
Throws an ObjectDisposedException if DisposeAsync has been called.
readonly? IBridgeRegistration bridgeRegistration
The IBridgeRegistration for the SessionController.
async Task< LaunchResult > GetLaunchResult(IAssemblyInformationProvider assemblyInformationProvider, IAsyncDelayer asyncDelayer, uint? startupTimeout, bool reattached, bool apiValidate)
The Task<TResult> for LaunchResult.
@@ -1143,11 +1143,11 @@ $(function() {
For retrieving the Assembly's location.
Version Version
The version of the assembly.
Service for managing the dotnet-dump installation.
-
ValueTask Dump(IProcess process, string outputFile, CancellationToken cancellationToken)
Attempt to dump a given process .
-
ValueTask CreateDump(string outputFile, CancellationToken cancellationToken)
Create a dump file of the process.
+
ValueTask Dump(IProcess process, string outputFile, bool minidump, CancellationToken cancellationToken)
Attempt to dump a given process .
void SuspendProcess()
Suspends the process.
void ResumeProcess()
Resumes the process.
void AdjustPriority(bool higher)
Set's the owned global::System.Diagnostics.Process.PriorityClass to a non-normal value.
+
ValueTask CreateDump(string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file of the process.
Task< int?> Lifetime
The Task<TResult> resulting in the exit code of the process or null if the process was detached.
Definition: IProcessBase.cs:14
Abstraction over a global::System.Diagnostics.Process.
Definition: IProcess.cs:11
Task Startup
The Task representing the time until the IProcess becomes "idle".
Definition: IProcess.cs:20
diff --git a/_sql_server_database_context_model_snapshot_8cs_source.html b/_sql_server_database_context_model_snapshot_8cs_source.html index d74241719b..e33cfeeacf 100644 --- a/_sql_server_database_context_model_snapshot_8cs_source.html +++ b/_sql_server_database_context_model_snapshot_8cs_source.html @@ -92,7 +92,7 @@ $(function() {
13 {
14#pragma warning disable 612, 618
15 modelBuilder
-
16 .HasAnnotation("ProductVersion", "8.0.0")
+
16 .HasAnnotation("ProductVersion", "8.0.1")
17 .HasAnnotation("Relational:MaxIdentifierLength", 128);
18
19 SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -290,866 +290,870 @@ $(function() {
211 b.Property<long>("MapThreads")
212 .HasColumnType("bigint");
213
-
214 b.Property<int>("Port")
-
215 .HasColumnType("int");
-
216
-
217 b.Property<int>("SecurityLevel")
-
218 .HasColumnType("int");
-
219
-
220 b.Property<bool?>("StartProfiler")
-
221 .IsRequired()
-
222 .HasColumnType("bit");
+
214 b.Property<bool?>("Minidumps")
+
215 .IsRequired()
+
216 .HasColumnType("bit");
+
217
+
218 b.Property<int>("Port")
+
219 .HasColumnType("int");
+
220
+
221 b.Property<int>("SecurityLevel")
+
222 .HasColumnType("int");
223
-
224 b.Property<long>("StartupTimeout")
-
225 .HasColumnType("bigint");
-
226
-
227 b.Property<long>("TopicRequestTimeout")
-
228 .HasColumnType("bigint");
-
229
-
230 b.Property<int>("Visibility")
-
231 .HasColumnType("int");
-
232
-
233 b.HasKey("Id");
-
234
-
235 b.HasIndex("InstanceId")
-
236 .IsUnique();
-
237
-
238 b.ToTable("DreamDaemonSettings");
-
239 });
-
240
-
241 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
242 {
-
243 b.Property<long>("Id")
-
244 .ValueGeneratedOnAdd()
-
245 .HasColumnType("bigint");
-
246
-
247 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
248
-
249 b.Property<int>("ApiValidationPort")
-
250 .HasColumnType("int");
-
251
-
252 b.Property<int>("ApiValidationSecurityLevel")
-
253 .HasColumnType("int");
-
254
-
255 b.Property<long>("InstanceId")
-
256 .HasColumnType("bigint");
-
257
-
258 b.Property<string>("ProjectName")
-
259 .HasMaxLength(10000)
-
260 .HasColumnType("nvarchar(max)");
+
224 b.Property<bool?>("StartProfiler")
+
225 .IsRequired()
+
226 .HasColumnType("bit");
+
227
+
228 b.Property<long>("StartupTimeout")
+
229 .HasColumnType("bigint");
+
230
+
231 b.Property<long>("TopicRequestTimeout")
+
232 .HasColumnType("bigint");
+
233
+
234 b.Property<int>("Visibility")
+
235 .HasColumnType("int");
+
236
+
237 b.HasKey("Id");
+
238
+
239 b.HasIndex("InstanceId")
+
240 .IsUnique();
+
241
+
242 b.ToTable("DreamDaemonSettings");
+
243 });
+
244
+
245 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
246 {
+
247 b.Property<long>("Id")
+
248 .ValueGeneratedOnAdd()
+
249 .HasColumnType("bigint");
+
250
+
251 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
252
+
253 b.Property<int>("ApiValidationPort")
+
254 .HasColumnType("int");
+
255
+
256 b.Property<int>("ApiValidationSecurityLevel")
+
257 .HasColumnType("int");
+
258
+
259 b.Property<long>("InstanceId")
+
260 .HasColumnType("bigint");
261
-
262 b.Property<bool?>("RequireDMApiValidation")
-
263 .IsRequired()
-
264 .HasColumnType("bit");
+
262 b.Property<string>("ProjectName")
+
263 .HasMaxLength(10000)
+
264 .HasColumnType("nvarchar(max)");
265
-
266 b.Property<TimeSpan?>("Timeout")
+
266 b.Property<bool?>("RequireDMApiValidation")
267 .IsRequired()
-
268 .HasColumnType("time");
+
268 .HasColumnType("bit");
269
-
270 b.HasKey("Id");
-
271
-
272 b.HasIndex("InstanceId")
-
273 .IsUnique();
-
274
-
275 b.ToTable("DreamMakerSettings");
-
276 });
-
277
-
278 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
279 {
-
280 b.Property<long?>("Id")
-
281 .ValueGeneratedOnAdd()
-
282 .HasColumnType("bigint");
-
283
-
284 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
-
285
-
286 b.Property<long>("AutoUpdateInterval")
-
287 .HasColumnType("bigint");
-
288
-
289 b.Property<int>("ChatBotLimit")
-
290 .HasColumnType("int");
-
291
-
292 b.Property<int>("ConfigurationType")
-
293 .HasColumnType("int");
-
294
-
295 b.Property<string>("Name")
-
296 .IsRequired()
-
297 .HasMaxLength(100)
-
298 .HasColumnType("nvarchar(100)");
-
299
-
300 b.Property<bool?>("Online")
-
301 .IsRequired()
-
302 .HasColumnType("bit");
+
270 b.Property<TimeSpan?>("Timeout")
+
271 .IsRequired()
+
272 .HasColumnType("time");
+
273
+
274 b.HasKey("Id");
+
275
+
276 b.HasIndex("InstanceId")
+
277 .IsUnique();
+
278
+
279 b.ToTable("DreamMakerSettings");
+
280 });
+
281
+
282 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
283 {
+
284 b.Property<long?>("Id")
+
285 .ValueGeneratedOnAdd()
+
286 .HasColumnType("bigint");
+
287
+
288 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
289
+
290 b.Property<long>("AutoUpdateInterval")
+
291 .HasColumnType("bigint");
+
292
+
293 b.Property<int>("ChatBotLimit")
+
294 .HasColumnType("int");
+
295
+
296 b.Property<int>("ConfigurationType")
+
297 .HasColumnType("int");
+
298
+
299 b.Property<string>("Name")
+
300 .IsRequired()
+
301 .HasMaxLength(100)
+
302 .HasColumnType("nvarchar(100)");
303
-
304 b.Property<string>("Path")
+
304 b.Property<bool?>("Online")
305 .IsRequired()
-
306 .HasColumnType("nvarchar(450)");
+
306 .HasColumnType("bit");
307
-
308 b.Property<string>("SwarmIdentifer")
-
309 .HasColumnType("nvarchar(450)");
-
310
-
311 b.HasKey("Id");
-
312
-
313 b.HasIndex("Path", "SwarmIdentifer")
-
314 .IsUnique()
-
315 .HasFilter("[SwarmIdentifer] IS NOT NULL");
+
308 b.Property<string>("Path")
+
309 .IsRequired()
+
310 .HasColumnType("nvarchar(450)");
+
311
+
312 b.Property<string>("SwarmIdentifer")
+
313 .HasColumnType("nvarchar(450)");
+
314
+
315 b.HasKey("Id");
316
-
317 b.ToTable("Instances");
-
318 });
-
319
-
320 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
321 {
-
322 b.Property<long>("Id")
-
323 .ValueGeneratedOnAdd()
-
324 .HasColumnType("bigint");
-
325
-
326 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
327
-
328 b.Property<decimal>("ChatBotRights")
-
329 .HasColumnType("decimal(20,0)");
-
330
-
331 b.Property<decimal>("ConfigurationRights")
-
332 .HasColumnType("decimal(20,0)");
-
333
-
334 b.Property<decimal>("DreamDaemonRights")
-
335 .HasColumnType("decimal(20,0)");
-
336
-
337 b.Property<decimal>("DreamMakerRights")
-
338 .HasColumnType("decimal(20,0)");
-
339
-
340 b.Property<decimal>("EngineRights")
-
341 .HasColumnType("decimal(20,0)");
-
342
-
343 b.Property<long>("InstanceId")
-
344 .HasColumnType("bigint");
-
345
-
346 b.Property<decimal>("InstancePermissionSetRights")
-
347 .HasColumnType("decimal(20,0)");
-
348
-
349 b.Property<long>("PermissionSetId")
-
350 .HasColumnType("bigint");
-
351
-
352 b.Property<decimal>("RepositoryRights")
-
353 .HasColumnType("decimal(20,0)");
-
354
-
355 b.HasKey("Id");
-
356
-
357 b.HasIndex("InstanceId");
+
317 b.HasIndex("Path", "SwarmIdentifer")
+
318 .IsUnique()
+
319 .HasFilter("[SwarmIdentifer] IS NOT NULL");
+
320
+
321 b.ToTable("Instances");
+
322 });
+
323
+
324 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
325 {
+
326 b.Property<long>("Id")
+
327 .ValueGeneratedOnAdd()
+
328 .HasColumnType("bigint");
+
329
+
330 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
331
+
332 b.Property<decimal>("ChatBotRights")
+
333 .HasColumnType("decimal(20,0)");
+
334
+
335 b.Property<decimal>("ConfigurationRights")
+
336 .HasColumnType("decimal(20,0)");
+
337
+
338 b.Property<decimal>("DreamDaemonRights")
+
339 .HasColumnType("decimal(20,0)");
+
340
+
341 b.Property<decimal>("DreamMakerRights")
+
342 .HasColumnType("decimal(20,0)");
+
343
+
344 b.Property<decimal>("EngineRights")
+
345 .HasColumnType("decimal(20,0)");
+
346
+
347 b.Property<long>("InstanceId")
+
348 .HasColumnType("bigint");
+
349
+
350 b.Property<decimal>("InstancePermissionSetRights")
+
351 .HasColumnType("decimal(20,0)");
+
352
+
353 b.Property<long>("PermissionSetId")
+
354 .HasColumnType("bigint");
+
355
+
356 b.Property<decimal>("RepositoryRights")
+
357 .HasColumnType("decimal(20,0)");
358
-
359 b.HasIndex("PermissionSetId", "InstanceId")
-
360 .IsUnique();
-
361
-
362 b.ToTable("InstancePermissionSets");
-
363 });
-
364
-
365 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
366 {
-
367 b.Property<long?>("Id")
-
368 .ValueGeneratedOnAdd()
-
369 .HasColumnType("bigint");
-
370
-
371 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
-
372
-
373 b.Property<decimal?>("CancelRight")
-
374 .HasColumnType("decimal(20,0)");
-
375
-
376 b.Property<decimal?>("CancelRightsType")
-
377 .HasColumnType("decimal(20,0)");
-
378
-
379 b.Property<bool?>("Cancelled")
-
380 .IsRequired()
-
381 .HasColumnType("bit");
+
359 b.HasKey("Id");
+
360
+
361 b.HasIndex("InstanceId");
+
362
+
363 b.HasIndex("PermissionSetId", "InstanceId")
+
364 .IsUnique();
+
365
+
366 b.ToTable("InstancePermissionSets");
+
367 });
+
368
+
369 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
370 {
+
371 b.Property<long?>("Id")
+
372 .ValueGeneratedOnAdd()
+
373 .HasColumnType("bigint");
+
374
+
375 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
376
+
377 b.Property<decimal?>("CancelRight")
+
378 .HasColumnType("decimal(20,0)");
+
379
+
380 b.Property<decimal?>("CancelRightsType")
+
381 .HasColumnType("decimal(20,0)");
382
-
383 b.Property<long?>("CancelledById")
-
384 .HasColumnType("bigint");
-
385
-
386 b.Property<string>("Description")
-
387 .IsRequired()
-
388 .HasColumnType("nvarchar(max)");
+
383 b.Property<bool?>("Cancelled")
+
384 .IsRequired()
+
385 .HasColumnType("bit");
+
386
+
387 b.Property<long?>("CancelledById")
+
388 .HasColumnType("bigint");
389
-
390 b.Property<long?>("ErrorCode")
-
391 .HasColumnType("bigint");
-
392
-
393 b.Property<string>("ExceptionDetails")
-
394 .HasColumnType("nvarchar(max)");
-
395
-
396 b.Property<long>("InstanceId")
-
397 .HasColumnType("bigint");
-
398
-
399 b.Property<byte>("JobCode")
-
400 .HasColumnType("tinyint");
-
401
-
402 b.Property<DateTimeOffset?>("StartedAt")
-
403 .IsRequired()
-
404 .HasColumnType("datetimeoffset");
+
390 b.Property<string>("Description")
+
391 .IsRequired()
+
392 .HasColumnType("nvarchar(max)");
+
393
+
394 b.Property<long?>("ErrorCode")
+
395 .HasColumnType("bigint");
+
396
+
397 b.Property<string>("ExceptionDetails")
+
398 .HasColumnType("nvarchar(max)");
+
399
+
400 b.Property<long>("InstanceId")
+
401 .HasColumnType("bigint");
+
402
+
403 b.Property<byte>("JobCode")
+
404 .HasColumnType("tinyint");
405
-
406 b.Property<long>("StartedById")
-
407 .HasColumnType("bigint");
-
408
-
409 b.Property<DateTimeOffset?>("StoppedAt")
-
410 .HasColumnType("datetimeoffset");
-
411
-
412 b.HasKey("Id");
-
413
-
414 b.HasIndex("CancelledById");
+
406 b.Property<DateTimeOffset?>("StartedAt")
+
407 .IsRequired()
+
408 .HasColumnType("datetimeoffset");
+
409
+
410 b.Property<long>("StartedById")
+
411 .HasColumnType("bigint");
+
412
+
413 b.Property<DateTimeOffset?>("StoppedAt")
+
414 .HasColumnType("datetimeoffset");
415
-
416 b.HasIndex("InstanceId");
+
416 b.HasKey("Id");
417
-
418 b.HasIndex("StartedById");
+
418 b.HasIndex("CancelledById");
419
-
420 b.ToTable("Jobs");
-
421 });
-
422
-
423 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
424 {
-
425 b.Property<long>("Id")
-
426 .ValueGeneratedOnAdd()
-
427 .HasColumnType("bigint");
-
428
-
429 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
430
-
431 b.Property<string>("ExternalUserId")
-
432 .IsRequired()
-
433 .HasMaxLength(100)
-
434 .HasColumnType("nvarchar(100)");
-
435
-
436 b.Property<int>("Provider")
-
437 .HasColumnType("int");
-
438
-
439 b.Property<long?>("UserId")
-
440 .HasColumnType("bigint");
-
441
-
442 b.HasKey("Id");
-
443
-
444 b.HasIndex("UserId");
+
420 b.HasIndex("InstanceId");
+
421
+
422 b.HasIndex("StartedById");
+
423
+
424 b.ToTable("Jobs");
+
425 });
+
426
+
427 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
428 {
+
429 b.Property<long>("Id")
+
430 .ValueGeneratedOnAdd()
+
431 .HasColumnType("bigint");
+
432
+
433 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
434
+
435 b.Property<string>("ExternalUserId")
+
436 .IsRequired()
+
437 .HasMaxLength(100)
+
438 .HasColumnType("nvarchar(100)");
+
439
+
440 b.Property<int>("Provider")
+
441 .HasColumnType("int");
+
442
+
443 b.Property<long?>("UserId")
+
444 .HasColumnType("bigint");
445
-
446 b.HasIndex("Provider", "ExternalUserId")
-
447 .IsUnique();
-
448
-
449 b.ToTable("OAuthConnections");
-
450 });
-
451
-
452 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
453 {
-
454 b.Property<long?>("Id")
-
455 .ValueGeneratedOnAdd()
-
456 .HasColumnType("bigint");
-
457
-
458 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
-
459
-
460 b.Property<decimal>("AdministrationRights")
-
461 .HasColumnType("decimal(20,0)");
-
462
-
463 b.Property<long?>("GroupId")
-
464 .HasColumnType("bigint");
-
465
-
466 b.Property<decimal>("InstanceManagerRights")
-
467 .HasColumnType("decimal(20,0)");
-
468
-
469 b.Property<long?>("UserId")
-
470 .HasColumnType("bigint");
-
471
-
472 b.HasKey("Id");
-
473
-
474 b.HasIndex("GroupId")
-
475 .IsUnique()
-
476 .HasFilter("[GroupId] IS NOT NULL");
+
446 b.HasKey("Id");
+
447
+
448 b.HasIndex("UserId");
+
449
+
450 b.HasIndex("Provider", "ExternalUserId")
+
451 .IsUnique();
+
452
+
453 b.ToTable("OAuthConnections");
+
454 });
+
455
+
456 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
457 {
+
458 b.Property<long?>("Id")
+
459 .ValueGeneratedOnAdd()
+
460 .HasColumnType("bigint");
+
461
+
462 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
463
+
464 b.Property<decimal>("AdministrationRights")
+
465 .HasColumnType("decimal(20,0)");
+
466
+
467 b.Property<long?>("GroupId")
+
468 .HasColumnType("bigint");
+
469
+
470 b.Property<decimal>("InstanceManagerRights")
+
471 .HasColumnType("decimal(20,0)");
+
472
+
473 b.Property<long?>("UserId")
+
474 .HasColumnType("bigint");
+
475
+
476 b.HasKey("Id");
477
-
478 b.HasIndex("UserId")
+
478 b.HasIndex("GroupId")
479 .IsUnique()
-
480 .HasFilter("[UserId] IS NOT NULL");
+
480 .HasFilter("[GroupId] IS NOT NULL");
481
-
482 b.ToTable("PermissionSets");
-
483 });
-
484
-
485 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
486 {
-
487 b.Property<long?>("Id")
-
488 .ValueGeneratedOnAdd()
-
489 .HasColumnType("bigint");
-
490
-
491 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
-
492
-
493 b.Property<string>("AccessIdentifier")
-
494 .IsRequired()
-
495 .HasColumnType("nvarchar(max)");
+
482 b.HasIndex("UserId")
+
483 .IsUnique()
+
484 .HasFilter("[UserId] IS NOT NULL");
+
485
+
486 b.ToTable("PermissionSets");
+
487 });
+
488
+
489 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
490 {
+
491 b.Property<long?>("Id")
+
492 .ValueGeneratedOnAdd()
+
493 .HasColumnType("bigint");
+
494
+
495 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
496
-
497 b.Property<long>("CompileJobId")
-
498 .HasColumnType("bigint");
-
499
-
500 b.Property<long?>("InitialCompileJobId")
-
501 .HasColumnType("bigint");
-
502
-
503 b.Property<int>("LaunchSecurityLevel")
-
504 .HasColumnType("int");
-
505
-
506 b.Property<int>("LaunchVisibility")
-
507 .HasColumnType("int");
-
508
-
509 b.Property<int>("Port")
-
510 .HasColumnType("int");
-
511
-
512 b.Property<int>("ProcessId")
-
513 .HasColumnType("int");
-
514
-
515 b.Property<int>("RebootState")
-
516 .HasColumnType("int");
-
517
-
518 b.Property<int?>("TopicPort")
-
519 .HasColumnType("int");
-
520
-
521 b.HasKey("Id");
-
522
-
523 b.HasIndex("CompileJobId");
+
497 b.Property<string>("AccessIdentifier")
+
498 .IsRequired()
+
499 .HasColumnType("nvarchar(max)");
+
500
+
501 b.Property<long>("CompileJobId")
+
502 .HasColumnType("bigint");
+
503
+
504 b.Property<long?>("InitialCompileJobId")
+
505 .HasColumnType("bigint");
+
506
+
507 b.Property<int>("LaunchSecurityLevel")
+
508 .HasColumnType("int");
+
509
+
510 b.Property<int>("LaunchVisibility")
+
511 .HasColumnType("int");
+
512
+
513 b.Property<int>("Port")
+
514 .HasColumnType("int");
+
515
+
516 b.Property<int>("ProcessId")
+
517 .HasColumnType("int");
+
518
+
519 b.Property<int>("RebootState")
+
520 .HasColumnType("int");
+
521
+
522 b.Property<int?>("TopicPort")
+
523 .HasColumnType("int");
524
-
525 b.HasIndex("InitialCompileJobId");
+
525 b.HasKey("Id");
526
-
527 b.ToTable("ReattachInformations");
-
528 });
-
529
-
530 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
531 {
-
532 b.Property<long>("Id")
-
533 .ValueGeneratedOnAdd()
-
534 .HasColumnType("bigint");
-
535
-
536 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
537
-
538 b.Property<string>("AccessToken")
-
539 .HasMaxLength(10000)
-
540 .HasColumnType("nvarchar(max)");
+
527 b.HasIndex("CompileJobId");
+
528
+
529 b.HasIndex("InitialCompileJobId");
+
530
+
531 b.ToTable("ReattachInformations");
+
532 });
+
533
+
534 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
535 {
+
536 b.Property<long>("Id")
+
537 .ValueGeneratedOnAdd()
+
538 .HasColumnType("bigint");
+
539
+
540 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
541
-
542 b.Property<string>("AccessUser")
+
542 b.Property<string>("AccessToken")
543 .HasMaxLength(10000)
544 .HasColumnType("nvarchar(max)");
545
-
546 b.Property<bool?>("AutoUpdatesKeepTestMerges")
-
547 .IsRequired()
-
548 .HasColumnType("bit");
+
546 b.Property<string>("AccessUser")
+
547 .HasMaxLength(10000)
+
548 .HasColumnType("nvarchar(max)");
549
-
550 b.Property<bool?>("AutoUpdatesSynchronize")
+
550 b.Property<bool?>("AutoUpdatesKeepTestMerges")
551 .IsRequired()
552 .HasColumnType("bit");
553
-
554 b.Property<string>("CommitterEmail")
+
554 b.Property<bool?>("AutoUpdatesSynchronize")
555 .IsRequired()
-
556 .HasMaxLength(10000)
-
557 .HasColumnType("nvarchar(max)");
-
558
-
559 b.Property<string>("CommitterName")
-
560 .IsRequired()
-
561 .HasMaxLength(10000)
-
562 .HasColumnType("nvarchar(max)");
-
563
-
564 b.Property<bool?>("CreateGitHubDeployments")
-
565 .IsRequired()
-
566 .HasColumnType("bit");
+
556 .HasColumnType("bit");
+
557
+
558 b.Property<string>("CommitterEmail")
+
559 .IsRequired()
+
560 .HasMaxLength(10000)
+
561 .HasColumnType("nvarchar(max)");
+
562
+
563 b.Property<string>("CommitterName")
+
564 .IsRequired()
+
565 .HasMaxLength(10000)
+
566 .HasColumnType("nvarchar(max)");
567
-
568 b.Property<long>("InstanceId")
-
569 .HasColumnType("bigint");
-
570
-
571 b.Property<bool?>("PostTestMergeComment")
-
572 .IsRequired()
-
573 .HasColumnType("bit");
+
568 b.Property<bool?>("CreateGitHubDeployments")
+
569 .IsRequired()
+
570 .HasColumnType("bit");
+
571
+
572 b.Property<long>("InstanceId")
+
573 .HasColumnType("bigint");
574
-
575 b.Property<bool?>("PushTestMergeCommits")
+
575 b.Property<bool?>("PostTestMergeComment")
576 .IsRequired()
577 .HasColumnType("bit");
578
-
579 b.Property<bool?>("ShowTestMergeCommitters")
+
579 b.Property<bool?>("PushTestMergeCommits")
580 .IsRequired()
581 .HasColumnType("bit");
582
-
583 b.Property<bool?>("UpdateSubmodules")
+
583 b.Property<bool?>("ShowTestMergeCommitters")
584 .IsRequired()
585 .HasColumnType("bit");
586
-
587 b.HasKey("Id");
-
588
-
589 b.HasIndex("InstanceId")
-
590 .IsUnique();
-
591
-
592 b.ToTable("RepositorySettings");
-
593 });
-
594
-
595 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
596 {
-
597 b.Property<long>("Id")
-
598 .ValueGeneratedOnAdd()
-
599 .HasColumnType("bigint");
-
600
-
601 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
602
-
603 b.Property<long>("RevisionInformationId")
-
604 .HasColumnType("bigint");
-
605
-
606 b.Property<long>("TestMergeId")
-
607 .HasColumnType("bigint");
-
608
-
609 b.HasKey("Id");
-
610
-
611 b.HasIndex("RevisionInformationId");
+
587 b.Property<bool?>("UpdateSubmodules")
+
588 .IsRequired()
+
589 .HasColumnType("bit");
+
590
+
591 b.HasKey("Id");
+
592
+
593 b.HasIndex("InstanceId")
+
594 .IsUnique();
+
595
+
596 b.ToTable("RepositorySettings");
+
597 });
+
598
+
599 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
600 {
+
601 b.Property<long>("Id")
+
602 .ValueGeneratedOnAdd()
+
603 .HasColumnType("bigint");
+
604
+
605 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
606
+
607 b.Property<long>("RevisionInformationId")
+
608 .HasColumnType("bigint");
+
609
+
610 b.Property<long>("TestMergeId")
+
611 .HasColumnType("bigint");
612
-
613 b.HasIndex("TestMergeId");
+
613 b.HasKey("Id");
614
-
615 b.ToTable("RevInfoTestMerges");
-
616 });
-
617
-
618 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
619 {
-
620 b.Property<long>("Id")
-
621 .ValueGeneratedOnAdd()
-
622 .HasColumnType("bigint");
-
623
-
624 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
625
-
626 b.Property<string>("CommitSha")
-
627 .IsRequired()
-
628 .HasMaxLength(40)
-
629 .HasColumnType("nvarchar(40)");
-
630
-
631 b.Property<long>("InstanceId")
-
632 .HasColumnType("bigint");
-
633
-
634 b.Property<string>("OriginCommitSha")
-
635 .IsRequired()
-
636 .HasMaxLength(40)
-
637 .HasColumnType("nvarchar(40)");
-
638
-
639 b.Property<DateTimeOffset>("Timestamp")
-
640 .HasColumnType("datetimeoffset");
-
641
-
642 b.HasKey("Id");
-
643
-
644 b.HasIndex("InstanceId", "CommitSha")
-
645 .IsUnique();
-
646
-
647 b.ToTable("RevisionInformations");
-
648 });
-
649
-
650 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
651 {
-
652 b.Property<long>("Id")
-
653 .ValueGeneratedOnAdd()
-
654 .HasColumnType("bigint");
-
655
-
656 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
-
657
-
658 b.Property<string>("Author")
-
659 .IsRequired()
-
660 .HasColumnType("nvarchar(max)");
+
615 b.HasIndex("RevisionInformationId");
+
616
+
617 b.HasIndex("TestMergeId");
+
618
+
619 b.ToTable("RevInfoTestMerges");
+
620 });
+
621
+
622 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
623 {
+
624 b.Property<long>("Id")
+
625 .ValueGeneratedOnAdd()
+
626 .HasColumnType("bigint");
+
627
+
628 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
+
629
+
630 b.Property<string>("CommitSha")
+
631 .IsRequired()
+
632 .HasMaxLength(40)
+
633 .HasColumnType("nvarchar(40)");
+
634
+
635 b.Property<long>("InstanceId")
+
636 .HasColumnType("bigint");
+
637
+
638 b.Property<string>("OriginCommitSha")
+
639 .IsRequired()
+
640 .HasMaxLength(40)
+
641 .HasColumnType("nvarchar(40)");
+
642
+
643 b.Property<DateTimeOffset>("Timestamp")
+
644 .HasColumnType("datetimeoffset");
+
645
+
646 b.HasKey("Id");
+
647
+
648 b.HasIndex("InstanceId", "CommitSha")
+
649 .IsUnique();
+
650
+
651 b.ToTable("RevisionInformations");
+
652 });
+
653
+
654 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
655 {
+
656 b.Property<long>("Id")
+
657 .ValueGeneratedOnAdd()
+
658 .HasColumnType("bigint");
+
659
+
660 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
661
-
662 b.Property<string>("BodyAtMerge")
+
662 b.Property<string>("Author")
663 .IsRequired()
664 .HasColumnType("nvarchar(max)");
665
-
666 b.Property<string>("Comment")
-
667 .HasMaxLength(10000)
+
666 b.Property<string>("BodyAtMerge")
+
667 .IsRequired()
668 .HasColumnType("nvarchar(max)");
669
-
670 b.Property<DateTimeOffset>("MergedAt")
-
671 .HasColumnType("datetimeoffset");
-
672
-
673 b.Property<long>("MergedById")
-
674 .HasColumnType("bigint");
-
675
-
676 b.Property<int>("Number")
-
677 .HasColumnType("int");
-
678
-
679 b.Property<long?>("PrimaryRevisionInformationId")
-
680 .IsRequired()
-
681 .HasColumnType("bigint");
+
670 b.Property<string>("Comment")
+
671 .HasMaxLength(10000)
+
672 .HasColumnType("nvarchar(max)");
+
673
+
674 b.Property<DateTimeOffset>("MergedAt")
+
675 .HasColumnType("datetimeoffset");
+
676
+
677 b.Property<long>("MergedById")
+
678 .HasColumnType("bigint");
+
679
+
680 b.Property<int>("Number")
+
681 .HasColumnType("int");
682
-
683 b.Property<string>("TargetCommitSha")
+
683 b.Property<long?>("PrimaryRevisionInformationId")
684 .IsRequired()
-
685 .HasMaxLength(40)
-
686 .HasColumnType("nvarchar(40)");
-
687
-
688 b.Property<string>("TitleAtMerge")
-
689 .IsRequired()
-
690 .HasColumnType("nvarchar(max)");
+
685 .HasColumnType("bigint");
+
686
+
687 b.Property<string>("TargetCommitSha")
+
688 .IsRequired()
+
689 .HasMaxLength(40)
+
690 .HasColumnType("nvarchar(40)");
691
-
692 b.Property<string>("Url")
+
692 b.Property<string>("TitleAtMerge")
693 .IsRequired()
694 .HasColumnType("nvarchar(max)");
695
-
696 b.HasKey("Id");
-
697
-
698 b.HasIndex("MergedById");
+
696 b.Property<string>("Url")
+
697 .IsRequired()
+
698 .HasColumnType("nvarchar(max)");
699
-
700 b.HasIndex("PrimaryRevisionInformationId")
-
701 .IsUnique();
-
702
-
703 b.ToTable("TestMerges");
-
704 });
-
705
-
706 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
707 {
-
708 b.Property<long?>("Id")
-
709 .ValueGeneratedOnAdd()
-
710 .HasColumnType("bigint");
-
711
-
712 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
-
713
-
714 b.Property<string>("CanonicalName")
-
715 .IsRequired()
-
716 .HasMaxLength(100)
-
717 .HasColumnType("nvarchar(100)");
-
718
-
719 b.Property<DateTimeOffset?>("CreatedAt")
-
720 .IsRequired()
-
721 .HasColumnType("datetimeoffset");
+
700 b.HasKey("Id");
+
701
+
702 b.HasIndex("MergedById");
+
703
+
704 b.HasIndex("PrimaryRevisionInformationId")
+
705 .IsUnique();
+
706
+
707 b.ToTable("TestMerges");
+
708 });
+
709
+
710 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
711 {
+
712 b.Property<long?>("Id")
+
713 .ValueGeneratedOnAdd()
+
714 .HasColumnType("bigint");
+
715
+
716 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
717
+
718 b.Property<string>("CanonicalName")
+
719 .IsRequired()
+
720 .HasMaxLength(100)
+
721 .HasColumnType("nvarchar(100)");
722
-
723 b.Property<long?>("CreatedById")
-
724 .HasColumnType("bigint");
-
725
-
726 b.Property<bool?>("Enabled")
-
727 .IsRequired()
-
728 .HasColumnType("bit");
+
723 b.Property<DateTimeOffset?>("CreatedAt")
+
724 .IsRequired()
+
725 .HasColumnType("datetimeoffset");
+
726
+
727 b.Property<long?>("CreatedById")
+
728 .HasColumnType("bigint");
729
-
730 b.Property<long?>("GroupId")
-
731 .HasColumnType("bigint");
-
732
-
733 b.Property<DateTimeOffset?>("LastPasswordUpdate")
-
734 .HasColumnType("datetimeoffset");
-
735
-
736 b.Property<string>("Name")
-
737 .IsRequired()
-
738 .HasMaxLength(100)
-
739 .HasColumnType("nvarchar(100)");
-
740
-
741 b.Property<string>("PasswordHash")
-
742 .HasColumnType("nvarchar(max)");
-
743
-
744 b.Property<string>("SystemIdentifier")
-
745 .HasMaxLength(100)
-
746 .HasColumnType("nvarchar(100)");
+
730 b.Property<bool?>("Enabled")
+
731 .IsRequired()
+
732 .HasColumnType("bit");
+
733
+
734 b.Property<long?>("GroupId")
+
735 .HasColumnType("bigint");
+
736
+
737 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
738 .HasColumnType("datetimeoffset");
+
739
+
740 b.Property<string>("Name")
+
741 .IsRequired()
+
742 .HasMaxLength(100)
+
743 .HasColumnType("nvarchar(100)");
+
744
+
745 b.Property<string>("PasswordHash")
+
746 .HasColumnType("nvarchar(max)");
747
-
748 b.HasKey("Id");
-
749
-
750 b.HasIndex("CanonicalName")
-
751 .IsUnique();
-
752
-
753 b.HasIndex("CreatedById");
-
754
-
755 b.HasIndex("GroupId");
+
748 b.Property<string>("SystemIdentifier")
+
749 .HasMaxLength(100)
+
750 .HasColumnType("nvarchar(100)");
+
751
+
752 b.HasKey("Id");
+
753
+
754 b.HasIndex("CanonicalName")
+
755 .IsUnique();
756
-
757 b.HasIndex("SystemIdentifier")
-
758 .IsUnique()
-
759 .HasFilter("[SystemIdentifier] IS NOT NULL");
+
757 b.HasIndex("CreatedById");
+
758
+
759 b.HasIndex("GroupId");
760
-
761 b.ToTable("Users");
-
762 });
-
763
-
764 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
765 {
-
766 b.Property<long?>("Id")
-
767 .ValueGeneratedOnAdd()
-
768 .HasColumnType("bigint");
-
769
-
770 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
-
771
-
772 b.Property<string>("Name")
-
773 .IsRequired()
-
774 .HasMaxLength(100)
-
775 .HasColumnType("nvarchar(100)");
-
776
-
777 b.HasKey("Id");
-
778
-
779 b.HasIndex("Name")
-
780 .IsUnique();
-
781
-
782 b.ToTable("Groups");
-
783 });
-
784
-
785 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
786 {
-
787 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
788 .WithMany("ChatSettings")
-
789 .HasForeignKey("InstanceId")
-
790 .OnDelete(DeleteBehavior.Cascade)
-
791 .IsRequired();
-
792
-
793 b.Navigation("Instance");
-
794 });
-
795
-
796 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
-
797 {
-
798 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
-
799 .WithMany("Channels")
-
800 .HasForeignKey("ChatSettingsId")
-
801 .OnDelete(DeleteBehavior.Cascade)
-
802 .IsRequired();
-
803
-
804 b.Navigation("ChatSettings");
-
805 });
-
806
-
807 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
-
808 {
-
809 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
-
810 .WithOne()
-
811 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
-
812 .OnDelete(DeleteBehavior.Cascade)
-
813 .IsRequired();
-
814
-
815 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
816 .WithMany("CompileJobs")
-
817 .HasForeignKey("RevisionInformationId")
-
818 .OnDelete(DeleteBehavior.ClientNoAction)
-
819 .IsRequired();
-
820
-
821 b.Navigation("Job");
-
822
-
823 b.Navigation("RevisionInformation");
-
824 });
-
825
-
826 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
-
827 {
-
828 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
829 .WithOne("DreamDaemonSettings")
-
830 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
-
831 .OnDelete(DeleteBehavior.Cascade)
-
832 .IsRequired();
-
833
-
834 b.Navigation("Instance");
-
835 });
-
836
-
837 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
838 {
-
839 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
840 .WithOne("DreamMakerSettings")
-
841 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
-
842 .OnDelete(DeleteBehavior.Cascade)
-
843 .IsRequired();
-
844
-
845 b.Navigation("Instance");
-
846 });
-
847
-
848 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
849 {
-
850 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
851 .WithMany("InstancePermissionSets")
-
852 .HasForeignKey("InstanceId")
-
853 .OnDelete(DeleteBehavior.Cascade)
-
854 .IsRequired();
-
855
-
856 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
-
857 .WithMany("InstancePermissionSets")
-
858 .HasForeignKey("PermissionSetId")
-
859 .OnDelete(DeleteBehavior.Cascade)
-
860 .IsRequired();
-
861
-
862 b.Navigation("Instance");
-
863
-
864 b.Navigation("PermissionSet");
-
865 });
-
866
-
867 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
868 {
-
869 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
-
870 .WithMany()
-
871 .HasForeignKey("CancelledById");
-
872
-
873 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
874 .WithMany("Jobs")
-
875 .HasForeignKey("InstanceId")
-
876 .OnDelete(DeleteBehavior.Cascade)
-
877 .IsRequired();
-
878
-
879 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
-
880 .WithMany()
-
881 .HasForeignKey("StartedById")
-
882 .OnDelete(DeleteBehavior.Cascade)
-
883 .IsRequired();
-
884
-
885 b.Navigation("CancelledBy");
-
886
-
887 b.Navigation("Instance");
+
761 b.HasIndex("SystemIdentifier")
+
762 .IsUnique()
+
763 .HasFilter("[SystemIdentifier] IS NOT NULL");
+
764
+
765 b.ToTable("Users");
+
766 });
+
767
+
768 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
769 {
+
770 b.Property<long?>("Id")
+
771 .ValueGeneratedOnAdd()
+
772 .HasColumnType("bigint");
+
773
+
774 SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long?>("Id"));
+
775
+
776 b.Property<string>("Name")
+
777 .IsRequired()
+
778 .HasMaxLength(100)
+
779 .HasColumnType("nvarchar(100)");
+
780
+
781 b.HasKey("Id");
+
782
+
783 b.HasIndex("Name")
+
784 .IsUnique();
+
785
+
786 b.ToTable("Groups");
+
787 });
+
788
+
789 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
790 {
+
791 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
792 .WithMany("ChatSettings")
+
793 .HasForeignKey("InstanceId")
+
794 .OnDelete(DeleteBehavior.Cascade)
+
795 .IsRequired();
+
796
+
797 b.Navigation("Instance");
+
798 });
+
799
+
800 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
801 {
+
802 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
803 .WithMany("Channels")
+
804 .HasForeignKey("ChatSettingsId")
+
805 .OnDelete(DeleteBehavior.Cascade)
+
806 .IsRequired();
+
807
+
808 b.Navigation("ChatSettings");
+
809 });
+
810
+
811 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
812 {
+
813 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
814 .WithOne()
+
815 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
816 .OnDelete(DeleteBehavior.Cascade)
+
817 .IsRequired();
+
818
+
819 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
820 .WithMany("CompileJobs")
+
821 .HasForeignKey("RevisionInformationId")
+
822 .OnDelete(DeleteBehavior.ClientNoAction)
+
823 .IsRequired();
+
824
+
825 b.Navigation("Job");
+
826
+
827 b.Navigation("RevisionInformation");
+
828 });
+
829
+
830 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
831 {
+
832 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
833 .WithOne("DreamDaemonSettings")
+
834 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
835 .OnDelete(DeleteBehavior.Cascade)
+
836 .IsRequired();
+
837
+
838 b.Navigation("Instance");
+
839 });
+
840
+
841 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
842 {
+
843 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
844 .WithOne("DreamMakerSettings")
+
845 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
846 .OnDelete(DeleteBehavior.Cascade)
+
847 .IsRequired();
+
848
+
849 b.Navigation("Instance");
+
850 });
+
851
+
852 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
853 {
+
854 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
855 .WithMany("InstancePermissionSets")
+
856 .HasForeignKey("InstanceId")
+
857 .OnDelete(DeleteBehavior.Cascade)
+
858 .IsRequired();
+
859
+
860 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
861 .WithMany("InstancePermissionSets")
+
862 .HasForeignKey("PermissionSetId")
+
863 .OnDelete(DeleteBehavior.Cascade)
+
864 .IsRequired();
+
865
+
866 b.Navigation("Instance");
+
867
+
868 b.Navigation("PermissionSet");
+
869 });
+
870
+
871 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
872 {
+
873 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
874 .WithMany()
+
875 .HasForeignKey("CancelledById");
+
876
+
877 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
878 .WithMany("Jobs")
+
879 .HasForeignKey("InstanceId")
+
880 .OnDelete(DeleteBehavior.Cascade)
+
881 .IsRequired();
+
882
+
883 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
884 .WithMany()
+
885 .HasForeignKey("StartedById")
+
886 .OnDelete(DeleteBehavior.Cascade)
+
887 .IsRequired();
888
-
889 b.Navigation("StartedBy");
-
890 });
-
891
-
892 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
893 {
-
894 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
895 .WithMany("OAuthConnections")
-
896 .HasForeignKey("UserId")
-
897 .OnDelete(DeleteBehavior.Cascade);
-
898
-
899 b.Navigation("User");
-
900 });
-
901
-
902 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
903 {
-
904 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
905 .WithOne("PermissionSet")
-
906 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
-
907 .OnDelete(DeleteBehavior.Cascade);
-
908
-
909 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
910 .WithOne("PermissionSet")
-
911 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
-
912 .OnDelete(DeleteBehavior.Cascade);
-
913
-
914 b.Navigation("Group");
-
915
-
916 b.Navigation("User");
-
917 });
-
918
-
919 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
920 {
-
921 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
-
922 .WithMany()
-
923 .HasForeignKey("CompileJobId")
-
924 .OnDelete(DeleteBehavior.Cascade)
-
925 .IsRequired();
-
926
-
927 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
-
928 .WithMany()
-
929 .HasForeignKey("InitialCompileJobId");
+
889 b.Navigation("CancelledBy");
+
890
+
891 b.Navigation("Instance");
+
892
+
893 b.Navigation("StartedBy");
+
894 });
+
895
+
896 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
897 {
+
898 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
899 .WithMany("OAuthConnections")
+
900 .HasForeignKey("UserId")
+
901 .OnDelete(DeleteBehavior.Cascade);
+
902
+
903 b.Navigation("User");
+
904 });
+
905
+
906 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
907 {
+
908 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
909 .WithOne("PermissionSet")
+
910 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
911 .OnDelete(DeleteBehavior.Cascade);
+
912
+
913 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
914 .WithOne("PermissionSet")
+
915 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
916 .OnDelete(DeleteBehavior.Cascade);
+
917
+
918 b.Navigation("Group");
+
919
+
920 b.Navigation("User");
+
921 });
+
922
+
923 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
924 {
+
925 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
926 .WithMany()
+
927 .HasForeignKey("CompileJobId")
+
928 .OnDelete(DeleteBehavior.Cascade)
+
929 .IsRequired();
930
-
931 b.Navigation("CompileJob");
-
932
-
933 b.Navigation("InitialCompileJob");
-
934 });
-
935
-
936 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
937 {
-
938 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
939 .WithOne("RepositorySettings")
-
940 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
-
941 .OnDelete(DeleteBehavior.Cascade)
-
942 .IsRequired();
-
943
-
944 b.Navigation("Instance");
-
945 });
-
946
-
947 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
948 {
-
949 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
950 .WithMany("ActiveTestMerges")
-
951 .HasForeignKey("RevisionInformationId")
-
952 .OnDelete(DeleteBehavior.Cascade)
-
953 .IsRequired();
-
954
-
955 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
-
956 .WithMany("RevisonInformations")
-
957 .HasForeignKey("TestMergeId")
-
958 .OnDelete(DeleteBehavior.ClientNoAction)
-
959 .IsRequired();
-
960
-
961 b.Navigation("RevisionInformation");
-
962
-
963 b.Navigation("TestMerge");
-
964 });
-
965
-
966 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
967 {
-
968 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
969 .WithMany("RevisionInformations")
-
970 .HasForeignKey("InstanceId")
-
971 .OnDelete(DeleteBehavior.Cascade)
-
972 .IsRequired();
-
973
-
974 b.Navigation("Instance");
-
975 });
-
976
-
977 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
978 {
-
979 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
-
980 .WithMany("TestMerges")
-
981 .HasForeignKey("MergedById")
-
982 .OnDelete(DeleteBehavior.Restrict)
-
983 .IsRequired();
-
984
-
985 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
-
986 .WithOne("PrimaryTestMerge")
-
987 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
-
988 .OnDelete(DeleteBehavior.Cascade)
-
989 .IsRequired();
-
990
-
991 b.Navigation("MergedBy");
-
992
-
993 b.Navigation("PrimaryRevisionInformation");
-
994 });
-
995
-
996 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
997 {
-
998 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
-
999 .WithMany("CreatedUsers")
-
1000 .HasForeignKey("CreatedById");
-
1001
-
1002 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
1003 .WithMany("Users")
-
1004 .HasForeignKey("GroupId");
+
931 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
932 .WithMany()
+
933 .HasForeignKey("InitialCompileJobId");
+
934
+
935 b.Navigation("CompileJob");
+
936
+
937 b.Navigation("InitialCompileJob");
+
938 });
+
939
+
940 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
941 {
+
942 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
943 .WithOne("RepositorySettings")
+
944 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
945 .OnDelete(DeleteBehavior.Cascade)
+
946 .IsRequired();
+
947
+
948 b.Navigation("Instance");
+
949 });
+
950
+
951 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
952 {
+
953 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
954 .WithMany("ActiveTestMerges")
+
955 .HasForeignKey("RevisionInformationId")
+
956 .OnDelete(DeleteBehavior.Cascade)
+
957 .IsRequired();
+
958
+
959 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
960 .WithMany("RevisonInformations")
+
961 .HasForeignKey("TestMergeId")
+
962 .OnDelete(DeleteBehavior.ClientNoAction)
+
963 .IsRequired();
+
964
+
965 b.Navigation("RevisionInformation");
+
966
+
967 b.Navigation("TestMerge");
+
968 });
+
969
+
970 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
971 {
+
972 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
973 .WithMany("RevisionInformations")
+
974 .HasForeignKey("InstanceId")
+
975 .OnDelete(DeleteBehavior.Cascade)
+
976 .IsRequired();
+
977
+
978 b.Navigation("Instance");
+
979 });
+
980
+
981 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
982 {
+
983 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
984 .WithMany("TestMerges")
+
985 .HasForeignKey("MergedById")
+
986 .OnDelete(DeleteBehavior.Restrict)
+
987 .IsRequired();
+
988
+
989 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
990 .WithOne("PrimaryTestMerge")
+
991 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
992 .OnDelete(DeleteBehavior.Cascade)
+
993 .IsRequired();
+
994
+
995 b.Navigation("MergedBy");
+
996
+
997 b.Navigation("PrimaryRevisionInformation");
+
998 });
+
999
+
1000 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1001 {
+
1002 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
1003 .WithMany("CreatedUsers")
+
1004 .HasForeignKey("CreatedById");
1005
-
1006 b.Navigation("CreatedBy");
-
1007
-
1008 b.Navigation("Group");
-
1009 });
-
1010
-
1011 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
1012 {
-
1013 b.Navigation("Channels");
-
1014 });
-
1015
-
1016 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
1017 {
-
1018 b.Navigation("ChatSettings");
+
1006 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
1007 .WithMany("Users")
+
1008 .HasForeignKey("GroupId");
+
1009
+
1010 b.Navigation("CreatedBy");
+
1011
+
1012 b.Navigation("Group");
+
1013 });
+
1014
+
1015 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
1016 {
+
1017 b.Navigation("Channels");
+
1018 });
1019
-
1020 b.Navigation("DreamDaemonSettings");
-
1021
-
1022 b.Navigation("DreamMakerSettings");
+
1020 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
1021 {
+
1022 b.Navigation("ChatSettings");
1023
-
1024 b.Navigation("InstancePermissionSets");
+
1024 b.Navigation("DreamDaemonSettings");
1025
-
1026 b.Navigation("Jobs");
+
1026 b.Navigation("DreamMakerSettings");
1027
-
1028 b.Navigation("RepositorySettings");
+
1028 b.Navigation("InstancePermissionSets");
1029
-
1030 b.Navigation("RevisionInformations");
-
1031 });
-
1032
-
1033 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
1034 {
-
1035 b.Navigation("InstancePermissionSets");
-
1036 });
-
1037
-
1038 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
1039 {
-
1040 b.Navigation("ActiveTestMerges");
+
1030 b.Navigation("Jobs");
+
1031
+
1032 b.Navigation("RepositorySettings");
+
1033
+
1034 b.Navigation("RevisionInformations");
+
1035 });
+
1036
+
1037 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1038 {
+
1039 b.Navigation("InstancePermissionSets");
+
1040 });
1041
-
1042 b.Navigation("CompileJobs");
-
1043
-
1044 b.Navigation("PrimaryTestMerge");
-
1045 });
-
1046
-
1047 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
1048 {
-
1049 b.Navigation("RevisonInformations");
-
1050 });
-
1051
-
1052 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
1053 {
-
1054 b.Navigation("CreatedUsers");
+
1042 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1043 {
+
1044 b.Navigation("ActiveTestMerges");
+
1045
+
1046 b.Navigation("CompileJobs");
+
1047
+
1048 b.Navigation("PrimaryTestMerge");
+
1049 });
+
1050
+
1051 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1052 {
+
1053 b.Navigation("RevisonInformations");
+
1054 });
1055
-
1056 b.Navigation("OAuthConnections");
-
1057
-
1058 b.Navigation("PermissionSet");
+
1056 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1057 {
+
1058 b.Navigation("CreatedUsers");
1059
-
1060 b.Navigation("TestMerges");
-
1061 });
-
1062
-
1063 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
1064 {
-
1065 b.Navigation("PermissionSet")
-
1066 .IsRequired();
-
1067
-
1068 b.Navigation("Users");
-
1069 });
-
1070#pragma warning restore 612, 618
-
1071 }
-
1072 }
-
1073}
+
1060 b.Navigation("OAuthConnections");
+
1061
+
1062 b.Navigation("PermissionSet");
+
1063
+
1064 b.Navigation("TestMerges");
+
1065 });
+
1066
+
1067 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1068 {
+
1069 b.Navigation("PermissionSet")
+
1070 .IsRequired();
+
1071
+
1072 b.Navigation("Users");
+
1073 });
+
1074#pragma warning restore 612, 618
+
1075 }
+
1076 }
+
1077}
diff --git a/_sqlite_database_context_model_snapshot_8cs_source.html b/_sqlite_database_context_model_snapshot_8cs_source.html index e16279f335..840fbe5a26 100644 --- a/_sqlite_database_context_model_snapshot_8cs_source.html +++ b/_sqlite_database_context_model_snapshot_8cs_source.html @@ -91,7 +91,7 @@ $(function() {
12 protected override void BuildModel(ModelBuilder modelBuilder)
13 {
14#pragma warning disable 612, 618
-
15 modelBuilder.HasAnnotation("ProductVersion", "8.0.0");
+
15 modelBuilder.HasAnnotation("ProductVersion", "8.0.1");
16
17 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
18 {
@@ -280,842 +280,846 @@ $(function() {
201 .IsRequired()
202 .HasColumnType("INTEGER");
203
-
204 b.Property<ushort?>("Port")
+
204 b.Property<bool?>("Minidumps")
205 .IsRequired()
206 .HasColumnType("INTEGER");
207
-
208 b.Property<int>("SecurityLevel")
-
209 .HasColumnType("INTEGER");
-
210
-
211 b.Property<bool?>("StartProfiler")
-
212 .IsRequired()
+
208 b.Property<ushort?>("Port")
+
209 .IsRequired()
+
210 .HasColumnType("INTEGER");
+
211
+
212 b.Property<int>("SecurityLevel")
213 .HasColumnType("INTEGER");
214
-
215 b.Property<uint?>("StartupTimeout")
+
215 b.Property<bool?>("StartProfiler")
216 .IsRequired()
217 .HasColumnType("INTEGER");
218
-
219 b.Property<uint?>("TopicRequestTimeout")
+
219 b.Property<uint?>("StartupTimeout")
220 .IsRequired()
221 .HasColumnType("INTEGER");
222
-
223 b.Property<int>("Visibility")
-
224 .HasColumnType("INTEGER");
-
225
-
226 b.HasKey("Id");
-
227
-
228 b.HasIndex("InstanceId")
-
229 .IsUnique();
-
230
-
231 b.ToTable("DreamDaemonSettings");
-
232 });
-
233
-
234 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
235 {
-
236 b.Property<long>("Id")
-
237 .ValueGeneratedOnAdd()
-
238 .HasColumnType("INTEGER");
-
239
-
240 b.Property<ushort?>("ApiValidationPort")
-
241 .IsRequired()
+
223 b.Property<uint?>("TopicRequestTimeout")
+
224 .IsRequired()
+
225 .HasColumnType("INTEGER");
+
226
+
227 b.Property<int>("Visibility")
+
228 .HasColumnType("INTEGER");
+
229
+
230 b.HasKey("Id");
+
231
+
232 b.HasIndex("InstanceId")
+
233 .IsUnique();
+
234
+
235 b.ToTable("DreamDaemonSettings");
+
236 });
+
237
+
238 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
239 {
+
240 b.Property<long>("Id")
+
241 .ValueGeneratedOnAdd()
242 .HasColumnType("INTEGER");
243
-
244 b.Property<int>("ApiValidationSecurityLevel")
-
245 .HasColumnType("INTEGER");
-
246
-
247 b.Property<long>("InstanceId")
-
248 .HasColumnType("INTEGER");
-
249
-
250 b.Property<string>("ProjectName")
-
251 .HasMaxLength(10000)
-
252 .HasColumnType("TEXT");
+
244 b.Property<ushort?>("ApiValidationPort")
+
245 .IsRequired()
+
246 .HasColumnType("INTEGER");
+
247
+
248 b.Property<int>("ApiValidationSecurityLevel")
+
249 .HasColumnType("INTEGER");
+
250
+
251 b.Property<long>("InstanceId")
+
252 .HasColumnType("INTEGER");
253
-
254 b.Property<bool?>("RequireDMApiValidation")
-
255 .IsRequired()
-
256 .HasColumnType("INTEGER");
+
254 b.Property<string>("ProjectName")
+
255 .HasMaxLength(10000)
+
256 .HasColumnType("TEXT");
257
-
258 b.Property<TimeSpan?>("Timeout")
+
258 b.Property<bool?>("RequireDMApiValidation")
259 .IsRequired()
-
260 .HasColumnType("TEXT");
+
260 .HasColumnType("INTEGER");
261
-
262 b.HasKey("Id");
-
263
-
264 b.HasIndex("InstanceId")
-
265 .IsUnique();
-
266
-
267 b.ToTable("DreamMakerSettings");
-
268 });
-
269
-
270 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
271 {
-
272 b.Property<long?>("Id")
-
273 .ValueGeneratedOnAdd()
-
274 .HasColumnType("INTEGER");
-
275
-
276 b.Property<uint?>("AutoUpdateInterval")
-
277 .IsRequired()
+
262 b.Property<TimeSpan?>("Timeout")
+
263 .IsRequired()
+
264 .HasColumnType("TEXT");
+
265
+
266 b.HasKey("Id");
+
267
+
268 b.HasIndex("InstanceId")
+
269 .IsUnique();
+
270
+
271 b.ToTable("DreamMakerSettings");
+
272 });
+
273
+
274 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
275 {
+
276 b.Property<long?>("Id")
+
277 .ValueGeneratedOnAdd()
278 .HasColumnType("INTEGER");
279
-
280 b.Property<ushort?>("ChatBotLimit")
+
280 b.Property<uint?>("AutoUpdateInterval")
281 .IsRequired()
282 .HasColumnType("INTEGER");
283
-
284 b.Property<int>("ConfigurationType")
-
285 .HasColumnType("INTEGER");
-
286
-
287 b.Property<string>("Name")
-
288 .IsRequired()
-
289 .HasMaxLength(100)
-
290 .HasColumnType("TEXT");
-
291
-
292 b.Property<bool?>("Online")
-
293 .IsRequired()
-
294 .HasColumnType("INTEGER");
+
284 b.Property<ushort?>("ChatBotLimit")
+
285 .IsRequired()
+
286 .HasColumnType("INTEGER");
+
287
+
288 b.Property<int>("ConfigurationType")
+
289 .HasColumnType("INTEGER");
+
290
+
291 b.Property<string>("Name")
+
292 .IsRequired()
+
293 .HasMaxLength(100)
+
294 .HasColumnType("TEXT");
295
-
296 b.Property<string>("Path")
+
296 b.Property<bool?>("Online")
297 .IsRequired()
-
298 .HasColumnType("TEXT");
+
298 .HasColumnType("INTEGER");
299
-
300 b.Property<string>("SwarmIdentifer")
-
301 .HasColumnType("TEXT");
-
302
-
303 b.HasKey("Id");
-
304
-
305 b.HasIndex("Path", "SwarmIdentifer")
-
306 .IsUnique();
-
307
-
308 b.ToTable("Instances");
-
309 });
-
310
-
311 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
312 {
-
313 b.Property<long>("Id")
-
314 .ValueGeneratedOnAdd()
-
315 .HasColumnType("INTEGER");
-
316
-
317 b.Property<ulong>("ChatBotRights")
-
318 .HasColumnType("INTEGER");
-
319
-
320 b.Property<ulong>("ConfigurationRights")
-
321 .HasColumnType("INTEGER");
-
322
-
323 b.Property<ulong>("DreamDaemonRights")
-
324 .HasColumnType("INTEGER");
-
325
-
326 b.Property<ulong>("DreamMakerRights")
-
327 .HasColumnType("INTEGER");
-
328
-
329 b.Property<ulong>("EngineRights")
-
330 .HasColumnType("INTEGER");
-
331
-
332 b.Property<long>("InstanceId")
-
333 .HasColumnType("INTEGER");
-
334
-
335 b.Property<ulong>("InstancePermissionSetRights")
-
336 .HasColumnType("INTEGER");
-
337
-
338 b.Property<long>("PermissionSetId")
-
339 .HasColumnType("INTEGER");
-
340
-
341 b.Property<ulong>("RepositoryRights")
-
342 .HasColumnType("INTEGER");
-
343
-
344 b.HasKey("Id");
-
345
-
346 b.HasIndex("InstanceId");
+
300 b.Property<string>("Path")
+
301 .IsRequired()
+
302 .HasColumnType("TEXT");
+
303
+
304 b.Property<string>("SwarmIdentifer")
+
305 .HasColumnType("TEXT");
+
306
+
307 b.HasKey("Id");
+
308
+
309 b.HasIndex("Path", "SwarmIdentifer")
+
310 .IsUnique();
+
311
+
312 b.ToTable("Instances");
+
313 });
+
314
+
315 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
316 {
+
317 b.Property<long>("Id")
+
318 .ValueGeneratedOnAdd()
+
319 .HasColumnType("INTEGER");
+
320
+
321 b.Property<ulong>("ChatBotRights")
+
322 .HasColumnType("INTEGER");
+
323
+
324 b.Property<ulong>("ConfigurationRights")
+
325 .HasColumnType("INTEGER");
+
326
+
327 b.Property<ulong>("DreamDaemonRights")
+
328 .HasColumnType("INTEGER");
+
329
+
330 b.Property<ulong>("DreamMakerRights")
+
331 .HasColumnType("INTEGER");
+
332
+
333 b.Property<ulong>("EngineRights")
+
334 .HasColumnType("INTEGER");
+
335
+
336 b.Property<long>("InstanceId")
+
337 .HasColumnType("INTEGER");
+
338
+
339 b.Property<ulong>("InstancePermissionSetRights")
+
340 .HasColumnType("INTEGER");
+
341
+
342 b.Property<long>("PermissionSetId")
+
343 .HasColumnType("INTEGER");
+
344
+
345 b.Property<ulong>("RepositoryRights")
+
346 .HasColumnType("INTEGER");
347
-
348 b.HasIndex("PermissionSetId", "InstanceId")
-
349 .IsUnique();
-
350
-
351 b.ToTable("InstancePermissionSets");
-
352 });
-
353
-
354 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
355 {
-
356 b.Property<long?>("Id")
-
357 .ValueGeneratedOnAdd()
-
358 .HasColumnType("INTEGER");
-
359
-
360 b.Property<ulong?>("CancelRight")
-
361 .HasColumnType("INTEGER");
-
362
-
363 b.Property<ulong?>("CancelRightsType")
-
364 .HasColumnType("INTEGER");
-
365
-
366 b.Property<bool?>("Cancelled")
-
367 .IsRequired()
+
348 b.HasKey("Id");
+
349
+
350 b.HasIndex("InstanceId");
+
351
+
352 b.HasIndex("PermissionSetId", "InstanceId")
+
353 .IsUnique();
+
354
+
355 b.ToTable("InstancePermissionSets");
+
356 });
+
357
+
358 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
359 {
+
360 b.Property<long?>("Id")
+
361 .ValueGeneratedOnAdd()
+
362 .HasColumnType("INTEGER");
+
363
+
364 b.Property<ulong?>("CancelRight")
+
365 .HasColumnType("INTEGER");
+
366
+
367 b.Property<ulong?>("CancelRightsType")
368 .HasColumnType("INTEGER");
369
-
370 b.Property<long?>("CancelledById")
-
371 .HasColumnType("INTEGER");
-
372
-
373 b.Property<string>("Description")
-
374 .IsRequired()
-
375 .HasColumnType("TEXT");
+
370 b.Property<bool?>("Cancelled")
+
371 .IsRequired()
+
372 .HasColumnType("INTEGER");
+
373
+
374 b.Property<long?>("CancelledById")
+
375 .HasColumnType("INTEGER");
376
-
377 b.Property<uint?>("ErrorCode")
-
378 .HasColumnType("INTEGER");
-
379
-
380 b.Property<string>("ExceptionDetails")
-
381 .HasColumnType("TEXT");
-
382
-
383 b.Property<long>("InstanceId")
-
384 .HasColumnType("INTEGER");
-
385
-
386 b.Property<byte>("JobCode")
-
387 .HasColumnType("INTEGER");
-
388
-
389 b.Property<DateTimeOffset?>("StartedAt")
-
390 .IsRequired()
-
391 .HasColumnType("TEXT");
+
377 b.Property<string>("Description")
+
378 .IsRequired()
+
379 .HasColumnType("TEXT");
+
380
+
381 b.Property<uint?>("ErrorCode")
+
382 .HasColumnType("INTEGER");
+
383
+
384 b.Property<string>("ExceptionDetails")
+
385 .HasColumnType("TEXT");
+
386
+
387 b.Property<long>("InstanceId")
+
388 .HasColumnType("INTEGER");
+
389
+
390 b.Property<byte>("JobCode")
+
391 .HasColumnType("INTEGER");
392
-
393 b.Property<long>("StartedById")
-
394 .HasColumnType("INTEGER");
-
395
-
396 b.Property<DateTimeOffset?>("StoppedAt")
-
397 .HasColumnType("TEXT");
-
398
-
399 b.HasKey("Id");
-
400
-
401 b.HasIndex("CancelledById");
+
393 b.Property<DateTimeOffset?>("StartedAt")
+
394 .IsRequired()
+
395 .HasColumnType("TEXT");
+
396
+
397 b.Property<long>("StartedById")
+
398 .HasColumnType("INTEGER");
+
399
+
400 b.Property<DateTimeOffset?>("StoppedAt")
+
401 .HasColumnType("TEXT");
402
-
403 b.HasIndex("InstanceId");
+
403 b.HasKey("Id");
404
-
405 b.HasIndex("StartedById");
+
405 b.HasIndex("CancelledById");
406
-
407 b.ToTable("Jobs");
-
408 });
-
409
-
410 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
411 {
-
412 b.Property<long>("Id")
-
413 .ValueGeneratedOnAdd()
-
414 .HasColumnType("INTEGER");
-
415
-
416 b.Property<string>("ExternalUserId")
-
417 .IsRequired()
-
418 .HasMaxLength(100)
-
419 .HasColumnType("TEXT");
-
420
-
421 b.Property<int>("Provider")
-
422 .HasColumnType("INTEGER");
-
423
-
424 b.Property<long?>("UserId")
-
425 .HasColumnType("INTEGER");
-
426
-
427 b.HasKey("Id");
-
428
-
429 b.HasIndex("UserId");
+
407 b.HasIndex("InstanceId");
+
408
+
409 b.HasIndex("StartedById");
+
410
+
411 b.ToTable("Jobs");
+
412 });
+
413
+
414 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
415 {
+
416 b.Property<long>("Id")
+
417 .ValueGeneratedOnAdd()
+
418 .HasColumnType("INTEGER");
+
419
+
420 b.Property<string>("ExternalUserId")
+
421 .IsRequired()
+
422 .HasMaxLength(100)
+
423 .HasColumnType("TEXT");
+
424
+
425 b.Property<int>("Provider")
+
426 .HasColumnType("INTEGER");
+
427
+
428 b.Property<long?>("UserId")
+
429 .HasColumnType("INTEGER");
430
-
431 b.HasIndex("Provider", "ExternalUserId")
-
432 .IsUnique();
-
433
-
434 b.ToTable("OAuthConnections");
-
435 });
-
436
-
437 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
438 {
-
439 b.Property<long?>("Id")
-
440 .ValueGeneratedOnAdd()
-
441 .HasColumnType("INTEGER");
-
442
-
443 b.Property<ulong>("AdministrationRights")
-
444 .HasColumnType("INTEGER");
-
445
-
446 b.Property<long?>("GroupId")
-
447 .HasColumnType("INTEGER");
-
448
-
449 b.Property<ulong>("InstanceManagerRights")
-
450 .HasColumnType("INTEGER");
-
451
-
452 b.Property<long?>("UserId")
-
453 .HasColumnType("INTEGER");
-
454
-
455 b.HasKey("Id");
-
456
-
457 b.HasIndex("GroupId")
-
458 .IsUnique();
-
459
-
460 b.HasIndex("UserId")
-
461 .IsUnique();
-
462
-
463 b.ToTable("PermissionSets");
-
464 });
-
465
-
466 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
467 {
-
468 b.Property<long?>("Id")
-
469 .ValueGeneratedOnAdd()
-
470 .HasColumnType("INTEGER");
-
471
-
472 b.Property<string>("AccessIdentifier")
-
473 .IsRequired()
-
474 .HasColumnType("TEXT");
+
431 b.HasKey("Id");
+
432
+
433 b.HasIndex("UserId");
+
434
+
435 b.HasIndex("Provider", "ExternalUserId")
+
436 .IsUnique();
+
437
+
438 b.ToTable("OAuthConnections");
+
439 });
+
440
+
441 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
442 {
+
443 b.Property<long?>("Id")
+
444 .ValueGeneratedOnAdd()
+
445 .HasColumnType("INTEGER");
+
446
+
447 b.Property<ulong>("AdministrationRights")
+
448 .HasColumnType("INTEGER");
+
449
+
450 b.Property<long?>("GroupId")
+
451 .HasColumnType("INTEGER");
+
452
+
453 b.Property<ulong>("InstanceManagerRights")
+
454 .HasColumnType("INTEGER");
+
455
+
456 b.Property<long?>("UserId")
+
457 .HasColumnType("INTEGER");
+
458
+
459 b.HasKey("Id");
+
460
+
461 b.HasIndex("GroupId")
+
462 .IsUnique();
+
463
+
464 b.HasIndex("UserId")
+
465 .IsUnique();
+
466
+
467 b.ToTable("PermissionSets");
+
468 });
+
469
+
470 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
471 {
+
472 b.Property<long?>("Id")
+
473 .ValueGeneratedOnAdd()
+
474 .HasColumnType("INTEGER");
475
-
476 b.Property<long>("CompileJobId")
-
477 .HasColumnType("INTEGER");
-
478
-
479 b.Property<long?>("InitialCompileJobId")
-
480 .HasColumnType("INTEGER");
-
481
-
482 b.Property<int>("LaunchSecurityLevel")
-
483 .HasColumnType("INTEGER");
-
484
-
485 b.Property<int>("LaunchVisibility")
-
486 .HasColumnType("INTEGER");
-
487
-
488 b.Property<ushort>("Port")
-
489 .HasColumnType("INTEGER");
-
490
-
491 b.Property<int>("ProcessId")
-
492 .HasColumnType("INTEGER");
-
493
-
494 b.Property<int>("RebootState")
-
495 .HasColumnType("INTEGER");
-
496
-
497 b.Property<ushort?>("TopicPort")
-
498 .HasColumnType("INTEGER");
-
499
-
500 b.HasKey("Id");
-
501
-
502 b.HasIndex("CompileJobId");
+
476 b.Property<string>("AccessIdentifier")
+
477 .IsRequired()
+
478 .HasColumnType("TEXT");
+
479
+
480 b.Property<long>("CompileJobId")
+
481 .HasColumnType("INTEGER");
+
482
+
483 b.Property<long?>("InitialCompileJobId")
+
484 .HasColumnType("INTEGER");
+
485
+
486 b.Property<int>("LaunchSecurityLevel")
+
487 .HasColumnType("INTEGER");
+
488
+
489 b.Property<int>("LaunchVisibility")
+
490 .HasColumnType("INTEGER");
+
491
+
492 b.Property<ushort>("Port")
+
493 .HasColumnType("INTEGER");
+
494
+
495 b.Property<int>("ProcessId")
+
496 .HasColumnType("INTEGER");
+
497
+
498 b.Property<int>("RebootState")
+
499 .HasColumnType("INTEGER");
+
500
+
501 b.Property<ushort?>("TopicPort")
+
502 .HasColumnType("INTEGER");
503
-
504 b.HasIndex("InitialCompileJobId");
+
504 b.HasKey("Id");
505
-
506 b.ToTable("ReattachInformations");
-
507 });
-
508
-
509 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
510 {
-
511 b.Property<long>("Id")
-
512 .ValueGeneratedOnAdd()
-
513 .HasColumnType("INTEGER");
-
514
-
515 b.Property<string>("AccessToken")
-
516 .HasMaxLength(10000)
-
517 .HasColumnType("TEXT");
+
506 b.HasIndex("CompileJobId");
+
507
+
508 b.HasIndex("InitialCompileJobId");
+
509
+
510 b.ToTable("ReattachInformations");
+
511 });
+
512
+
513 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
514 {
+
515 b.Property<long>("Id")
+
516 .ValueGeneratedOnAdd()
+
517 .HasColumnType("INTEGER");
518
-
519 b.Property<string>("AccessUser")
+
519 b.Property<string>("AccessToken")
520 .HasMaxLength(10000)
521 .HasColumnType("TEXT");
522
-
523 b.Property<bool?>("AutoUpdatesKeepTestMerges")
-
524 .IsRequired()
-
525 .HasColumnType("INTEGER");
+
523 b.Property<string>("AccessUser")
+
524 .HasMaxLength(10000)
+
525 .HasColumnType("TEXT");
526
-
527 b.Property<bool?>("AutoUpdatesSynchronize")
+
527 b.Property<bool?>("AutoUpdatesKeepTestMerges")
528 .IsRequired()
529 .HasColumnType("INTEGER");
530
-
531 b.Property<string>("CommitterEmail")
+
531 b.Property<bool?>("AutoUpdatesSynchronize")
532 .IsRequired()
-
533 .HasMaxLength(10000)
-
534 .HasColumnType("TEXT");
-
535
-
536 b.Property<string>("CommitterName")
-
537 .IsRequired()
-
538 .HasMaxLength(10000)
-
539 .HasColumnType("TEXT");
-
540
-
541 b.Property<bool?>("CreateGitHubDeployments")
-
542 .IsRequired()
-
543 .HasColumnType("INTEGER");
+
533 .HasColumnType("INTEGER");
+
534
+
535 b.Property<string>("CommitterEmail")
+
536 .IsRequired()
+
537 .HasMaxLength(10000)
+
538 .HasColumnType("TEXT");
+
539
+
540 b.Property<string>("CommitterName")
+
541 .IsRequired()
+
542 .HasMaxLength(10000)
+
543 .HasColumnType("TEXT");
544
-
545 b.Property<long>("InstanceId")
-
546 .HasColumnType("INTEGER");
-
547
-
548 b.Property<bool?>("PostTestMergeComment")
-
549 .IsRequired()
+
545 b.Property<bool?>("CreateGitHubDeployments")
+
546 .IsRequired()
+
547 .HasColumnType("INTEGER");
+
548
+
549 b.Property<long>("InstanceId")
550 .HasColumnType("INTEGER");
551
-
552 b.Property<bool?>("PushTestMergeCommits")
+
552 b.Property<bool?>("PostTestMergeComment")
553 .IsRequired()
554 .HasColumnType("INTEGER");
555
-
556 b.Property<bool?>("ShowTestMergeCommitters")
+
556 b.Property<bool?>("PushTestMergeCommits")
557 .IsRequired()
558 .HasColumnType("INTEGER");
559
-
560 b.Property<bool?>("UpdateSubmodules")
+
560 b.Property<bool?>("ShowTestMergeCommitters")
561 .IsRequired()
562 .HasColumnType("INTEGER");
563
-
564 b.HasKey("Id");
-
565
-
566 b.HasIndex("InstanceId")
-
567 .IsUnique();
-
568
-
569 b.ToTable("RepositorySettings");
-
570 });
-
571
-
572 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
573 {
-
574 b.Property<long>("Id")
-
575 .ValueGeneratedOnAdd()
-
576 .HasColumnType("INTEGER");
-
577
-
578 b.Property<long>("RevisionInformationId")
-
579 .HasColumnType("INTEGER");
-
580
-
581 b.Property<long>("TestMergeId")
-
582 .HasColumnType("INTEGER");
-
583
-
584 b.HasKey("Id");
-
585
-
586 b.HasIndex("RevisionInformationId");
+
564 b.Property<bool?>("UpdateSubmodules")
+
565 .IsRequired()
+
566 .HasColumnType("INTEGER");
+
567
+
568 b.HasKey("Id");
+
569
+
570 b.HasIndex("InstanceId")
+
571 .IsUnique();
+
572
+
573 b.ToTable("RepositorySettings");
+
574 });
+
575
+
576 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
577 {
+
578 b.Property<long>("Id")
+
579 .ValueGeneratedOnAdd()
+
580 .HasColumnType("INTEGER");
+
581
+
582 b.Property<long>("RevisionInformationId")
+
583 .HasColumnType("INTEGER");
+
584
+
585 b.Property<long>("TestMergeId")
+
586 .HasColumnType("INTEGER");
587
-
588 b.HasIndex("TestMergeId");
+
588 b.HasKey("Id");
589
-
590 b.ToTable("RevInfoTestMerges");
-
591 });
-
592
-
593 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
594 {
-
595 b.Property<long>("Id")
-
596 .ValueGeneratedOnAdd()
-
597 .HasColumnType("INTEGER");
-
598
-
599 b.Property<string>("CommitSha")
-
600 .IsRequired()
-
601 .HasMaxLength(40)
-
602 .HasColumnType("TEXT");
-
603
-
604 b.Property<long>("InstanceId")
-
605 .HasColumnType("INTEGER");
-
606
-
607 b.Property<string>("OriginCommitSha")
-
608 .IsRequired()
-
609 .HasMaxLength(40)
-
610 .HasColumnType("TEXT");
-
611
-
612 b.Property<DateTimeOffset>("Timestamp")
-
613 .HasColumnType("TEXT");
-
614
-
615 b.HasKey("Id");
-
616
-
617 b.HasIndex("InstanceId", "CommitSha")
-
618 .IsUnique();
-
619
-
620 b.ToTable("RevisionInformations");
-
621 });
-
622
-
623 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
624 {
-
625 b.Property<long>("Id")
-
626 .ValueGeneratedOnAdd()
-
627 .HasColumnType("INTEGER");
-
628
-
629 b.Property<string>("Author")
-
630 .IsRequired()
-
631 .HasColumnType("TEXT");
+
590 b.HasIndex("RevisionInformationId");
+
591
+
592 b.HasIndex("TestMergeId");
+
593
+
594 b.ToTable("RevInfoTestMerges");
+
595 });
+
596
+
597 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
598 {
+
599 b.Property<long>("Id")
+
600 .ValueGeneratedOnAdd()
+
601 .HasColumnType("INTEGER");
+
602
+
603 b.Property<string>("CommitSha")
+
604 .IsRequired()
+
605 .HasMaxLength(40)
+
606 .HasColumnType("TEXT");
+
607
+
608 b.Property<long>("InstanceId")
+
609 .HasColumnType("INTEGER");
+
610
+
611 b.Property<string>("OriginCommitSha")
+
612 .IsRequired()
+
613 .HasMaxLength(40)
+
614 .HasColumnType("TEXT");
+
615
+
616 b.Property<DateTimeOffset>("Timestamp")
+
617 .HasColumnType("TEXT");
+
618
+
619 b.HasKey("Id");
+
620
+
621 b.HasIndex("InstanceId", "CommitSha")
+
622 .IsUnique();
+
623
+
624 b.ToTable("RevisionInformations");
+
625 });
+
626
+
627 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
628 {
+
629 b.Property<long>("Id")
+
630 .ValueGeneratedOnAdd()
+
631 .HasColumnType("INTEGER");
632
-
633 b.Property<string>("BodyAtMerge")
+
633 b.Property<string>("Author")
634 .IsRequired()
635 .HasColumnType("TEXT");
636
-
637 b.Property<string>("Comment")
-
638 .HasMaxLength(10000)
+
637 b.Property<string>("BodyAtMerge")
+
638 .IsRequired()
639 .HasColumnType("TEXT");
640
-
641 b.Property<DateTimeOffset>("MergedAt")
-
642 .HasColumnType("TEXT");
-
643
-
644 b.Property<long>("MergedById")
-
645 .HasColumnType("INTEGER");
-
646
-
647 b.Property<int>("Number")
-
648 .HasColumnType("INTEGER");
-
649
-
650 b.Property<long?>("PrimaryRevisionInformationId")
-
651 .IsRequired()
+
641 b.Property<string>("Comment")
+
642 .HasMaxLength(10000)
+
643 .HasColumnType("TEXT");
+
644
+
645 b.Property<DateTimeOffset>("MergedAt")
+
646 .HasColumnType("TEXT");
+
647
+
648 b.Property<long>("MergedById")
+
649 .HasColumnType("INTEGER");
+
650
+
651 b.Property<int>("Number")
652 .HasColumnType("INTEGER");
653
-
654 b.Property<string>("TargetCommitSha")
+
654 b.Property<long?>("PrimaryRevisionInformationId")
655 .IsRequired()
-
656 .HasMaxLength(40)
-
657 .HasColumnType("TEXT");
-
658
-
659 b.Property<string>("TitleAtMerge")
-
660 .IsRequired()
+
656 .HasColumnType("INTEGER");
+
657
+
658 b.Property<string>("TargetCommitSha")
+
659 .IsRequired()
+
660 .HasMaxLength(40)
661 .HasColumnType("TEXT");
662
-
663 b.Property<string>("Url")
+
663 b.Property<string>("TitleAtMerge")
664 .IsRequired()
665 .HasColumnType("TEXT");
666
-
667 b.HasKey("Id");
-
668
-
669 b.HasIndex("MergedById");
+
667 b.Property<string>("Url")
+
668 .IsRequired()
+
669 .HasColumnType("TEXT");
670
-
671 b.HasIndex("PrimaryRevisionInformationId")
-
672 .IsUnique();
-
673
-
674 b.ToTable("TestMerges");
-
675 });
-
676
-
677 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
678 {
-
679 b.Property<long?>("Id")
-
680 .ValueGeneratedOnAdd()
-
681 .HasColumnType("INTEGER");
-
682
-
683 b.Property<string>("CanonicalName")
-
684 .IsRequired()
-
685 .HasMaxLength(100)
-
686 .HasColumnType("TEXT");
-
687
-
688 b.Property<DateTimeOffset?>("CreatedAt")
-
689 .IsRequired()
+
671 b.HasKey("Id");
+
672
+
673 b.HasIndex("MergedById");
+
674
+
675 b.HasIndex("PrimaryRevisionInformationId")
+
676 .IsUnique();
+
677
+
678 b.ToTable("TestMerges");
+
679 });
+
680
+
681 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
682 {
+
683 b.Property<long?>("Id")
+
684 .ValueGeneratedOnAdd()
+
685 .HasColumnType("INTEGER");
+
686
+
687 b.Property<string>("CanonicalName")
+
688 .IsRequired()
+
689 .HasMaxLength(100)
690 .HasColumnType("TEXT");
691
-
692 b.Property<long?>("CreatedById")
-
693 .HasColumnType("INTEGER");
-
694
-
695 b.Property<bool?>("Enabled")
-
696 .IsRequired()
+
692 b.Property<DateTimeOffset?>("CreatedAt")
+
693 .IsRequired()
+
694 .HasColumnType("TEXT");
+
695
+
696 b.Property<long?>("CreatedById")
697 .HasColumnType("INTEGER");
698
-
699 b.Property<long?>("GroupId")
-
700 .HasColumnType("INTEGER");
-
701
-
702 b.Property<DateTimeOffset?>("LastPasswordUpdate")
-
703 .HasColumnType("TEXT");
-
704
-
705 b.Property<string>("Name")
-
706 .IsRequired()
-
707 .HasMaxLength(100)
-
708 .HasColumnType("TEXT");
-
709
-
710 b.Property<string>("PasswordHash")
-
711 .HasColumnType("TEXT");
-
712
-
713 b.Property<string>("SystemIdentifier")
-
714 .HasMaxLength(100)
+
699 b.Property<bool?>("Enabled")
+
700 .IsRequired()
+
701 .HasColumnType("INTEGER");
+
702
+
703 b.Property<long?>("GroupId")
+
704 .HasColumnType("INTEGER");
+
705
+
706 b.Property<DateTimeOffset?>("LastPasswordUpdate")
+
707 .HasColumnType("TEXT");
+
708
+
709 b.Property<string>("Name")
+
710 .IsRequired()
+
711 .HasMaxLength(100)
+
712 .HasColumnType("TEXT");
+
713
+
714 b.Property<string>("PasswordHash")
715 .HasColumnType("TEXT");
716
-
717 b.HasKey("Id");
-
718
-
719 b.HasIndex("CanonicalName")
-
720 .IsUnique();
-
721
-
722 b.HasIndex("CreatedById");
-
723
-
724 b.HasIndex("GroupId");
+
717 b.Property<string>("SystemIdentifier")
+
718 .HasMaxLength(100)
+
719 .HasColumnType("TEXT");
+
720
+
721 b.HasKey("Id");
+
722
+
723 b.HasIndex("CanonicalName")
+
724 .IsUnique();
725
-
726 b.HasIndex("SystemIdentifier")
-
727 .IsUnique();
-
728
-
729 b.ToTable("Users");
-
730 });
-
731
-
732 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
733 {
-
734 b.Property<long?>("Id")
-
735 .ValueGeneratedOnAdd()
-
736 .HasColumnType("INTEGER");
-
737
-
738 b.Property<string>("Name")
-
739 .IsRequired()
-
740 .HasMaxLength(100)
-
741 .HasColumnType("TEXT");
-
742
-
743 b.HasKey("Id");
-
744
-
745 b.HasIndex("Name")
-
746 .IsUnique();
-
747
-
748 b.ToTable("Groups");
-
749 });
-
750
-
751 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
752 {
-
753 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
754 .WithMany("ChatSettings")
-
755 .HasForeignKey("InstanceId")
-
756 .OnDelete(DeleteBehavior.Cascade)
-
757 .IsRequired();
-
758
-
759 b.Navigation("Instance");
-
760 });
-
761
-
762 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
-
763 {
-
764 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
-
765 .WithMany("Channels")
-
766 .HasForeignKey("ChatSettingsId")
-
767 .OnDelete(DeleteBehavior.Cascade)
-
768 .IsRequired();
-
769
-
770 b.Navigation("ChatSettings");
-
771 });
-
772
-
773 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
-
774 {
-
775 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
-
776 .WithOne()
-
777 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
-
778 .OnDelete(DeleteBehavior.Cascade)
-
779 .IsRequired();
-
780
-
781 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
782 .WithMany("CompileJobs")
-
783 .HasForeignKey("RevisionInformationId")
-
784 .OnDelete(DeleteBehavior.ClientNoAction)
-
785 .IsRequired();
-
786
-
787 b.Navigation("Job");
-
788
-
789 b.Navigation("RevisionInformation");
-
790 });
-
791
-
792 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
-
793 {
-
794 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
795 .WithOne("DreamDaemonSettings")
-
796 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
-
797 .OnDelete(DeleteBehavior.Cascade)
-
798 .IsRequired();
-
799
-
800 b.Navigation("Instance");
-
801 });
-
802
-
803 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
-
804 {
-
805 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
806 .WithOne("DreamMakerSettings")
-
807 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
-
808 .OnDelete(DeleteBehavior.Cascade)
-
809 .IsRequired();
-
810
-
811 b.Navigation("Instance");
-
812 });
-
813
-
814 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
-
815 {
-
816 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
817 .WithMany("InstancePermissionSets")
-
818 .HasForeignKey("InstanceId")
-
819 .OnDelete(DeleteBehavior.Cascade)
-
820 .IsRequired();
-
821
-
822 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
-
823 .WithMany("InstancePermissionSets")
-
824 .HasForeignKey("PermissionSetId")
-
825 .OnDelete(DeleteBehavior.Cascade)
-
826 .IsRequired();
-
827
-
828 b.Navigation("Instance");
-
829
-
830 b.Navigation("PermissionSet");
-
831 });
-
832
-
833 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
-
834 {
-
835 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
-
836 .WithMany()
-
837 .HasForeignKey("CancelledById");
-
838
-
839 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
840 .WithMany("Jobs")
-
841 .HasForeignKey("InstanceId")
-
842 .OnDelete(DeleteBehavior.Cascade)
-
843 .IsRequired();
-
844
-
845 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
-
846 .WithMany()
-
847 .HasForeignKey("StartedById")
-
848 .OnDelete(DeleteBehavior.Cascade)
-
849 .IsRequired();
-
850
-
851 b.Navigation("CancelledBy");
-
852
-
853 b.Navigation("Instance");
+
726 b.HasIndex("CreatedById");
+
727
+
728 b.HasIndex("GroupId");
+
729
+
730 b.HasIndex("SystemIdentifier")
+
731 .IsUnique();
+
732
+
733 b.ToTable("Users");
+
734 });
+
735
+
736 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
737 {
+
738 b.Property<long?>("Id")
+
739 .ValueGeneratedOnAdd()
+
740 .HasColumnType("INTEGER");
+
741
+
742 b.Property<string>("Name")
+
743 .IsRequired()
+
744 .HasMaxLength(100)
+
745 .HasColumnType("TEXT");
+
746
+
747 b.HasKey("Id");
+
748
+
749 b.HasIndex("Name")
+
750 .IsUnique();
+
751
+
752 b.ToTable("Groups");
+
753 });
+
754
+
755 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
756 {
+
757 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
758 .WithMany("ChatSettings")
+
759 .HasForeignKey("InstanceId")
+
760 .OnDelete(DeleteBehavior.Cascade)
+
761 .IsRequired();
+
762
+
763 b.Navigation("Instance");
+
764 });
+
765
+
766 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
+
767 {
+
768 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
+
769 .WithMany("Channels")
+
770 .HasForeignKey("ChatSettingsId")
+
771 .OnDelete(DeleteBehavior.Cascade)
+
772 .IsRequired();
+
773
+
774 b.Navigation("ChatSettings");
+
775 });
+
776
+
777 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
+
778 {
+
779 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
+
780 .WithOne()
+
781 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
+
782 .OnDelete(DeleteBehavior.Cascade)
+
783 .IsRequired();
+
784
+
785 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
786 .WithMany("CompileJobs")
+
787 .HasForeignKey("RevisionInformationId")
+
788 .OnDelete(DeleteBehavior.ClientNoAction)
+
789 .IsRequired();
+
790
+
791 b.Navigation("Job");
+
792
+
793 b.Navigation("RevisionInformation");
+
794 });
+
795
+
796 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
+
797 {
+
798 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
799 .WithOne("DreamDaemonSettings")
+
800 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
+
801 .OnDelete(DeleteBehavior.Cascade)
+
802 .IsRequired();
+
803
+
804 b.Navigation("Instance");
+
805 });
+
806
+
807 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
+
808 {
+
809 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
810 .WithOne("DreamMakerSettings")
+
811 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
+
812 .OnDelete(DeleteBehavior.Cascade)
+
813 .IsRequired();
+
814
+
815 b.Navigation("Instance");
+
816 });
+
817
+
818 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
+
819 {
+
820 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
821 .WithMany("InstancePermissionSets")
+
822 .HasForeignKey("InstanceId")
+
823 .OnDelete(DeleteBehavior.Cascade)
+
824 .IsRequired();
+
825
+
826 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
+
827 .WithMany("InstancePermissionSets")
+
828 .HasForeignKey("PermissionSetId")
+
829 .OnDelete(DeleteBehavior.Cascade)
+
830 .IsRequired();
+
831
+
832 b.Navigation("Instance");
+
833
+
834 b.Navigation("PermissionSet");
+
835 });
+
836
+
837 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
+
838 {
+
839 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
+
840 .WithMany()
+
841 .HasForeignKey("CancelledById");
+
842
+
843 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
844 .WithMany("Jobs")
+
845 .HasForeignKey("InstanceId")
+
846 .OnDelete(DeleteBehavior.Cascade)
+
847 .IsRequired();
+
848
+
849 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
+
850 .WithMany()
+
851 .HasForeignKey("StartedById")
+
852 .OnDelete(DeleteBehavior.Cascade)
+
853 .IsRequired();
854
-
855 b.Navigation("StartedBy");
-
856 });
-
857
-
858 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
-
859 {
-
860 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
861 .WithMany("OAuthConnections")
-
862 .HasForeignKey("UserId")
-
863 .OnDelete(DeleteBehavior.Cascade);
-
864
-
865 b.Navigation("User");
-
866 });
-
867
-
868 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
869 {
-
870 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
871 .WithOne("PermissionSet")
-
872 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
-
873 .OnDelete(DeleteBehavior.Cascade);
-
874
-
875 b.HasOne("Tgstation.Server.Host.Models.User", "User")
-
876 .WithOne("PermissionSet")
-
877 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
-
878 .OnDelete(DeleteBehavior.Cascade);
-
879
-
880 b.Navigation("Group");
-
881
-
882 b.Navigation("User");
-
883 });
-
884
-
885 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
-
886 {
-
887 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
-
888 .WithMany()
-
889 .HasForeignKey("CompileJobId")
-
890 .OnDelete(DeleteBehavior.Cascade)
-
891 .IsRequired();
-
892
-
893 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
-
894 .WithMany()
-
895 .HasForeignKey("InitialCompileJobId");
+
855 b.Navigation("CancelledBy");
+
856
+
857 b.Navigation("Instance");
+
858
+
859 b.Navigation("StartedBy");
+
860 });
+
861
+
862 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
+
863 {
+
864 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
865 .WithMany("OAuthConnections")
+
866 .HasForeignKey("UserId")
+
867 .OnDelete(DeleteBehavior.Cascade);
+
868
+
869 b.Navigation("User");
+
870 });
+
871
+
872 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
873 {
+
874 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
875 .WithOne("PermissionSet")
+
876 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
+
877 .OnDelete(DeleteBehavior.Cascade);
+
878
+
879 b.HasOne("Tgstation.Server.Host.Models.User", "User")
+
880 .WithOne("PermissionSet")
+
881 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
+
882 .OnDelete(DeleteBehavior.Cascade);
+
883
+
884 b.Navigation("Group");
+
885
+
886 b.Navigation("User");
+
887 });
+
888
+
889 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
+
890 {
+
891 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
+
892 .WithMany()
+
893 .HasForeignKey("CompileJobId")
+
894 .OnDelete(DeleteBehavior.Cascade)
+
895 .IsRequired();
896
-
897 b.Navigation("CompileJob");
-
898
-
899 b.Navigation("InitialCompileJob");
-
900 });
-
901
-
902 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
-
903 {
-
904 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
905 .WithOne("RepositorySettings")
-
906 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
-
907 .OnDelete(DeleteBehavior.Cascade)
-
908 .IsRequired();
-
909
-
910 b.Navigation("Instance");
-
911 });
-
912
-
913 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
-
914 {
-
915 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
-
916 .WithMany("ActiveTestMerges")
-
917 .HasForeignKey("RevisionInformationId")
-
918 .OnDelete(DeleteBehavior.Cascade)
-
919 .IsRequired();
-
920
-
921 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
-
922 .WithMany("RevisonInformations")
-
923 .HasForeignKey("TestMergeId")
-
924 .OnDelete(DeleteBehavior.ClientNoAction)
-
925 .IsRequired();
-
926
-
927 b.Navigation("RevisionInformation");
-
928
-
929 b.Navigation("TestMerge");
-
930 });
-
931
-
932 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
933 {
-
934 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
-
935 .WithMany("RevisionInformations")
-
936 .HasForeignKey("InstanceId")
-
937 .OnDelete(DeleteBehavior.Cascade)
-
938 .IsRequired();
-
939
-
940 b.Navigation("Instance");
-
941 });
-
942
-
943 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
944 {
-
945 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
-
946 .WithMany("TestMerges")
-
947 .HasForeignKey("MergedById")
-
948 .OnDelete(DeleteBehavior.Restrict)
-
949 .IsRequired();
-
950
-
951 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
-
952 .WithOne("PrimaryTestMerge")
-
953 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
-
954 .OnDelete(DeleteBehavior.Cascade)
-
955 .IsRequired();
-
956
-
957 b.Navigation("MergedBy");
-
958
-
959 b.Navigation("PrimaryRevisionInformation");
-
960 });
-
961
-
962 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
963 {
-
964 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
-
965 .WithMany("CreatedUsers")
-
966 .HasForeignKey("CreatedById");
-
967
-
968 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
-
969 .WithMany("Users")
-
970 .HasForeignKey("GroupId");
+
897 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
+
898 .WithMany()
+
899 .HasForeignKey("InitialCompileJobId");
+
900
+
901 b.Navigation("CompileJob");
+
902
+
903 b.Navigation("InitialCompileJob");
+
904 });
+
905
+
906 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
+
907 {
+
908 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
909 .WithOne("RepositorySettings")
+
910 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
+
911 .OnDelete(DeleteBehavior.Cascade)
+
912 .IsRequired();
+
913
+
914 b.Navigation("Instance");
+
915 });
+
916
+
917 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
+
918 {
+
919 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
+
920 .WithMany("ActiveTestMerges")
+
921 .HasForeignKey("RevisionInformationId")
+
922 .OnDelete(DeleteBehavior.Cascade)
+
923 .IsRequired();
+
924
+
925 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
+
926 .WithMany("RevisonInformations")
+
927 .HasForeignKey("TestMergeId")
+
928 .OnDelete(DeleteBehavior.ClientNoAction)
+
929 .IsRequired();
+
930
+
931 b.Navigation("RevisionInformation");
+
932
+
933 b.Navigation("TestMerge");
+
934 });
+
935
+
936 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
937 {
+
938 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
+
939 .WithMany("RevisionInformations")
+
940 .HasForeignKey("InstanceId")
+
941 .OnDelete(DeleteBehavior.Cascade)
+
942 .IsRequired();
+
943
+
944 b.Navigation("Instance");
+
945 });
+
946
+
947 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
948 {
+
949 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
+
950 .WithMany("TestMerges")
+
951 .HasForeignKey("MergedById")
+
952 .OnDelete(DeleteBehavior.Restrict)
+
953 .IsRequired();
+
954
+
955 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
+
956 .WithOne("PrimaryTestMerge")
+
957 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
+
958 .OnDelete(DeleteBehavior.Cascade)
+
959 .IsRequired();
+
960
+
961 b.Navigation("MergedBy");
+
962
+
963 b.Navigation("PrimaryRevisionInformation");
+
964 });
+
965
+
966 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
967 {
+
968 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
+
969 .WithMany("CreatedUsers")
+
970 .HasForeignKey("CreatedById");
971
-
972 b.Navigation("CreatedBy");
-
973
-
974 b.Navigation("Group");
-
975 });
-
976
-
977 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
-
978 {
-
979 b.Navigation("Channels");
-
980 });
-
981
-
982 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
-
983 {
-
984 b.Navigation("ChatSettings");
+
972 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
+
973 .WithMany("Users")
+
974 .HasForeignKey("GroupId");
+
975
+
976 b.Navigation("CreatedBy");
+
977
+
978 b.Navigation("Group");
+
979 });
+
980
+
981 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
+
982 {
+
983 b.Navigation("Channels");
+
984 });
985
-
986 b.Navigation("DreamDaemonSettings");
-
987
-
988 b.Navigation("DreamMakerSettings");
+
986 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
+
987 {
+
988 b.Navigation("ChatSettings");
989
-
990 b.Navigation("InstancePermissionSets");
+
990 b.Navigation("DreamDaemonSettings");
991
-
992 b.Navigation("Jobs");
+
992 b.Navigation("DreamMakerSettings");
993
-
994 b.Navigation("RepositorySettings");
+
994 b.Navigation("InstancePermissionSets");
995
-
996 b.Navigation("RevisionInformations");
-
997 });
-
998
-
999 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
-
1000 {
-
1001 b.Navigation("InstancePermissionSets");
-
1002 });
-
1003
-
1004 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
-
1005 {
-
1006 b.Navigation("ActiveTestMerges");
+
996 b.Navigation("Jobs");
+
997
+
998 b.Navigation("RepositorySettings");
+
999
+
1000 b.Navigation("RevisionInformations");
+
1001 });
+
1002
+
1003 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
+
1004 {
+
1005 b.Navigation("InstancePermissionSets");
+
1006 });
1007
-
1008 b.Navigation("CompileJobs");
-
1009
-
1010 b.Navigation("PrimaryTestMerge");
-
1011 });
-
1012
-
1013 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
-
1014 {
-
1015 b.Navigation("RevisonInformations");
-
1016 });
-
1017
-
1018 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
-
1019 {
-
1020 b.Navigation("CreatedUsers");
+
1008 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
+
1009 {
+
1010 b.Navigation("ActiveTestMerges");
+
1011
+
1012 b.Navigation("CompileJobs");
+
1013
+
1014 b.Navigation("PrimaryTestMerge");
+
1015 });
+
1016
+
1017 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
+
1018 {
+
1019 b.Navigation("RevisonInformations");
+
1020 });
1021
-
1022 b.Navigation("OAuthConnections");
-
1023
-
1024 b.Navigation("PermissionSet");
+
1022 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
+
1023 {
+
1024 b.Navigation("CreatedUsers");
1025
-
1026 b.Navigation("TestMerges");
-
1027 });
-
1028
-
1029 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
-
1030 {
-
1031 b.Navigation("PermissionSet")
-
1032 .IsRequired();
-
1033
-
1034 b.Navigation("Users");
-
1035 });
-
1036#pragma warning restore 612, 618
-
1037 }
-
1038 }
-
1039}
+
1026 b.Navigation("OAuthConnections");
+
1027
+
1028 b.Navigation("PermissionSet");
+
1029
+
1030 b.Navigation("TestMerges");
+
1031 });
+
1032
+
1033 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
+
1034 {
+
1035 b.Navigation("PermissionSet")
+
1036 .IsRequired();
+
1037
+
1038 b.Navigation("Users");
+
1039 });
+
1040#pragma warning restore 612, 618
+
1041 }
+
1042 }
+
1043}
diff --git a/_tgstation_8_server_8_api_8_assembly_info_8cs_source.html b/_tgstation_8_server_8_api_8_assembly_info_8cs_source.html index 0740cd5174..abf49dc49a 100644 --- a/_tgstation_8_server_8_api_8_assembly_info_8cs_source.html +++ b/_tgstation_8_server_8_api_8_assembly_info_8cs_source.html @@ -93,11 +93,11 @@ $(function() {
14[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
15[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright (c) Jordan Brown 2018")]
16[assembly: System.Reflection.AssemblyDescriptionAttribute("API definitions for tgstation-server.")]
-
17[assembly: System.Reflection.AssemblyFileVersionAttribute("13.0.1.0")]
-
18[assembly: System.Reflection.AssemblyInformationalVersionAttribute("13.0.1+15b06c1c7cbdf0c1abeff5ab35afa1b75b883e20")]
+
17[assembly: System.Reflection.AssemblyFileVersionAttribute("13.1.0.0")]
+
18[assembly: System.Reflection.AssemblyInformationalVersionAttribute("13.1.0+ba91a9bb53841881047f751d5ec826d42fa7eb92")]
19[assembly: System.Reflection.AssemblyProductAttribute("Tgstation.Server.Api")]
20[assembly: System.Reflection.AssemblyTitleAttribute("Tgstation.Server.Api")]
-
21[assembly: System.Reflection.AssemblyVersionAttribute("13.0.1.0")]
+
21[assembly: System.Reflection.AssemblyVersionAttribute("13.1.0.0")]
22[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/tgstation/tgstation-server")]
23
24// Generated by the MSBuild WriteCodeFragment class.
diff --git a/_tgstation_8_server_8_common_8_assembly_info_8cs_source.html b/_tgstation_8_server_8_common_8_assembly_info_8cs_source.html index 30a90a4673..3d69ff13ab 100644 --- a/_tgstation_8_server_8_common_8_assembly_info_8cs_source.html +++ b/_tgstation_8_server_8_common_8_assembly_info_8cs_source.html @@ -94,7 +94,7 @@ $(function() {
15[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright (c) Jordan Brown 2018")]
16[assembly: System.Reflection.AssemblyDescriptionAttribute("Common functions for tgstation-server.")]
17[assembly: System.Reflection.AssemblyFileVersionAttribute("7.0.0.0")]
-
18[assembly: System.Reflection.AssemblyInformationalVersionAttribute("7.0.0+15b06c1c7cbdf0c1abeff5ab35afa1b75b883e20")]
+
18[assembly: System.Reflection.AssemblyInformationalVersionAttribute("7.0.0+ba91a9bb53841881047f751d5ec826d42fa7eb92")]
19[assembly: System.Reflection.AssemblyProductAttribute("Tgstation.Server.Common")]
20[assembly: System.Reflection.AssemblyTitleAttribute("Tgstation.Server.Common")]
21[assembly: System.Reflection.AssemblyVersionAttribute("7.0.0.0")]
diff --git a/_tgstation_8_server_8_host_8_assembly_info_8cs_source.html b/_tgstation_8_server_8_host_8_assembly_info_8cs_source.html index deb0ecef7e..a76c52c9e8 100644 --- a/_tgstation_8_server_8_host_8_assembly_info_8cs_source.html +++ b/_tgstation_8_server_8_host_8_assembly_info_8cs_source.html @@ -92,7 +92,7 @@ $(function() {
13[assembly: System.Reflection.AssemblyCompanyAttribute("Tgstation.Server.Host")]
14[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
15[assembly: System.Reflection.AssemblyFileVersionAttribute("6.1.5.0")]
-
16[assembly: System.Reflection.AssemblyInformationalVersionAttribute("6.1.5+15b06c1c7cbdf0c1abeff5ab35afa1b75b883e20")]
+
16[assembly: System.Reflection.AssemblyInformationalVersionAttribute("6.1.5+ba91a9bb53841881047f751d5ec826d42fa7eb92")]
17[assembly: System.Reflection.AssemblyProductAttribute("Tgstation.Server.Host")]
18[assembly: System.Reflection.AssemblyTitleAttribute("Tgstation.Server.Host")]
19[assembly: System.Reflection.AssemblyVersionAttribute("6.1.5.0")]
diff --git a/_tgstation_8_server_8_host_8_common_8_assembly_info_8cs_source.html b/_tgstation_8_server_8_host_8_common_8_assembly_info_8cs_source.html index 88c5119a10..fa26ccd10d 100644 --- a/_tgstation_8_server_8_host_8_common_8_assembly_info_8cs_source.html +++ b/_tgstation_8_server_8_host_8_common_8_assembly_info_8cs_source.html @@ -92,7 +92,7 @@ $(function() {
13[assembly: System.Reflection.AssemblyCompanyAttribute("Tgstation.Server.Host.Common")]
14[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
15[assembly: System.Reflection.AssemblyFileVersionAttribute("6.1.5.0")]
-
16[assembly: System.Reflection.AssemblyInformationalVersionAttribute("6.1.5+15b06c1c7cbdf0c1abeff5ab35afa1b75b883e20")]
+
16[assembly: System.Reflection.AssemblyInformationalVersionAttribute("6.1.5+ba91a9bb53841881047f751d5ec826d42fa7eb92")]
17[assembly: System.Reflection.AssemblyProductAttribute("Tgstation.Server.Host.Common")]
18[assembly: System.Reflection.AssemblyTitleAttribute("Tgstation.Server.Host.Common")]
19[assembly: System.Reflection.AssemblyVersionAttribute("6.1.5.0")]
diff --git a/_watchdog_base_8cs_source.html b/_watchdog_base_8cs_source.html index 357dbf1e89..4b6fbb2653 100644 --- a/_watchdog_base_8cs_source.html +++ b/_watchdog_base_8cs_source.html @@ -1116,7 +1116,7 @@ $(function() {
1249 throw new JobException(ErrorCode.GameServerOffline);
1250
1251 Logger.LogInformation("Dumping session to {dumpFileName}...", dumpFileName);
-
1252 await session.CreateDump(dumpFileName, cancellationToken);
+
1252 await session.CreateDump(dumpFileName, ActiveLaunchParameters.Minidumps!.Value, cancellationToken);
1253 }
1254 }
1255}
@@ -1126,7 +1126,7 @@ $(function() {
Represents a deployment run.
Definition: CompileJob.cs:11
Launch settings for DreamDaemon.
uint? HealthCheckSeconds
The number of seconds between each watchdog health check. 0 disables.
-
bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
Check if we match a given set of otherParameters . StartupTimeout is excluded.
+
bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
Check if we match a given set of otherParameters . StartupTimeout is excluded.
bool? DumpOnHealthCheckRestart
If a process core dump should be created prior to restarting the watchdog due to health check failure...
Extension methods for the ValueTask and ValueTask<TResult> classes.
static async ValueTask WhenAll(IEnumerable< ValueTask > tasks)
Fully await a given list of tasks .
diff --git a/_windows_process_features_8cs_source.html b/_windows_process_features_8cs_source.html index 7a35b65ab7..1c2c5b3c8c 100644 --- a/_windows_process_features_8cs_source.html +++ b/_windows_process_features_8cs_source.html @@ -187,7 +187,7 @@ $(function() {
119 return "NO OWNER";
120 }
121
-
123 public async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken)
+
123 public async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken)
124 {
125 try
126 {
@@ -204,26 +204,30 @@ $(function() {
137 await Task.Factory.StartNew(
138 () =>
139 {
-
140 if (!NativeMethods.MiniDumpWriteDump(
-
141 process.Handle,
-
142 (uint)process.Id,
-
143 fileStream.SafeFileHandle,
-
144 NativeMethods.MiniDumpType.WithDataSegs
-
145 | NativeMethods.MiniDumpType.WithFullMemory
-
146 | NativeMethods.MiniDumpType.WithHandleData
-
147 | NativeMethods.MiniDumpType.WithThreadInfo
-
148 | NativeMethods.MiniDumpType.WithUnloadedModules,
-
149 IntPtr.Zero,
-
150 IntPtr.Zero,
-
151 IntPtr.Zero))
-
152 throw new Win32Exception();
-
153 },
-
154 cancellationToken,
-
155 DefaultIOManager.BlockingTaskCreationOptions,
-
156 TaskScheduler.Current);
-
157 }
-
158 }
-
159}
+
140 var flags = NativeMethods.MiniDumpType.WithHandleData
+
141 | NativeMethods.MiniDumpType.WithThreadInfo
+
142 | NativeMethods.MiniDumpType.WithUnloadedModules;
+
143
+
144 if (!minidump)
+
145 flags |= NativeMethods.MiniDumpType.WithDataSegs
+
146 | NativeMethods.MiniDumpType.WithFullMemory;
+
147
+
148 if (!NativeMethods.MiniDumpWriteDump(
+
149 process.Handle,
+
150 (uint)process.Id,
+
151 fileStream.SafeFileHandle,
+
152 flags,
+
153 IntPtr.Zero,
+
154 IntPtr.Zero,
+
155 IntPtr.Zero))
+
156 throw new Win32Exception();
+
157 },
+
158 cancellationToken,
+
159 DefaultIOManager.BlockingTaskCreationOptions,
+
160 TaskScheduler.Current);
+
161 }
+
162 }
+
163}
IIOManager that resolves paths to Environment.CurrentDirectory.
const TaskCreationOptions BlockingTaskCreationOptions
The TaskCreationOptions used to spawn Tasks for potentially long running, blocking operations.
Operation exceptions thrown from the context of a Models.Job.
Definition: JobException.cs:11
@@ -239,7 +243,7 @@ $(function() {
void SuspendProcess(global::System.Diagnostics.Process process)
Suspend a given process .
void ResumeProcess(global::System.Diagnostics.Process process)
Resume a given suspended Process.
WindowsProcessFeatures(ILogger< WindowsProcessFeatures > logger)
Initializes a new instance of the WindowsProcessFeatures class.
-
async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, CancellationToken cancellationToken)
Create a dump file for a given process . A ValueTask representing the running operation.
+
async ValueTask CreateDump(global::System.Diagnostics.Process process, string outputFile, bool minidump, CancellationToken cancellationToken)
Create a dump file for a given process . A ValueTask representing the running operation.
readonly ILogger< WindowsProcessFeatures > logger
The ILogger for the WindowsProcessFeatures.
string GetExecutingUsername(global::System.Diagnostics.Process process)
Get the name of the user executing a given process . The name of the user executing process .
Abstraction for suspending and resuming processes.
diff --git a/annotated.html b/annotated.html index 3ad7262b53..a60d81b138 100644 --- a/annotated.html +++ b/annotated.html @@ -499,130 +499,134 @@ $(function() {  CMSAddJobCodes  CMSAddJobErrorCodesAdds the Api.Models.Internal.Job.ErrorCode column for MSSQL.  CMSAddMapThreadsAdds the MapThreads DreamDaemonSettings column for MSSQL. - CMSAddMinimumSecurityAdd the Api.Models.Internal.CompileJob.MinimumSecurityLevel and Api.Models.Internal.DreamMakerSettings.ApiValidationSecurityLevel columns for MSSQL. - CMSAddOAuthConnectionsAdds the OAuthConnections table for MSSQL. - CMSAddProfilerAdds the option to start the profiler with DreamDaemon for MSSQL. - CMSAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for MSSQL. - CMSAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for MSSQL. - CMSAddSwarmIdentiferAdds the swarm identifier column for MSSQL. - CMSAddSystemChannelsAdds the IsSystemChannel chat channel option for MSSQL. - CMSAddTopicPort - CMSAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for MSSQL. - CMSAddUserGroupsAdds UserGroups for MSSQL. - CMSAllowNullDMApiUpdate models for making the DMAPI optional for MSSQL. - CMSCheckpointRebuildCheckpoint model rebuild for MSSQL. - CMSFixCascadingDeleteFix cascading data deletes for Models.Instances on MSSQL. - CMSFixRevInfoIndexMake commit shas non-unique per Instance for MSSQL. - CMSGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for MSSQL. - CMSInitialCreateThe initial database migration for MSSQL. - CMSKillJsonsAddDMApiVersionDrop chat reattach information and add Models.ReattachInformationBase.LaunchSecurityLevel for MSSQL. - CMSLimitsOnChatAdds chat limits for MSSQL. - CMSNullableAndForeignKeyCleanupCleans up of nullable columns and foreign keys MSSQL. - CMSReattachCompileJobRequiredMarks the Models.CompileJobs of Models.ReattachInformations as non-nullable for MSSQL. - CMSRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for MSSQL. - CMSRemoveSoftColumnsRemoves various defunct columns for MSSQL. - CMSRenameByondColumnsToEngine - CMSRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for MSSQL. - CMSToggleTestmergeCommentsAdd the Api.Models.Internal.RepositorySettings.PostTestMergeComment column for MSSQL. - CMSTonsOfValidationReduces column sizes and fixes some broken indexes for MSSQL. - CMSTopicTimeoutAdd BYOND topic timeouts for MSSQL. - CMSTruncateInstanceNamesReduces the index name column size for MSSQL. - CMYAddAdditionalDDParametersAdds the AdditionalParameters DD column for MySQL. - CMYAddChatBotReconnectionIntervalAdds the Api.Models.Internal.ChatBotSettings.ReconnectionInterval property for MySQL/MariaDB. - CMYAddCompileJobDMApiVersionAdd fields for the Models.CompileJob.DMApiVersion property for MYSQL. - CMYAddDeploymentColumnsAdds columns for GitHub deployments for MYSQL. - CMYAddDeploymentTimeoutAdds the DreamMakerSettings Timeout column for MYSQL. - CMYAddDreamDaemonLogOutputAdds the DreamDaemon LogOutput column for MYSQL. - CMYAddDreamDaemonVisibilityAdd DreamDaemon visibilty for MYSQL. - CMYAddDumpOnHeartbeatRestartAdds the DreamMakerSettings DumpOnHeartbeatRestart column for MYSQL. - CMYAddHeartbeatAdd heartbeat support for MYSQL. - CMYAddJobCodes - CMYAddJobErrorCodesAdds the Api.Models.Internal.Job.ErrorCode column for MYSQL. - CMYAddMapThreadsAdds the MapThreads DreamDaemonSettings column for MYSQL. - CMYAddMinimumSecurityAdd the Api.Models.Internal.CompileJob.MinimumSecurityLevel and Api.Models.Internal.DreamMakerSettings.ApiValidationSecurityLevel columns for MySQL/MariaDB. - CMYAddOAuthConnectionsAdds the OAuthConnections table for MYSQL. - CMYAddProfilerAdds the option to start the profiler with DreamDaemon for MYSQL. - CMYAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for MYSQL. - CMYAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for MYSQL. - CMYAddSwarmIdentiferAdds the swarm identifier column for MySQL. - CMYAddSystemChannelsAdds the IsSystemChannel chat channel option for MYSQL. - CMYAddTopicPort - CMYAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for MYSQL. - CMYAddUserGroupsAdds UserGroups for MySQL. - CMYAllowNullDMApiUpdate models for making the DMAPI optional for MYSQL. - CMYCheckpointRebuildCheckpoint model rebuild for MYSQL. - CMYFixCascadingDeleteFix cascading data deletes for Models.Instances on MYSQL. - CMYFixForeignKeyFix the CompileJob/RevisionInformation foreign key for MySQL. - CMYFixRevInfoIndexMake commit shas non-unique per Instance for MySQL/MariaDB. - CMYGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for MYSQL. - CMYInitialCreateThe initial database migration for MySQL/MariaDB. - CMYKillJsonsAddDMApiVersionDrop chat reattach information and add Models.ReattachInformationBase.LaunchSecurityLevel for MYSQL. - CMYLimitsOnChatAdds chat limits for MYSQL. - CMYNullableAndForeignKeyCleanupCleans up of nullable columns and foreign keys MySQL/MariaDB. - CMYReattachCompileJobRequiredMarks the Models.CompileJobs of Models.ReattachInformations as non-nullable for MySQL/MariaDB. - CMYRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for MYSQL. - CMYRemoveSoftColumnsRemoves various defunct columns for MYSQL. - CMYRenameByondColumnsToEngine - CMYRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for MYSQL. - CMySqlDatabaseContextModelSnapshot - CMYToggleTestmergeCommentsAdd the Api.Models.Internal.RepositorySettings.PostTestMergeComment column for MySQL/MariaDB. - CMYTonsOfValidationReduces column sizes and fixes some broken indexes for MYSQL. - CMYTopicTimeoutAdd BYOND topic timeouts for MYSQL. - CMYTruncateInstanceNamesReduces the index name column size for MYSQL. - CPGAddAdditionalDDParametersAdds the AdditionalParameters DD column for PostgresSQL. - CPGAddDeploymentColumnsAdds columns for GitHub deployments for PostgresSQL. - CPGAddDeploymentTimeoutAdds the DreamMakerSettings Timeout column for PostgresSql. - CPGAddDreamDaemonLogOutputAdds the DreamDaemon LogOutput column for PostgresSQL. - CPGAddDreamDaemonVisibilityAdd DreamDaemon visibilty for PostgresSQL. - CPGAddDumpOnHeartbeatRestartAdds the DreamMakerSettings DumpOnHeartbeatRestart column for PostgresSQL. - CPGAddJobCodes - CPGAddMapThreadsAdds the MapThreads DreamDaemonSettings column for PostgresSQL. - CPGAddOAuthConnectionsAdds the OAuthConnections table for PostgresSQL. - CPGAddProfilerAdds the option to start the profiler with DreamDaemon for PostgresSQL. - CPGAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for PostgresSQL. - CPGAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for PostgresSQL. - CPGAddSwarmIdentiferAdds the swarm identifier column for PostgresSQL. - CPGAddSystemChannelsAdds the IsSystemChannel chat channel option for PostgresSQL. - CPGAddTopicPort - CPGAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for PostgresSQL. - CPGAddUserGroupsAdds UserGroups for PostgresSql. - CPGAllowNullDMApiUpdate models for making the DMAPI optional for PostgresSQL. - CPGCreateCreate initial schema for PostgresSQL. - CPGGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for PostgresSQL. - CPGRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for PostgresSQL. - CPGRenameByondColumnsToEngine - CPGRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for PostgresSQL. - CPGTopicTimeoutAdd BYOND topic timeouts for PostgresSQL. - CPGTruncateInstanceNamesReduces the index name column size for PostgresSQL. - CPostgresSqlDatabaseContextModelSnapshot - CSLAddAdditionalDDParametersAdds columns for GitHub deployments for SQLite. - CSLAddDeploymentColumnsAdds columns for GitHub deployments for SQLite. - CSLAddDeploymentTimeoutAdds the DreamMakerSettings Timeout column for SQLite. - CSLAddDreamDaemonLogOutputAdds the DreamDaemon LogOutput column for SQLite. - CSLAddDreamDaemonVisibilityAdd DreamDaemon visibilty for SQLite. - CSLAddDumpOnHeartbeatRestartAdds the DreamMakerSettings DumpOnHeartbeatRestart column for SQLite. - CSLAddHeartbeatAdd heartbeat support for SQLite. - CSLAddJobCodes - CSLAddMapThreadsAdds the MapThreads DreamDaemonSettings column for SQLite. - CSLAddOAuthConnectionsAdds the OAuthConnections table for SQLite. - CSLAddProfilerAdds the option to start the profiler with DreamDaemon for SQLite. - CSLAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for SQLite. - CSLAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for SQLite. - CSLAddSwarmIdentiferAdds the swarm identifier column for SQLite. - CSLAddSystemChannelsAdds the IsSystemChannel chat channel option for SQLite. - CSLAddTopicPort - CSLAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for SQLite. - CSLAddUserGroupsAdds UserGroups for SQLite. - CSLAllowNullDMApiUpdate models for making the DMAPI optional for SQLite. - CSLGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for SQLite. - CSLRebuildRebuild of the schema for SQLite. - CSLRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for SQLite. - CSLRemoveSoftColumnsRemoves various defunct columns for SQLite. - CSLRenameByondColumnsToEngine - CSLRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for SQLite. - CSLTopicTimeoutAdd BYOND topic timeouts for SQLite. - CSqliteDatabaseContextModelSnapshot - CSqlServerDatabaseContextModelSnapshot + CMSAddMinidumpsOption + CMSAddMinimumSecurityAdd the Api.Models.Internal.CompileJob.MinimumSecurityLevel and Api.Models.Internal.DreamMakerSettings.ApiValidationSecurityLevel columns for MSSQL. + CMSAddOAuthConnectionsAdds the OAuthConnections table for MSSQL. + CMSAddProfilerAdds the option to start the profiler with DreamDaemon for MSSQL. + CMSAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for MSSQL. + CMSAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for MSSQL. + CMSAddSwarmIdentiferAdds the swarm identifier column for MSSQL. + CMSAddSystemChannelsAdds the IsSystemChannel chat channel option for MSSQL. + CMSAddTopicPort + CMSAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for MSSQL. + CMSAddUserGroupsAdds UserGroups for MSSQL. + CMSAllowNullDMApiUpdate models for making the DMAPI optional for MSSQL. + CMSCheckpointRebuildCheckpoint model rebuild for MSSQL. + CMSFixCascadingDeleteFix cascading data deletes for Models.Instances on MSSQL. + CMSFixRevInfoIndexMake commit shas non-unique per Instance for MSSQL. + CMSGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for MSSQL. + CMSInitialCreateThe initial database migration for MSSQL. + CMSKillJsonsAddDMApiVersionDrop chat reattach information and add Models.ReattachInformationBase.LaunchSecurityLevel for MSSQL. + CMSLimitsOnChatAdds chat limits for MSSQL. + CMSNullableAndForeignKeyCleanupCleans up of nullable columns and foreign keys MSSQL. + CMSReattachCompileJobRequiredMarks the Models.CompileJobs of Models.ReattachInformations as non-nullable for MSSQL. + CMSRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for MSSQL. + CMSRemoveSoftColumnsRemoves various defunct columns for MSSQL. + CMSRenameByondColumnsToEngine + CMSRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for MSSQL. + CMSToggleTestmergeCommentsAdd the Api.Models.Internal.RepositorySettings.PostTestMergeComment column for MSSQL. + CMSTonsOfValidationReduces column sizes and fixes some broken indexes for MSSQL. + CMSTopicTimeoutAdd BYOND topic timeouts for MSSQL. + CMSTruncateInstanceNamesReduces the index name column size for MSSQL. + CMYAddAdditionalDDParametersAdds the AdditionalParameters DD column for MySQL. + CMYAddChatBotReconnectionIntervalAdds the Api.Models.Internal.ChatBotSettings.ReconnectionInterval property for MySQL/MariaDB. + CMYAddCompileJobDMApiVersionAdd fields for the Models.CompileJob.DMApiVersion property for MYSQL. + CMYAddDeploymentColumnsAdds columns for GitHub deployments for MYSQL. + CMYAddDeploymentTimeoutAdds the DreamMakerSettings Timeout column for MYSQL. + CMYAddDreamDaemonLogOutputAdds the DreamDaemon LogOutput column for MYSQL. + CMYAddDreamDaemonVisibilityAdd DreamDaemon visibilty for MYSQL. + CMYAddDumpOnHeartbeatRestartAdds the DreamMakerSettings DumpOnHeartbeatRestart column for MYSQL. + CMYAddHeartbeatAdd heartbeat support for MYSQL. + CMYAddJobCodes + CMYAddJobErrorCodesAdds the Api.Models.Internal.Job.ErrorCode column for MYSQL. + CMYAddMapThreadsAdds the MapThreads DreamDaemonSettings column for MYSQL. + CMYAddMinidumpsOption + CMYAddMinimumSecurityAdd the Api.Models.Internal.CompileJob.MinimumSecurityLevel and Api.Models.Internal.DreamMakerSettings.ApiValidationSecurityLevel columns for MySQL/MariaDB. + CMYAddOAuthConnectionsAdds the OAuthConnections table for MYSQL. + CMYAddProfilerAdds the option to start the profiler with DreamDaemon for MYSQL. + CMYAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for MYSQL. + CMYAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for MYSQL. + CMYAddSwarmIdentiferAdds the swarm identifier column for MySQL. + CMYAddSystemChannelsAdds the IsSystemChannel chat channel option for MYSQL. + CMYAddTopicPort + CMYAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for MYSQL. + CMYAddUserGroupsAdds UserGroups for MySQL. + CMYAllowNullDMApiUpdate models for making the DMAPI optional for MYSQL. + CMYCheckpointRebuildCheckpoint model rebuild for MYSQL. + CMYFixCascadingDeleteFix cascading data deletes for Models.Instances on MYSQL. + CMYFixForeignKeyFix the CompileJob/RevisionInformation foreign key for MySQL. + CMYFixRevInfoIndexMake commit shas non-unique per Instance for MySQL/MariaDB. + CMYGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for MYSQL. + CMYInitialCreateThe initial database migration for MySQL/MariaDB. + CMYKillJsonsAddDMApiVersionDrop chat reattach information and add Models.ReattachInformationBase.LaunchSecurityLevel for MYSQL. + CMYLimitsOnChatAdds chat limits for MYSQL. + CMYNullableAndForeignKeyCleanupCleans up of nullable columns and foreign keys MySQL/MariaDB. + CMYReattachCompileJobRequiredMarks the Models.CompileJobs of Models.ReattachInformations as non-nullable for MySQL/MariaDB. + CMYRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for MYSQL. + CMYRemoveSoftColumnsRemoves various defunct columns for MYSQL. + CMYRenameByondColumnsToEngine + CMYRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for MYSQL. + CMySqlDatabaseContextModelSnapshot + CMYToggleTestmergeCommentsAdd the Api.Models.Internal.RepositorySettings.PostTestMergeComment column for MySQL/MariaDB. + CMYTonsOfValidationReduces column sizes and fixes some broken indexes for MYSQL. + CMYTopicTimeoutAdd BYOND topic timeouts for MYSQL. + CMYTruncateInstanceNamesReduces the index name column size for MYSQL. + CPGAddAdditionalDDParametersAdds the AdditionalParameters DD column for PostgresSQL. + CPGAddDeploymentColumnsAdds columns for GitHub deployments for PostgresSQL. + CPGAddDeploymentTimeoutAdds the DreamMakerSettings Timeout column for PostgresSql. + CPGAddDreamDaemonLogOutputAdds the DreamDaemon LogOutput column for PostgresSQL. + CPGAddDreamDaemonVisibilityAdd DreamDaemon visibilty for PostgresSQL. + CPGAddDumpOnHeartbeatRestartAdds the DreamMakerSettings DumpOnHeartbeatRestart column for PostgresSQL. + CPGAddJobCodes + CPGAddMapThreadsAdds the MapThreads DreamDaemonSettings column for PostgresSQL. + CPGAddMinidumpsOption + CPGAddOAuthConnectionsAdds the OAuthConnections table for PostgresSQL. + CPGAddProfilerAdds the option to start the profiler with DreamDaemon for PostgresSQL. + CPGAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for PostgresSQL. + CPGAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for PostgresSQL. + CPGAddSwarmIdentiferAdds the swarm identifier column for PostgresSQL. + CPGAddSystemChannelsAdds the IsSystemChannel chat channel option for PostgresSQL. + CPGAddTopicPort + CPGAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for PostgresSQL. + CPGAddUserGroupsAdds UserGroups for PostgresSql. + CPGAllowNullDMApiUpdate models for making the DMAPI optional for PostgresSQL. + CPGCreateCreate initial schema for PostgresSQL. + CPGGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for PostgresSQL. + CPGRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for PostgresSQL. + CPGRenameByondColumnsToEngine + CPGRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for PostgresSQL. + CPGTopicTimeoutAdd BYOND topic timeouts for PostgresSQL. + CPGTruncateInstanceNamesReduces the index name column size for PostgresSQL. + CPostgresSqlDatabaseContextModelSnapshot + CSLAddAdditionalDDParametersAdds columns for GitHub deployments for SQLite. + CSLAddDeploymentColumnsAdds columns for GitHub deployments for SQLite. + CSLAddDeploymentTimeoutAdds the DreamMakerSettings Timeout column for SQLite. + CSLAddDreamDaemonLogOutputAdds the DreamDaemon LogOutput column for SQLite. + CSLAddDreamDaemonVisibilityAdd DreamDaemon visibilty for SQLite. + CSLAddDumpOnHeartbeatRestartAdds the DreamMakerSettings DumpOnHeartbeatRestart column for SQLite. + CSLAddHeartbeatAdd heartbeat support for SQLite. + CSLAddJobCodes + CSLAddMapThreadsAdds the MapThreads DreamDaemonSettings column for SQLite. + CSLAddMinidumpsOption + CSLAddOAuthConnectionsAdds the OAuthConnections table for SQLite. + CSLAddProfilerAdds the option to start the profiler with DreamDaemon for SQLite. + CSLAddReattachInfoInitialCompileJobAdds the InitialCompileJobId to the ReattachInformations table for SQLite. + CSLAddRevInfoTimestampAdd the Timestamp column to RevisionInformations for SQLite. + CSLAddSwarmIdentiferAdds the swarm identifier column for SQLite. + CSLAddSystemChannelsAdds the IsSystemChannel chat channel option for SQLite. + CSLAddTopicPort + CSLAddUpdateSubmodulesAdds the UpdateSubmodules repository setting for SQLite. + CSLAddUserGroupsAdds UserGroups for SQLite. + CSLAllowNullDMApiUpdate models for making the DMAPI optional for SQLite. + CSLGenericTestMergingUpdateRenames the PullRequestRevision and adds the RepositoryOrigin columns for SQLite. + CSLRebuildRebuild of the schema for SQLite. + CSLRemoveExperimentalWatchdogRemoves the WatchdogReattachInformations table, SecondaryPort column, and renames the primary port column for SQLite. + CSLRemoveSoftColumnsRemoves various defunct columns for SQLite. + CSLRenameByondColumnsToEngine + CSLRenameHeartbeatsToHealthChecksRenames the Heatbeat DreamDaemonSettings to HealthCheck for SQLite. + CSLTopicTimeoutAdd BYOND topic timeouts for SQLite. + CSqliteDatabaseContextModelSnapshot + CSqlServerDatabaseContextModelSnapshot  CDatabaseCollection  CDatabaseConnectionFactory  CDatabaseContextBackend abstract implementation of IDatabaseContext. diff --git a/changelog.yml b/changelog.yml index c223586b0f..653c78c081 100644 --- a/changelog.yml +++ b/changelog.yml @@ -150,14 +150,14 @@ Components: Core: - Version: 6.2.0 ComponentVersions: - HttpApi: 10.0.0 + HttpApi: 10.1.0 DreamMakerApi: 7.0.2 Configuration: 5.1.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 - NugetApi: 13.0.1 - NugetClient: 15.0.1 + NugetApi: 13.1.0 + NugetClient: 15.1.0 WebControlPanel: 5.4.2 Changes: - Descriptions: @@ -170,6 +170,10 @@ Components: - Fixed creating two watchdog dumps in the same second creating a file with a weird extension. Author: Cyberboss PullRequest: 1784 + - Descriptions: + - Newly created instances will have their `minidumps` watchdog setting set to `true`. Previously, this behavior was `true` on Linux, and `false` on Windows. This will persist into this update. + Author: Cyberboss + PullRequest: 1786 Unreleased: true - Version: 6.1.6 ComponentVersions: @@ -3495,6 +3499,14 @@ Components: Author: alexkar598 PullRequest: 1133 HttpApi: + - Version: 10.1.0 + Changes: + - Descriptions: + - Added the `minidumps` flag to watchdog settings. This allows selecting between minidumps when `true` and full dumps when `false`. + - Added watchdog permission `2097152` for setting the `minidumps` flag. + Author: Cyberboss + PullRequest: 1786 + Unreleased: true - Version: 10.0.0 Changes: - Descriptions: @@ -4194,6 +4206,14 @@ Components: Author: Cyberboss PullRequest: 1636 NugetApi: + - Version: 13.1.0 + Changes: + - Descriptions: + - Added `DreamDaemonLaunchParameters.Minidumps` boolean. + - Added `DreamDaemonRights.SetMinidumps` flag. + Author: Cyberboss + PullRequest: 1786 + Unreleased: true - Version: 13.0.0 Changes: - Descriptions: @@ -4263,4 +4283,12 @@ Components: - Made `DiscordConnectionStringBuilder.BasedMeme` obsolete. Author: Cyberboss PullRequest: 1629 - NugetClient: [] + NugetClient: + - Version: 15.1.0 + Changes: + - Descriptions: + - Added `DreamDaemonLaunchParameters.Minidumps` boolean. + - Added `DreamDaemonRights.SetMinidumps` flag. + Author: Cyberboss + PullRequest: 1786 + Unreleased: true diff --git a/class_migration.html b/class_migration.html index 94bba0e852..ccd2734a57 100644 --- a/class_migration.html +++ b/class_migration.html @@ -74,7 +74,7 @@ $(function() {
-

Inherited by Tgstation.Server.Host.Database.Migrations.MSAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.MSAddChatBotReconnectionInterval, Tgstation.Server.Host.Database.Migrations.MSAddCompileJobDMApiVersion, Tgstation.Server.Host.Database.Migrations.MSAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.MSAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.MSAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.MSAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.MSAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.MSAddHeartbeat, Tgstation.Server.Host.Database.Migrations.MSAddJobCodes, Tgstation.Server.Host.Database.Migrations.MSAddJobErrorCodes, Tgstation.Server.Host.Database.Migrations.MSAddMapThreads, Tgstation.Server.Host.Database.Migrations.MSAddMinimumSecurity, Tgstation.Server.Host.Database.Migrations.MSAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.MSAddProfiler, Tgstation.Server.Host.Database.Migrations.MSAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.MSAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.MSAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.MSAddSystemChannels, Tgstation.Server.Host.Database.Migrations.MSAddTopicPort, Tgstation.Server.Host.Database.Migrations.MSAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.MSAddUserGroups, Tgstation.Server.Host.Database.Migrations.MSAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.MSCheckpointRebuild, Tgstation.Server.Host.Database.Migrations.MSFixCascadingDelete, Tgstation.Server.Host.Database.Migrations.MSFixRevInfoIndex, Tgstation.Server.Host.Database.Migrations.MSGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.MSInitialCreate, Tgstation.Server.Host.Database.Migrations.MSKillJsonsAddDMApiVersion, Tgstation.Server.Host.Database.Migrations.MSLimitsOnChat, Tgstation.Server.Host.Database.Migrations.MSNullableAndForeignKeyCleanup, Tgstation.Server.Host.Database.Migrations.MSReattachCompileJobRequired, Tgstation.Server.Host.Database.Migrations.MSRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.MSRemoveSoftColumns, Tgstation.Server.Host.Database.Migrations.MSRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.MSRenameHeartbeatsToHealthChecks, Tgstation.Server.Host.Database.Migrations.MSToggleTestmergeComments, Tgstation.Server.Host.Database.Migrations.MSTonsOfValidation, Tgstation.Server.Host.Database.Migrations.MSTopicTimeout, Tgstation.Server.Host.Database.Migrations.MSTruncateInstanceNames, Tgstation.Server.Host.Database.Migrations.MYAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.MYAddChatBotReconnectionInterval, Tgstation.Server.Host.Database.Migrations.MYAddCompileJobDMApiVersion, Tgstation.Server.Host.Database.Migrations.MYAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.MYAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.MYAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.MYAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.MYAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.MYAddHeartbeat, Tgstation.Server.Host.Database.Migrations.MYAddJobCodes, Tgstation.Server.Host.Database.Migrations.MYAddJobErrorCodes, Tgstation.Server.Host.Database.Migrations.MYAddMapThreads, Tgstation.Server.Host.Database.Migrations.MYAddMinimumSecurity, Tgstation.Server.Host.Database.Migrations.MYAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.MYAddProfiler, Tgstation.Server.Host.Database.Migrations.MYAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.MYAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.MYAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.MYAddSystemChannels, Tgstation.Server.Host.Database.Migrations.MYAddTopicPort, Tgstation.Server.Host.Database.Migrations.MYAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.MYAddUserGroups, Tgstation.Server.Host.Database.Migrations.MYAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.MYCheckpointRebuild, Tgstation.Server.Host.Database.Migrations.MYFixCascadingDelete, Tgstation.Server.Host.Database.Migrations.MYFixForeignKey, Tgstation.Server.Host.Database.Migrations.MYFixRevInfoIndex, Tgstation.Server.Host.Database.Migrations.MYGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.MYInitialCreate, Tgstation.Server.Host.Database.Migrations.MYKillJsonsAddDMApiVersion, Tgstation.Server.Host.Database.Migrations.MYLimitsOnChat, Tgstation.Server.Host.Database.Migrations.MYNullableAndForeignKeyCleanup, Tgstation.Server.Host.Database.Migrations.MYReattachCompileJobRequired, Tgstation.Server.Host.Database.Migrations.MYRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.MYRemoveSoftColumns, Tgstation.Server.Host.Database.Migrations.MYRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.MYRenameHeartbeatsToHealthChecks, Tgstation.Server.Host.Database.Migrations.MYToggleTestmergeComments, Tgstation.Server.Host.Database.Migrations.MYTonsOfValidation, Tgstation.Server.Host.Database.Migrations.MYTopicTimeout, Tgstation.Server.Host.Database.Migrations.MYTruncateInstanceNames, Tgstation.Server.Host.Database.Migrations.PGAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.PGAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.PGAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.PGAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.PGAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.PGAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.PGAddJobCodes, Tgstation.Server.Host.Database.Migrations.PGAddMapThreads, Tgstation.Server.Host.Database.Migrations.PGAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.PGAddProfiler, Tgstation.Server.Host.Database.Migrations.PGAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.PGAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.PGAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.PGAddSystemChannels, Tgstation.Server.Host.Database.Migrations.PGAddTopicPort, Tgstation.Server.Host.Database.Migrations.PGAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.PGAddUserGroups, Tgstation.Server.Host.Database.Migrations.PGAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.PGCreate, Tgstation.Server.Host.Database.Migrations.PGGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.PGRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.PGRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.PGRenameHeartbeatsToHealthChecks, Tgstation.Server.Host.Database.Migrations.PGTopicTimeout, Tgstation.Server.Host.Database.Migrations.PGTruncateInstanceNames, Tgstation.Server.Host.Database.Migrations.SLAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.SLAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.SLAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.SLAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.SLAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.SLAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.SLAddHeartbeat, Tgstation.Server.Host.Database.Migrations.SLAddJobCodes, Tgstation.Server.Host.Database.Migrations.SLAddMapThreads, Tgstation.Server.Host.Database.Migrations.SLAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.SLAddProfiler, Tgstation.Server.Host.Database.Migrations.SLAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.SLAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.SLAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.SLAddSystemChannels, Tgstation.Server.Host.Database.Migrations.SLAddTopicPort, Tgstation.Server.Host.Database.Migrations.SLAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.SLAddUserGroups, Tgstation.Server.Host.Database.Migrations.SLAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.SLGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.SLRebuild, Tgstation.Server.Host.Database.Migrations.SLRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.SLRemoveSoftColumns, Tgstation.Server.Host.Database.Migrations.SLRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.SLRenameHeartbeatsToHealthChecks, and Tgstation.Server.Host.Database.Migrations.SLTopicTimeout.

+

Inherited by Tgstation.Server.Host.Database.Migrations.MSAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.MSAddChatBotReconnectionInterval, Tgstation.Server.Host.Database.Migrations.MSAddCompileJobDMApiVersion, Tgstation.Server.Host.Database.Migrations.MSAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.MSAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.MSAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.MSAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.MSAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.MSAddHeartbeat, Tgstation.Server.Host.Database.Migrations.MSAddJobCodes, Tgstation.Server.Host.Database.Migrations.MSAddJobErrorCodes, Tgstation.Server.Host.Database.Migrations.MSAddMapThreads, Tgstation.Server.Host.Database.Migrations.MSAddMinidumpsOption, Tgstation.Server.Host.Database.Migrations.MSAddMinimumSecurity, Tgstation.Server.Host.Database.Migrations.MSAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.MSAddProfiler, Tgstation.Server.Host.Database.Migrations.MSAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.MSAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.MSAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.MSAddSystemChannels, Tgstation.Server.Host.Database.Migrations.MSAddTopicPort, Tgstation.Server.Host.Database.Migrations.MSAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.MSAddUserGroups, Tgstation.Server.Host.Database.Migrations.MSAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.MSCheckpointRebuild, Tgstation.Server.Host.Database.Migrations.MSFixCascadingDelete, Tgstation.Server.Host.Database.Migrations.MSFixRevInfoIndex, Tgstation.Server.Host.Database.Migrations.MSGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.MSInitialCreate, Tgstation.Server.Host.Database.Migrations.MSKillJsonsAddDMApiVersion, Tgstation.Server.Host.Database.Migrations.MSLimitsOnChat, Tgstation.Server.Host.Database.Migrations.MSNullableAndForeignKeyCleanup, Tgstation.Server.Host.Database.Migrations.MSReattachCompileJobRequired, Tgstation.Server.Host.Database.Migrations.MSRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.MSRemoveSoftColumns, Tgstation.Server.Host.Database.Migrations.MSRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.MSRenameHeartbeatsToHealthChecks, Tgstation.Server.Host.Database.Migrations.MSToggleTestmergeComments, Tgstation.Server.Host.Database.Migrations.MSTonsOfValidation, Tgstation.Server.Host.Database.Migrations.MSTopicTimeout, Tgstation.Server.Host.Database.Migrations.MSTruncateInstanceNames, Tgstation.Server.Host.Database.Migrations.MYAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.MYAddChatBotReconnectionInterval, Tgstation.Server.Host.Database.Migrations.MYAddCompileJobDMApiVersion, Tgstation.Server.Host.Database.Migrations.MYAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.MYAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.MYAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.MYAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.MYAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.MYAddHeartbeat, Tgstation.Server.Host.Database.Migrations.MYAddJobCodes, Tgstation.Server.Host.Database.Migrations.MYAddJobErrorCodes, Tgstation.Server.Host.Database.Migrations.MYAddMapThreads, Tgstation.Server.Host.Database.Migrations.MYAddMinidumpsOption, Tgstation.Server.Host.Database.Migrations.MYAddMinimumSecurity, Tgstation.Server.Host.Database.Migrations.MYAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.MYAddProfiler, Tgstation.Server.Host.Database.Migrations.MYAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.MYAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.MYAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.MYAddSystemChannels, Tgstation.Server.Host.Database.Migrations.MYAddTopicPort, Tgstation.Server.Host.Database.Migrations.MYAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.MYAddUserGroups, Tgstation.Server.Host.Database.Migrations.MYAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.MYCheckpointRebuild, Tgstation.Server.Host.Database.Migrations.MYFixCascadingDelete, Tgstation.Server.Host.Database.Migrations.MYFixForeignKey, Tgstation.Server.Host.Database.Migrations.MYFixRevInfoIndex, Tgstation.Server.Host.Database.Migrations.MYGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.MYInitialCreate, Tgstation.Server.Host.Database.Migrations.MYKillJsonsAddDMApiVersion, Tgstation.Server.Host.Database.Migrations.MYLimitsOnChat, Tgstation.Server.Host.Database.Migrations.MYNullableAndForeignKeyCleanup, Tgstation.Server.Host.Database.Migrations.MYReattachCompileJobRequired, Tgstation.Server.Host.Database.Migrations.MYRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.MYRemoveSoftColumns, Tgstation.Server.Host.Database.Migrations.MYRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.MYRenameHeartbeatsToHealthChecks, Tgstation.Server.Host.Database.Migrations.MYToggleTestmergeComments, Tgstation.Server.Host.Database.Migrations.MYTonsOfValidation, Tgstation.Server.Host.Database.Migrations.MYTopicTimeout, Tgstation.Server.Host.Database.Migrations.MYTruncateInstanceNames, Tgstation.Server.Host.Database.Migrations.PGAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.PGAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.PGAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.PGAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.PGAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.PGAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.PGAddJobCodes, Tgstation.Server.Host.Database.Migrations.PGAddMapThreads, Tgstation.Server.Host.Database.Migrations.PGAddMinidumpsOption, Tgstation.Server.Host.Database.Migrations.PGAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.PGAddProfiler, Tgstation.Server.Host.Database.Migrations.PGAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.PGAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.PGAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.PGAddSystemChannels, Tgstation.Server.Host.Database.Migrations.PGAddTopicPort, Tgstation.Server.Host.Database.Migrations.PGAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.PGAddUserGroups, Tgstation.Server.Host.Database.Migrations.PGAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.PGCreate, Tgstation.Server.Host.Database.Migrations.PGGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.PGRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.PGRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.PGRenameHeartbeatsToHealthChecks, Tgstation.Server.Host.Database.Migrations.PGTopicTimeout, Tgstation.Server.Host.Database.Migrations.PGTruncateInstanceNames, Tgstation.Server.Host.Database.Migrations.SLAddAdditionalDDParameters, Tgstation.Server.Host.Database.Migrations.SLAddDeploymentColumns, Tgstation.Server.Host.Database.Migrations.SLAddDeploymentTimeout, Tgstation.Server.Host.Database.Migrations.SLAddDreamDaemonLogOutput, Tgstation.Server.Host.Database.Migrations.SLAddDreamDaemonVisibility, Tgstation.Server.Host.Database.Migrations.SLAddDumpOnHeartbeatRestart, Tgstation.Server.Host.Database.Migrations.SLAddHeartbeat, Tgstation.Server.Host.Database.Migrations.SLAddJobCodes, Tgstation.Server.Host.Database.Migrations.SLAddMapThreads, Tgstation.Server.Host.Database.Migrations.SLAddMinidumpsOption, Tgstation.Server.Host.Database.Migrations.SLAddOAuthConnections, Tgstation.Server.Host.Database.Migrations.SLAddProfiler, Tgstation.Server.Host.Database.Migrations.SLAddReattachInfoInitialCompileJob, Tgstation.Server.Host.Database.Migrations.SLAddRevInfoTimestamp, Tgstation.Server.Host.Database.Migrations.SLAddSwarmIdentifer, Tgstation.Server.Host.Database.Migrations.SLAddSystemChannels, Tgstation.Server.Host.Database.Migrations.SLAddTopicPort, Tgstation.Server.Host.Database.Migrations.SLAddUpdateSubmodules, Tgstation.Server.Host.Database.Migrations.SLAddUserGroups, Tgstation.Server.Host.Database.Migrations.SLAllowNullDMApi, Tgstation.Server.Host.Database.Migrations.SLGenericTestMergingUpdate, Tgstation.Server.Host.Database.Migrations.SLRebuild, Tgstation.Server.Host.Database.Migrations.SLRemoveExperimentalWatchdog, Tgstation.Server.Host.Database.Migrations.SLRemoveSoftColumns, Tgstation.Server.Host.Database.Migrations.SLRenameByondColumnsToEngine, Tgstation.Server.Host.Database.Migrations.SLRenameHeartbeatsToHealthChecks, and Tgstation.Server.Host.Database.Migrations.SLTopicTimeout.


The documentation for this class was generated from the following file: diff --git a/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_entity_id.html b/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_entity_id.html index 36425ce875..cfdd1e0b1e 100644 --- a/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_entity_id.html +++ b/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_entity_id.html @@ -160,7 +160,7 @@ Properties

Definition at line 13 of file EntityId.cs.

13{ get; set; }
-

Referenced by Tgstation.Server.Host.Components.Watchdog.WatchdogBase.BeforeApplyDmb(), Tgstation.Server.Host.Jobs.JobService.CancelJob(), Tgstation.Server.Host.Controllers.InstanceController.CheckAccessible(), Tgstation.Server.Host.Controllers.ChatController.Create(), Tgstation.Server.Host.Controllers.RepositoryController.Create(), Tgstation.Server.Client.InstanceManagerClient.CreateClient(), Tgstation.Server.Host.Controllers.ApiRootController.CreateToken(), Tgstation.Server.Api.Models.UserName.CreateUserName< TResultType >(), Tgstation.Server.Host.Controllers.RepositoryController.Delete(), Tgstation.Server.Host.Controllers.InstancePermissionSetController.Delete(), Tgstation.Server.Host.Controllers.JobController.Delete(), Tgstation.Server.Host.Components.Deployment.DmbFactory.FromCompileJob(), Tgstation.Server.Host.Controllers.ChatController.GetId(), Tgstation.Server.Host.Controllers.InstancePermissionSetController.GetId(), Tgstation.Server.Host.Controllers.JobController.GetId(), Tgstation.Server.Host.Controllers.UserController.GetId(), Tgstation.Server.Host.Components.Watchdog.AdvancedWatchdog.HandleNewDmbAvailable(), Tgstation.Server.Host.Controllers.ApiController.HookExecuteAction(), Tgstation.Server.Host.Components.Watchdog.BasicWatchdog.InitController(), Tgstation.Server.Host.Components.Watchdog.WatchdogBase.InitialCheckDmbUpdated(), Tgstation.Server.Client.Components.InstanceClient.InstanceClient(), Tgstation.Server.Host.Models.Job.Job(), Tgstation.Server.Host.Components.Session.SessionControllerFactory.LaunchNew(), Tgstation.Server.Host.Controllers.ChatController.List(), Tgstation.Server.Host.Components.InstanceManager.MoveInstance(), Tgstation.Server.Host.Components.Watchdog.AdvancedWatchdog.PerformDmbSwap(), Tgstation.Server.Host.Controllers.DreamMakerController.Read(), Tgstation.Server.Host.Controllers.RepositoryController.Read(), Tgstation.Server.Client.Components.ConfigurationClient.Read(), Tgstation.Server.Host.Controllers.DreamDaemonController.ReadImpl(), Tgstation.Server.Host.Components.Session.SessionControllerFactory.Reattach(), Tgstation.Server.Host.Jobs.JobService.RegisterOperation(), Tgstation.Server.Host.Components.Repository.RepositoryUpdateService.RepositoryUpdateJob(), Tgstation.Server.Host.Jobs.JobService.RunJob(), Tgstation.Server.Client.Components.EngineClient.SetActiveVersion(), Tgstation.Server.Host.Models.ChatBot.ToApi(), Tgstation.Server.Host.Models.CompileJob.ToApi(), Tgstation.Server.Host.Models.Instance.ToApi(), Tgstation.Server.Host.Models.Job.ToApi(), Tgstation.Server.Host.Models.UserGroup.ToApi(), Tgstation.Server.Host.Controllers.ChatController.Update(), Tgstation.Server.Host.Controllers.DreamDaemonController.Update(), Tgstation.Server.Host.Controllers.DreamMakerController.Update(), Tgstation.Server.Host.Controllers.EngineController.Update(), Tgstation.Server.Host.Controllers.InstancePermissionSetController.Update(), Tgstation.Server.Host.Controllers.InstanceController.Update(), Tgstation.Server.Host.Controllers.RepositoryController.Update(), Tgstation.Server.Host.Jobs.JobsHubGroupMapper.UserDisabled(), and Tgstation.Server.Client.Components.ConfigurationClient.Write().

+

Referenced by Tgstation.Server.Host.Components.Watchdog.WatchdogBase.BeforeApplyDmb(), Tgstation.Server.Host.Jobs.JobService.CancelJob(), Tgstation.Server.Host.Controllers.InstanceController.CheckAccessible(), Tgstation.Server.Host.Controllers.ChatController.Create(), Tgstation.Server.Host.Controllers.RepositoryController.Create(), Tgstation.Server.Client.InstanceManagerClient.CreateClient(), Tgstation.Server.Host.Controllers.ApiRootController.CreateToken(), Tgstation.Server.Api.Models.UserName.CreateUserName< TResultType >(), Tgstation.Server.Host.Controllers.RepositoryController.Delete(), Tgstation.Server.Host.Controllers.InstancePermissionSetController.Delete(), Tgstation.Server.Host.Controllers.JobController.Delete(), Tgstation.Server.Host.Components.Deployment.DmbFactory.FromCompileJob(), Tgstation.Server.Host.Controllers.ChatController.GetId(), Tgstation.Server.Host.Controllers.InstancePermissionSetController.GetId(), Tgstation.Server.Host.Controllers.JobController.GetId(), Tgstation.Server.Host.Controllers.UserController.GetId(), Tgstation.Server.Host.Components.Watchdog.AdvancedWatchdog.HandleNewDmbAvailable(), Tgstation.Server.Host.Controllers.ApiController.HookExecuteAction(), Tgstation.Server.Host.Components.Watchdog.BasicWatchdog.InitController(), Tgstation.Server.Host.Components.Watchdog.WatchdogBase.InitialCheckDmbUpdated(), Tgstation.Server.Client.Components.InstanceClient.InstanceClient(), Tgstation.Server.Host.Models.Job.Job(), Tgstation.Server.Host.Components.Session.SessionControllerFactory.LaunchNew(), Tgstation.Server.Host.Controllers.ChatController.List(), Tgstation.Server.Host.Components.InstanceManager.MoveInstance(), Tgstation.Server.Host.Components.Watchdog.AdvancedWatchdog.PerformDmbSwap(), Tgstation.Server.Host.Controllers.DreamMakerController.Read(), Tgstation.Server.Host.Controllers.RepositoryController.Read(), Tgstation.Server.Client.Components.ConfigurationClient.Read(), Tgstation.Server.Host.Controllers.DreamDaemonController.ReadImpl(), Tgstation.Server.Host.Components.Session.SessionControllerFactory.Reattach(), Tgstation.Server.Host.Jobs.JobService.RegisterOperation(), Tgstation.Server.Host.Components.Repository.RepositoryUpdateService.RepositoryUpdateJob(), Tgstation.Server.Host.Jobs.JobService.RunJob(), Tgstation.Server.Client.Components.EngineClient.SetActiveVersion(), Tgstation.Server.Host.Models.ChatBot.ToApi(), Tgstation.Server.Host.Models.CompileJob.ToApi(), Tgstation.Server.Host.Models.Instance.ToApi(), Tgstation.Server.Host.Models.Job.ToApi(), Tgstation.Server.Host.Models.UserGroup.ToApi(), Tgstation.Server.Host.Controllers.ChatController.Update(), Tgstation.Server.Host.Controllers.DreamDaemonController.Update(), Tgstation.Server.Host.Controllers.DreamMakerController.Update(), Tgstation.Server.Host.Controllers.EngineController.Update(), Tgstation.Server.Host.Controllers.InstancePermissionSetController.Update(), Tgstation.Server.Host.Controllers.InstanceController.Update(), Tgstation.Server.Host.Controllers.RepositoryController.Update(), Tgstation.Server.Host.Jobs.JobsHubGroupMapper.UserDisabled(), and Tgstation.Server.Client.Components.ConfigurationClient.Write().

diff --git a/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_dream_daemon_api_base-members.html b/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_dream_daemon_api_base-members.html index 7002fc4542..fbd07e3484 100644 --- a/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_dream_daemon_api_base-members.html +++ b/class_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_dream_daemon_api_base-members.html @@ -88,15 +88,16 @@ $(function() { HealthCheckSecondsTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters LogOutputTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters MapThreadsTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters - PortTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters - SecurityLevelTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters - SessionIdTgstation.Server.Api.Models.Internal.DreamDaemonApiBase - SoftRestartTgstation.Server.Api.Models.Internal.DreamDaemonApiBase - SoftShutdownTgstation.Server.Api.Models.Internal.DreamDaemonApiBase - StartProfilerTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters - StartupTimeoutTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters - TopicRequestTimeoutTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters - VisibilityTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + MinidumpsTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + PortTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + SecurityLevelTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + SessionIdTgstation.Server.Api.Models.Internal.DreamDaemonApiBase + SoftRestartTgstation.Server.Api.Models.Internal.DreamDaemonApiBase + SoftShutdownTgstation.Server.Api.Models.Internal.DreamDaemonApiBase + StartProfilerTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + StartupTimeoutTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + TopicRequestTimeoutTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters + VisibilityTgstation.Server.Api.Models.Internal.DreamDaemonLaunchParameters