Deploying to gh-pages from @ 3710c8f653 🚀

This commit is contained in:
realaravinth
2022-05-27 13:55:17 +00:00
parent d4575e7ebf
commit 0cad395013
608 changed files with 13753 additions and 4723 deletions

View File

@@ -191,6 +191,10 @@
<span id="186">186</span>
<span id="187">187</span>
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
<span id="192">192</span>
</pre><pre class="rust"><code><span class="comment">/*
* Copyright (C) 2022 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
*
@@ -287,7 +291,8 @@
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">CACHE_AGE</span>: <span class="ident">u32</span> <span class="op">=</span> <span class="number">604800</span>;
<span class="kw">pub</span> <span class="kw">type</span> <span class="ident">AppData</span> <span class="op">=</span> <span class="ident">actix_web::web::Data</span><span class="op">&lt;</span><span class="ident">Arc</span><span class="op">&lt;</span><span class="ident"><span class="kw">crate</span>::data::Data</span><span class="op">&gt;</span><span class="op">&gt;</span>;
<span class="kw">pub</span> <span class="kw">type</span> <span class="ident">ArcData</span> <span class="op">=</span> <span class="ident">Arc</span><span class="op">&lt;</span><span class="ident"><span class="kw">crate</span>::data::Data</span><span class="op">&gt;</span>;
<span class="kw">pub</span> <span class="kw">type</span> <span class="ident">AppData</span> <span class="op">=</span> <span class="ident">actix_web::web::Data</span><span class="op">&lt;</span><span class="ident">ArcData</span><span class="op">&gt;</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">tarpaulin_include</span>))]</span>
<span class="attribute">#[<span class="ident">actix_web::main</span>]</span>
@@ -302,13 +307,13 @@
<span class="ident">PKG_NAME</span>, <span class="ident">PKG_DESCRIPTION</span>, <span class="ident">PKG_HOMEPAGE</span>, <span class="ident">VERSION</span>, <span class="ident">GIT_COMMIT_HASH</span>
);
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="ident">Data::new</span>().<span class="kw">await</span>;
<span class="macro">sqlx::migrate!</span>(<span class="string">&quot;./migrations/&quot;</span>).<span class="ident">run</span>(<span class="kw-2">&amp;</span><span class="ident">data</span>.<span class="ident">db</span>).<span class="kw">await</span>.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">settings</span> <span class="op">=</span> <span class="ident">Settings::new</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="ident">Data::new</span>(<span class="kw-2">&amp;</span><span class="ident">settings</span>).<span class="kw">await</span>;
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="ident">actix_web::web::Data::new</span>(<span class="ident">data</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">demo_user</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">DemoUser</span><span class="op">&gt;</span> <span class="op">=</span> <span class="prelude-val">None</span>;
<span class="kw">if</span> <span class="ident">SETTINGS</span>.<span class="ident">allow_demo</span> <span class="op">&amp;&amp;</span> <span class="ident">SETTINGS</span>.<span class="ident">allow_registration</span> {
<span class="kw">if</span> <span class="ident">settings</span>.<span class="ident">allow_demo</span> <span class="op">&amp;&amp;</span> <span class="ident">settings</span>.<span class="ident">allow_registration</span> {
<span class="ident">demo_user</span> <span class="op">=</span> <span class="prelude-val">Some</span>(
<span class="ident">DemoUser::spawn</span>(<span class="ident">data</span>.<span class="ident">clone</span>(), <span class="ident">Duration::from_secs</span>(<span class="number">60</span> <span class="op">*</span> <span class="number">30</span>))
.<span class="kw">await</span>
@@ -316,16 +321,17 @@
);
}
<span class="macro">println!</span>(<span class="string">&quot;Starting server on: http://{}&quot;</span>, <span class="ident">SETTINGS</span>.<span class="ident">server</span>.<span class="ident">get_ip</span>());
<span class="kw">let</span> <span class="ident">ip</span> <span class="op">=</span> <span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">get_ip</span>();
<span class="macro">println!</span>(<span class="string">&quot;Starting server on: http://{ip}&quot;</span>);
<span class="ident">HttpServer::new</span>(<span class="kw">move</span> <span class="op">|</span><span class="op">|</span> {
<span class="ident">App::new</span>()
.<span class="ident">wrap</span>(<span class="ident">actix_middleware::Logger::default</span>())
.<span class="ident">wrap</span>(
<span class="ident">actix_middleware::DefaultHeaders::new</span>()
.<span class="ident">header</span>(<span class="string">&quot;Permissions-Policy&quot;</span>, <span class="string">&quot;interest-cohort=()&quot;</span>),
.<span class="ident">add</span>((<span class="string">&quot;Permissions-Policy&quot;</span>, <span class="string">&quot;interest-cohort=()&quot;</span>)),
)
.<span class="ident">wrap</span>(<span class="ident">get_identity_service</span>())
.<span class="ident">wrap</span>(<span class="ident">get_identity_service</span>(<span class="kw-2">&amp;</span><span class="ident">settings</span>))
.<span class="ident">wrap</span>(<span class="ident">actix_middleware::Compress::default</span>())
.<span class="ident">app_data</span>(<span class="ident">data</span>.<span class="ident">clone</span>())
.<span class="ident">wrap</span>(<span class="ident">actix_middleware::NormalizePath::new</span>(
@@ -334,7 +340,7 @@
.<span class="ident">configure</span>(<span class="ident">routes::services</span>)
.<span class="ident">app_data</span>(<span class="ident">get_json_err</span>())
})
.<span class="ident">bind</span>(<span class="ident">SETTINGS</span>.<span class="ident">server</span>.<span class="ident">get_ip</span>())
.<span class="ident">bind</span>(<span class="kw-2">&amp;</span><span class="ident">ip</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">run</span>()
.<span class="kw">await</span><span class="question-mark">?</span>;
@@ -354,14 +360,16 @@
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">tarpaulin_include</span>))]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_identity_service</span>() -&gt; <span class="ident">IdentityService</span><span class="op">&lt;</span><span class="ident">CookieIdentityPolicy</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">cookie_secret</span> <span class="op">=</span> <span class="kw-2">&amp;</span><span class="ident">SETTINGS</span>.<span class="ident">server</span>.<span class="ident">cookie_secret</span>;
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_identity_service</span>(
<span class="ident">settings</span>: <span class="kw-2">&amp;</span><span class="ident">Settings</span>,
) -&gt; <span class="ident">IdentityService</span><span class="op">&lt;</span><span class="ident">CookieIdentityPolicy</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">cookie_secret</span> <span class="op">=</span> <span class="kw-2">&amp;</span><span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">cookie_secret</span>;
<span class="ident">IdentityService::new</span>(
<span class="ident">CookieIdentityPolicy::new</span>(<span class="ident">cookie_secret</span>.<span class="ident">as_bytes</span>())
.<span class="ident">name</span>(<span class="string">&quot;Authorization&quot;</span>)
<span class="comment">//TODO change cookie age</span>
.<span class="ident">max_age_secs</span>(<span class="number">216000</span>)
.<span class="ident">domain</span>(<span class="kw-2">&amp;</span><span class="ident">SETTINGS</span>.<span class="ident">server</span>.<span class="ident">domain</span>)
.<span class="ident">domain</span>(<span class="kw-2">&amp;</span><span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">domain</span>)
.<span class="ident">secure</span>(<span class="bool-val">false</span>),
)
}