mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-26 14:37:44 +01:00
106 lines
26 KiB
HTML
106 lines
26 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">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.15"/>
|
|
<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 style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="tgs.ico"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">tgstation-server
|
|
</div>
|
|
<div id="projectbrief">The /tg/station 13 server suite</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.15 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- 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">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</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 name="l00001"></a><span class="lineno"> 1</span> <span class="keyword">using</span> Microsoft.EntityFrameworkCore;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="keyword">using</span> System;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="keyword">using</span> System.Linq;</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="keyword">using</span> System.Threading;</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="keyword">using</span> System.Threading.Tasks;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keyword">using</span> <a class="code" href="namespace_tgstation.html">Tgstation</a>.<a class="code" href="namespace_tgstation_1_1_server.html">Server</a>.<a class="code" href="namespace_tgstation_1_1_server_1_1_api.html">Api</a>.<a class="code" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html">Rights</a>;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="keyword">using</span> <a class="code" href="namespace_tgstation.html">Tgstation</a>.<a class="code" href="namespace_tgstation_1_1_server.html">Server</a>.<a class="code" href="namespace_tgstation_1_1_server_1_1_host.html">Host</a>.<a class="code" href="namespace_tgstation_1_1_server_1_1_host_1_1_models.html">Models</a>;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="keyword">using</span> <a class="code" href="namespace_tgstation.html">Tgstation</a>.<a class="code" href="namespace_tgstation_1_1_server.html">Server</a>.<a class="code" href="namespace_tgstation_1_1_server_1_1_host.html">Host</a>.<a class="code" href="namespace_tgstation_1_1_server_1_1_host_1_1_security.html">Security</a>;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">namespace </span><a class="code" href="namespace_tgstation_1_1_server_1_1_host_1_1_database.html">Tgstation.Server.Host.Database</a></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> {</div><div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html"> 13</a></span>  sealed <span class="keyword">class </span><a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html">DatabaseSeeder</a> : <a class="code" 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 name="l00014"></a><span class="lineno"> 14</span>  {</div><div class="line"><a name="l00018"></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"> 18</a></span>  readonly <a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html">ICryptographySuite</a> <a class="code" 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 name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88892a0fb94d34f975e8d1cf3c0ae940"> 24</a></span>  <span class="keyword">public</span> <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88892a0fb94d34f975e8d1cf3c0ae940">DatabaseSeeder</a>(<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html">ICryptographySuite</a> <a class="code" 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 name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  this.cryptographySuite = <a class="code" 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> ArgumentNullException(nameof(<a class="code" 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 name="l00027"></a><span class="lineno"> 27</span>  }</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a196c86026367b0e221d580ef36d97c83"> 33</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a196c86026367b0e221d580ef36d97c83">SeedAdminUser</a>(<a class="code" 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 name="l00034"></a><span class="lineno"> 34</span>  {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  var admin = <span class="keyword">new</span> <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_models_1_1_user.html">User</a></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a> = ~<a class="code" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#affda1440f9c5e2dfcca65138d2f89a21">AdministrationRights</a>.None,</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  CreatedAt = DateTimeOffset.Now,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a> = ~<a class="code" href="namespace_tgstation_1_1_server_1_1_api_1_1_rights.html#af199a84ed6fe6ca557db9de91070ad79">InstanceManagerRights</a>.None,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  Name = Api.Models.User.AdminName,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  CanonicalName = Api.Models.User.AdminName.ToUpperInvariant(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  Enabled = <span class="keyword">true</span>,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  };</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>.<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html#aeab60aa0a0ee2cb5e2ad5dbde1983430">SetUserPassword</a>(admin, Api.Models.User.DefaultAdminPassword, <span class="keyword">true</span>);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  databaseContext.<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a88e5a4bcdb1f9e1a1db30ac22ebe0c6e">Users</a>.Add(admin);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  }</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a09fc7208df756283dd6b475cfe013151"> 49</a></span>  <span class="keyword">public</span> async Task <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a09fc7208df756283dd6b475cfe013151">SeedDatabase</a>(<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, CancellationToken cancellationToken)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a196c86026367b0e221d580ef36d97c83">SeedAdminUser</a>(databaseContext);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  await databaseContext.<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a74e123c6393ad813f997c882a22b228e">Save</a>(cancellationToken).ConfigureAwait(<span class="keyword">false</span>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  }</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#af844d41153f8a43c071bb6ec67445a1b"> 56</a></span>  <span class="keyword">public</span> async Task <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#af844d41153f8a43c071bb6ec67445a1b">ResetAdminPassword</a>(<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html">IDatabaseContext</a> databaseContext, CancellationToken cancellationToken)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  var admin = await databaseContext.<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a88e5a4bcdb1f9e1a1db30ac22ebe0c6e">Users</a>.Where(x => x.CanonicalName == Api.Models.User.AdminName.ToUpperInvariant()).FirstOrDefaultAsync(cancellationToken).ConfigureAwait(<span class="keyword">false</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">if</span> (admin == <span class="keywordflow">default</span>)</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a196c86026367b0e221d580ef36d97c83">SeedAdminUser</a>(databaseContext);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  admin.Enabled = <span class="keyword">true</span>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88f644df987dce53ffa2e26a763f5974">cryptographySuite</a>.<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_security_1_1_i_cryptography_suite.html#aeab60aa0a0ee2cb5e2ad5dbde1983430">SetUserPassword</a>(admin, Api.Models.User.DefaultAdminPassword, <span class="keyword">false</span>);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  await databaseContext.<a class="code" href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a74e123c6393ad813f997c882a22b228e">Save</a>(cancellationToken).ConfigureAwait(<span class="keyword">false</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div><div class="ttc" id="namespace_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#l00012">ApiHeaders.cs:12</a></div></div>
|
|
<div class="ttc" id="class_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 DatabaseContext<TParentContext></div><div class="ttdef"><b>Definition:</b> <a href="_database_seeder_8cs_source.html#l00018">DatabaseSeeder.cs:18</a></div></div>
|
|
<div class="ttc" id="namespace_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="_tgstation_8_server_8_host_2_models_2_chat_bot_8cs_source.html#l00005">ChatBot.cs:5</a></div></div>
|
|
<div class="ttc" id="interface_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 seeding a database</div><div class="ttdef"><b>Definition:</b> <a href="_i_database_seeder_8cs_source.html#l00009">IDatabaseSeeder.cs:9</a></div></div>
|
|
<div class="ttc" id="class_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#l00013">DatabaseSeeder.cs:13</a></div></div>
|
|
<div class="ttc" id="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a09fc7208df756283dd6b475cfe013151"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a09fc7208df756283dd6b475cfe013151">Tgstation.Server.Host.Database.DatabaseSeeder.SeedDatabase</a></div><div class="ttdeci">async Task 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#l00049">DatabaseSeeder.cs:49</a></div></div>
|
|
<div class="ttc" id="namespace_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">Rights for Models.Administration</div><div class="ttdef"><b>Definition:</b> <a href="_administration_rights_8cs_source.html#l00009">AdministrationRights.cs:9</a></div></div>
|
|
<div class="ttc" id="interface_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:8</a></div></div>
|
|
<div class="ttc" id="class_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="_tgstation_8_server_8_host_2_models_2_user_8cs_source.html#l00008">User.cs:8</a></div></div>
|
|
<div class="ttc" id="interface_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#l00012">IDatabaseContext.cs:12</a></div></div>
|
|
<div class="ttc" id="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_af844d41153f8a43c071bb6ec67445a1b"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#af844d41153f8a43c071bb6ec67445a1b">Tgstation.Server.Host.Database.DatabaseSeeder.ResetAdminPassword</a></div><div class="ttdeci">async Task ResetAdminPassword(IDatabaseContext databaseContext, CancellationToken cancellationToken)</div><div class="ttdoc">Changes the admin password in IDatabaseContext back to it's default and enables the account</div><div class="ttdef"><b>Definition:</b> <a href="_database_seeder_8cs_source.html#l00056">DatabaseSeeder.cs:56</a></div></div>
|
|
<div class="ttc" id="namespace_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:9</a></div></div>
|
|
<div class="ttc" id="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a88892a0fb94d34f975e8d1cf3c0ae940"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a88892a0fb94d34f975e8d1cf3c0ae940">Tgstation.Server.Host.Database.DatabaseSeeder.DatabaseSeeder</a></div><div class="ttdeci">DatabaseSeeder(ICryptographySuite cryptographySuite)</div><div class="ttdoc">Construct a DatabaseSeeder</div><div class="ttdef"><b>Definition:</b> <a href="_database_seeder_8cs_source.html#l00024">DatabaseSeeder.cs:24</a></div></div>
|
|
<div class="ttc" id="namespace_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#l00006">AuthenticationContext.cs:6</a></div></div>
|
|
<div class="ttc" id="namespace_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:3</a></div></div>
|
|
<div class="ttc" id="interface_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="namespace_tgstation_1_1_server_html"><div class="ttname"><a href="namespace_tgstation_1_1_server.html">Tgstation.Server</a></div><div class="ttdef"><b>Definition:</b> <a href="_api_headers_8cs_source.html#l00012">ApiHeaders.cs:12</a></div></div>
|
|
<div class="ttc" id="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context_html_a88e5a4bcdb1f9e1a1db30ac22ebe0c6e"><div class="ttname"><a href="interface_tgstation_1_1_server_1_1_host_1_1_database_1_1_i_database_context.html#a88e5a4bcdb1f9e1a1db30ac22ebe0c6e">Tgstation.Server.Host.Database.IDatabaseContext.Users</a></div><div class="ttdeci">DbSet< 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#l00017">IDatabaseContext.cs:17</a></div></div>
|
|
<div class="ttc" id="interface_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="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder_html_a196c86026367b0e221d580ef36d97c83"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_database_1_1_database_seeder.html#a196c86026367b0e221d580ef36d97c83">Tgstation.Server.Host.Database.DatabaseSeeder.SeedAdminUser</a></div><div class="ttdeci">void 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#l00033">DatabaseSeeder.cs:33</a></div></div>
|
|
<div class="ttc" id="namespace_tgstation_1_1_server_1_1_host_html"><div class="ttname"><a href="namespace_tgstation_1_1_server_1_1_host.html">Tgstation.Server.Host</a></div><div class="ttdef"><b>Definition:</b> <a href="_byond_executable_lock_8cs_source.html#l00003">ByondExecutableLock.cs:3</a></div></div>
|
|
<div class="ttc" id="namespace_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_connection_factory_8cs_source.html#l00008">DatabaseConnectionFactory.cs:8</a></div></div>
|
|
<div class="ttc" id="namespace_tgstation_html"><div class="ttname"><a href="namespace_tgstation.html">Tgstation</a></div><div class="ttdef"><b>Definition:</b> <a href="_api_headers_8cs_source.html#l00012">ApiHeaders.cs:12</a></div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.15
|
|
</small></address>
|
|
</body>
|
|
</html>
|