aboutsummaryrefslogtreecommitdiff
path: root/docs/_build/html/autoapi/app
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_build/html/autoapi/app')
-rw-r--r--docs/_build/html/autoapi/app/apis/index.html136
-rw-r--r--docs/_build/html/autoapi/app/config/index.html179
-rw-r--r--docs/_build/html/autoapi/app/config_dev/index.html179
-rw-r--r--docs/_build/html/autoapi/app/forms/app_forms/index.html209
-rw-r--r--docs/_build/html/autoapi/app/forms/index.html114
-rw-r--r--docs/_build/html/autoapi/app/index.html259
-rw-r--r--docs/_build/html/autoapi/app/misc_func/index.html144
-rw-r--r--docs/_build/html/autoapi/app/models/index.html216
-rw-r--r--docs/_build/html/autoapi/app/tests/conftest/index.html139
-rw-r--r--docs/_build/html/autoapi/app/tests/index.html121
-rw-r--r--docs/_build/html/autoapi/app/tests/test_admin/index.html132
-rw-r--r--docs/_build/html/autoapi/app/tests/test_cli/index.html131
-rw-r--r--docs/_build/html/autoapi/app/tests/test_fastapi/index.html160
-rw-r--r--docs/_build/html/autoapi/app/tests/test_forms/index.html140
-rw-r--r--docs/_build/html/autoapi/app/tests/test_models/index.html130
-rw-r--r--docs/_build/html/autoapi/app/tests/test_views/index.html169
-rw-r--r--docs/_build/html/autoapi/app/views/admin/index.html159
-rw-r--r--docs/_build/html/autoapi/app/views/auth/index.html203
-rw-r--r--docs/_build/html/autoapi/app/views/error_pages/index.html157
-rw-r--r--docs/_build/html/autoapi/app/views/index.html117
-rw-r--r--docs/_build/html/autoapi/app/views/main/index.html141
21 files changed, 3335 insertions, 0 deletions
diff --git a/docs/_build/html/autoapi/app/apis/index.html b/docs/_build/html/autoapi/app/apis/index.html
new file mode 100644
index 0000000..8bef03d
--- /dev/null
+++ b/docs/_build/html/autoapi/app/apis/index.html
@@ -0,0 +1,136 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.apis &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.apis">
+<span id="app-apis"></span><h1><a class="reference internal" href="#module-app.apis" title="app.apis"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.apis</span></code></a><a class="headerlink" href="#module-app.apis" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.apis.API_Version" title="app.apis.API_Version"><code class="xref py py-obj docutils literal notranslate"><span class="pre">API_Version</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.apis.API_User_Details" title="app.apis.API_User_Details"><code class="xref py py-obj docutils literal notranslate"><span class="pre">API_User_Details</span></code></a>(email: str)</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.apis.API_Version">
+<em class="property"><span class="pre">async</span> </em><span class="sig-prename descclassname"><span class="pre">app.apis.</span></span><span class="sig-name descname"><span class="pre">API_Version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.apis.API_Version" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.apis.API_User_Details">
+<em class="property"><span class="pre">async</span> </em><span class="sig-prename descclassname"><span class="pre">app.apis.</span></span><span class="sig-name descname"><span class="pre">API_User_Details</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">email</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.apis.API_User_Details" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/apis/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/config/index.html b/docs/_build/html/autoapi/app/config/index.html
new file mode 100644
index 0000000..041002c
--- /dev/null
+++ b/docs/_build/html/autoapi/app/config/index.html
@@ -0,0 +1,179 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.config &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.config">
+<span id="app-config"></span><h1><a class="reference internal" href="#module-app.config" title="app.config"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.config</span></code></a><a class="headerlink" href="#module-app.config" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.SQLALCHEMY_DATABASE_URI">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">SQLALCHEMY_DATABASE_URI</span></span><em class="property"> <span class="pre">=</span> <span class="pre">sqlite:////tmp/test.db</span></em><a class="headerlink" href="#app.config.SQLALCHEMY_DATABASE_URI" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.SQLALCHEMY_TRACK_MODIFICATIONS">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">SQLALCHEMY_TRACK_MODIFICATIONS</span></span><em class="property"> <span class="pre">=</span> <span class="pre">False</span></em><a class="headerlink" href="#app.config.SQLALCHEMY_TRACK_MODIFICATIONS" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.SECRET_KEY">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">SECRET_KEY</span></span><em class="property"> <span class="pre">=</span> <span class="pre">tchtchtch</span></em><a class="headerlink" href="#app.config.SECRET_KEY" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.ADMIN_EMAIL">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">ADMIN_EMAIL</span></span><em class="property"> <span class="pre">=</span> <span class="pre">admin&#64;example.com</span></em><a class="headerlink" href="#app.config.ADMIN_EMAIL" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.ADMIN_PASSWORD">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">ADMIN_PASSWORD</span></span><em class="property"> <span class="pre">=</span> <span class="pre">iamgroot</span></em><a class="headerlink" href="#app.config.ADMIN_PASSWORD" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.GOOGLE_CLIENT_ID">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">GOOGLE_CLIENT_ID</span></span><a class="headerlink" href="#app.config.GOOGLE_CLIENT_ID" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.GOOGLE_CLIENT_SECRET">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">GOOGLE_CLIENT_SECRET</span></span><a class="headerlink" href="#app.config.GOOGLE_CLIENT_SECRET" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_BACKEND">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_BACKEND</span></span><em class="property"> <span class="pre">=</span> <span class="pre">smtp</span></em><a class="headerlink" href="#app.config.MAIL_BACKEND" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_SERVER">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_SERVER</span></span><a class="headerlink" href="#app.config.MAIL_SERVER" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_PORT">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_PORT</span></span><a class="headerlink" href="#app.config.MAIL_PORT" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_USERNAME">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_USERNAME</span></span><a class="headerlink" href="#app.config.MAIL_USERNAME" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_PASSWORD">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_PASSWORD</span></span><a class="headerlink" href="#app.config.MAIL_PASSWORD" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_FROM">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_FROM</span></span><a class="headerlink" href="#app.config.MAIL_FROM" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config.MAIL_USE_TLS">
+<span class="sig-prename descclassname"><span class="pre">app.config.</span></span><span class="sig-name descname"><span class="pre">MAIL_USE_TLS</span></span><a class="headerlink" href="#app.config.MAIL_USE_TLS" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/config/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/config_dev/index.html b/docs/_build/html/autoapi/app/config_dev/index.html
new file mode 100644
index 0000000..c2b1049
--- /dev/null
+++ b/docs/_build/html/autoapi/app/config_dev/index.html
@@ -0,0 +1,179 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.config_dev &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.config_dev">
+<span id="app-config-dev"></span><h1><a class="reference internal" href="#module-app.config_dev" title="app.config_dev"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.config_dev</span></code></a><a class="headerlink" href="#module-app.config_dev" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.SQLALCHEMY_DATABASE_URI">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">SQLALCHEMY_DATABASE_URI</span></span><em class="property"> <span class="pre">=</span> <span class="pre">sqlite:////tmp/test.db</span></em><a class="headerlink" href="#app.config_dev.SQLALCHEMY_DATABASE_URI" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.SQLALCHEMY_TRACK_MODIFICATIONS">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">SQLALCHEMY_TRACK_MODIFICATIONS</span></span><em class="property"> <span class="pre">=</span> <span class="pre">False</span></em><a class="headerlink" href="#app.config_dev.SQLALCHEMY_TRACK_MODIFICATIONS" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.SECRET_KEY">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">SECRET_KEY</span></span><em class="property"> <span class="pre">=</span> <span class="pre">tchtchtch</span></em><a class="headerlink" href="#app.config_dev.SECRET_KEY" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.ADMIN_EMAIL">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">ADMIN_EMAIL</span></span><em class="property"> <span class="pre">=</span> <span class="pre">admin&#64;example.com</span></em><a class="headerlink" href="#app.config_dev.ADMIN_EMAIL" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.ADMIN_PASSWORD">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">ADMIN_PASSWORD</span></span><em class="property"> <span class="pre">=</span> <span class="pre">iamgroot</span></em><a class="headerlink" href="#app.config_dev.ADMIN_PASSWORD" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.GOOGLE_CLIENT_ID">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">GOOGLE_CLIENT_ID</span></span><a class="headerlink" href="#app.config_dev.GOOGLE_CLIENT_ID" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.GOOGLE_CLIENT_SECRET">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">GOOGLE_CLIENT_SECRET</span></span><a class="headerlink" href="#app.config_dev.GOOGLE_CLIENT_SECRET" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_BACKEND">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_BACKEND</span></span><em class="property"> <span class="pre">=</span> <span class="pre">smtp</span></em><a class="headerlink" href="#app.config_dev.MAIL_BACKEND" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_SERVER">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_SERVER</span></span><a class="headerlink" href="#app.config_dev.MAIL_SERVER" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_PORT">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_PORT</span></span><a class="headerlink" href="#app.config_dev.MAIL_PORT" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_USERNAME">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_USERNAME</span></span><a class="headerlink" href="#app.config_dev.MAIL_USERNAME" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_PASSWORD">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_PASSWORD</span></span><a class="headerlink" href="#app.config_dev.MAIL_PASSWORD" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_FROM">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_FROM</span></span><a class="headerlink" href="#app.config_dev.MAIL_FROM" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.config_dev.MAIL_USE_TLS">
+<span class="sig-prename descclassname"><span class="pre">app.config_dev.</span></span><span class="sig-name descname"><span class="pre">MAIL_USE_TLS</span></span><a class="headerlink" href="#app.config_dev.MAIL_USE_TLS" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/config_dev/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/forms/app_forms/index.html b/docs/_build/html/autoapi/app/forms/app_forms/index.html
new file mode 100644
index 0000000..cc60e1e
--- /dev/null
+++ b/docs/_build/html/autoapi/app/forms/app_forms/index.html
@@ -0,0 +1,209 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.forms.app_forms &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.forms.app_forms">
+<span id="app-forms-app-forms"></span><h1><a class="reference internal" href="#module-app.forms.app_forms" title="app.forms.app_forms"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.forms.app_forms</span></code></a><a class="headerlink" href="#module-app.forms.app_forms" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.forms.app_forms.MyForm" title="app.forms.app_forms.MyForm"><code class="xref py py-obj docutils literal notranslate"><span class="pre">MyForm</span></code></a></p></td>
+<td><p>Flask-specific subclass of WTForms <code class="xref py py-class docutils literal notranslate"><span class="pre">Form</span></code>.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.forms.app_forms.UserSignUp" title="app.forms.app_forms.UserSignUp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UserSignUp</span></code></a></p></td>
+<td><p>Flask-specific subclass of WTForms <code class="xref py py-class docutils literal notranslate"><span class="pre">Form</span></code>.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.forms.app_forms.UserLogIn" title="app.forms.app_forms.UserLogIn"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UserLogIn</span></code></a></p></td>
+<td><p>Flask-specific subclass of WTForms <code class="xref py py-class docutils literal notranslate"><span class="pre">Form</span></code>.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py class">
+<dt class="sig sig-object py" id="app.forms.app_forms.MyForm">
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">app.forms.app_forms.</span></span><span class="sig-name descname"><span class="pre">MyForm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">formdata</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">_Auto</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.forms.app_forms.MyForm" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">flask_wtf.FlaskForm</span></code></p>
+<p>Flask-specific subclass of WTForms <code class="xref py py-class docutils literal notranslate"><span class="pre">Form</span></code>.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">formdata</span></code> is not specified, this will use <code class="xref py py-attr docutils literal notranslate"><span class="pre">flask.request.form</span></code>
+and <code class="xref py py-attr docutils literal notranslate"><span class="pre">flask.request.files</span></code>. Explicitly pass <code class="docutils literal notranslate"><span class="pre">formdata=None</span></code> to
+prevent this.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.MyForm.name">
+<span class="sig-name descname"><span class="pre">name</span></span><a class="headerlink" href="#app.forms.app_forms.MyForm.name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.MyForm.email">
+<span class="sig-name descname"><span class="pre">email</span></span><a class="headerlink" href="#app.forms.app_forms.MyForm.email" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.MyForm.subject">
+<span class="sig-name descname"><span class="pre">subject</span></span><a class="headerlink" href="#app.forms.app_forms.MyForm.subject" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.MyForm.body">
+<span class="sig-name descname"><span class="pre">body</span></span><a class="headerlink" href="#app.forms.app_forms.MyForm.body" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserSignUp">
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">app.forms.app_forms.</span></span><span class="sig-name descname"><span class="pre">UserSignUp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">formdata</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">_Auto</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.forms.app_forms.UserSignUp" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">flask_wtf.FlaskForm</span></code></p>
+<p>Flask-specific subclass of WTForms <code class="xref py py-class docutils literal notranslate"><span class="pre">Form</span></code>.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">formdata</span></code> is not specified, this will use <code class="xref py py-attr docutils literal notranslate"><span class="pre">flask.request.form</span></code>
+and <code class="xref py py-attr docutils literal notranslate"><span class="pre">flask.request.files</span></code>. Explicitly pass <code class="docutils literal notranslate"><span class="pre">formdata=None</span></code> to
+prevent this.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserSignUp.first_name">
+<span class="sig-name descname"><span class="pre">first_name</span></span><a class="headerlink" href="#app.forms.app_forms.UserSignUp.first_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserSignUp.last_name">
+<span class="sig-name descname"><span class="pre">last_name</span></span><a class="headerlink" href="#app.forms.app_forms.UserSignUp.last_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserSignUp.email">
+<span class="sig-name descname"><span class="pre">email</span></span><a class="headerlink" href="#app.forms.app_forms.UserSignUp.email" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserSignUp.password">
+<span class="sig-name descname"><span class="pre">password</span></span><a class="headerlink" href="#app.forms.app_forms.UserSignUp.password" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserLogIn">
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">app.forms.app_forms.</span></span><span class="sig-name descname"><span class="pre">UserLogIn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">formdata</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">_Auto</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.forms.app_forms.UserLogIn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">flask_wtf.FlaskForm</span></code></p>
+<p>Flask-specific subclass of WTForms <code class="xref py py-class docutils literal notranslate"><span class="pre">Form</span></code>.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">formdata</span></code> is not specified, this will use <code class="xref py py-attr docutils literal notranslate"><span class="pre">flask.request.form</span></code>
+and <code class="xref py py-attr docutils literal notranslate"><span class="pre">flask.request.files</span></code>. Explicitly pass <code class="docutils literal notranslate"><span class="pre">formdata=None</span></code> to
+prevent this.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserLogIn.email">
+<span class="sig-name descname"><span class="pre">email</span></span><a class="headerlink" href="#app.forms.app_forms.UserLogIn.email" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.forms.app_forms.UserLogIn.password">
+<span class="sig-name descname"><span class="pre">password</span></span><a class="headerlink" href="#app.forms.app_forms.UserLogIn.password" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/forms/app_forms/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/forms/index.html b/docs/_build/html/autoapi/app/forms/index.html
new file mode 100644
index 0000000..bae3ec2
--- /dev/null
+++ b/docs/_build/html/autoapi/app/forms/index.html
@@ -0,0 +1,114 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.forms &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.forms">
+<span id="app-forms"></span><h1><a class="reference internal" href="#module-app.forms" title="app.forms"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.forms</span></code></a><a class="headerlink" href="#module-app.forms" title="Permalink to this headline">¶</a></h1>
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="app_forms/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.forms.app_forms</span></code></a></li>
+</ul>
+</div>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/forms/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/index.html b/docs/_build/html/autoapi/app/index.html
new file mode 100644
index 0000000..79f1e8c
--- /dev/null
+++ b/docs/_build/html/autoapi/app/index.html
@@ -0,0 +1,259 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css" />
+ <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+ <script src="../../_static/jquery.js"></script>
+ <script src="../../_static/underscore.js"></script>
+ <script src="../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+
+ <link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app">
+<span id="app"></span><h1><a class="reference internal" href="#module-app" title="app"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app</span></code></a><a class="headerlink" href="#module-app" title="Permalink to this headline">¶</a></h1>
+<section id="subpackages">
+<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="forms/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.forms</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="forms/app_forms/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.forms.app_forms</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="tests/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="tests/conftest/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.conftest</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="tests/test_admin/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_admin</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="tests/test_cli/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_cli</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="tests/test_fastapi/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_fastapi</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="tests/test_forms/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_forms</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="tests/test_models/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_models</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="tests/test_views/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_views</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="views/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="views/admin/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.admin</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="views/auth/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.auth</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="views/error_pages/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.error_pages</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="views/main/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.main</span></code></a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="apis/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.apis</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="config/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.config</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="config_dev/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.config_dev</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc_func/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.misc_func</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="models/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.models</span></code></a></li>
+</ul>
+</div>
+</section>
+<section id="package-contents">
+<h2>Package Contents<a class="headerlink" href="#package-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.create_database" title="app.create_database"><code class="xref py py-obj docutils literal notranslate"><span class="pre">create_database</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.delete_database" title="app.delete_database"><code class="xref py py-obj docutils literal notranslate"><span class="pre">delete_database</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.make_superuser_database" title="app.make_superuser_database"><code class="xref py py-obj docutils literal notranslate"><span class="pre">make_superuser_database</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.load_user" title="app.load_user"><code class="xref py py-obj docutils literal notranslate"><span class="pre">load_user</span></code></a>(email)</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.app" title="app.app"><code class="xref py py-obj docutils literal notranslate"><span class="pre">app</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.bcrypt" title="app.bcrypt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bcrypt</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.db" title="app.db"><code class="xref py py-obj docutils literal notranslate"><span class="pre">db</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.login_manager" title="app.login_manager"><code class="xref py py-obj docutils literal notranslate"><span class="pre">login_manager</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.oauth" title="app.oauth"><code class="xref py py-obj docutils literal notranslate"><span class="pre">oauth</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.mail" title="app.mail"><code class="xref py py-obj docutils literal notranslate"><span class="pre">mail</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.database_cli" title="app.database_cli"><code class="xref py py-obj docutils literal notranslate"><span class="pre">database_cli</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.app">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">app</span></span><a class="headerlink" href="#app.app" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.bcrypt">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">bcrypt</span></span><a class="headerlink" href="#app.bcrypt" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.db">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">db</span></span><a class="headerlink" href="#app.db" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.login_manager">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">login_manager</span></span><a class="headerlink" href="#app.login_manager" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.oauth">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">oauth</span></span><a class="headerlink" href="#app.oauth" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.mail">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">mail</span></span><a class="headerlink" href="#app.mail" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.database_cli">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">database_cli</span></span><a class="headerlink" href="#app.database_cli" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.create_database">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">create_database</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.create_database" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.delete_database">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">delete_database</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.delete_database" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.make_superuser_database">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">make_superuser_database</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.make_superuser_database" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.load_user">
+<span class="sig-prename descclassname"><span class="pre">app.</span></span><span class="sig-name descname"><span class="pre">load_user</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">email</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.load_user" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../_sources/autoapi/app/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/misc_func/index.html b/docs/_build/html/autoapi/app/misc_func/index.html
new file mode 100644
index 0000000..e003525
--- /dev/null
+++ b/docs/_build/html/autoapi/app/misc_func/index.html
@@ -0,0 +1,144 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.misc_func &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.misc_func">
+<span id="app-misc-func"></span><h1><a class="reference internal" href="#module-app.misc_func" title="app.misc_func"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.misc_func</span></code></a><a class="headerlink" href="#module-app.misc_func" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.misc_func.flash_errors" title="app.misc_func.flash_errors"><code class="xref py py-obj docutils literal notranslate"><span class="pre">flash_errors</span></code></a>(form)</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.misc_func.send" title="app.misc_func.send"><code class="xref py py-obj docutils literal notranslate"><span class="pre">send</span></code></a>(to, subject, body, body_html)</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.misc_func.send_async" title="app.misc_func.send_async"><code class="xref py py-obj docutils literal notranslate"><span class="pre">send_async</span></code></a>(app, message)</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.misc_func.flash_errors">
+<span class="sig-prename descclassname"><span class="pre">app.misc_func.</span></span><span class="sig-name descname"><span class="pre">flash_errors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">form</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.misc_func.flash_errors" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.misc_func.send">
+<span class="sig-prename descclassname"><span class="pre">app.misc_func.</span></span><span class="sig-name descname"><span class="pre">send</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">to</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">subject</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">body</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">body_html</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.misc_func.send" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.misc_func.send_async">
+<span class="sig-prename descclassname"><span class="pre">app.misc_func.</span></span><span class="sig-name descname"><span class="pre">send_async</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.misc_func.send_async" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/misc_func/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/models/index.html b/docs/_build/html/autoapi/app/models/index.html
new file mode 100644
index 0000000..28c12c6
--- /dev/null
+++ b/docs/_build/html/autoapi/app/models/index.html
@@ -0,0 +1,216 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.models &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.models">
+<span id="app-models"></span><h1><a class="reference internal" href="#module-app.models" title="app.models"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.models</span></code></a><a class="headerlink" href="#module-app.models" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.models.User" title="app.models.User"><code class="xref py py-obj docutils literal notranslate"><span class="pre">User</span></code></a></p></td>
+<td><p>This provides default implementations for the methods that Flask-Login</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py class">
+<dt class="sig sig-object py" id="app.models.User">
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">app.models.</span></span><span class="sig-name descname"><span class="pre">User</span></span><a class="headerlink" href="#app.models.User" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">app.db.Model</span></code>, <code class="xref py py-obj docutils literal notranslate"><span class="pre">flask_login.UserMixin</span></code></p>
+<p>This provides default implementations for the methods that Flask-Login
+expects user objects to have.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.__tablename__">
+<span class="sig-name descname"><span class="pre">__tablename__</span></span><em class="property"> <span class="pre">=</span> <span class="pre">users</span></em><a class="headerlink" href="#app.models.User.__tablename__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.first_name">
+<span class="sig-name descname"><span class="pre">first_name</span></span><a class="headerlink" href="#app.models.User.first_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.last_name">
+<span class="sig-name descname"><span class="pre">last_name</span></span><a class="headerlink" href="#app.models.User.last_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.email">
+<span class="sig-name descname"><span class="pre">email</span></span><a class="headerlink" href="#app.models.User.email" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.confirmation">
+<span class="sig-name descname"><span class="pre">confirmation</span></span><a class="headerlink" href="#app.models.User.confirmation" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.paid">
+<span class="sig-name descname"><span class="pre">paid</span></span><a class="headerlink" href="#app.models.User.paid" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.role">
+<span class="sig-name descname"><span class="pre">role</span></span><a class="headerlink" href="#app.models.User.role" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.team">
+<span class="sig-name descname"><span class="pre">team</span></span><a class="headerlink" href="#app.models.User.team" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User.login_type">
+<span class="sig-name descname"><span class="pre">login_type</span></span><a class="headerlink" href="#app.models.User.login_type" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="app.models.User._password">
+<span class="sig-name descname"><span class="pre">_password</span></span><a class="headerlink" href="#app.models.User._password" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.full_name">
+<em class="property"><span class="pre">property</span> </em><span class="sig-name descname"><span class="pre">full_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.full_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.password">
+<span class="sig-name descname"><span class="pre">password</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.password" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.check_password">
+<span class="sig-name descname"><span class="pre">check_password</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plaintext</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.check_password" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.get_id">
+<span class="sig-name descname"><span class="pre">get_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.get_id" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.get_role">
+<span class="sig-name descname"><span class="pre">get_role</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.get_role" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.get_team">
+<span class="sig-name descname"><span class="pre">get_team</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.get_team" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="app.models.User.is_paid">
+<span class="sig-name descname"><span class="pre">is_paid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.models.User.is_paid" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/models/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/conftest/index.html b/docs/_build/html/autoapi/app/tests/conftest/index.html
new file mode 100644
index 0000000..cebd7c1
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/conftest/index.html
@@ -0,0 +1,139 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.conftest &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.conftest">
+<span id="app-tests-conftest"></span><h1><a class="reference internal" href="#module-app.tests.conftest" title="app.tests.conftest"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.conftest</span></code></a><a class="headerlink" href="#module-app.tests.conftest" title="Permalink to this headline">¶</a></h1>
+<p>Configuration with basic fixtures</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.conftest.app" title="app.tests.conftest.app"><code class="xref py py-obj docutils literal notranslate"><span class="pre">app</span></code></a>()</p></td>
+<td><p>Special configurations for tests</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.tests.conftest.client" title="app.tests.conftest.client"><code class="xref py py-obj docutils literal notranslate"><span class="pre">client</span></code></a>(app)</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.conftest.app">
+<span class="sig-prename descclassname"><span class="pre">app.tests.conftest.</span></span><span class="sig-name descname"><span class="pre">app</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.conftest.app" title="Permalink to this definition">¶</a></dt>
+<dd><p>Special configurations for tests</p>
+<p>We use a dummy database and initialise it.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.conftest.client">
+<span class="sig-prename descclassname"><span class="pre">app.tests.conftest.</span></span><span class="sig-name descname"><span class="pre">client</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.conftest.client" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/conftest/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/index.html b/docs/_build/html/autoapi/app/tests/index.html
new file mode 100644
index 0000000..6a33e0d
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/index.html
@@ -0,0 +1,121 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests">
+<span id="app-tests"></span><h1><a class="reference internal" href="#module-app.tests" title="app.tests"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests</span></code></a><a class="headerlink" href="#module-app.tests" title="Permalink to this headline">¶</a></h1>
+<p>PyTest Modules for Unit Testing</p>
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="conftest/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.conftest</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="test_admin/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_admin</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="test_cli/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_cli</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="test_fastapi/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_fastapi</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="test_forms/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_forms</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="test_models/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_models</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="test_views/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_views</span></code></a></li>
+</ul>
+</div>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/tests/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/test_admin/index.html b/docs/_build/html/autoapi/app/tests/test_admin/index.html
new file mode 100644
index 0000000..d556f2b
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/test_admin/index.html
@@ -0,0 +1,132 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.test_admin &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.test_admin">
+<span id="app-tests-test-admin"></span><h1><a class="reference internal" href="#module-app.tests.test_admin" title="app.tests.test_admin"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_admin</span></code></a><a class="headerlink" href="#module-app.tests.test_admin" title="Permalink to this headline">¶</a></h1>
+<p>Test(s) for Admin Portal</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_admin.test_admin" title="app.tests.test_admin.test_admin"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_admin</span></code></a>(app, client)</p></td>
+<td><p>Test Admin Portal</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_admin.test_admin">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_admin.</span></span><span class="sig-name descname"><span class="pre">test_admin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_admin.test_admin" title="Permalink to this definition">¶</a></dt>
+<dd><p>Test Admin Portal</p>
+<p>We use the cli-runner to run the admin-create command.
+Then we check if the admin portal is accessible to the newly created superuser.</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/test_admin/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/test_cli/index.html b/docs/_build/html/autoapi/app/tests/test_cli/index.html
new file mode 100644
index 0000000..dfb0d32
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/test_cli/index.html
@@ -0,0 +1,131 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.test_cli &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.test_cli">
+<span id="app-tests-test-cli"></span><h1><a class="reference internal" href="#module-app.tests.test_cli" title="app.tests.test_cli"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_cli</span></code></a><a class="headerlink" href="#module-app.tests.test_cli" title="Permalink to this headline">¶</a></h1>
+<p>Test(s) for CLI Commands</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_cli.test_database_commands" title="app.tests.test_cli.test_database_commands"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_database_commands</span></code></a>(app, client)</p></td>
+<td><p>Test for Database CLI Commands</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_cli.test_database_commands">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_cli.</span></span><span class="sig-name descname"><span class="pre">test_database_commands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_cli.test_database_commands" title="Permalink to this definition">¶</a></dt>
+<dd><p>Test for Database CLI Commands</p>
+<p>Test for initialisation, creation and admin user creation.</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/test_cli/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/test_fastapi/index.html b/docs/_build/html/autoapi/app/tests/test_fastapi/index.html
new file mode 100644
index 0000000..d572949
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/test_fastapi/index.html
@@ -0,0 +1,160 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.test_fastapi &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.test_fastapi">
+<span id="app-tests-test-fastapi"></span><h1><a class="reference internal" href="#module-app.tests.test_fastapi" title="app.tests.test_fastapi"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_fastapi</span></code></a><a class="headerlink" href="#module-app.tests.test_fastapi" title="Permalink to this headline">¶</a></h1>
+<p>Test(s) for FastAPI Inegration</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_fastapi.test_fastapi" title="app.tests.test_fastapi.test_fastapi"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_fastapi</span></code></a>(app, client)</p></td>
+<td><p>Basic Version Test</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.tests.test_fastapi.test_fastapi_user_details" title="app.tests.test_fastapi.test_fastapi_user_details"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_fastapi_user_details</span></code></a>(app, client)</p></td>
+<td><p>Basic User Test</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_fastapi.fastapi_client" title="app.tests.test_fastapi.fastapi_client"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fastapi_client</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.tests.test_fastapi.fastapi_client">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_fastapi.</span></span><span class="sig-name descname"><span class="pre">fastapi_client</span></span><a class="headerlink" href="#app.tests.test_fastapi.fastapi_client" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_fastapi.test_fastapi">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_fastapi.</span></span><span class="sig-name descname"><span class="pre">test_fastapi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_fastapi.test_fastapi" title="Permalink to this definition">¶</a></dt>
+<dd><p>Basic Version Test</p>
+<p>Check if endpoint is accessible</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_fastapi.test_fastapi_user_details">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_fastapi.</span></span><span class="sig-name descname"><span class="pre">test_fastapi_user_details</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_fastapi.test_fastapi_user_details" title="Permalink to this definition">¶</a></dt>
+<dd><p>Basic User Test</p>
+<p>Check if DB is accessible to the FastAPI App</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/test_fastapi/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/test_forms/index.html b/docs/_build/html/autoapi/app/tests/test_forms/index.html
new file mode 100644
index 0000000..f1669c6
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/test_forms/index.html
@@ -0,0 +1,140 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.test_forms &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.test_forms">
+<span id="app-tests-test-forms"></span><h1><a class="reference internal" href="#module-app.tests.test_forms" title="app.tests.test_forms"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_forms</span></code></a><a class="headerlink" href="#module-app.tests.test_forms" title="Permalink to this headline">¶</a></h1>
+<p>Test(s) for Forms</p>
+<p>Tests the forms and their validations</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_forms.test_incorrect_forms" title="app.tests.test_forms.test_incorrect_forms"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_incorrect_forms</span></code></a>(app, client)</p></td>
+<td><p>Simulate Invalid Forms</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.tests.test_forms.test_contactus" title="app.tests.test_forms.test_contactus"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_contactus</span></code></a>(app, client)</p></td>
+<td><p>Test Valid Form Submission</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_forms.test_incorrect_forms">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_forms.</span></span><span class="sig-name descname"><span class="pre">test_incorrect_forms</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_forms.test_incorrect_forms" title="Permalink to this definition">¶</a></dt>
+<dd><p>Simulate Invalid Forms</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_forms.test_contactus">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_forms.</span></span><span class="sig-name descname"><span class="pre">test_contactus</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_forms.test_contactus" title="Permalink to this definition">¶</a></dt>
+<dd><p>Test Valid Form Submission</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/test_forms/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/test_models/index.html b/docs/_build/html/autoapi/app/tests/test_models/index.html
new file mode 100644
index 0000000..597f207
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/test_models/index.html
@@ -0,0 +1,130 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.test_models &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.test_models">
+<span id="app-tests-test-models"></span><h1><a class="reference internal" href="#module-app.tests.test_models" title="app.tests.test_models"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_models</span></code></a><a class="headerlink" href="#module-app.tests.test_models" title="Permalink to this headline">¶</a></h1>
+<p>Test(s) for Database Models</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_models.test_usermodel" title="app.tests.test_models.test_usermodel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_usermodel</span></code></a>(app, client)</p></td>
+<td><p>Test User Model</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_models.test_usermodel">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_models.</span></span><span class="sig-name descname"><span class="pre">test_usermodel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_models.test_usermodel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Test User Model</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/test_models/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/tests/test_views/index.html b/docs/_build/html/autoapi/app/tests/test_views/index.html
new file mode 100644
index 0000000..bd4f362
--- /dev/null
+++ b/docs/_build/html/autoapi/app/tests/test_views/index.html
@@ -0,0 +1,169 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.tests.test_views &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.tests.test_views">
+<span id="app-tests-test-views"></span><h1><a class="reference internal" href="#module-app.tests.test_views" title="app.tests.test_views"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.tests.test_views</span></code></a><a class="headerlink" href="#module-app.tests.test_views" title="Permalink to this headline">¶</a></h1>
+<p>Test(s) for Flask Views</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_views.test_visitors" title="app.tests.test_views.test_visitors"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_visitors</span></code></a>(app, client)</p></td>
+<td><p>Test if Vistors get expected endpoints and status codes</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.tests.test_views.test_user_auth_flow" title="app.tests.test_views.test_user_auth_flow"><code class="xref py py-obj docutils literal notranslate"><span class="pre">test_user_auth_flow</span></code></a>(app, client)</p></td>
+<td><p>Test User Authentication Flow</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.tests.test_views.ts" title="app.tests.test_views.ts"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ts</span></code></a></p></td>
+<td><p>To create confirmation tokens</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.tests.test_views.data2check_visitors" title="app.tests.test_views.data2check_visitors"><code class="xref py py-obj docutils literal notranslate"><span class="pre">data2check_visitors</span></code></a></p></td>
+<td><p>Dictionary of Path, Expected Status Code and Data to Test for Visitors</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.tests.test_views.ts">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_views.</span></span><span class="sig-name descname"><span class="pre">ts</span></span><a class="headerlink" href="#app.tests.test_views.ts" title="Permalink to this definition">¶</a></dt>
+<dd><p>To create confirmation tokens</p>
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="app.tests.test_views.data2check_visitors">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_views.</span></span><span class="sig-name descname"><span class="pre">data2check_visitors</span></span><a class="headerlink" href="#app.tests.test_views.data2check_visitors" title="Permalink to this definition">¶</a></dt>
+<dd><p>Dictionary of Path, Expected Status Code and Data to Test for Visitors</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_views.test_visitors">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_views.</span></span><span class="sig-name descname"><span class="pre">test_visitors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_views.test_visitors" title="Permalink to this definition">¶</a></dt>
+<dd><p>Test if Vistors get expected endpoints and status codes</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.tests.test_views.test_user_auth_flow">
+<span class="sig-prename descclassname"><span class="pre">app.tests.test_views.</span></span><span class="sig-name descname"><span class="pre">test_user_auth_flow</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">client</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.tests.test_views.test_user_auth_flow" title="Permalink to this definition">¶</a></dt>
+<dd><p>Test User Authentication Flow</p>
+<p>Tests Registeration, Email-Confirmation and Log-in along with appropriate redirects.</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/tests/test_views/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/views/admin/index.html b/docs/_build/html/autoapi/app/views/admin/index.html
new file mode 100644
index 0000000..5339b3a
--- /dev/null
+++ b/docs/_build/html/autoapi/app/views/admin/index.html
@@ -0,0 +1,159 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.views.admin &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.views.admin">
+<span id="app-views-admin"></span><h1><a class="reference internal" href="#module-app.views.admin" title="app.views.admin"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.admin</span></code></a><a class="headerlink" href="#module-app.views.admin" title="Permalink to this headline">¶</a></h1>
+<p>SuperUser/Admin portal using flask-admin</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.admin.ModelView" title="app.views.admin.ModelView"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ModelView</span></code></a></p></td>
+<td><p>Our extended ModelView Class</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.admin.admin" title="app.views.admin.admin"><code class="xref py py-obj docutils literal notranslate"><span class="pre">admin</span></code></a></p></td>
+<td><p>Initialised Admin Portal</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.views.admin.admin">
+<span class="sig-prename descclassname"><span class="pre">app.views.admin.</span></span><span class="sig-name descname"><span class="pre">admin</span></span><a class="headerlink" href="#app.views.admin.admin" title="Permalink to this definition">¶</a></dt>
+<dd><p>Initialised Admin Portal</p>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="app.views.admin.ModelView">
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">app.views.admin.</span></span><span class="sig-name descname"><span class="pre">ModelView</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">endpoint</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">static_folder</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">menu_class_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">menu_icon_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">menu_icon_value</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.views.admin.ModelView" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">flask_admin.contrib.sqla.ModelView</span></code></p>
+<p>Our extended ModelView Class</p>
+<p>Refer to Flask-Admin Docs for more details</p>
+<p><a class="reference external" href="https://flask-admin.readthedocs.io/en/latest/introduction/?highlight=ModelView#modelview-configuration-attributes">https://flask-admin.readthedocs.io/en/latest/introduction/?highlight=ModelView#modelview-configuration-attributes</a></p>
+<dl class="py method">
+<dt class="sig sig-object py" id="app.views.admin.ModelView.is_accessible">
+<span class="sig-name descname"><span class="pre">is_accessible</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.views.admin.ModelView.is_accessible" title="Permalink to this definition">¶</a></dt>
+<dd><p>This function checks if a user should be given access or not</p>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/views/admin/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/views/auth/index.html b/docs/_build/html/autoapi/app/views/auth/index.html
new file mode 100644
index 0000000..6a4a773
--- /dev/null
+++ b/docs/_build/html/autoapi/app/views/auth/index.html
@@ -0,0 +1,203 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.views.auth &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.views.auth">
+<span id="app-views-auth"></span><h1><a class="reference internal" href="#module-app.views.auth" title="app.views.auth"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.auth</span></code></a><a class="headerlink" href="#module-app.views.auth" title="Permalink to this headline">¶</a></h1>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.auth.register_user" title="app.views.auth.register_user"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_user</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.auth.signin_user" title="app.views.auth.signin_user"><code class="xref py py-obj docutils literal notranslate"><span class="pre">signin_user</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.auth.login_with_google" title="app.views.auth.login_with_google"><code class="xref py py-obj docutils literal notranslate"><span class="pre">login_with_google</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.auth.login_with_google_auth" title="app.views.auth.login_with_google_auth"><code class="xref py py-obj docutils literal notranslate"><span class="pre">login_with_google_auth</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.auth.confirm_email" title="app.views.auth.confirm_email"><code class="xref py py-obj docutils literal notranslate"><span class="pre">confirm_email</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.auth.user_dashboard" title="app.views.auth.user_dashboard"><code class="xref py py-obj docutils literal notranslate"><span class="pre">user_dashboard</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.auth.logout" title="app.views.auth.logout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logout</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.auth.unauthorized" title="app.views.auth.unauthorized"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unauthorized</span></code></a>()</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.auth.ts" title="app.views.auth.ts"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ts</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="app.views.auth.ts">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">ts</span></span><a class="headerlink" href="#app.views.auth.ts" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.register_user">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">register_user</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.register_user" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.signin_user">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">signin_user</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.signin_user" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.login_with_google">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">login_with_google</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.login_with_google" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.login_with_google_auth">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">login_with_google_auth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.login_with_google_auth" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.confirm_email">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">confirm_email</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.confirm_email" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.user_dashboard">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">user_dashboard</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.user_dashboard" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.logout">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">logout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.logout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.auth.unauthorized">
+<span class="sig-prename descclassname"><span class="pre">app.views.auth.</span></span><span class="sig-name descname"><span class="pre">unauthorized</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.auth.unauthorized" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/views/auth/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/views/error_pages/index.html b/docs/_build/html/autoapi/app/views/error_pages/index.html
new file mode 100644
index 0000000..222d7e5
--- /dev/null
+++ b/docs/_build/html/autoapi/app/views/error_pages/index.html
@@ -0,0 +1,157 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.views.error_pages &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.views.error_pages">
+<span id="app-views-error-pages"></span><h1><a class="reference internal" href="#module-app.views.error_pages" title="app.views.error_pages"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.error_pages</span></code></a><a class="headerlink" href="#module-app.views.error_pages" title="Permalink to this headline">¶</a></h1>
+<p>This file describes the errors and the message the user should see.</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.error_pages.simulate_500" title="app.views.error_pages.simulate_500"><code class="xref py py-obj docutils literal notranslate"><span class="pre">simulate_500</span></code></a>()</p></td>
+<td><p>Used to simulate a error 500 for test coverage of 500 handling</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.error_pages.page_forbidden" title="app.views.error_pages.page_forbidden"><code class="xref py py-obj docutils literal notranslate"><span class="pre">page_forbidden</span></code></a>(e)</p></td>
+<td><p>Thrown when a user accesses a page with &#64;flask_login.login_required</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.error_pages.page_not_found" title="app.views.error_pages.page_not_found"><code class="xref py py-obj docutils literal notranslate"><span class="pre">page_not_found</span></code></a>(e)</p></td>
+<td><p>Page for resource or file nout found</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.error_pages.page_server_error" title="app.views.error_pages.page_server_error"><code class="xref py py-obj docutils literal notranslate"><span class="pre">page_server_error</span></code></a>(e)</p></td>
+<td><p>Page for internal server error</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.error_pages.simulate_500">
+<span class="sig-prename descclassname"><span class="pre">app.views.error_pages.</span></span><span class="sig-name descname"><span class="pre">simulate_500</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.error_pages.simulate_500" title="Permalink to this definition">¶</a></dt>
+<dd><p>Used to simulate a error 500 for test coverage of 500 handling</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.error_pages.page_forbidden">
+<span class="sig-prename descclassname"><span class="pre">app.views.error_pages.</span></span><span class="sig-name descname"><span class="pre">page_forbidden</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">e</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.views.error_pages.page_forbidden" title="Permalink to this definition">¶</a></dt>
+<dd><p>Thrown when a user accesses a page with &#64;flask_login.login_required</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.error_pages.page_not_found">
+<span class="sig-prename descclassname"><span class="pre">app.views.error_pages.</span></span><span class="sig-name descname"><span class="pre">page_not_found</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">e</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.views.error_pages.page_not_found" title="Permalink to this definition">¶</a></dt>
+<dd><p>Page for resource or file nout found</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.error_pages.page_server_error">
+<span class="sig-prename descclassname"><span class="pre">app.views.error_pages.</span></span><span class="sig-name descname"><span class="pre">page_server_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">e</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#app.views.error_pages.page_server_error" title="Permalink to this definition">¶</a></dt>
+<dd><p>Page for internal server error</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/views/error_pages/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/views/index.html b/docs/_build/html/autoapi/app/views/index.html
new file mode 100644
index 0000000..170f909
--- /dev/null
+++ b/docs/_build/html/autoapi/app/views/index.html
@@ -0,0 +1,117 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.views &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+
+ <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.views">
+<span id="app-views"></span><h1><a class="reference internal" href="#module-app.views" title="app.views"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views</span></code></a><a class="headerlink" href="#module-app.views" title="Permalink to this headline">¶</a></h1>
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="admin/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.admin</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="auth/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.auth</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="error_pages/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.error_pages</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="main/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.main</span></code></a></li>
+</ul>
+</div>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../_sources/autoapi/app/views/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/_build/html/autoapi/app/views/main/index.html b/docs/_build/html/autoapi/app/views/main/index.html
new file mode 100644
index 0000000..8cf93f8
--- /dev/null
+++ b/docs/_build/html/autoapi/app/views/main/index.html
@@ -0,0 +1,141 @@
+
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+ <title>app.views.main &#8212; SaaS in a Flask 0.1.0 documentation</title>
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/alabaster.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+
+ <link rel="stylesheet" href="../../../../_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <section id="module-app.views.main">
+<span id="app-views-main"></span><h1><a class="reference internal" href="#module-app.views.main" title="app.views.main"><code class="xref py py-mod docutils literal notranslate"><span class="pre">app.views.main</span></code></a><a class="headerlink" href="#module-app.views.main" title="Permalink to this headline">¶</a></h1>
+<p>This is the main views module.</p>
+<p>You should import all other views into this file rather than individually importing in __init__.py</p>
+<section id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<section id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#app.views.main.index" title="app.views.main.index"><code class="xref py py-obj docutils literal notranslate"><span class="pre">index</span></code></a>()</p></td>
+<td><p>The view for the landing page.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#app.views.main.contact_us" title="app.views.main.contact_us"><code class="xref py py-obj docutils literal notranslate"><span class="pre">contact_us</span></code></a>()</p></td>
+<td><p>A simple contact us form with basic validation.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.main.index">
+<span class="sig-prename descclassname"><span class="pre">app.views.main.</span></span><span class="sig-name descname"><span class="pre">index</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.main.index" title="Permalink to this definition">¶</a></dt>
+<dd><p>The view for the landing page.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="app.views.main.contact_us">
+<span class="sig-prename descclassname"><span class="pre">app.views.main.</span></span><span class="sig-name descname"><span class="pre">contact_us</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#app.views.main.contact_us" title="Permalink to this definition">¶</a></dt>
+<dd><p>A simple contact us form with basic validation.</p>
+<p>This dummy form has not been linked to any database.</p>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="../../../../index.html">SaaS in a Flask</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">API Reference</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="../../../../index.html">Documentation overview</a><ul>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="../../../../search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script>$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2021, Navan Chauhan.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="../../../../_sources/autoapi/app/views/main/index.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file