mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-24 21:46:52 +01:00
423 lines
118 KiB
HTML
423 lines
118 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>tgstation-server: src/Tgstation.Server.Host/Database/DatabaseSeeder.cs Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">tgstation-server<span id="projectnumber"> 6.19.3</span>
|
|
</div>
|
|
<div id="projectbrief">The /tg/station 13 server suite</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.8 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function() { init_codefold(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_34761767c1c3cd212f9d2f80ea0828a8.html">Tgstation.Server.Host</a></li><li class="navelem"><a class="el" href="dir_3a3ab2f663730d5bed7026cf41734e8a.html">Database</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">DatabaseSeeder.cs</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="_database_seeder_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="keyword">using </span>System;</div>
|
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="keyword">using </span><a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">System.Linq</a>;</div>
|
|
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">using </span><a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">System.Threading</a>;</div>
|
|
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="keyword">using </span><a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">System.Threading.Tasks</a>;</div>
|
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
|
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="keyword">using </span><a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">Microsoft.EntityFrameworkCore</a>;</div>
|
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">using </span><a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">Microsoft.Extensions.Logging</a>;</div>
|
|
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">using </span><a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">Microsoft.Extensions.Options</a>;</div>
|
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
|
|
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">using </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_api.html">Tgstation.Server.Api</a>;</div>
|
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">using </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html">Tgstation.Server.Api.Rights</a>;</div>
|
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">using </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_host_1_1_configuration.html">Tgstation.Server.Host.Configuration</a>;</div>
|
|
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">using </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_host_1_1_models.html">Tgstation.Server.Host.Models</a>;</div>
|
|
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">using </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_host_1_1_security.html">Tgstation.Server.Host.Security</a>;</div>
|
|
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">using </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_host_1_1_system.html">Tgstation.Server.Host.System</a>;</div>
|
|
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
|
|
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespace_tgstation_1_1_server_1_1_host_1_1_database.html">Tgstation.Server.Host.Database</a></div>
|
|
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>{</div>
|
|
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html"> 20</a></span> <span class="keyword">sealed</span> <span class="keyword">class </span><a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html">DatabaseSeeder</a> : <a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_seeder.html">IDatabaseSeeder</a></div>
|
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> {</div>
|
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974"> 25</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html">ICryptographySuite</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>;</div>
|
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
|
|
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d"> 30</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier.html">IPlatformIdentifier</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d">platformIdentifier</a>;</div>
|
|
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
|
|
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948"> 35</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ILogger<DatabaseContext></a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">databaseLogger</a>;</div>
|
|
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
|
|
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09"> 40</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ILogger<DatabaseSeeder></a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>;</div>
|
|
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
|
|
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257"> 45</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration.html">GeneralConfiguration</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257">generalConfiguration</a>;</div>
|
|
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
|
|
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467"> 50</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html">DatabaseConfiguration</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467">databaseConfiguration</a>;</div>
|
|
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
|
|
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ae99d5d9cbe6a8c97d385f81743094c5c"> 55</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">readonly</a> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_swarm_configuration.html">SwarmConfiguration</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ae99d5d9cbe6a8c97d385f81743094c5c">swarmConfiguration</a>;</div>
|
|
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
|
|
<div class="foldopen" id="foldopen00063" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad6ca6c5c2af3d00965272871489da978"> 63</a></span> <span class="keyword">static</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad6ca6c5c2af3d00965272871489da978">SeedSystemUser</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>? <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> = <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> {</div>
|
|
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">bool</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">alreadyExists</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> != <span class="keyword">null</span>;</div>
|
|
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> ??= <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>()</div>
|
|
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> {</div>
|
|
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> CreatedAt = DateTimeOffset.UtcNow,</div>
|
|
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> CanonicalName = <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a4b139051d0d6db501e37590fa1eabf16">CanonicalizeName</a>(<a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a2e68345f5d52c8ba64dca5ec061d029d">TgsSystemUserName</a>),</div>
|
|
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> };</div>
|
|
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
|
|
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// intentionally not giving a group or permissionset</span></div>
|
|
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser.Name</a> = <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a2e68345f5d52c8ba64dca5ec061d029d">TgsSystemUserName</a>;</div>
|
|
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser.PasswordHash</a> = <span class="stringliteral">"_"</span>; <span class="comment">// This can't be hashed</span></div>
|
|
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser.Enabled</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
|
|
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (!<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">alreadyExists</a>)</div>
|
|
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> databaseContext.<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a9b6cb85c0616ae3076d4837f50a34d95">Users</a>.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_collection.html#abd9cab598d35f6af8c789a1f01bba081">Add</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a>);</div>
|
|
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a>;</div>
|
|
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
|
|
<div class="foldopen" id="foldopen00092" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a67fd607937fd1eacb5af78d01df594f3"> 92</a></span> <span class="keyword">public</span> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a67fd607937fd1eacb5af78d01df594f3">DatabaseSeeder</a>(</div>
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html">ICryptographySuite</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>,</div>
|
|
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier.html">IPlatformIdentifier</a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d">platformIdentifier</a>,</div>
|
|
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">IOptions<GeneralConfiguration></a> generalConfigurationOptions,</div>
|
|
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">IOptions<DatabaseConfiguration></a> databaseConfigurationOptions,</div>
|
|
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">IOptions<SwarmConfiguration></a> swarmConfigurationOptions,</div>
|
|
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ILogger<DatabaseContext></a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">databaseLogger</a>,</div>
|
|
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ILogger<DatabaseSeeder></a> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>)</div>
|
|
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> {</div>
|
|
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">this.cryptographySuite</a> = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a> ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>));</div>
|
|
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">this.platformIdentifier</a> = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d">platformIdentifier</a> ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d">platformIdentifier</a>));</div>
|
|
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467">databaseConfiguration</a> = databaseConfigurationOptions?.Value ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(databaseConfigurationOptions));</div>
|
|
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257">generalConfiguration</a> = generalConfigurationOptions?.Value ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(generalConfigurationOptions));</div>
|
|
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ae99d5d9cbe6a8c97d385f81743094c5c">swarmConfiguration</a> = swarmConfigurationOptions?.Value ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(swarmConfigurationOptions));</div>
|
|
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">this.databaseLogger</a> = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">databaseLogger</a> ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">databaseLogger</a>));</div>
|
|
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">this.logger</a> = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a> ?? <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">nameof</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>));</div>
|
|
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
|
|
<div class="foldopen" id="foldopen00111" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad25dc5de4181c941c699a26e098149e6"> 111</a></span> <span class="keyword">public</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">async</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ValueTask</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad25dc5de4181c941c699a26e098149e6">Initialize</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">CancellationToken</a> cancellationToken)</div>
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> {</div>
|
|
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>.ThrowIfNull(databaseContext);</div>
|
|
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
|
|
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467">databaseConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html#a30f47f73075f305073ad72ef3ff44cd4">DropDatabase</a>)</div>
|
|
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> {</div>
|
|
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>.LogCritical(<span class="stringliteral">"DropDatabase configuration option set! Dropping any existing database..."</span>);</div>
|
|
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a6216e8a817ab6700a155699bb8013584">Drop</a>(cancellationToken);</div>
|
|
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
|
|
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
|
|
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">wasEmpty</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a2c49a304dcaa39776af5b1d5dbeda1fd">Migrate</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">databaseLogger</a>, cancellationToken);</div>
|
|
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">wasEmpty</a>)</div>
|
|
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> {</div>
|
|
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>.LogInformation(<span class="stringliteral">"Seeding database..."</span>);</div>
|
|
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a59c3f85134ebd165aaa4df15c45d3901">SeedDatabase</a>(databaseContext, cancellationToken);</div>
|
|
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
|
|
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">else</span></div>
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> {</div>
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467">databaseConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html#a90f97812f033dd9cc418ea1fcffe3ce0">ResetAdminPassword</a>)</div>
|
|
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> {</div>
|
|
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>.LogWarning(<span class="stringliteral">"Enabling and resetting admin password due to configuration!"</span>);</div>
|
|
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a374a1163eaa6f02afb419449a4478b48">ResetAdminPassword</a>(databaseContext, cancellationToken);</div>
|
|
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> }</div>
|
|
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
|
|
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#acccb4650f7b19158f0241418c7345719">SanitizeDatabase</a>(databaseContext, cancellationToken);</div>
|
|
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
|
|
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
|
|
<div class="foldopen" id="foldopen00140" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aa1516a1b38e124f682e779a9c9942318"> 140</a></span> <span class="keyword">public</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ValueTask</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aa1516a1b38e124f682e779a9c9942318">Downgrade</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, Version <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">downgradeVersion</a>, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">CancellationToken</a> cancellationToken)</div>
|
|
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> {</div>
|
|
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>.ThrowIfNull(databaseContext);</div>
|
|
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ArgumentNullException</a>.ThrowIfNull(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">downgradeVersion</a>);</div>
|
|
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
|
|
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">return</span> databaseContext.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a3dc28d78cb9503b921799233156ed3f1">SchemaDowngradeForServerVersion</a>(</div>
|
|
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">databaseLogger</a>,</div>
|
|
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">downgradeVersion</a>,</div>
|
|
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467">databaseConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html#adab83eaad53afabdb2f7b43c23ece38a">DatabaseType</a>,</div>
|
|
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> cancellationToken);</div>
|
|
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
|
|
<div class="foldopen" id="foldopen00157" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a58329cfe5297b2569da770f7c05e1fbf"> 157</a></span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a58329cfe5297b2569da770f7c05e1fbf">SeedAdminUser</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext)</div>
|
|
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> {</div>
|
|
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> = <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a></div>
|
|
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> {</div>
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_permission_set.html">PermissionSet</a> = <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_permission_set.html">PermissionSet</a></div>
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> {</div>
|
|
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a> = <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_rights_1_1_rights_helper.html">RightsHelper</a>.AllRights<<a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a>>(),</div>
|
|
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a> = <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_rights_1_1_rights_helper.html">RightsHelper</a>.AllRights<<a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a>>(),</div>
|
|
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> },</div>
|
|
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> CreatedAt = DateTimeOffset.UtcNow,</div>
|
|
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> Name = <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html">DefaultCredentials</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a92e853a434de557956993046d1b364bb">AdminUserName</a>,</div>
|
|
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> CanonicalName = <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a4b139051d0d6db501e37590fa1eabf16">CanonicalizeName</a>(<a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html">DefaultCredentials</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a92e853a434de557956993046d1b364bb">AdminUserName</a>),</div>
|
|
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_host.html#a71712cdd4f38be5482e1d08905c0c308a00d23a76e43b46dae9ec7aa9dcbebb32">Enabled</a> = <span class="keyword">true</span>,</div>
|
|
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> };</div>
|
|
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html#aeab60aa0a0ee2cb5e2ad5dbde1983430">SetUserPassword</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>, <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html">DefaultCredentials</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a7c4bd40bf42d05fe66169093d3bfc172">DefaultAdminUserPassword</a>, <span class="keyword">true</span>);</div>
|
|
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> databaseContext.<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a9b6cb85c0616ae3076d4837f50a34d95">Users</a>.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_collection.html#abd9cab598d35f6af8c789a1f01bba081">Add</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>);</div>
|
|
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>;</div>
|
|
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
|
|
<div class="foldopen" id="foldopen00182" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a59c3f85134ebd165aaa4df15c45d3901"> 182</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">async</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ValueTask</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a59c3f85134ebd165aaa4df15c45d3901">SeedDatabase</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">CancellationToken</a> cancellationToken)</div>
|
|
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> {</div>
|
|
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">adminUser</a> = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a58329cfe5297b2569da770f7c05e1fbf">SeedAdminUser</a>(databaseContext);</div>
|
|
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> </div>
|
|
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// Save here because we want admin to have the first DB Id</span></div>
|
|
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="comment">// The system user isn't shown in the API except by references in the admin user and jobs</span></div>
|
|
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a74e123c6393ad813f997c882a22b228e">Save</a>(cancellationToken);</div>
|
|
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad6ca6c5c2af3d00965272871489da978">SeedSystemUser</a>(databaseContext);</div>
|
|
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">adminUser.CreatedBy</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a>;</div>
|
|
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
|
|
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a74e123c6393ad813f997c882a22b228e">Save</a>(cancellationToken);</div>
|
|
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
|
|
<div class="foldopen" id="foldopen00201" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#acccb4650f7b19158f0241418c7345719"> 201</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">async</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ValueTask</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#acccb4650f7b19158f0241418c7345719">SanitizeDatabase</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">CancellationToken</a> cancellationToken)</div>
|
|
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> {</div>
|
|
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a302d5aab480a8a4599d92f1126d79d10">GetAdminUser</a>(databaseContext, cancellationToken);</div>
|
|
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> != <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> {</div>
|
|
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>.PermissionSet != <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> {</div>
|
|
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// Fix the issue with ulong enums</span></div>
|
|
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// https://github.com/tgstation/tgstation-server/commit/db341d43b3dab74fe3681f5172ca9bfeaafa6b6d#diff-09f06ec4584665cf89bb77b97f5ccfb9R36-R39</span></div>
|
|
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="comment">// https://github.com/JamesNK/Newtonsoft.Json/issues/2301</span></div>
|
|
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.PermissionSet.AdministrationRights</a> &= <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_rights_1_1_rights_helper.html">RightsHelper</a>.AllRights<<a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a>>();</div>
|
|
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.PermissionSet.InstanceManagerRights</a> &= <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_rights_1_1_rights_helper.html">RightsHelper</a>.AllRights<<a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a>>();</div>
|
|
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> }</div>
|
|
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
|
|
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>.CreatedBy == <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> {</div>
|
|
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext</div>
|
|
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> .<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a9b6cb85c0616ae3076d4837f50a34d95">Users</a></div>
|
|
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> .Where(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.CanonicalName == <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a4b139051d0d6db501e37590fa1eabf16">CanonicalizeName</a>(<a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a2e68345f5d52c8ba64dca5ec061d029d">TgsSystemUserName</a>))</div>
|
|
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> .<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">FirstOrDefaultAsync</a>(cancellationToken);</div>
|
|
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
|
|
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> != <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>.LogError(</div>
|
|
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="stringliteral">"A user named TGS (Canonically) exists but isn't marked as the admin's creator. This may be because it was created manually. This user is going to be adapted to use as the starter of system jobs."</span>);</div>
|
|
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
|
|
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a> = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad6ca6c5c2af3d00965272871489da978">SeedSystemUser</a>(databaseContext, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a>);</div>
|
|
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.CreatedBy</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">tgsUser</a>;</div>
|
|
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> }</div>
|
|
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> }</div>
|
|
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> </div>
|
|
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="comment">// normalize backslashes to forward slashes</span></div>
|
|
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">allInstances</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext</div>
|
|
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> .<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#ab5e3be8b1e0e665bc077fd26a082cbf8">Instances</a></div>
|
|
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> .Where(instance => instance.SwarmIdentifer == <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ae99d5d9cbe6a8c97d385f81743094c5c">swarmConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_swarm_server.html#af98e4f47f1aa632ead02ed80695ce836">Identifier</a>)</div>
|
|
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> .ToListAsync(cancellationToken);</div>
|
|
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">foreach</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> instance <span class="keywordflow">in</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">allInstances</a>)</div>
|
|
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">instance.Path</a> = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d">platformIdentifier</a>.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier.html#a885378549e2e71bda33b550c252e6098">NormalizePath</a>(instance.Path!.Replace(<span class="charliteral">'\\'</span>, <span class="charliteral">'/'</span>));</div>
|
|
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
|
|
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257">generalConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration.html#a51431792c5538add1bdad55e499a4971">ByondTopicTimeout</a> != 0)</div>
|
|
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> {</div>
|
|
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ids</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext</div>
|
|
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> .DreamDaemonSettings</div>
|
|
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> .Where(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.TopicRequestTimeout == 0)</div>
|
|
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> .Select(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.Id)</div>
|
|
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> .ToListAsync(cancellationToken);</div>
|
|
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> </div>
|
|
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">rowsUpdated</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ids</a>.Count;</div>
|
|
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">foreach</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <span class="keywordtype">id</span> <span class="keywordflow">in</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ids</a>)</div>
|
|
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> {</div>
|
|
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">newDDSettings</a> = <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_dream_daemon_settings.html">DreamDaemonSettings</a></div>
|
|
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> {</div>
|
|
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> Id = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">id</a>,</div>
|
|
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> };</div>
|
|
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
|
|
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> databaseContext.DreamDaemonSettings.Attach(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">newDDSettings</a>);</div>
|
|
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">newDDSettings.TopicRequestTimeout</a> = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257">generalConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration.html#a51431792c5538add1bdad55e499a4971">ByondTopicTimeout</a>;</div>
|
|
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> }</div>
|
|
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
|
|
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">rowsUpdated</a> > 0)</div>
|
|
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">logger</a>.LogInformation(</div>
|
|
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="stringliteral">"Updated {count} instances to use database backed BYOND topic timeouts from configuration setting of {timeout}"</span>,</div>
|
|
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">rowsUpdated</a>,</div>
|
|
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257">generalConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration.html#a51431792c5538add1bdad55e499a4971">ByondTopicTimeout</a>);</div>
|
|
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> }</div>
|
|
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
|
|
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext.Save(cancellationToken);</div>
|
|
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
|
|
<div class="foldopen" id="foldopen00275" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a374a1163eaa6f02afb419449a4478b48"> 275</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">async</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ValueTask</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a374a1163eaa6f02afb419449a4478b48">ResetAdminPassword</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">CancellationToken</a> cancellationToken)</div>
|
|
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> {</div>
|
|
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a302d5aab480a8a4599d92f1126d79d10">GetAdminUser</a>(databaseContext, cancellationToken);</div>
|
|
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> != <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> {</div>
|
|
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.Enabled</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
|
|
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <span class="comment">// force the user out of any groups</span></div>
|
|
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>.PermissionSet == <span class="keyword">null</span>)</div>
|
|
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> {</div>
|
|
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.Group</a> = <span class="keyword">null</span>;</div>
|
|
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.GroupId</a> = <span class="keyword">null</span>;</div>
|
|
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.PermissionSet</a> = <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_permission_set.html">PermissionSet</a></div>
|
|
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> {</div>
|
|
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a> = <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a>.None,</div>
|
|
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a> = <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a>.WriteUsers,</div>
|
|
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> };</div>
|
|
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> }</div>
|
|
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">else</span></div>
|
|
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin.PermissionSet.AdministrationRights</a> |= <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a>.WriteUsers;</div>
|
|
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html#aeab60aa0a0ee2cb5e2ad5dbde1983430">SetUserPassword</a>(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>, <a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html">DefaultCredentials</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a7c4bd40bf42d05fe66169093d3bfc172">DefaultAdminUserPassword</a>, <span class="keyword">false</span>);</div>
|
|
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> }</div>
|
|
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> </div>
|
|
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext.<a class="code hl_function" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a74e123c6393ad813f997c882a22b228e">Save</a>(cancellationToken);</div>
|
|
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
|
|
<div class="foldopen" id="foldopen00307" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a302d5aab480a8a4599d92f1126d79d10"> 307</a></span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">async</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">ValueTask<User?></a> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a302d5aab480a8a4599d92f1126d79d10">GetAdminUser</a>(<a class="code hl_interface" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">CancellationToken</a> cancellationToken)</div>
|
|
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> {</div>
|
|
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">var</a> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> = <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">await</a> databaseContext</div>
|
|
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> .<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a9b6cb85c0616ae3076d4837f50a34d95">Users</a></div>
|
|
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> .Where(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.CanonicalName == <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a4b139051d0d6db501e37590fa1eabf16">CanonicalizeName</a>(<a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html">DefaultCredentials</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a92e853a434de557956993046d1b364bb">AdminUserName</a>))</div>
|
|
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> .Include(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.CreatedBy)</div>
|
|
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> .Include(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.PermissionSet)</div>
|
|
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> .Include(<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a> => <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">x</a>.Group)</div>
|
|
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> .FirstOrDefaultAsync(cancellationToken);</div>
|
|
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (<a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a> == <span class="keywordflow">default</span>)</div>
|
|
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a58329cfe5297b2569da770f7c05e1fbf">SeedAdminUser</a>(databaseContext);</div>
|
|
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
|
|
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">admin</a>;</div>
|
|
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span>}</div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_default_credentials_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html">Tgstation.Server.Api.DefaultCredentials</a></div><div class="ttdoc">Represents initial credentials used by the server.</div><div class="ttdef"><b>Definition</b> <a href="_default_credentials_8cs_source.html#l00006">DefaultCredentials.cs:7</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_default_credentials_html_a7c4bd40bf42d05fe66169093d3bfc172"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a7c4bd40bf42d05fe66169093d3bfc172">Tgstation.Server.Api.DefaultCredentials.DefaultAdminUserPassword</a></div><div class="ttdeci">static readonly string DefaultAdminUserPassword</div><div class="ttdoc">The default admin password.</div><div class="ttdef"><b>Definition</b> <a href="_default_credentials_8cs_source.html#l00016">DefaultCredentials.cs:16</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_default_credentials_html_a92e853a434de557956993046d1b364bb"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_default_credentials.html#a92e853a434de557956993046d1b364bb">Tgstation.Server.Api.DefaultCredentials.AdminUserName</a></div><div class="ttdeci">static readonly string AdminUserName</div><div class="ttdoc">The name of the default admin user.</div><div class="ttdef"><b>Definition</b> <a href="_default_credentials_8cs_source.html#l00011">DefaultCredentials.cs:11</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_swarm_server_html_af98e4f47f1aa632ead02ed80695ce836"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_internal_1_1_swarm_server.html#af98e4f47f1aa632ead02ed80695ce836">Tgstation.Server.Api.Models.Internal.SwarmServer.Identifier</a></div><div class="ttdeci">string? Identifier</div><div class="ttdoc">The server's identifier.</div><div class="ttdef"><b>Definition</b> <a href="_swarm_server_8cs_source.html#l00027">SwarmServer.cs:27</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_rights_1_1_rights_helper_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_rights_1_1_rights_helper.html">Tgstation.Server.Api.Rights.RightsHelper</a></div><div class="ttdoc">Helper for RightsTypes.</div><div class="ttdef"><b>Definition</b> <a href="_rights_helper_8cs_source.html#l00011">RightsHelper.cs:12</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html">Tgstation.Server.Host.Configuration.DatabaseConfiguration</a></div><div class="ttdoc">Configuration options for the Database.DatabaseContext.</div><div class="ttdef"><b>Definition</b> <a href="_database_configuration_8cs_source.html#l00009">DatabaseConfiguration.cs:10</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration_html_a30f47f73075f305073ad72ef3ff44cd4"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html#a30f47f73075f305073ad72ef3ff44cd4">Tgstation.Server.Host.Configuration.DatabaseConfiguration.DropDatabase</a></div><div class="ttdeci">bool DropDatabase</div><div class="ttdoc">If the database should be deleted on application startup. Should not be used in production!...</div><div class="ttdef"><b>Definition</b> <a href="_database_configuration_8cs_source.html#l00035">DatabaseConfiguration.cs:35</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration_html_a90f97812f033dd9cc418ea1fcffe3ce0"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html#a90f97812f033dd9cc418ea1fcffe3ce0">Tgstation.Server.Host.Configuration.DatabaseConfiguration.ResetAdminPassword</a></div><div class="ttdeci">bool ResetAdminPassword</div><div class="ttdoc">If the admin user should be enabled and have it's password reset.</div><div class="ttdef"><b>Definition</b> <a href="_database_configuration_8cs_source.html#l00025">DatabaseConfiguration.cs:25</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration_html_adab83eaad53afabdb2f7b43c23ece38a"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_database_configuration.html#adab83eaad53afabdb2f7b43c23ece38a">Tgstation.Server.Host.Configuration.DatabaseConfiguration.DatabaseType</a></div><div class="ttdeci">DatabaseType DatabaseType</div><div class="ttdoc">The Configuration.DatabaseType to create.</div><div class="ttdef"><b>Definition</b> <a href="_database_configuration_8cs_source.html#l00020">DatabaseConfiguration.cs:20</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration.html">Tgstation.Server.Host.Configuration.GeneralConfiguration</a></div><div class="ttdoc">General configuration options.</div><div class="ttdef"><b>Definition</b> <a href="_general_configuration_8cs_source.html#l00022">GeneralConfiguration.cs:23</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration_html_a51431792c5538add1bdad55e499a4971"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_general_configuration.html#a51431792c5538add1bdad55e499a4971">Tgstation.Server.Host.Configuration.GeneralConfiguration.ByondTopicTimeout</a></div><div class="ttdeci">uint ByondTopicTimeout</div><div class="ttdoc">The timeout in milliseconds for sending and receiving topics to/from DreamDaemon. Note that a single ...</div><div class="ttdef"><b>Definition</b> <a href="_general_configuration_8cs_source.html#l00118">GeneralConfiguration.cs:118</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_swarm_configuration_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_swarm_configuration.html">Tgstation.Server.Host.Configuration.SwarmConfiguration</a></div><div class="ttdoc">Configuration for the server swarm system.</div><div class="ttdef"><b>Definition</b> <a href="_swarm_configuration_8cs_source.html#l00012">SwarmConfiguration.cs:13</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html">Tgstation.Server.Host.Database.DatabaseSeeder</a></div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00020">DatabaseSeeder.cs:21</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a2bc9f345004fe0cd972d9275d771b948"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a2bc9f345004fe0cd972d9275d771b948">Tgstation.Server.Host.Database.DatabaseSeeder.databaseLogger</a></div><div class="ttdeci">readonly ILogger< DatabaseContext > databaseLogger</div><div class="ttdoc">The ILogger used for IDatabaseContexts.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00035">DatabaseSeeder.cs:35</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a302d5aab480a8a4599d92f1126d79d10"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a302d5aab480a8a4599d92f1126d79d10">Tgstation.Server.Host.Database.DatabaseSeeder.GetAdminUser</a></div><div class="ttdeci">async ValueTask< User?> GetAdminUser(IDatabaseContext databaseContext, CancellationToken cancellationToken)</div><div class="ttdoc">Get or create the admin User.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00307">DatabaseSeeder.cs:307</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a374a1163eaa6f02afb419449a4478b48"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a374a1163eaa6f02afb419449a4478b48">Tgstation.Server.Host.Database.DatabaseSeeder.ResetAdminPassword</a></div><div class="ttdeci">async ValueTask ResetAdminPassword(IDatabaseContext databaseContext, CancellationToken cancellationToken)</div><div class="ttdoc">Changes the admin password in IDatabaseContext back to it's default, enables the account,...</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00275">DatabaseSeeder.cs:275</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a51341ea00d7cfc1eead8b52235e76257"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a51341ea00d7cfc1eead8b52235e76257">Tgstation.Server.Host.Database.DatabaseSeeder.generalConfiguration</a></div><div class="ttdeci">readonly GeneralConfiguration generalConfiguration</div><div class="ttdoc">The GeneralConfiguration for the DatabaseSeeder.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00045">DatabaseSeeder.cs:45</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a58329cfe5297b2569da770f7c05e1fbf"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a58329cfe5297b2569da770f7c05e1fbf">Tgstation.Server.Host.Database.DatabaseSeeder.SeedAdminUser</a></div><div class="ttdeci">User SeedAdminUser(IDatabaseContext databaseContext)</div><div class="ttdoc">Add a default admin User to a given databaseContext .</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00157">DatabaseSeeder.cs:157</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a59c3f85134ebd165aaa4df15c45d3901"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a59c3f85134ebd165aaa4df15c45d3901">Tgstation.Server.Host.Database.DatabaseSeeder.SeedDatabase</a></div><div class="ttdeci">async ValueTask SeedDatabase(IDatabaseContext databaseContext, CancellationToken cancellationToken)</div><div class="ttdoc">Initially seed a given databaseContext .</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00182">DatabaseSeeder.cs:182</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a67fd607937fd1eacb5af78d01df594f3"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a67fd607937fd1eacb5af78d01df594f3">Tgstation.Server.Host.Database.DatabaseSeeder.DatabaseSeeder</a></div><div class="ttdeci">DatabaseSeeder(ICryptographySuite cryptographySuite, IPlatformIdentifier platformIdentifier, IOptions< GeneralConfiguration > generalConfigurationOptions, IOptions< DatabaseConfiguration > databaseConfigurationOptions, IOptions< SwarmConfiguration > swarmConfigurationOptions, ILogger< DatabaseContext > databaseLogger, ILogger< DatabaseSeeder > logger)</div><div class="ttdoc">Initializes a new instance of the DatabaseSeeder class.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00092">DatabaseSeeder.cs:92</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a6c8e101a216a05b59a646260218b2467"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a6c8e101a216a05b59a646260218b2467">Tgstation.Server.Host.Database.DatabaseSeeder.databaseConfiguration</a></div><div class="ttdeci">readonly DatabaseConfiguration databaseConfiguration</div><div class="ttdoc">The DatabaseConfiguration for the DatabaseSeeder.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00050">DatabaseSeeder.cs:50</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a88f644df987dce53ffa2e26a763f5974"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">Tgstation.Server.Host.Database.DatabaseSeeder.cryptographySuite</a></div><div class="ttdeci">readonly ICryptographySuite cryptographySuite</div><div class="ttdoc">The ICryptographySuite for the DatabaseSeeder.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00025">DatabaseSeeder.cs:25</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a9b30ce06ad99c07d9405020656cc3a1d"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a9b30ce06ad99c07d9405020656cc3a1d">Tgstation.Server.Host.Database.DatabaseSeeder.platformIdentifier</a></div><div class="ttdeci">readonly IPlatformIdentifier platformIdentifier</div><div class="ttdoc">The IPlatformIdentifier for the DatabaseSeeder.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00030">DatabaseSeeder.cs:30</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_aa1516a1b38e124f682e779a9c9942318"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aa1516a1b38e124f682e779a9c9942318">Tgstation.Server.Host.Database.DatabaseSeeder.Downgrade</a></div><div class="ttdeci">ValueTask Downgrade(IDatabaseContext databaseContext, Version downgradeVersion, CancellationToken cancellationToken)</div><div class="ttdoc">Migrate a given databaseContext down.A ValueTask representing the running operation.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00140">DatabaseSeeder.cs:140</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_aaf6976bc08dbb6209b8ca16509604a09"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#aaf6976bc08dbb6209b8ca16509604a09">Tgstation.Server.Host.Database.DatabaseSeeder.logger</a></div><div class="ttdeci">readonly ILogger< DatabaseSeeder > logger</div><div class="ttdoc">The ILogger for the DatabaseSeeder.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00040">DatabaseSeeder.cs:40</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_acccb4650f7b19158f0241418c7345719"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#acccb4650f7b19158f0241418c7345719">Tgstation.Server.Host.Database.DatabaseSeeder.SanitizeDatabase</a></div><div class="ttdeci">async ValueTask SanitizeDatabase(IDatabaseContext databaseContext, CancellationToken cancellationToken)</div><div class="ttdoc">Correct invalid database data caused by previous versions (NOT user fuckery).</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00201">DatabaseSeeder.cs:201</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_ad25dc5de4181c941c699a26e098149e6"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad25dc5de4181c941c699a26e098149e6">Tgstation.Server.Host.Database.DatabaseSeeder.Initialize</a></div><div class="ttdeci">async ValueTask Initialize(IDatabaseContext databaseContext, CancellationToken cancellationToken)</div><div class="ttdoc">Setup up a given databaseContext .A ValueTask representing the running operation.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00111">DatabaseSeeder.cs:111</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_ad6ca6c5c2af3d00965272871489da978"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ad6ca6c5c2af3d00965272871489da978">Tgstation.Server.Host.Database.DatabaseSeeder.SeedSystemUser</a></div><div class="ttdeci">static User SeedSystemUser(IDatabaseContext databaseContext, User? tgsUser=null)</div><div class="ttdoc">Add a default system User to a given databaseContext .</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00063">DatabaseSeeder.cs:63</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_ae99d5d9cbe6a8c97d385f81743094c5c"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#ae99d5d9cbe6a8c97d385f81743094c5c">Tgstation.Server.Host.Database.DatabaseSeeder.swarmConfiguration</a></div><div class="ttdeci">readonly SwarmConfiguration swarmConfiguration</div><div class="ttdoc">The SwarmConfiguration for the DatabaseSeeder.</div><div class="ttdef"><b>Definition</b> <a href="_database_seeder_8cs_source.html#l00055">DatabaseSeeder.cs:55</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_models_1_1_dream_daemon_settings_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_dream_daemon_settings.html">Tgstation.Server.Host.Models.DreamDaemonSettings</a></div><div class="ttdef"><b>Definition</b> <a href="_tgstation_8_server_8_host_2_models_2_dream_daemon_settings_8cs_source.html#l00006">DreamDaemonSettings.cs:7</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_models_1_1_permission_set_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_permission_set.html">Tgstation.Server.Host.Models.PermissionSet</a></div><div class="ttdef"><b>Definition</b> <a href="_tgstation_8_server_8_host_2_models_2_permission_set_8cs_source.html#l00008">PermissionSet.cs:9</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_models_1_1_user_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">Tgstation.Server.Host.Models.User</a></div><div class="ttdef"><b>Definition</b> <a href="_models_2_user_8cs_source.html#l00013">User.cs:17</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_models_1_1_user_html_a2e68345f5d52c8ba64dca5ec061d029d"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a2e68345f5d52c8ba64dca5ec061d029d">Tgstation.Server.Host.Models.User.TgsSystemUserName</a></div><div class="ttdeci">const string TgsSystemUserName</div><div class="ttdoc">Username used when creating jobs automatically.</div><div class="ttdef"><b>Definition</b> <a href="_models_2_user_8cs_source.html#l00021">User.cs:21</a></div></div>
|
|
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_models_1_1_user_html_a4b139051d0d6db501e37590fa1eabf16"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html#a4b139051d0d6db501e37590fa1eabf16">Tgstation.Server.Host.Models.User.CanonicalizeName</a></div><div class="ttdeci">static string CanonicalizeName(string name)</div><div class="ttdoc">Change a UserName.Name into a CanonicalName.</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_collection_html_abd9cab598d35f6af8c789a1f01bba081"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_collection.html#abd9cab598d35f6af8c789a1f01bba081">Tgstation.Server.Host.Database.IDatabaseCollection.Add</a></div><div class="ttdeci">void Add(TModel model)</div><div class="ttdoc">Add a given model to the the working set.</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">Tgstation.Server.Host.Database.IDatabaseContext</a></div><div class="ttdoc">Represents the database.</div><div class="ttdef"><b>Definition</b> <a href="_i_database_context_8cs_source.html#l00016">IDatabaseContext.cs:17</a></div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_a2c49a304dcaa39776af5b1d5dbeda1fd"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a2c49a304dcaa39776af5b1d5dbeda1fd">Tgstation.Server.Host.Database.IDatabaseContext.Migrate</a></div><div class="ttdeci">ValueTask< bool > Migrate(ILogger< DatabaseContext > logger, CancellationToken cancellationToken)</div><div class="ttdoc">Creates and migrates the IDatabaseContext.</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_a3dc28d78cb9503b921799233156ed3f1"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a3dc28d78cb9503b921799233156ed3f1">Tgstation.Server.Host.Database.IDatabaseContext.SchemaDowngradeForServerVersion</a></div><div class="ttdeci">ValueTask SchemaDowngradeForServerVersion(ILogger< DatabaseContext > logger, Version targetVersion, DatabaseType currentDatabaseType, CancellationToken cancellationToken)</div><div class="ttdoc">Attempt to downgrade the schema to the migration used for a given server targetVersion .</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_a6216e8a817ab6700a155699bb8013584"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a6216e8a817ab6700a155699bb8013584">Tgstation.Server.Host.Database.IDatabaseContext.Drop</a></div><div class="ttdeci">Task Drop(CancellationToken cancellationToken)</div><div class="ttdoc">Attempts to delete all tables and drop the database in use.</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_a74e123c6393ad813f997c882a22b228e"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a74e123c6393ad813f997c882a22b228e">Tgstation.Server.Host.Database.IDatabaseContext.Save</a></div><div class="ttdeci">Task Save(CancellationToken cancellationToken)</div><div class="ttdoc">Saves changes made to the IDatabaseContext.</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_a9b6cb85c0616ae3076d4837f50a34d95"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a9b6cb85c0616ae3076d4837f50a34d95">Tgstation.Server.Host.Database.IDatabaseContext.Users</a></div><div class="ttdeci">IDatabaseCollection< User > Users</div><div class="ttdoc">The Users in the IDatabaseContext.</div><div class="ttdef"><b>Definition</b> <a href="_i_database_context_8cs_source.html#l00021">IDatabaseContext.cs:21</a></div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_ab5e3be8b1e0e665bc077fd26a082cbf8"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#ab5e3be8b1e0e665bc077fd26a082cbf8">Tgstation.Server.Host.Database.IDatabaseContext.Instances</a></div><div class="ttdeci">IDatabaseCollection< Instance > Instances</div><div class="ttdoc">The Instances in the IDatabaseContext.</div><div class="ttdef"><b>Definition</b> <a href="_i_database_context_8cs_source.html#l00026">IDatabaseContext.cs:26</a></div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_seeder_html"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_seeder.html">Tgstation.Server.Host.Database.IDatabaseSeeder</a></div><div class="ttdoc">For initially setting up a database.</div><div class="ttdef"><b>Definition</b> <a href="_i_database_seeder_8cs_source.html#l00010">IDatabaseSeeder.cs:11</a></div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite_html"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html">Tgstation.Server.Host.Security.ICryptographySuite</a></div><div class="ttdoc">Contains various cryptographic functions.</div><div class="ttdef"><b>Definition</b> <a href="_i_cryptography_suite_8cs_source.html#l00008">ICryptographySuite.cs:9</a></div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite_html_aeab60aa0a0ee2cb5e2ad5dbde1983430"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html#aeab60aa0a0ee2cb5e2ad5dbde1983430">Tgstation.Server.Host.Security.ICryptographySuite.SetUserPassword</a></div><div class="ttdeci">void SetUserPassword(User user, string newPassword, bool newUser)</div><div class="ttdoc">Sets a User.PasswordHash for a given user .</div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier_html"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier.html">Tgstation.Server.Host.System.IPlatformIdentifier</a></div><div class="ttdoc">For identifying the current platform.</div><div class="ttdef"><b>Definition</b> <a href="_i_platform_identifier_8cs_source.html#l00008">IPlatformIdentifier.cs:9</a></div></div>
|
|
<div class="ttc" id="ainterface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier_html_a885378549e2e71bda33b550c252e6098"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_platform_identifier.html#a885378549e2e71bda33b550c252e6098">Tgstation.Server.Host.System.IPlatformIdentifier.NormalizePath</a></div><div class="ttdeci">string NormalizePath(string path)</div><div class="ttdoc">Normalize a path for consistency.</div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_api_1_1_rights_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html">Tgstation.Server.Api.Rights</a></div><div class="ttdef"><b>Definition</b> <a href="_administration_rights_8cs_source.html#l00003">AdministrationRights.cs:4</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_api_1_1_rights_html_a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#a691a59767073bc7dff0f17b809d07b0ca4ee29ca12c7d126654bd0e5275de6135">Tgstation.Server.Api.Rights.ConfigurationRights.List</a></div><div class="ttdeci">@ List</div><div class="ttdoc">User may list files if the Models.Instance allows it.</div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_api_1_1_rights_html_af199a84ed6fe6ca557db9de91070ad79"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">Tgstation.Server.Api.Rights.InstanceManagerRights</a></div><div class="ttdeci">InstanceManagerRights</div><div class="ttdoc">Rights for managing Models.Instances.</div><div class="ttdef"><b>Definition</b> <a href="_instance_manager_rights_8cs_source.html#l00009">InstanceManagerRights.cs:10</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_api_1_1_rights_html_affda1440f9c5e2dfcca65138d2f89a21"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">Tgstation.Server.Api.Rights.AdministrationRights</a></div><div class="ttdeci">AdministrationRights</div><div class="ttdoc">Administration rights for the server.</div><div class="ttdef"><b>Definition</b> <a href="_administration_rights_8cs_source.html#l00009">AdministrationRights.cs:10</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_api_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_api.html">Tgstation.Server.Api</a></div><div class="ttdef"><b>Definition</b> <a href="_api_headers_8cs_source.html#l00019">ApiHeaders.cs:20</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_host_1_1_configuration_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host_1_1_configuration.html">Tgstation.Server.Host.Configuration</a></div><div class="ttdef"><b>Definition</b> <a href="_control_panel_configuration_8cs_source.html#l00003">ControlPanelConfiguration.cs:4</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_host_1_1_database_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host_1_1_database.html">Tgstation.Server.Host.Database</a></div><div class="ttdef"><b>Definition</b> <a href="_database_collection_8cs_source.html#l00009">DatabaseCollection.cs:10</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_host_1_1_models_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host_1_1_models.html">Tgstation.Server.Host.Models</a></div><div class="ttdef"><b>Definition</b> <a href="_models_2_chat_bot_8cs_source.html#l00008">ChatBot.cs:9</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_host_1_1_security_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host_1_1_security.html">Tgstation.Server.Host.Security</a></div><div class="ttdef"><b>Definition</b> <a href="_authentication_context_8cs_source.html#l00007">AuthenticationContext.cs:8</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_host_1_1_system_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host_1_1_system.html">Tgstation.Server.Host.System</a></div><div class="ttdef"><b>Definition</b> <a href="_assembly_information_provider_8cs_source.html#l00008">AssemblyInformationProvider.cs:9</a></div></div>
|
|
<div class="ttc" id="anamespace_tgstation_1_1_server_1_1_host_html_a71712cdd4f38be5482e1d08905c0c308a00d23a76e43b46dae9ec7aa9dcbebb32"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host.html#a71712cdd4f38be5482e1d08905c0c308a00d23a76e43b46dae9ec7aa9dcbebb32">Tgstation.Server.Host.OAuthGatewayStatus.Enabled</a></div><div class="ttdeci">@ Enabled</div><div class="ttdoc">The OAuth Gateway is enabled.</div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
|
</small></address>
|
|
</body>
|
|
</html>
|