Move documentation to top level and regenerate for backend code

master
Garrett Mills 4 years ago
parent 06515b0559
commit 703fffb74e
Signed by: garrettmills
GPG Key ID: D2BF5FBA8298F246

@ -18,7 +18,7 @@ class DraftBoard extends Controller {
* @param req
* @param res
* @param next
* @returns
* @returns Promise<void>
*/
async get_available_players(req, res, next) {
const Player = this.models.get('Player')
@ -36,8 +36,8 @@ class DraftBoard extends Controller {
* adds the selected player to the team
* @param req
* @param res
* @param next
* @returns
* @param next
* @returns Promise<void>
*/
async draft_player_to_team(req, res, next) {
if ( !req.body.player_id ) {

@ -17,8 +17,8 @@ class ScoresController extends Controller {
* Returns the weekly scores
* @param req
* @param res
* @param next
* @returns
* @param next
* @returns Promise<void>
*/
async get_weekly_scores(req, res, next) {
const Matchup = this.models.get('Matchup')

@ -59,7 +59,7 @@ class SportsDataService extends Service {
/**
* Fetches a list of player stats for all players in the league for the given week.
* @param {number} week_num
* @return {Promise<Array<any>>>}
* @return {Promise<Array<any>>}
*/
async get_week_player_stats(week_num) {
return this.get_request(`PlayerGameProjectionStatsByWeek/${this.configs.get('server.sports_data.season')}/${week_num}`, 'projections')

@ -1,3 +1,3 @@
#!/bin/sh
yarn install
./node_modules/.bin/jsdoc --destination ./generated --readme ./README.md --recurse ../src
./node_modules/.bin/jsdoc --destination ./generated --readme ./README.md --recurse ../app ../frontend

@ -0,0 +1,336 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: ActiveScope</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: ActiveScope</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>ActiveScope<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">This is a model scope which excludes any models without is_active = true.
In effect, this provides a mechanism for soft-deletes.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="ActiveScope"><span class="type-signature"></span>new ActiveScope<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_scopes_Active.scope.js.html">app/models/scopes/Active.scope.js</a>, <a href="app_models_scopes_Active.scope.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Scope</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="filter"><span class="type-signature">(async) </span>filter<span class="signature">(to_filter)</span><span class="type-signature"> &rarr; {Promise.&lt;*>}</span></h4>
<div class="description">
Apply this scope's conditions to a model filter.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>to_filter</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_scopes_Active.scope.js.html">app/models/scopes/Active.scope.js</a>, <a href="app_models_scopes_Active.scope.js.html#line15">line 15</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;*></span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -94,7 +94,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line57">line 57</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line60">line 60</a>
</li></ul></dd>
@ -209,7 +209,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line96">line 96</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line99">line 99</a>
</li></ul></dd>
@ -281,7 +281,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line84">line 84</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line87">line 87</a>
</li></ul></dd>
@ -353,7 +353,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line78">line 78</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line81">line 81</a>
</li></ul></dd>
@ -425,7 +425,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line72">line 72</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line75">line 75</a>
</li></ul></dd>
@ -497,7 +497,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line90">line 90</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line93">line 93</a>
</li></ul></dd>
@ -569,7 +569,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line66">line 66</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line69">line 69</a>
</li></ul></dd>
@ -698,7 +698,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line557">line 557</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line151">line 151</a>
</li></ul></dd>
@ -786,7 +786,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line527">line 527</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line121">line 121</a>
</li></ul></dd>
@ -923,7 +923,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line577">line 577</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line171">line 171</a>
</li></ul></dd>
@ -1060,7 +1060,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line585">line 585</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line179">line 179</a>
</li></ul></dd>
@ -1197,7 +1197,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line567">line 567</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line161">line 161</a>
</li></ul></dd>
@ -1285,7 +1285,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line547">line 547</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line141">line 141</a>
</li></ul></dd>
@ -1373,7 +1373,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line538">line 538</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line132">line 132</a>
</li></ul></dd>
@ -1461,7 +1461,7 @@ players from their team.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_AddPlayers.component.js.html">components/pages/AddPlayers.component.js</a>, <a href="components_pages_AddPlayers.component.js.html#line519">line 519</a>
<a href="frontend_src_components_pages_AddPlayers.component.js.html">frontend/src/components/pages/AddPlayers.component.js</a>, <a href="frontend_src_components_pages_AddPlayers.component.js.html#line105">line 105</a>
</li></ul></dd>
@ -1525,13 +1525,13 @@ players from their team.</div>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,545 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: DraftBoard</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: DraftBoard</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>DraftBoard<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">DraftBoard controller
------------------------------------------------------------------------
This controller contains logic for handling API requests related to fetching
and drafting available players. Its methods should handle Express requests &
responses.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="DraftBoard"><span class="type-signature"></span>new DraftBoard<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_DraftBoard.controller.js.html">app/controllers/DraftBoard.controller.js</a>, <a href="app_controllers_DraftBoard.controller.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Controller</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="draft_player_to_team"><span class="type-signature">(async) </span>draft_player_to_team<span class="signature">(req, res, next)</span><span class="type-signature"></span></h4>
<div class="description">
adds the selected player to the team
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>next</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_DraftBoard.controller.js.html">app/controllers/DraftBoard.controller.js</a>, <a href="app_controllers_DraftBoard.controller.js.html#line42">line 42</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<void>
</div>
<h4 class="name" id="get_available_players"><span class="type-signature">(async) </span>get_available_players<span class="signature">(req, res, next)</span><span class="type-signature"></span></h4>
<div class="description">
Returns the API data containing the players available to draft
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>next</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_DraftBoard.controller.js.html">app/controllers/DraftBoard.controller.js</a>, <a href="app_controllers_DraftBoard.controller.js.html#line23">line 23</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<void>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,181 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: DraftBoardComponent</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: DraftBoardComponent</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>DraftBoardComponent<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Component representing the draft board page.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="DraftBoardComponent"><span class="type-signature"></span>new DraftBoardComponent<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_components_pages_DraftBoard.component.js.html">frontend/src/components/pages/DraftBoard.component.js</a>, <a href="frontend_src_components_pages_DraftBoard.component.js.html#line36">line 36</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Component</li>
</ul>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,401 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: FrontendUnit</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: FrontendUnit</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>FrontendUnit<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">FrontendUnit
----------------------------------------------------------------------------------------
A Flitter application unit which sets up routes for accessing the javascript front-end
pages we created in Project 3.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="FrontendUnit"><span class="type-signature"></span>new FrontendUnit<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_FrontendUnit.js.html">app/FrontendUnit.js</a>, <a href="app_FrontendUnit.js.html#line18">line 18</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Unit</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="directory"><span class="type-signature"></span>directory<span class="type-signature"> :string</span></h4>
<div class="description">
Fully qualified path to the root of the ionic app.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_FrontendUnit.js.html">app/FrontendUnit.js</a>, <a href="app_FrontendUnit.js.html#line25">line 25</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="go"><span class="type-signature">(async) </span>go<span class="signature">(app)</span><span class="type-signature"></span></h4>
<div class="description">
Initializes the unit. Creates the `/app` static endpoing and default settings.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>app</code></td>
<td class="type">
<span class="param-type">FlitterApp</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_FrontendUnit.js.html">app/FrontendUnit.js</a>, <a href="app_FrontendUnit.js.html#line32">line 32</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,437 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: GenerateMatchupsForWeekPatch</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: GenerateMatchupsForWeekPatch</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>GenerateMatchupsForWeekPatch<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Generates the matchups for the current week by scheduling teams
to play, first any team they haven't already played, or a random
team.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="GenerateMatchupsForWeekPatch"><span class="type-signature"></span>new GenerateMatchupsForWeekPatch<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_GenerateMatchupsForWeek.patch.js.html">app/GenerateMatchupsForWeek.patch.js</a>, <a href="app_GenerateMatchupsForWeek.patch.js.html#line15">line 15</a>
</li></ul></dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>P = require('./app/GenerateMatchupsForWeek.patch')
p = _di.make(P)
await p.run()</code></pre>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Injectable</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="get_teams_played_by_team"><span class="type-signature">(async) </span>get_teams_played_by_team<span class="signature">(team)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h4>
<div class="description">
Get a list of all teams played by the given team.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>team</code></td>
<td class="type">
<span class="param-type"><a href="Team.html">Team</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_GenerateMatchupsForWeek.patch.js.html">app/GenerateMatchupsForWeek.patch.js</a>, <a href="app_GenerateMatchupsForWeek.patch.js.html#line123">line 123</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;Array.&lt;string>></span>
</dd>
</dl>
<h4 class="name" id="run"><span class="type-signature">(async) </span>run<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Run the patch.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_GenerateMatchupsForWeek.patch.js.html">app/GenerateMatchupsForWeek.patch.js</a>, <a href="app_GenerateMatchupsForWeek.patch.js.html#line23">line 23</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,294 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: GenerateWeeklyResultsPatch</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: GenerateWeeklyResultsPatch</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>GenerateWeeklyResultsPatch<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">GenerateWeeklyResultsPatch
----------------------------------------------------------------------------
A patch which generates the weekly team results using the player stat data
for teh currently configured play week.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="GenerateWeeklyResultsPatch"><span class="type-signature"></span>new GenerateWeeklyResultsPatch<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_GenerateWeeklyResults.patch.js.html">app/GenerateWeeklyResults.patch.js</a>, <a href="app_GenerateWeeklyResults.patch.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Injectable</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="run"><span class="type-signature">(async) </span>run<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h4>
<div class="description">
Runs the patch
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_GenerateWeeklyResults.patch.js.html">app/GenerateWeeklyResults.patch.js</a>, <a href="app_GenerateWeeklyResults.patch.js.html#line20">line 20</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;void></span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -93,7 +93,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line17">line 17</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line17">line 17</a>
</li></ul></dd>
@ -208,7 +208,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line32">line 32</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line32">line 32</a>
</li></ul></dd>
@ -280,7 +280,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line38">line 38</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line38">line 38</a>
</li></ul></dd>
@ -352,7 +352,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line26">line 26</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line26">line 26</a>
</li></ul></dd>
@ -481,7 +481,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line107">line 107</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line107">line 107</a>
</li></ul></dd>
@ -569,7 +569,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line82">line 82</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line82">line 82</a>
</li></ul></dd>
@ -657,7 +657,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line93">line 93</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line93">line 93</a>
</li></ul></dd>
@ -745,7 +745,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line71">line 71</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line71">line 71</a>
</li></ul></dd>
@ -833,7 +833,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line44">line 44</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line44">line 44</a>
</li></ul></dd>
@ -939,7 +939,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line62">line 62</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line62">line 62</a>
</li></ul></dd>
@ -1027,7 +1027,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_GridActionButton.component.js.html">components/GridActionButton.component.js</a>, <a href="components_GridActionButton.component.js.html#line53">line 53</a>
<a href="frontend_src_components_GridActionButton.component.js.html">frontend/src/components/GridActionButton.component.js</a>, <a href="frontend_src_components_GridActionButton.component.js.html#line53">line 53</a>
</li></ul></dd>
@ -1073,13 +1073,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -93,7 +93,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_Grid.component.js.html">components/Grid.component.js</a>, <a href="components_Grid.component.js.html#line40">line 40</a>
<a href="frontend_src_components_Grid.component.js.html">frontend/src/components/Grid.component.js</a>, <a href="frontend_src_components_Grid.component.js.html#line40">line 40</a>
</li></ul></dd>
@ -307,7 +307,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_Grid.component.js.html">components/Grid.component.js</a>, <a href="components_Grid.component.js.html#line67">line 67</a>
<a href="frontend_src_components_Grid.component.js.html">frontend/src/components/Grid.component.js</a>, <a href="frontend_src_components_Grid.component.js.html#line67">line 67</a>
</li></ul></dd>
@ -395,7 +395,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_Grid.component.js.html">components/Grid.component.js</a>, <a href="components_Grid.component.js.html#line57">line 57</a>
<a href="frontend_src_components_Grid.component.js.html">frontend/src/components/Grid.component.js</a>, <a href="frontend_src_components_Grid.component.js.html#line57">line 57</a>
</li></ul></dd>
@ -459,13 +459,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,525 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Home</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Home</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Home<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Home Controller
-------------------------------------------------------------
Controller for the main homepage of this Flitter app. Methods here
are used as handlers for routes specified in the route files.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Home"><span class="type-signature"></span>new Home<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_Home.controller.js.html">app/controllers/Home.controller.js</a>, <a href="app_controllers_Home.controller.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Controller</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="get_status"><span class="type-signature">(async) </span>get_status<span class="signature">(req, res, next)</span><span class="type-signature"> &rarr; {Promise.&lt;*>}</span></h4>
<div class="description">
Return the current session's status (including team information and
information about the current stage of gameplay).
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>next</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_Home.controller.js.html">app/controllers/Home.controller.js</a>, <a href="app_controllers_Home.controller.js.html#line37">line 37</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;*></span>
</dd>
</dl>
<h4 class="name" id="welcome"><span class="type-signature"></span>welcome<span class="signature">(req, res)</span><span class="type-signature"></span></h4>
<div class="description">
Serve the main welcome page.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_Home.controller.js.html">app/controllers/Home.controller.js</a>, <a href="app_controllers_Home.controller.js.html#line21">line 21</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,410 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: InjectUserTeam</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: InjectUserTeam</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>InjectUserTeam<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">InjectUserTeam Middleware
-------------------------------------------------------------
For the authenticated user, looks up the associated Team instance
and injects it as request.user_team.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="InjectUserTeam"><span class="type-signature"></span>new InjectUserTeam<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_routing_middleware_InjectUserTeam.middleware.js.html">app/routing/middleware/InjectUserTeam.middleware.js</a>, <a href="app_routing_middleware_InjectUserTeam.middleware.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Middleware</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="test"><span class="type-signature">(async) </span>test<span class="signature">(req, res, next, args =<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
Inject the user's team into the request, or redirect to a login page.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>next</code></td>
<td class="type">
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>args =</code></td>
<td class="type">
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_routing_middleware_InjectUserTeam.middleware.js.html">app/routing/middleware/InjectUserTeam.middleware.js</a>, <a href="app_routing_middleware_InjectUserTeam.middleware.js.html#line23">line 23</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -93,7 +93,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_League.component.js.html">components/pages/League.component.js</a>, <a href="components_pages_League.component.js.html#line21">line 21</a>
<a href="frontend_src_components_pages_League.component.js.html">frontend/src/components/pages/League.component.js</a>, <a href="frontend_src_components_pages_League.component.js.html#line24">line 24</a>
</li></ul></dd>
@ -208,7 +208,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_League.component.js.html">components/pages/League.component.js</a>, <a href="components_pages_League.component.js.html#line32">line 32</a>
<a href="frontend_src_components_pages_League.component.js.html">frontend/src/components/pages/League.component.js</a>, <a href="frontend_src_components_pages_League.component.js.html#line35">line 35</a>
</li></ul></dd>
@ -280,7 +280,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_League.component.js.html">components/pages/League.component.js</a>, <a href="components_pages_League.component.js.html#line83">line 83</a>
<a href="frontend_src_components_pages_League.component.js.html">frontend/src/components/pages/League.component.js</a>, <a href="frontend_src_components_pages_League.component.js.html#line93">line 93</a>
</li></ul></dd>
@ -360,7 +360,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_League.component.js.html">components/pages/League.component.js</a>, <a href="components_pages_League.component.js.html#line166">line 166</a>
<a href="frontend_src_components_pages_League.component.js.html">frontend/src/components/pages/League.component.js</a>, <a href="frontend_src_components_pages_League.component.js.html#line99">line 99</a>
</li></ul></dd>
@ -424,13 +424,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

File diff suppressed because it is too large Load Diff

@ -94,7 +94,7 @@ without reloading the page.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_Link.component.js.html">components/Link.component.js</a>, <a href="components_Link.component.js.html#line12">line 12</a>
<a href="frontend_src_components_Link.component.js.html">frontend/src/components/Link.component.js</a>, <a href="frontend_src_components_Link.component.js.html#line12">line 12</a>
</li></ul></dd>
@ -202,7 +202,7 @@ without reloading the page.</div>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_Link.component.js.html">components/Link.component.js</a>, <a href="components_Link.component.js.html#line20">line 20</a>
<a href="frontend_src_components_Link.component.js.html">frontend/src/components/Link.component.js</a>, <a href="frontend_src_components_Link.component.js.html#line20">line 20</a>
</li></ul></dd>
@ -248,13 +248,13 @@ without reloading the page.</div>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,539 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Matchup</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Matchup</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Matchup<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Matchup
---------------------------------------------------------------------------
A model representing a single scheduled match-up between two teams.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Matchup"><span class="type-signature"></span>new Matchup<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Matchup.model.js.html">app/models/Matchup.model.js</a>, <a href="app_models_Matchup.model.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Model</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".schema"><span class="type-signature">(static) </span>schema<span class="type-signature"></span></h4>
<div class="description">
define the schema of the model
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Matchup.model.js.html">app/models/Matchup.model.js</a>, <a href="app_models_Matchup.model.js.html#line17">line 17</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="home_team"><span class="type-signature">(async) </span>home_team<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Matchup.model.js.html">app/models/Matchup.model.js</a>, <a href="app_models_Matchup.model.js.html#line31">line 31</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
the data of the home team
</div>
<h4 class="name" id="to_api"><span class="type-signature">(async) </span>to_api<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Format this matchup to be compatible with the API output.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Matchup.model.js.html">app/models/Matchup.model.js</a>, <a href="app_models_Matchup.model.js.html#line48">line 48</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<object>
</div>
<h4 class="name" id="visitor_team"><span class="type-signature">(async) </span>visitor_team<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Matchup.model.js.html">app/models/Matchup.model.js</a>, <a href="app_models_Matchup.model.js.html#line39">line 39</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
the data of the visitor team
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -93,7 +93,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line41">line 41</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line45">line 45</a>
</li></ul></dd>
@ -154,6 +154,68 @@
<h4 class="name" id="_original_team_name"><span class="type-signature"></span>_original_team_name<span class="type-signature"></span></h4>
<div class="description">
Original team name to compare against.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line53">line 53</a>
</li></ul></dd>
</dl>
<h4 class="name" id="bench_players"><span class="type-signature"></span>bench_players<span class="type-signature"> :Array.&lt;object></span></h4>
@ -208,7 +270,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line101">line 101</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line91">line 91</a>
</li></ul></dd>
@ -280,7 +342,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line107">line 107</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line97">line 97</a>
</li></ul></dd>
@ -352,7 +414,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line63">line 63</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line78">line 78</a>
</li></ul></dd>
@ -424,7 +486,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line168">line 168</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line163">line 163</a>
</li></ul></dd>
@ -496,7 +558,79 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line195">line 195</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line190">line 190</a>
</li></ul></dd>
</dl>
<h4 class="name" id="save_text"><span class="type-signature"></span>save_text<span class="type-signature"> :string</span></h4>
<div class="description">
The text next to the save button.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line65">line 65</a>
</li></ul></dd>
@ -569,7 +703,7 @@ This is used to refresh the entire component at once.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line57">line 57</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line72">line 72</a>
</li></ul></dd>
@ -642,7 +776,7 @@ a position, then only the "postition" key will be set.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line70">line 70</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line85">line 85</a>
</li></ul></dd>
@ -714,7 +848,7 @@ a position, then only the "postition" key will be set.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line50">line 50</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line59">line 59</a>
</li></ul></dd>
@ -794,7 +928,7 @@ a position, then only the "postition" key will be set.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line255">line 255</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line212">line 212</a>
</li></ul></dd>
@ -882,7 +1016,7 @@ a position, then only the "postition" key will be set.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_MyTeam.component.js.html">components/pages/MyTeam.component.js</a>, <a href="components_pages_MyTeam.component.js.html#line244">line 244</a>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line196">line 196</a>
</li></ul></dd>
@ -930,6 +1064,94 @@ a position, then only the "postition" key will be set.
<h4 class="name" id="watch_team_name"><span class="type-signature"></span>watch_team_name<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Fired when the team name changes. Marks the data as needing a save.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_components_pages_MyTeam.component.js.html">frontend/src/components/pages/MyTeam.component.js</a>, <a href="frontend_src_components_pages_MyTeam.component.js.html#line227">line 227</a>
</li></ul></dd>
</dl>
@ -946,13 +1168,13 @@ a position, then only the "postition" key will be set.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,775 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Player</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Player</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Player<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Player Model
-------------------------------------------------------------
A model representing a single player in the game.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Player"><span class="type-signature"></span>new Player<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Player.model.js.html">app/models/Player.model.js</a>, <a href="app_models_Player.model.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Model</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".schema"><span class="type-signature">(static) </span>schema<span class="type-signature"></span></h4>
<div class="description">
Define the flitter-orm schema of the model.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Player.model.js.html">app/models/Player.model.js</a>, <a href="app_models_Player.model.js.html#line22">line 22</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".get_unobligated_players"><span class="type-signature">(async, static) </span>get_unobligated_players<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
returns all of the unobligated players across all teams
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Player.model.js.html">app/models/Player.model.js</a>, <a href="app_models_Player.model.js.html#line87">line 87</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<Array<Player>>
</div>
<h4 class="name" id="is_obligated"><span class="type-signature">(async) </span>is_obligated<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h4>
<div class="description">
Determine whether the player belongs to a team or not.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Player.model.js.html">app/models/Player.model.js</a>, <a href="app_models_Player.model.js.html#line117">line 117</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
- true if the player is obligated
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;boolean></span>
</dd>
</dl>
<h4 class="name" id="points_for_week"><span class="type-signature">(async) </span>points_for_week<span class="signature">(week_num)</span><span class="type-signature"></span></h4>
<div class="description">
Returns the stats for the player for the given week.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>week_num</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Player.model.js.html">app/models/Player.model.js</a>, <a href="app_models_Player.model.js.html#line108">line 108</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<WeeklyPlayerStat>
</div>
<h4 class="name" id="to_api"><span class="type-signature">(async) </span>to_api<span class="signature">(with_stats<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
Cast the player to a format compatible with the API.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>with_stats</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="default">
false
</td>
<td class="description last">if true, look up the player's weekly stats</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Player.model.js.html">app/models/Player.model.js</a>, <a href="app_models_Player.model.js.html#line132">line 132</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<object>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -93,7 +93,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line26">line 26</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line27">line 27</a>
</li></ul></dd>
@ -208,7 +208,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line258">line 258</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line60">line 60</a>
</li></ul></dd>
@ -280,7 +280,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line35">line 35</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line36">line 36</a>
</li></ul></dd>
@ -352,7 +352,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line316">line 316</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line118">line 118</a>
</li></ul></dd>
@ -424,7 +424,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line41">line 41</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line42">line 42</a>
</li></ul></dd>
@ -496,7 +496,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line47">line 47</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line48">line 48</a>
</li></ul></dd>
@ -568,7 +568,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line53">line 53</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line54">line 54</a>
</li></ul></dd>
@ -648,7 +648,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line329">line 329</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line134">line 134</a>
</li></ul></dd>
@ -736,7 +736,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line339">line 339</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line144">line 144</a>
</li></ul></dd>
@ -824,7 +824,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_pages_Scores.component.js.html">components/pages/Scores.component.js</a>, <a href="components_pages_Scores.component.js.html#line322">line 322</a>
<a href="frontend_src_components_pages_Scores.component.js.html">frontend/src/components/pages/Scores.component.js</a>, <a href="frontend_src_components_pages_Scores.component.js.html#line124">line 124</a>
</li></ul></dd>
@ -888,13 +888,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,552 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: ScoresController</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: ScoresController</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>ScoresController<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">ScoresController
----------------------------------------------------------------------
This controller contains logic for handling API requests related to the
weekly scores and matchups endpoints.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="ScoresController"><span class="type-signature"></span>new ScoresController<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_Scores.controller.js.html">app/controllers/Scores.controller.js</a>, <a href="app_controllers_Scores.controller.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Controller</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="get_league_standings"><span class="type-signature">(async) </span>get_league_standings<span class="signature">(req, res, next)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;object>>}</span></h4>
<div class="description">
Returns the league standings with calculated stats
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>next</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_Scores.controller.js.html">app/controllers/Scores.controller.js</a>, <a href="app_controllers_Scores.controller.js.html#line46">line 46</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;Array.&lt;object>></span>
</dd>
</dl>
<h4 class="name" id="get_weekly_scores"><span class="type-signature">(async) </span>get_weekly_scores<span class="signature">(req, res, next)</span><span class="type-signature"></span></h4>
<div class="description">
Returns the weekly scores
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>req</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>res</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>next</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_controllers_Scores.controller.js.html">app/controllers/Scores.controller.js</a>, <a href="app_controllers_Scores.controller.js.html#line23">line 23</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<void>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,302 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: SeedAPIDataPatch</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: SeedAPIDataPatch</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>SeedAPIDataPatch<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">A one-time patch which populates the Player collection with
all the players on all the active teams in the NFL using the
sports data service's APIs.
To run this, do it from "node flitter shell":</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="SeedAPIDataPatch"><span class="type-signature"></span>new SeedAPIDataPatch<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_SeedAPIData.patch.js.html">app/SeedAPIData.patch.js</a>, <a href="app_SeedAPIData.patch.js.html#line17">line 17</a>
</li></ul></dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>Patch = require('./app/SeedAPIData.patch')
patch = _di.make(Patch)
await patch.run()</code></pre>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Injectable</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="run"><span class="type-signature">(async) </span>run<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h4>
<div class="description">
Run the patch.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_SeedAPIData.patch.js.html">app/SeedAPIData.patch.js</a>, <a href="app_SeedAPIData.patch.js.html#line26">line 26</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;void></span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: SeedWeeklyPlayerDataPatch</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: SeedWeeklyPlayerDataPatch</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>SeedWeeklyPlayerDataPatch<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">A data patch which fetches all of the player stats for a range of
weeks and creates WeeklyPlayerStat records for all players for all
weeks.
This builds the base of data we need to calculate the weekly team
standings.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="SeedWeeklyPlayerDataPatch"><span class="type-signature"></span>new SeedWeeklyPlayerDataPatch<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_SeedWeeklyPlayerData.patch.js.html">app/SeedWeeklyPlayerData.patch.js</a>, <a href="app_SeedWeeklyPlayerData.patch.js.html#line18">line 18</a>
</li></ul></dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>P = require('./app/SeedWeeklyPlayerData.patch')
p = _di.make(P)
await p.run()</code></pre>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Injectable</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="run"><span class="type-signature">(async) </span>run<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h4>
<div class="description">
Run the patch.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_SeedWeeklyPlayerData.patch.js.html">app/SeedWeeklyPlayerData.patch.js</a>, <a href="app_SeedWeeklyPlayerData.patch.js.html#line27">line 27</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;void></span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,800 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Team</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Team</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Team<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Team Model
-------------------------------------------------------------
A model representing a single team in the game.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Team"><span class="type-signature"></span>new Team<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line10">line 10</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Model</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".schema"><span class="type-signature">(static) </span>schema<span class="type-signature"></span></h4>
<div class="description">
Define the flitter-orm schema of the model.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line18">line 18</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".getForUser"><span class="type-signature">(async, static) </span>getForUser<span class="signature">(user)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="Team.html">Team</a>>}</span></h4>
<div class="description">
Look up or create a team for the given user.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>user</code></td>
<td class="type">
<span class="param-type"><a href="User.html">User</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line32">line 32</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;<a href="Team.html">Team</a>></span>
</dd>
</dl>
<h4 class="name" id="cumulative_data"><span class="type-signature">(async) </span>cumulative_data<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Get the cumulative data for the team (total wins, losses, points scored & allowed)
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line82">line 82</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
object
</div>
<h4 class="name" id="lineup"><span class="type-signature">(async) </span>lineup<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
returns the lineup
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line60">line 60</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<Lineup>
</div>
<h4 class="name" id="players"><span class="type-signature">(async) </span>players<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Returns the players associated with the team.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line69">line 69</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<Array<Player>>
</div>
<h4 class="name" id="to_api"><span class="type-signature">(async) </span>to_api<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Cast the team to the format expected for the API.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_Team.model.js.html">app/models/Team.model.js</a>, <a href="app_models_Team.model.js.html#line127">line 127</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<object>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -93,7 +93,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_TopLevel.component.js.html">components/TopLevel.component.js</a>, <a href="components_TopLevel.component.js.html#line32">line 32</a>
<a href="frontend_src_components_TopLevel.component.js.html">frontend/src/components/TopLevel.component.js</a>, <a href="frontend_src_components_TopLevel.component.js.html#line29">line 29</a>
</li></ul></dd>
@ -208,7 +208,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_TopLevel.component.js.html">components/TopLevel.component.js</a>, <a href="components_TopLevel.component.js.html#line41">line 41</a>
<a href="frontend_src_components_TopLevel.component.js.html">frontend/src/components/TopLevel.component.js</a>, <a href="frontend_src_components_TopLevel.component.js.html#line38">line 38</a>
</li></ul></dd>
@ -280,7 +280,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_TopLevel.component.js.html">components/TopLevel.component.js</a>, <a href="components_TopLevel.component.js.html#line47">line 47</a>
<a href="frontend_src_components_TopLevel.component.js.html">frontend/src/components/TopLevel.component.js</a>, <a href="frontend_src_components_TopLevel.component.js.html#line44">line 44</a>
</li></ul></dd>
@ -432,7 +432,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_TopLevel.component.js.html">components/TopLevel.component.js</a>, <a href="components_TopLevel.component.js.html#line89">line 89</a>
<a href="frontend_src_components_TopLevel.component.js.html">frontend/src/components/TopLevel.component.js</a>, <a href="frontend_src_components_TopLevel.component.js.html#line95">line 95</a>
</li></ul></dd>
@ -538,7 +538,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_TopLevel.component.js.html">components/TopLevel.component.js</a>, <a href="components_TopLevel.component.js.html#line59">line 59</a>
<a href="frontend_src_components_TopLevel.component.js.html">frontend/src/components/TopLevel.component.js</a>, <a href="frontend_src_components_TopLevel.component.js.html#line58">line 58</a>
</li></ul></dd>
@ -644,7 +644,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="components_TopLevel.component.js.html">components/TopLevel.component.js</a>, <a href="components_TopLevel.component.js.html#line78">line 78</a>
<a href="frontend_src_components_TopLevel.component.js.html">frontend/src/components/TopLevel.component.js</a>, <a href="frontend_src_components_TopLevel.component.js.html#line84">line 84</a>
</li></ul></dd>
@ -708,13 +708,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,295 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: User</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: User</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>User<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Auth user model. This inherits fields and methods from the default
flitter-auth/model/User model, however you can override methods and
properties here as you need.
This file was automatically generated by the Flitter Framework.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="User"><span class="type-signature"></span>new User<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_auth_User.model.js.html">app/models/auth/User.model.js</a>, <a href="app_models_auth_User.model.js.html#line12">line 12</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>AuthUser</li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="team"><span class="type-signature">(async) </span>team<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="Team.html">Team</a>>}</span></h4>
<div class="description">
Get the team associated with this user.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_auth_User.model.js.html">app/models/auth/User.model.js</a>, <a href="app_models_auth_User.model.js.html#line29">line 29</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.&lt;<a href="Team.html">Team</a>></span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,351 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: WeeklyPlayerStat</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: WeeklyPlayerStat</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>WeeklyPlayerStat<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">WeeklyPlayerStat model
-----------------------------------------------------------------------
A record containing the statistics for a single player for a single week.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="WeeklyPlayerStat"><span class="type-signature"></span>new WeeklyPlayerStat<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_WeeklyPlayerStat.model.js.html">app/models/WeeklyPlayerStat.model.js</a>, <a href="app_models_WeeklyPlayerStat.model.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Model</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".schema"><span class="type-signature">(static) </span>schema<span class="type-signature"></span></h4>
<div class="description">
defines the schema of the particular model
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_WeeklyPlayerStat.model.js.html">app/models/WeeklyPlayerStat.model.js</a>, <a href="app_models_WeeklyPlayerStat.model.js.html#line17">line 17</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="to_api"><span class="type-signature">(async) </span>to_api<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Cast the stats to a format expected by the API.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_WeeklyPlayerStat.model.js.html">app/models/WeeklyPlayerStat.model.js</a>, <a href="app_models_WeeklyPlayerStat.model.js.html#line37">line 37</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Promise<object>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,249 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: WeeklyTeamStat</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: WeeklyTeamStat</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>WeeklyTeamStat<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Weekly Team Stat model
---------------------------------------------------------------------------
A record containing the stats for a single team for a single lineup for a single week.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="WeeklyTeamStat"><span class="type-signature"></span>new WeeklyTeamStat<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_WeeklyTeamStat.model.js.html">app/models/WeeklyTeamStat.model.js</a>, <a href="app_models_WeeklyTeamStat.model.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>Model</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".schema"><span class="type-signature">(static) </span>schema<span class="type-signature"></span></h4>
<div class="description">
defines the schema of the particular model
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="app_models_WeeklyTeamStat.model.js.html">app/models/WeeklyTeamStat.model.js</a>, <a href="app_models_WeeklyTeamStat.model.js.html#line17">line 17</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,117 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/FrontendUnit.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/FrontendUnit.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const Unit = require('libflitter/Unit')
const Express = require('express')
const path = require('path')
/**
* FrontendUnit
* ----------------------------------------------------------------------------------------
* A Flitter application unit which sets up routes for accessing the javascript front-end
* pages we created in Project 3.
*
* @extends Unit
*/
class FrontendUnit extends Unit {
static get services() {
return [...super.services, 'configs', 'express', 'canon', 'utility', 'models']
}
constructor(...args) {
super(...args)
/**
* Fully qualified path to the root of the ionic app.
* @type {string}
*/
this.directory = this.utility.path(this.configs.get('server.frontend_path'))
}
/**
* Initializes the unit. Creates the `/app` static endpoing and default settings.
* @param {FlitterApp} app
*/
async go(app) {
app.express.use('/app', [
this.canon.get('middleware::auth:UserOnly'),
(req, res, next) => {
if ( !req.user ) {
return res.redirect('/auth/login')
}
const allowed_extensions = [
'.html', '.js', '.css', '.svg', '.ttf', '.jpg', '.png',
'.jpeg', '.webmanifest', '.json', '.eot', '.svg', '.cur',
'.webp', '.gif', '.otf', '.woff', '.woff2', '.ani', '.map',
'.ico',
]
for ( const k1 in allowed_extensions ) {
if ( req.path.endsWith(allowed_extensions[k1]) ) return next()
}
return res.sendFile(path.resolve(this.directory, 'index.html'))
},
Express.static(this.directory),
])
// Set the default setting values
const Setting = this.models.get('models::setting') // a built-in helper
const default_settings = this.configs.get('settings.default_settings') || []
for ( const default_setting of default_settings ) {
await Setting.guarantee(default_setting.key, default_setting.value)
}
}
}
module.exports = exports = FrontendUnit
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,183 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/GenerateMatchupsForWeek.patch.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/GenerateMatchupsForWeek.patch.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Injectable } = require('flitter-di')
/**
* Generates the matchups for the current week by scheduling teams
* to play, first any team they haven't already played, or a random
* team.
*
* @example
* P = require('./app/GenerateMatchupsForWeek.patch')
* p = _di.make(P)
* await p.run()
*
* @extends Injectable
*/
class GenerateMatchupsForWeekPatch extends Injectable {
static get services() {
return [...super.services, 'models', 'sports_data', 'output']
}
/**
* Run the patch.
*/
async run() {
const Team = this.models.get('Team')
const Matchup = this.models.get('Matchup')
const current_week = await this.sports_data.current_play_week()
// clear any existing data
const old_matchups = await Matchup.find({ week_num: current_week })
if ( old_matchups.length ) {
this.output.info('Purging old data.')
await Promise.all(old_matchups.map(x => x.delete()))
}
const all_teams = await Team.find()
const matchups = []
const scheduled_team_ids = []
const home_team = current_week % 2 === 0
this.output.info(`Generating matchups for week ${current_week} for ${all_teams.length} teams...`)
for ( const team of all_teams ) {
this.output.debug(`Scheduled team IDs: ${scheduled_team_ids.join(', ')}`)
this.output.info(`Scheduling team ${team.id}`)
// If we've already scheduled this team, don't do it twice
if ( scheduled_team_ids.includes(team.id) ) continue
// Otherwise, try to schedule the team to play a team they haven't already matched
const played_team_ids = await this.get_teams_played_by_team(team)
let matchup;
for ( const other_team of all_teams ) {
// Only schedule a matchup if:
// - we haven't played this team
// - we haven't scheduled this team for this week already
// - this isn't the same team
if (
team.id !== other_team.id
&amp;&amp; !played_team_ids.includes(other_team.id)
&amp;&amp; !scheduled_team_ids.includes(other_team.id)
) {
// We haven't played this team yet, so schedule a matchup
matchup = new Matchup({
week_num: current_week
})
// Switch who's home/visitor based on the week number
if ( home_team ) {
matchup.home_team_id = team.id
matchup.visitor_team_id = other_team.id
} else {
matchup.home_team_id = other_team.id
matchup.visitor_team_id = team.id
}
}
}
if ( !matchup ) {
// We've played all teams, so just try to pick a random one.
const other_team = all_teams.filter(x => {
return !scheduled_team_ids.includes(x.id) &amp;&amp; x.id !== team.id
})[Math.floor(Math.random() * all_teams.length)]
// We might not have an available team this week
if ( other_team ) {
matchup = new Matchup({
week_num: current_week
})
if (home_team) {
matchup.home_team_id = team.id
matchup.visitor_team_id = other_team.id
} else {
matchup.home_team_id = other_team.id
matchup.visitor_team_id = team.id
}
}
}
// Uh, oh. We couldn't generate a matchup for this team
if ( !matchup ) {
this.output.warn(` - Team ${team.id} will be BYE`)
continue
}
// We generated a matchup for this team
this.output.success(` - Team ${matchup.visitor_team_id} will play at ${matchup.home_team_id}`)
scheduled_team_ids.push(matchup.home_team_id)
scheduled_team_ids.push(matchup.visitor_team_id)
matchups.push(matchup)
}
await Promise.all(matchups.map(x => x.save()))
this.output.success('Complete.')
}
/**
* Get a list of all teams played by the given team.
* @param {Team} team
* @returns {Promise&lt;Array&lt;string>>}
*/
async get_teams_played_by_team(team) {
const Matchup = this.models.get('Matchup')
const home_games = await Matchup.find({ home_team_id: team.id })
const visitor_games = await Matchup.find({ visitor_team_id: team.id })
return [...home_games.map(x => x.visitor_team_id), ...visitor_games.map(x => x.home_team_id)]
}
}
module.exports = GenerateMatchupsForWeekPatch
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/GenerateWeeklyResults.patch.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/GenerateWeeklyResults.patch.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Injectable } = require('flitter-di')
/**
* GenerateWeeklyResultsPatch
* ----------------------------------------------------------------------------
* A patch which generates the weekly team results using the player stat data
* for teh currently configured play week.
*
* @extends Injectable
*/
class GenerateWeeklyResultsPatch extends Injectable {
static get services() {
return [...super.services, 'models', 'sports_data']
}
/**
* Runs the patch
* @returns {Promise&lt;void>}
*/
async run() {
const Matchup = this.models.get('Matchup')
const current_week = await this.sports_data.current_play_week()
const week_matchups = await Matchup.find({ week_num: current_week })
this.output.info(`Processing ${week_matchups.length} matchups...`)
for ( const matchup of week_matchups ) {
const visitor_team = await matchup.visitor_team()
const home_team = await matchup.home_team()
const visitor_lineup = await visitor_team.lineup()
const home_lineup = await home_team.lineup()
matchup.visitor_team_score = await visitor_lineup.calculate_fantasy_points()
matchup.home_team_score = await home_lineup.calculate_fantasy_points()
matchup.complete = true
this.output.success(`Scored matchup ${matchup.id}`)
this.output.info(` Team ${home_team.id}: ${matchup.home_team_score}`)
this.output.info(` Team ${visitor_team.id}: ${matchup.visitor_team_score}`)
await matchup.save()
}
this.output.info('Finished scoring match-ups.')
}
}
module.exports = exports = GenerateWeeklyResultsPatch
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/SeedAPIData.patch.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/SeedAPIData.patch.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Injectable } = require('flitter-di')
/**
* A one-time patch which populates the Player collection with
* all the players on all the active teams in the NFL using the
* sports data service's APIs.
*
* To run this, do it from "node flitter shell":
*
* @example
* Patch = require('./app/SeedAPIData.patch')
* patch = _di.make(Patch)
* await patch.run()
*
* @extends Injectable
*/
class SeedAPIDataPatch extends Injectable {
static get services() {
return [...super.services, 'models', 'sports_data', 'output']
}
/**
* Run the patch.
* @return {Promise&lt;void>}
*/
async run() {
// Clear any existing data first
const Player = this.models.get('Player')
await Player.deleteMany()
this.output.success('Cleared existing player data!')
// Fetch all active teams
this.output.info('Fetching teams to patch data...')
const teams = await this.sports_data.get_active_teams()
this.output.info(`Fetched ${teams.length} teams.`)
let players = 0
// Fetch the players for each of the teams
for ( let i = 0; i &lt; teams.length; i++ ) {
const team = teams[i]
this.output.info(`Fetching players for team ${i + 1} of ${teams.length} (${team.Key})...`)
const team_players = await this.sports_data.get_team_players(team.Key)
this.output.info(` (patching ${team_players.length} players)`)
// Insert Player documents for each of the player records
for ( const rec of team_players ) {
const player = Player.from_patch_data(rec)
player.patch_data.patch_team_name = team.FullName
player.patch_data.patch_team_key = team.Key
await player.save()
players += 1
}
this.output.success(` (patched player data)`)
}
this.output.success(`Patch complete. Created ${players} players.`)
}
}
module.exports = exports = SeedAPIDataPatch
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,149 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/SeedWeeklyPlayerData.patch.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/SeedWeeklyPlayerData.patch.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Injectable } = require('flitter-di')
/**
* A data patch which fetches all of the player stats for a range of
* weeks and creates WeeklyPlayerStat records for all players for all
* weeks.
*
* This builds the base of data we need to calculate the weekly team
* standings.
*
* @example
* P = require('./app/SeedWeeklyPlayerData.patch')
* p = _di.make(P)
* await p.run()
*
* @extends Injectable
*/
class SeedWeeklyPlayerDataPatch extends Injectable {
static get services() {
return [...super.services, 'models', 'sports_data', 'output']
}
/**
* Run the patch.
* @return {Promise&lt;void>}
*/
async run() {
const Player = this.models.get('Player')
const WeeklyPlayerStat = this.models.get('WeeklyPlayerStat')
const start_week = 1
const end_week = 17
// Clear existing data
await WeeklyPlayerStat.deleteMany()
// Array of players with week 1 stats
const player_ids_with_week_1_stats = []
// Populate the weekly player stats for all weeks in the range
for ( let week = start_week; week &lt;= end_week; week += 1 ) {
this.output.info(`Building weekly player stats for week ${week}...`)
const player_stats = await this.sports_data.get_week_player_stats(week)
this.output.info(` - processing ${player_stats.length} stats`)
for ( const stat of player_stats ) {
const player = await Player.findOne({
'patch_data.player_id': stat.PlayerID,
})
if ( player ) {
const weekly_stat = new WeeklyPlayerStat({
player_id: player.id,
patch_player_id: stat.PlayerID,
week_num: week,
fantasy_points: stat.FantasyPoints,
passing_attempts: stat.PassingAttempts,
passing_completions: stat.PassingCompletions,
passing_yards: stat.PassingYards,
fumbles: stat.Fumbles,
kick_returns: stat.KickReturns,
sacks: stat.Sacks,
})
await weekly_stat.save()
if ( week === 1 ) {
player_ids_with_week_1_stats.push(player.id)
}
if ( week === 1 || !player.seed_stats || Object.values(player.seed_stats).length &lt; 1 ) {
player.seed_stats = await weekly_stat.to_api()
}
} else {
this.output.warn(` - Player ID ${stat.PlayerID} does not exist.`)
}
}
this.output.success(` - complete`)
}
this.output.info('Deactivating players without week 1 stats...')
const inactive_players = await Player.find({
_id: {
$nin: player_ids_with_week_1_stats.map(x => Player.to_object_id(x)),
},
})
this.output.info(`Deactivating ${inactive_players.length} players...`)
for ( const player of inactive_players ) {
player.is_active = false
await player.save()
}
this.output.success('Complete!')
}
}
module.exports = exports = SeedWeeklyPlayerDataPatch
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,122 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/controllers/DraftBoard.controller.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/controllers/DraftBoard.controller.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Controller } = require('libflitter')
/**
* DraftBoard controller
* ------------------------------------------------------------------------
* This controller contains logic for handling API requests related to fetching
* and drafting available players. Its methods should handle Express requests &amp;
* responses.
*
* @extends Controller
*/
class DraftBoard extends Controller {
static get services() {
return [...super.services, 'models']
}
/**
* Returns the API data containing the players available to draft
* @param req
* @param res
* @param next
* @returns Promise&lt;void>
*/
async get_available_players(req, res, next) {
const Player = this.models.get('Player')
const players = await Player.get_unobligated_players()
const api_data = []
for ( const player of players ) {
api_data.push(await player.to_api())
}
return res.api(api_data)
}
/**
* adds the selected player to the team
* @param req
* @param res
* @param next
* @returns Promise&lt;void>
*/
async draft_player_to_team(req, res, next) {
if ( !req.body.player_id ) {
return res.status(400)
.message('Missing required field: player_id')
.api()
}
// look up the player specified in the request
const Player = this.models.get('Player')
const player = await Player.findById(req.body.player_id)
if ( !player ) {
return res.status(400)
.message('A player with that ID cannot be found.')
.api()
}
// Don't allow drafting already-drafted players
if ( await player.is_obligated() ) {
return res.status(400)
.message('This player has already been drafted.')
.api()
}
req.user_team.player_ids.push(player.id)
await req.user_team.save()
return res.api()
}
}
module.exports = exports = DraftBoard
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,98 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/controllers/Home.controller.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/controllers/Home.controller.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Controller } = require('libflitter')
/**
* Home Controller
* -------------------------------------------------------------
* Controller for the main homepage of this Flitter app. Methods here
* are used as handlers for routes specified in the route files.
*
* @extends Controller
*/
class Home extends Controller {
static get services() {
return [...super.services, 'sports_data']
}
/**
* Serve the main welcome page.
* @param req
* @param res
*/
welcome(req, res){
if ( req.user ) {
return res.redirect('/app')
} else {
return res.redirect('/auth/login')
}
}
/**
* Return the current session's status (including team information and
* information about the current stage of gameplay).
* @param req
* @param res
* @param next
* @return {Promise&lt;*>}
*/
async get_status(req, res, next) {
return res.api({
team_id: req.user_team.id,
team_name: req.user_team.team_name,
current_week: await this.sports_data.current_play_week(),
is_draft_stage: await this.sports_data.is_draft_stage(),
})
}
}
module.exports = Home
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,135 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/controllers/Scores.controller.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/controllers/Scores.controller.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Controller } = require('libflitter')
/**
* ScoresController
* ----------------------------------------------------------------------
* This controller contains logic for handling API requests related to the
* weekly scores and matchups endpoints.
*
* @extends Controller
*/
class ScoresController extends Controller {
static get services() {
return [...super.services, 'models', 'sports_data']
}
/**
* Returns the weekly scores
* @param req
* @param res
* @param next
* @returns Promise&lt;void>
*/
async get_weekly_scores(req, res, next) {
const Matchup = this.models.get('Matchup')
const current_week = await this.sports_data.current_play_week()
const weekly_data = []
// Convert all of the matchup instances to API format for each week
for ( let i = 1; i &lt;= current_week; i += 1 ) {
const matchups = await Matchup.find({ week_num: i })
const api_data = await Promise.all(matchups.map(x => x.to_api()))
weekly_data.push(api_data)
}
return res.api(weekly_data)
}
/**
* Returns the league standings with calculated stats
* @param req
* @param res
* @param next
* @return {Promise&lt;Array&lt;object>>}
*/
async get_league_standings(req, res, next) {
const Team = this.models.get('Team')
const all_teams = await Team.find()
const stat_records = []
// Generate the cumulative team data for all teams
for ( const team of all_teams ) {
const rec = await team.cumulative_data()
rec.team_name = team.team_name
stat_records.push(rec)
}
// Sort the teams by number of wins, then number of points scored
stat_records.sort((a, b) => {
if ( a.wins === b.wins ) {
return a.points_scored - b.points_scored
}
return a.wins > b.wins ? 1 : -1
})
// Return the records in a format compatible with the front-end
return res.api(stat_records.map((x, i) => {
return {
standing: {
rank: i + 1,
win_loss: `${x.wins}/${x.losses}`,
},
team_name: x.team_name,
stats: [
{ name: 'Total Points Scored', value: x.points_scored },
{ name: 'Total Points Allowed', value: x.points_allowed },
],
}
}))
}
}
module.exports = exports = ScoresController
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,230 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/controllers/Teams.controller.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/controllers/Teams.controller.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Controller } = require('libflitter')
/**
* Teams Controller
* -------------------------------------------------------------
* This controller contains logic related to viewing and managing
* the user's team, team lineups, and team players.
*
* @extends Controller
*/
class Teams extends Controller {
static get services() {
return [...super.services, 'models']
}
/**
* Save changes to the current user's team and return it as API data.
* @param req
* @param res
* @param next
* @return {Promise&lt;*>}
*/
async save_my_team(req, res, next) {
req.user_team.team_name = String(req.body.team_name).trim()
await req.user_team.save()
return res.api(await req.user_team.to_api())
}
/**
* Return the API data for the current user's team.
* Requires an authenticated user.
* @param req
* @param res
* @param next
* @return {Promise&lt;void>}
*/
async get_my_team(req, res, next) {
return res.api(await req.user_team.to_api())
}
/**
* Return the API data for the players on the current user's team.
* @param req
* @param res
* @param next
* @return {Promise&lt;*>}
*/
async get_my_team_players(req, res, next) {
const players = await req.user_team.players()
return res.api(await Promise.all(players.map(x => x.to_api(true))))
}
/**
* Return the API data for the current lineup for the current user's team.
* @param req
* @param res
* @param next
* @return {Promise&lt;*>}
*/
async get_my_team_current_lineup(req, res, next) {
const lineup = await req.user_team.lineup()
return res.api(await lineup.to_api())
}
/**
* Saves the lineup for the current user's team and returns it as API data.
* @param req
* @param res
* @param next
* @return {Promise&lt;void>}
*/
async save_my_team_lineup(req, res, next) {
if ( !Array.isArray(req.body.starting_players) ) {
return res.status(400)
.message('Missing required field: starting_players')
.api()
}
if ( !Array.isArray(req.body.benched_players) ) {
return res.status(400)
.message('Missing required field: benched_players')
.api()
}
// fetch the team players &amp; the current lineup
const player_ids = (await req.user_team.players()).map(x => x.id)
const lineup = await req.user_team.lineup()
lineup.clear_lineup()
// Add all the starting players to the lineup
for ( const player of req.body.starting_players ) {
if ( !player.id || !player.position ) continue;
const lineup_record = {
player_id: player.id,
position: player.position,
}
// Don't allow adding other teams' players to the lineup
if ( !player_ids.includes(lineup_record.player_id) ) {
return res.status(400)
.message(`Sorry, the player ${lineup_record.player_id} is not on your team.`)
.api()
}
lineup.start_player(lineup_record)
}
// Bench all the other players
for ( const player of req.body.benched_players ) {
if ( !player.id ) continue;
if ( !player_ids.includes(player.id) ) {
return res.status(400)
.message(`Sorry, the player ${player.id} is not on your team.`)
.api()
}
lineup.bench_player(player)
}
// Save the partial lineup
await lineup.save()
// Fetch a fresh version to fill in any missing players
const corrected_lineup = await req.user_team.lineup()
return res.api(await corrected_lineup.to_api())
}
/**
* Return the API data for a list of all teams.
* @param req
* @param res
* @return {Promise&lt;*>}
*/
async list_all_teams(req, res) {
const TeamModel = this.models.get('Team')
const teams = await TeamModel.find()
return res.api(teams)
}
/**
* API endpoint for creating a new team.
* @todo remove this - happens automatically per-user
* @param req
* @param res
* @return {Promise&lt;*>}
*/
async create_team(req, res) {
const TeamModel = this.models.get('Team')
if ( !req.body.team_name || !req.body.team_num ) {
return res.status(400)
.message('Missing team_name or team_num')
.api()
}
const duplicate_team = await TeamModel.findOne({
team_num: req.body.team_num,
})
if ( duplicate_team ) {
return res.status(400)
.message('That team number is already in use!')
.api()
}
const team = new TeamModel({
team_name: req.body.team_name,
team_num: req.body.team_num,
})
await team.save()
return res.api(team)
}
}
module.exports = Teams
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,288 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/Lineup.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/Lineup.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Model } = require('flitter-orm')
/**
* Model representing a starting lineup/bench configuration for a
* given team. These will have copies frozen for each week that progresses.
* @extends Model
*/
class Lineup extends Model {
static get services() {
return [...super.services, 'models']
}
static get schema() {
return {
// Associated team ID
team_id: String,
// Array of player IDs on the team on the bench
benched_player_ids: [String],
// Array of player IDs on the team and their starting positions
starting_players: [{
player_id: String,
position: String,
}],
// If true, this is the current "draft" of the lineup
active: { type: Boolean, default: true },
// If not active, then it was archived for the week with this number
week_num: Number,
}
}
/**
* Calculate the fantasy points scored by the starting players on this lineup.
* @return {Promise&lt;number>}
*/
async calculate_fantasy_points() {
const starting_players = await this.players_in_starting()
let points = 0
for ( const player of starting_players ) {
points += (await player.points_for_week(this.week_num))?.fantasy_points || 0
}
return points
}
/**
* Given a team, fetch the latest draft lineup for that team.
* This will also update the lineup record so that it includes all players
* currently on the team (benching any players not already in the lineup).
*
* If no lineup exists, one will be created.
*
* @param {Team} team
* @return {Promise&lt;Lineup>}
*/
static async get_and_update_for_team(team) {
let lineup = await this.findOne({ team_id: team.id })
if ( !lineup ) {
lineup = new this({
team_id: team.id,
benched_player_ids: [],
starting_players: [],
active: true,
})
} else if ( !lineup.active ) {
lineup = new this({
team_id: team.id,
benched_player_ids: lineup.benched_player_ids,
starting_players: lineup.starting_players,
active: true,
})
}
// Make sure all players on the team are either on the bench or in the lineup
const players = await team.players()
for ( const player of players ) {
if ( !lineup.has_player(player) ) {
lineup.bench_player(player)
}
}
await lineup.save()
return lineup
}
/**
* Returns an array of Players that are on the bench for this lineup.
* @return {Promise&lt;Array&lt;Model>>}
*/
async players_on_bench() {
const Player = this.models.get('Player')
return Player.find({
_id: {
$in: this.benched_player_ids.map(x => Player.to_object_id(x)),
},
})
}
/**
* Returns an array of Players that are on the starting lineup.
* @return {Promise&lt;Array&lt;Model>>}
*/
async players_in_starting() {
const Player = this.models.get('Player')
return Player.find({
_id: {
$in: this.starting_players.map(x => Player.to_object_id(x.player_id)),
},
})
}
/**
* Returns true if the given player is on the bench in this lineup.
* @param {Player} player
* @return {boolean}
*/
has_bench_player(player) {
return this.benched_player_ids.includes(player.id)
}
/**
* Returns true if the given player is on the starting lineup in this lineup.
* @param {Player} player
* @return {boolean}
*/
has_starting_player(player) {
return !!this.starting_players.find(x => x.player_id === player.id)
}
/**
* Returns true if the given player is in this lineup anywhere.
* @param {Player} player
* @return {boolean}
*/
has_player(player) {
return this.has_bench_player(player) || this.has_starting_player(player)
}
/**
* Removes the player from the starting lineup if they are there and
* adds them to the bench if they aren't already there.
* @param {Player} player
*/
bench_player(player) {
this.starting_players = this.starting_players.filter(x => x.player_id !== player.id)
if ( !this.benched_player_ids.includes(player.id) ) {
this.benched_player_ids.push(player.id)
}
}
/**
* Given the player_id/position record, add it to the starting lineup.
* @param {object} player_position_record
*/
start_player(player_position_record) {
this.benched_player_ids = this.benched_player_ids.filter(x => x !== player_position_record.player_id)
this.starting_players = this.starting_players.filter(x => x.player_id !== player_position_record.player_id)
this.starting_players.push(player_position_record)
}
/**
* Remove all players from the bench and the starting lineup.
*/
clear_lineup() {
this.starting_players = []
this.benched_player_ids = []
}
/**
* Cast the lineup to an object which can be returned via the API.
* @return {Promise&lt;object>}
*/
async to_api() {
// positions to guarantee are in the line-up
let lineup_positions = ['QB', 'RB', 'RB', 'WR', 'WR', 'TE', 'FLX', 'DST']
const data = {
team_id: this.team_id,
active: this.active,
week_num: this.week_num,
}
// build the starting players data
const starting_players = await this.players_in_starting()
const build_starting_players = []
for ( const player of this.starting_players ) {
// Find the player instance and cast it to an API object
const player_inst = starting_players.find(x => x.id === player.player_id)
build_starting_players.push({
...(await player_inst.to_api(true)),
position: player.position
})
// remove the position from the array of positions to back-fill
let found_one = false
lineup_positions = lineup_positions.filter(x => {
if ( !found_one &amp;&amp; x === player.position ) {
found_one = true
return false
}
return true
})
}
// Fill in any missing positions into the data
for ( const position of lineup_positions ) {
build_starting_players.push ({ position })
}
// build the benched players data
const bench_players = await this.players_on_bench()
const build_benched_players = []
for ( const player of bench_players ) {
// Cast the starting player to an API object
const obj = await player.to_api(true)
obj.position = 'B'
build_benched_players.push(obj)
}
// If there are no players on the bench, add a placeholder slot.
if ( build_benched_players.length &lt; 1 ) {
build_benched_players.push({ position: 'B' })
}
data.starting_players = build_starting_players
data.benched_players = build_benched_players
return data
}
}
module.exports = exports = Lineup
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/Matchup.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/Matchup.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Model } = require('flitter-orm')
/**
* Matchup
* ---------------------------------------------------------------------------
* A model representing a single scheduled match-up between two teams.
*
* @extends Model
*/
class Matchup extends Model {
static get services() {
return [...super.services, 'models']
}
/**
* define the schema of the model
*/
static get schema() {
return {
home_team_id: String,
visitor_team_id: String,
week_num: Number,
complete: { type: Boolean, default: false },
home_team_score: Number,
visitor_team_score: Number,
}
}
/**
* @returns the data of the home team
*/
async home_team() {
const Team = this.models.get('Team')
return Team.findById(this.home_team_id)
}
/**
* @returns the data of the visitor team
*/
async visitor_team() {
const Team = this.models.get('Team')
return Team.findById(this.visitor_team_id)
}
/**
* Format this matchup to be compatible with the API output.
* @returns Promise&lt;object>
*/
async to_api() {
const home_team = await this.home_team()
const visitor_team = await this.visitor_team()
const data = {
date: '2020-11-11', // TODO generate this in the matches patch
team_1: home_team.team_name,
team_1_projection: await (await home_team.lineup())?.calculate_fantasy_points() + Math.round(Math.random() * (2 - (-2)) + (-2)),
team_2: visitor_team.team_name,
team_2_projection: await (await visitor_team.lineup())?.calculate_fantasy_points() + Math.round(Math.random() * (2 - (-2)) + (-2)),
}
if ( data.team_1_projection &lt; 0 ) data.team_1_projection = 0
if ( data.team_2_projection &lt; 0 ) data.team_2_projection = 0
if ( this.complete ) {
const winner = this.home_team_score > this.visitor_team_score ? home_team : visitor_team
data.winner = winner.team_name
data.winner_score = Math.max(this.home_team_score, this.visitor_team_score)
data.loser_score = Math.min(this.home_team_score, this.visitor_team_score)
}
return data
}
}
module.exports = exports = Matchup
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,199 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/Player.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/Player.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Model } = require('flitter-orm')
const ActiveScope = require('./scopes/Active.scope')
/**
* Player Model
* -------------------------------------------------------------
* A model representing a single player in the game.
*
* @extends Model
*/
class Player extends Model {
static get services() {
return [...super.services, 'output', 'models', 'sports_data']
}
// Enable soft-deletes using the active scope
static scopes = [new ActiveScope()]
/**
* Define the flitter-orm schema of the model.
*/
static get schema() {
return {
// Data used by the patches internally, but not exposed to the API
patch_data: {
patch_team_id: Number,
patch_team_name: String,
patch_team_key: String,
player_id: Number,
draft_position: Number,
},
player_number: Number,
first_name: String,
last_name: String,
full_name: String,
position: String,
fantasy_position: String,
height: String,
weight: Number,
birthday: String,
experience: String,
experience_string: String,
age: Number,
photo_url: String,
// Statistics pre-generated for the player to optimize performance
seed_stats: Object,
// False if the player doesn't have any week-1 stats.
// If so, they will be hidden to make the game more playable.
is_active: { type: Boolean, default: true },
}
}
static from_patch_data(data) {
const model_data = {
patch_data: {
patch_team_id: data.TeamID,
// patch_team_name,
// patch_team_key,
player_id: data.PlayerID,
draft_position: data.AverageDraftPosition,
},
player_number: data.Number,
first_name: data.FirstName,
last_name: data.LastName,
full_name: data.Name,
position: data.Position,
fantasy_position: data.FantasyPosition,
height: data.Height,
weight: data.Weight,
birthday: data.BirthDateString,
experience: data.Experience,
experience_string: data.ExperienceString,
age: data.Age,
photo_url: data.PhotoUrl
}
return new this(model_data)
}
/**
* returns all of the unobligated players across all teams
* @return Promise&lt;Array&lt;Player>>
*/
static async get_unobligated_players() {
const Team = this.prototype.models.get('Team')
let obligated_player_ids = []
const teams = await Team.find()
for ( const team of teams ) {
obligated_player_ids = obligated_player_ids.concat(team.player_ids)
}
return this.find({
_id: {
$nin: obligated_player_ids.map(x => this.to_object_id(x))
}
})
}
/**
* Returns the stats for the player for the given week.
* @param {number} week_num
* @returns Promise&lt;WeeklyPlayerStat>
*/
async points_for_week(week_num) {
const WeeklyPlayerStat = this.models.get('WeeklyPlayerStat')
return WeeklyPlayerStat.findOne({ week_num, player_id: this.id })
}
/**
* Determine whether the player belongs to a team or not.
* @returns {Promise&lt;boolean>} - true if the player is obligated
*/
async is_obligated() {
const Team = this.models.get('Team')
const teams = await Team.find()
for ( const team of teams ) {
if ( team.player_ids.includes(this.id) ) return true
}
return false
}
/**
* Cast the player to a format compatible with the API.
* @param {boolean} [with_stats = false] - if true, look up the player's weekly stats
* @returns Promise&lt;object>
*/
async to_api(with_stats = false) {
const current_week = await this.sports_data.current_play_week()
const stat = with_stats ? await this.points_for_week(current_week) : undefined
return {
id: this.id,
number: this.player_number,
name: this.full_name,
position: this.fantasy_position,
team_name: this.patch_data.patch_team_name,
image: this.photo_url,
stats: (await stat?.to_api()) || this.seed_stats || {},
}
}
}
module.exports = exports = Player
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,194 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/Team.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/Team.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Model } = require('flitter-orm')
/**
* Team Model
* -------------------------------------------------------------
* A model representing a single team in the game.
*
* @extends Model
*/
class Team extends Model {
static get services() {
return [...super.services, 'output', 'models']
}
/**
* Define the flitter-orm schema of the model.
*/
static get schema() {
return {
user_id: String,
team_name: String,
team_num: Number,
player_ids: [String],
}
}
/**
* Look up or create a team for the given user.
* @param {User} user
* @return {Promise&lt;Team>}
*/
static async getForUser(user) {
// try to find an existing team first
const existing_team = await this.findOne({ user_id: user.id })
if ( existing_team ) return existing_team
// otherwise create a team for the user
const new_team = new this({
user_id: user.id,
team_name: `${user.uid}'s team`,
player_ids: [],
})
// Generate the next team number
const highest_num_team = await this.sort('-team_num').findOne()
if ( highest_num_team ) {
new_team.team_num = highest_num_team.team_num + 1
} else {
new_team.team_num = 1
}
await new_team.save()
return new_team
}
/**
* returns the lineup
* @return Promise&lt;Lineup>
*/
async lineup() {
const Lineup = this.models.get('Lineup')
return Lineup.get_and_update_for_team(this)
}
/**
* Returns the players associated with the team.
* @return Promise&lt;Array&lt;Player>>
*/
async players() {
const Player = this.models.get('Player')
return Player.find({
_id: {
$in: this.player_ids.map(x => Player.to_object_id(x))
}
})
}
/**
* Get the cumulative data for the team (total wins, losses, points scored &amp; allowed)
* @return object
*/
async cumulative_data() {
const Matchup = this.models.get('Matchup')
const home_matchups = await Matchup.find({ home_team_id: this.id })
const visitor_matchups = await Matchup.find({ visitor_team_id: this.id })
const data = {
wins: 0,
losses: 0,
points_scored: 0,
points_allowed: 0,
}
for ( const matchup of home_matchups ) {
if ( !matchup.complete ) continue
data.points_scored += matchup.home_team_score
data.points_allowed += matchup.visitor_team_score
if ( matchup.home_team_score > matchup.visitor_team_score ) {
data.wins += 1
} else {
data.losses += 0
}
}
for ( const matchup of visitor_matchups ) {
if ( !matchup.complete ) continue
data.points_scored += matchup.visitor_team_score
data.points_allowed += matchup.home_team_score
if ( matchup.visitor_team_score > matchup.home_team_score ) {
data.wins += 1
} else {
data.losses += 0
}
}
return data
}
/**
* Cast the team to the format expected for the API.
* @return Promise&lt;object>
*/
async to_api() {
let user
try {
const User = this.models.get('auth:User')
user = await User.findById(this.user_id)
} catch(e) {}
return {
user_id: this.user_id,
user_display: user?.uid || 'Unknown User',
team_name: this.team_name,
team_num: this.team_num,
}
}
}
module.exports = exports = Team
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/WeeklyPlayerStat.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/WeeklyPlayerStat.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Model } = require('flitter-orm')
/**
* WeeklyPlayerStat model
* -----------------------------------------------------------------------
* A record containing the statistics for a single player for a single week.
*
* @extends Model
*/
class WeeklyPlayerStat extends Model {
static get services() {
return [...super.services, 'models']
}
/**
* defines the schema of the particular model
*/
static get schema() {
return {
player_id: String,
week_num: Number,
patch_player_id: String,
fantasy_points: Number,
passing_attempts: Number,
passing_completions: Number,
passing_yards: Number,
fumbles: Number,
kick_returns: Number,
sacks: Number,
}
}
/**
* Cast the stats to a format expected by the API.
* @return Promise&lt;object>
*/
async to_api() {
return {
'Passing Attempts': this.passing_attempts,
'Passing Completions': this.passing_completions,
'Passing Yards': this.passing_yards,
'Fumbles': this.fumbles,
'Kick Returns': this.kick_returns,
'Sacks': this.sacks,
}
}
}
module.exports = exports = WeeklyPlayerStat
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/WeeklyTeamStat.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/WeeklyTeamStat.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Model } = require('flitter-orm')
/**
* Weekly Team Stat model
* ---------------------------------------------------------------------------
* A record containing the stats for a single team for a single lineup for a single week.
*
* @extends Model
*/
class WeeklyTeamStat extends Model {
static get services() {
return [...super.services, 'models']
}
/**
* defines the schema of the particular model
*/
static get schema() {
return {
team_id: String,
lineup_id: String,
week_num: Number,
player_ids: [String],
fantasy_points: Number,
}
}
}
module.exports = exports = WeeklyTeamStat
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/auth/User.model.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/auth/User.model.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const AuthUser = require('flitter-auth/model/User')
/**
* Auth user model. This inherits fields and methods from the default
* flitter-auth/model/User model, however you can override methods and
* properties here as you need.
*
* This file was automatically generated by the Flitter Framework.
*
* @extends AuthUser
*/
class User extends AuthUser {
static get services() {
return [...super.services, 'models']
}
static get schema() {
return {...super.schema, ...{
// other schema fields here
}}
}
// Other members and methods here
/**
* Get the team associated with this user.
* @return {Promise&lt;Team>}
*/
async team() {
const Team = this.models.get('Team')
return Team.getForUser(this)
}
}
module.exports = exports = User
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/models/scopes/Active.scope.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/models/scopes/Active.scope.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const Scope = require('flitter-orm/src/model/Scope')
/**
* This is a model scope which excludes any models without is_active = true.
* In effect, this provides a mechanism for soft-deletes.
*
* @extends Scope
*/
class ActiveScope extends Scope {
/**
* Apply this scope's conditions to a model filter.
* @param to_filter
* @return {Promise&lt;*>}
*/
async filter(to_filter) {
return to_filter.equal('is_active', true)
}
}
module.exports = exports = ActiveScope
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,84 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/routing/middleware/InjectUserTeam.middleware.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/routing/middleware/InjectUserTeam.middleware.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Middleware } = require('libflitter')
/**
* InjectUserTeam Middleware
* -------------------------------------------------------------
* For the authenticated user, looks up the associated Team instance
* and injects it as request.user_team.
*
* @extends Middleware
*/
class InjectUserTeam extends Middleware {
static get services() {
return [...super.services, 'models']
}
/**
* Inject the user's team into the request, or redirect to a login page.
* @param req
* @param res
* @param next
* @param [args = {}]
*/
async test(req, res, next, args = {}){
if ( !req.user ) return res.redirect('/auth/login')
const Team = this.models.get('Team')
req.user_team = await Team.getForUser(req.user)
return next()
}
}
module.exports = InjectUserTeam
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,131 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: app/services/sports_data.service.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: app/services/sports_data.service.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const { Service } = require('flitter-di')
const axios = require('axios').default;
/**
* A service class for interacting with data from the SportsDataIO API.
* @extends Service
*/
class SportsDataService extends Service {
static get services() {
return [...super.services, 'configs', 'models', 'utility']
}
/**
* Resolves true if the game is currently in the draft stage.
* @return {Promise&lt;boolean>}
*/
async is_draft_stage() {
const Setting = this.models.get('models::setting')
return this.utility.infer(await Setting.get('in_draft_stage'))
}
/**
* Resolves to the current week number of gameplay.
* @return {Promise&lt;number>}
*/
async current_play_week() {
const Setting = this.models.get('models::setting')
return this.utility.infer(await Setting.get('current_week'))
}
/**
* Fetches a list of all players on the given team from the sports data API.
* @param {string} team_key
* @return {Promise&lt;Array&lt;any>>}
*/
async get_team_players(team_key) {
return this.get_request(`Players/${team_key}`)
}
/**
* Fetches a list of all active teams from the sports data API.
* @return {Promise&lt;Array&lt;any>>}
*/
async get_active_teams() {
return this.get_request('Teams')
}
/**
* Make a get request to the sports data API.
* @param {string} path
* @param {string} [base = 'scores'] - the API domain (scores, projections, &amp;c.)
* @return {Promise&lt;any>}
*/
async get_request(path, base = 'scores') {
const response = await axios.get(this.url(path, base))
return response.data
}
/**
* Fetches a list of player stats for all players in the league for the given week.
* @param {number} week_num
* @return {Promise&lt;Array&lt;any>>}
*/
async get_week_player_stats(week_num) {
return this.get_request(`PlayerGameProjectionStatsByWeek/${this.configs.get('server.sports_data.season')}/${week_num}`, 'projections')
}
/**
* Resolve an endpoint and an API domain to a fully-qualified URL to the sports data API.
* @param {string} path
* @param {string} [base = 'scores'] - the API domain (scores, projections, &amp;c.)
* @return {string}
*/
url(path, base = 'scores') {
if ( path.startsWith('/') ) path = path.slice(1)
return `https://api.sportsdata.io/v3/nfl/${base}/json/${path}?key=${this.configs.get('server.sports_data.api_key')}`
}
}
module.exports = exports = SportsDataService
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: components/Grid.component.js</title>
<title>JSDoc: Source: frontend/src/components/Grid.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
@ -17,7 +17,7 @@
<div id="main">
<h1 class="page-title">Source: components/Grid.component.js</h1>
<h1 class="page-title">Source: frontend/src/components/Grid.component.js</h1>
@ -108,13 +108,13 @@ export default GridComponent
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: components/GridActionButton.component.js</title>
<title>JSDoc: Source: frontend/src/components/GridActionButton.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
@ -17,7 +17,7 @@
<div id="main">
<h1 class="page-title">Source: components/GridActionButton.component.js</h1>
<h1 class="page-title">Source: frontend/src/components/GridActionButton.component.js</h1>
@ -151,13 +151,13 @@ export default GridActionButtonComponent
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/components/Link.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/components/Link.component.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>import {Component} from '../../lib/vues6.js'
import {router} from '../module/routing.js'
const template = `
&lt;a href="#" @click="on_click()">{{ text }}&lt;/a>
`
/**
* Component providing hyper-links that navigate to other pages in the SPA,
* without reloading the page.
*/
class LinkComponent extends Component {
static get selector() { return 'app-link' }
static get template() { return template }
static get props() { return ['href', 'args', 'text'] }
/**
* Called when the link is clicked. Navigates the router.
*/
on_click() {
router.navigate(this.href, this.args)
}
}
export default LinkComponent
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: components/TopLevel.component.js</title>
<title>JSDoc: Source: frontend/src/components/TopLevel.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
@ -17,7 +17,7 @@
<div id="main">
<h1 class="page-title">Source: components/TopLevel.component.js</h1>
<h1 class="page-title">Source: frontend/src/components/TopLevel.component.js</h1>
@ -28,6 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>import {Component} from '../../lib/vues6.js'
import {router} from '../module/routing.js'
import {api} from '../module/api.js'
const template = `
&lt;div class="top-level-container">
@ -37,10 +38,6 @@ const template = `
&lt;li class="navbar-item" v-for="item of navbar_items" :class="{ active: current_route === item.page }">
&lt;app-link :href="item.page" :text="item.title">&lt;/app-link>
&lt;/li>
&lt;li class="navbar-item">
&lt;a href="#" @click="on_refresh($event)">Refresh&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/div>
&lt;div class="page-container">
@ -80,22 +77,31 @@ class TopLevelComponent extends Component {
{ title: 'Draft Board', page: 'draft-board' },
]
status = {}
/**
* Called when the component is initialized.
* @return {Promise&lt;void>}
*/
async vue_on_create() {
// Listen for navigation changes.
this.router_subscription = router.subscribe((path, args) => this.on_route_change(path, args))
this.status = await api.get_status()
if ( !this.current_route ) {
router.navigate('my-team')
if ( this.status.is_draft_stage ) {
this.navbar_items = this.navbar_items.filter(x => !['my-team/add-players', 'scores', 'league'].includes(x.page))
} else {
this.navbar_items = this.navbar_items.filter(x => !['draft-board'].includes(x.page))
}
// Listen for navigation changes.
this.router_subscription = router.subscribe((path, args) => this.on_route_change(path, args))
this.current_route = router.current_route
const url_params = new URLSearchParams(window.location.search)
if ( url_params.has('then') ) {
const route = url_params.get('then')
router.navigate(route)
} else if ( !this.current_route ) {
router.navigate('my-team')
}
}
@ -137,13 +143,13 @@ export default TopLevelComponent
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,235 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/components/pages/AddPlayers.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/components/pages/AddPlayers.component.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>import { Component } from '../../../lib/vues6.js'
import { fake_players } from '../../module/fake_data.js'
import { clone } from '../../module/util.js'
import { api } from '../../module/api.js'
const template = `
&lt;div class="page-add-players">
&lt;div class="header">
&lt;div class="left">
&lt;h2>Add Players to Team&lt;/h2>
&lt;/div>
&lt;div class="right">
&lt;button :class="{ 'disable-click': my_team_only }" @click="to_my_team_only()">My Team&lt;/button>&lt;button :class="{ 'disable-click': !my_team_only }" @click="to_all_players()">All Players&lt;/button>
&lt;/div>
&lt;div class="right">
&lt;input type="text" placeholder="Quick filter..." v-model="quick_filter" @keyup="on_filter_change()">
&lt;/div>
&lt;/div>
&lt;div class="item-grid">
&lt;div class="item" v-for="player of filtered_players" @mouseover="on_photo_hover(player)"
@mouseleave="on_photo_leave(player)">
&lt;div style="display: flex; flex-direction: column; height: 100%;">
&lt;div class="item-icon" v-if="!player.showing_stats">
&lt;img :src="player.image" :alt="player.name">
&lt;/div>
&lt;div class="item-contents" v-if="!player.showing_stats">
&lt;h1>{{ player.name }}&lt;/h1>
&lt;p>#{{ player.number }} ({{ player.position }})&lt;/p>
&lt;/div>
&lt;div class="item-contents" style="flex: 1;" v-else>
&lt;div>
&lt;p v-if="player.team_name">&lt;b>Team: &lt;/b> {{ player.team_name }}&lt;/p>
&lt;p>&lt;b>Position: &lt;/b> {{ player.position }}&lt;/p>
&lt;p v-for="(value, stat) in player.stats">&lt;b>{{ stat }}: &lt;/b> {{ value }}&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="item-button">
&lt;button
v-if="my_team.length &lt; 15 &amp;&amp; !my_team.includes(player)"
@click="add_to_team(player)"
class="add"
>Add to Team&lt;/button>
&lt;button
v-if="my_team.includes(player)"
@click="remove_from_team(player)"
class="remove"
>Remove from Team&lt;/button>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
`
/**
* A component which represents the "Add Players" page. Allows users to add/remove
* players from their team.
* @extends Component
*/
class AddPlayersComponent extends Component {
static get selector() { return 'page-add-players' }
static get props() { return [] }
static get template() { return template }
/**
* The current value of the quick filter for players. If empty string, no filter is applied.
* @type {string}
*/
quick_filter = ''
/**
* If true, then only the players on the user's team will be shown.
* @type {boolean}
*/
my_team_only = false
/**
* Array of players currently on the user's team.
* @type {object[]}
*/
my_team = []
/**
* Array of currently displayed players, after the filter has been applied.
* @type {object[]}
*/
filtered_players = []
/**
* Array of currently displayed players, before the filter has been applied.
* @type {object[]}
*/
possible_players = []
/**
* All available players, whether they are on the user's team or not.
* @type {object[]}
*/
all_players = clone(fake_players)
/**
* Called when the page is instantiated.
* @return {Promise&lt;void>}
*/
async vue_on_create() {
const available_players = await api.get_available_draft_players()
const team_players = await api.get_my_team_players()
this.all_players = this.possible_players = [...team_players, ...available_players].map(x => {
x.showing_stats = false;
return x;
});
this.my_team = [...team_players];
this.filtered_players = [...this.possible_players];
}
/**
* Called when the quick-filter changes. Applies the filter to the displayed players.
*/
on_filter_change() {
const query = this.quick_filter.toLowerCase()
this.filtered_players = this.possible_players.filter(x => {
if (!query) return true;
return x.name.toLowerCase().includes(query) || x.position.toLowerCase().includes(query)
})
}
/**
* When called, change the display to show only the user's team.
*/
to_my_team_only() {
this.my_team_only = true;
this.possible_players = [...this.my_team]
this.on_filter_change()
}
/**
* When called, change the display to show all available players.
*/
to_all_players() {
this.my_team_only = false;
this.possible_players = [...this.all_players]
this.on_filter_change()
}
/**
* Add the given player to the user's team, if not already there.
* @param {object} player
*/
add_to_team(player) {
if (!this.my_team.includes(player)) {
this.my_team.push(player)
}
}
/**
* Remove the given player from the user's team, if there.
* @param {object} player
*/
remove_from_team(player) {
this.my_team = this.my_team.filter(x => x !== player)
player.showing_stats = false
if (this.my_team_only) this.to_my_team_only()
}
/**
* Called when the user hovers over a player. Toggles the stats to be shown.
* @param {object} player
*/
on_photo_hover(player) {
player.showing_stats = true
}
/**
* Called when the user un-hovers over a player. Toggles the stats to hide.
* @param {object} player
*/
on_photo_leave(player) {
player.showing_stats = false
}
}
export default AddPlayersComponent
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,181 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/components/pages/DraftBoard.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/components/pages/DraftBoard.component.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>import {Component} from '../../../lib/vues6.js'
import {fake_players} from '../../module/fake_data.js'
import {GridCellRenderType} from '../Grid.component.js'
import {api} from '../../module/api.js'
import {clone} from '../../module/util.js'
const template = `
&lt;div class="page-draft-board">
&lt;div class="header">
&lt;div class="left">
&lt;h2>Draft Board&lt;/h2>
&lt;/div>
&lt;/div>
&lt;div class="body" style="display: flex; flex-direction: row">
&lt;div class="picks" style="margin-right: 20px;">
&lt;app-grid
:column_defs="top_picks_column_defs"
:data="top_picks"
:show_row_numbers="true"
>&lt;/app-grid>
&lt;/div>
&lt;app-grid
style="flex: 1"
:column_defs="column_defs"
:data="data"
:show_row_numbers="false"
>&lt;/app-grid>
&lt;/div>
&lt;/div>
`
/**
* Component representing the draft board page.
* @extends Component
*/
class DraftBoardComponent extends Component {
static get selector() { return 'page-draft-board' }
static get template() { return template }
static get props() { return [] }
top_picks_column_defs = [
{
header: 'Player',
key: 'name',
type: GridCellRenderType.HTML,
renderer: (_, data) => `
&lt;div class="center">
&lt;img src="${data.image}" alt="${data.name}" height="50" style="border-radius: 50%">
&lt;span>${data.name} (#${data.number})&lt;/span>
&lt;/div>
`,
}
]
top_picks = []
column_defs = [
{
header: 'Name',
key: 'name',
type: GridCellRenderType.HTML,
renderer: (_, data) => `
&lt;div class="center">
&lt;img src="${data.image}" alt="${data.name}" height="50" style="border-radius: 50%">
&lt;span>${data.name} (#${data.number})&lt;/span>
&lt;/div>
`,
},
{
header: 'Team',
key: 'team_name',
},
{
header: 'Position',
key: 'position',
},
{
header: 'Points',
key: 'points',
},
{
header: 'Stats',
key: 'stats',
type: GridCellRenderType.HTML,
renderer: (value, row) => {
const stats = []
for ( const stat in value ) {
if ( !value.hasOwnProperty(stat) ) continue; // Prototypical member
stats.push(`
&lt;div class="stat">
&lt;div class="title">${stat}&lt;/div>
&lt;div>${value[stat]}&lt;/div>
&lt;/div>
`)
}
return `
&lt;div class="stats">
${stats.join('\n')}
&lt;/div>
`
},
},
{
header: '',
key: 'stats',
type: GridCellRenderType.Component,
component: Vue.component('app-action-button'),
button_color: (row, col) => '#CC5746',
button_text: (row, col) => 'Draft',
button_hidden: (row, col) => this.top_picks.includes(row),
on_click: (row, col) => {
this.top_picks.push(row);
api.draft_player(row.id).then(() => {
});
},
},
]
data = []
async vue_on_create() {
this.top_picks = await api.get_my_team_players()
this.data = await api.get_available_draft_players()
}
}
export default DraftBoardComponent
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,155 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/components/pages/League.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/components/pages/League.component.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>import {Component} from '../../../lib/vues6.js'
import {GridCellRenderType} from '../Grid.component.js'
import {api} from '../../module/api.js'
const template = `
&lt;div class="page-league">
&lt;div class="header">
&lt;div class="left">
&lt;h2>League Standings&lt;/h2>
&lt;/div>
&lt;/div>
&lt;app-grid
:column_defs="column_defs"
:data="data"
:show_row_numbers="false"
>&lt;/app-grid>
&lt;/div>
`
/**
* Component representing the league standings page.
* @extends Component
*/
class LeagueComponent extends Component {
static get selector() { return 'page-league' }
static get template() { return template }
static get props() { return [] }
GridCellRenderType = GridCellRenderType
/**
* Column definitions for the league standings grid.
* @type {object[]}
*/
column_defs = [
{
header: 'Standing',
type: GridCellRenderType.HTML,
key: 'standing',
renderer: (value, row) => {
return `
&lt;h1 id="ranking">
Rank: ${row.standing.rank}
&lt;/h1>
&lt;h2 id="record">
W/L: ${row.standing.win_loss}
&lt;/h2>
`
}
},
{
header: 'Team',
type: GridCellRenderType.HTML,
key: 'team_name',
renderer: (value, row) => {
return `
&lt;div class="center">
&lt;!-- &lt;img src="${row.team_image}" alt="${row.team_image}" width="100">-->
&lt;span>${row.team_name}&lt;/span>
&lt;/div>
`
},
},
{
header: 'Stats',
key: 'stats',
type: GridCellRenderType.HTML,
renderer: (value, row) => {
const stats = []
for ( const stat of value ) {
stats.push(`
&lt;div class="stat">
&lt;div class="title">${stat.name}&lt;/div>
&lt;div>${stat.value}&lt;/div>
&lt;/div>
`)
}
return `
&lt;div class="stats">
${stats.join('\n')}
&lt;/div>
`
},
},
]
/**
* Sample data for the league standings grid.
* @type {object[]}
*/
data = []
/**
* Called when the component is instantiated.
* @return {Promise&lt;void>}
*/
async vue_on_create() {
this.data = await api.get_standings()
}
}
export default LeagueComponent
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: components/pages/MyTeam.component.js</title>
<title>JSDoc: Source: frontend/src/components/pages/MyTeam.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
@ -17,7 +17,7 @@
<div id="main">
<h1 class="page-title">Source: components/pages/MyTeam.component.js</h1>
<h1 class="page-title">Source: frontend/src/components/pages/MyTeam.component.js</h1>
@ -28,6 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>import {Component} from '../../../lib/vues6.js'
import {GridCellRenderType} from '../Grid.component.js'
import {api} from '../../module/api.js'
const template = `
&lt;div class="page-my-team">
@ -35,6 +36,9 @@ const template = `
&lt;div class="left team-name">
&lt;h2>My Team - &lt;/h2>&lt;input placeholder="Click to edit team name..." type="text" v-model="team_name">
&lt;/div>
&lt;div class="right">
&lt;span class="save-text" style="margin-right: 20px; color: #555555; font-style: italic;">{{ save_text }}&lt;/span>&lt;button @click="save_changes()">Save&lt;/button>
&lt;/div>
&lt;/div>
&lt;div class="body" style="display: flex; flex-direction: row; margin-left: 10px; padding-bottom: 50px;" v-if="show_body">
&lt;app-grid
@ -71,12 +75,23 @@ class MyTeamComponent extends Component {
static get template() { return template }
static get props() { return [] }
/**
* Original team name to compare against.
*/
_original_team_name = ''
/**
* The team name.
* @type {string}
*/
team_name = ''
/**
* The text next to the save button.
* @type {string}
*/
save_text = 'All changes saved.'
/**
* If true, the body of the page will be shown. Otherwise, hidden.
* This is used to refresh the entire component at once.
@ -95,32 +110,7 @@ class MyTeamComponent extends Component {
* a position, then only the "postition" key will be set.
* @type {object[]}
*/
starting_players = [
{
position: 'QB',
},
{
position: 'RB',
},
{
position: 'RB',
},
{
position: 'WR',
},
{
position: 'WR',
},
{
position: 'TE',
},
{
position: 'FLX',
},
{
position: 'DST',
},
]
starting_players = []
/**
* Players on the bench.
@ -139,16 +129,16 @@ class MyTeamComponent extends Component {
},
{
header: 'Player',
key: 'player_name',
key: 'name',
type: GridCellRenderType.HTML,
renderer: (_, data) => {
if ( !data.player_name ) {
if ( !data.name ) {
return `&lt;i style="color: darkgrey">none&lt;/i>`
} else {
return `
&lt;div class="center">
&lt;img src="${data.image}" alt="${data.player_name}" height="50" style="border-radius: 50%">
&lt;span>${data.player_name}&lt;/span>
&lt;img src="${data.image}" alt="${data.name}" height="50" style="border-radius: 50%">
&lt;span>${data.name} (#${data.number})&lt;/span>
&lt;/div>
`
}
@ -156,7 +146,7 @@ class MyTeamComponent extends Component {
},
{
header: '',
key: 'player_name',
key: 'name',
type: GridCellRenderType.Component,
component: Vue.component('app-action-button'),
button_color: (row, col) => this.moving_player ? '#CC5746' : '#0582CA',
@ -164,24 +154,29 @@ class MyTeamComponent extends Component {
return this.moving_player ? 'Here' : 'Move'
},
button_hidden: (row, col) => {
if ( this.moving_player &amp;&amp; this.moving_player.player_name !== row.player_name ) return false;
if ( !row.player_name ) return true;
return this.moving_player &amp;&amp; this.moving_player.player_name === row.player_name;
if ( this.moving_player &amp;&amp; this.moving_player.name !== row.name ) return false;
if ( !row.name ) return true;
return this.moving_player &amp;&amp; this.moving_player.name === row.name;
},
on_click: (row, col) => {
if ( !this.moving_player ) {
this.moving_player = row;
} else {
const old_row = {...row};
row.player_name = this.moving_player.player_name;
row.ecr = this.moving_player.ecr;
row.image = this.moving_player.image;
const moved_row = {...this.moving_player};
for ( const prop in moved_row ) {
if ( prop === 'position' ) continue;
row[prop] = moved_row[prop]
}
for ( const prop in moved_row ) {
if ( prop === 'position' ) continue;
this.moving_player[prop] = old_row[prop]
}
this.moving_player.player_name = old_row.player_name;
this.moving_player.ecr = old_row.ecr;
this.moving_player.image = old_row.image;
this.moving_player = undefined;
console.log(this.moving_player, row);
this.$_vue_inst.mark_dirty();
}
this.$_vue_inst.update(); // $_vue_inst refers to the Vue.component instance, not the data class.
@ -196,12 +191,12 @@ class MyTeamComponent extends Component {
overall_column_defs = [
{
header: 'Name',
key: 'player_name',
key: 'name',
type: GridCellRenderType.HTML,
renderer: (_, data) => `
&lt;div class="center">
&lt;img src="${data.image}" alt="${data.player_name}" height="50" style="border-radius: 50%">
&lt;span>${data.player_name}&lt;/span>
&lt;img src="${data.image}" alt="${data.name}" height="50" style="border-radius: 50%">
&lt;span>${data.name} (#${data.number})&lt;/span>
&lt;/div>
`,
},
@ -220,57 +215,19 @@ class MyTeamComponent extends Component {
* Data for the overall team grid (list of user's team players).
* @type {object[]}
*/
overall_data = [
{
player_name: 'Christian McCaffrey',
position: 'RB1',
ecr: '0.0',
"image": "https://images.generated.photos/eGoWRgqxtahGFDAD81-l8CNxdz1oe-huz3CQ7m3v0VI/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzNDA0NDlfMDgz/MDY1Nl8wMTk4NTI4/LmpwZw.jpg",
},
{
player_name: 'Ezekiel Elliott',
position: 'RB3',
ecr: '1.0',
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
},
{
player_name: 'Dalvin Cook',
position: 'RB5',
ecr: '0.0',
"image": "https://images.generated.photos/PEBx5b8_iPHU_nJpJbh3geUN8cBFglHVAAR9NktzXsk/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAxODI1NzlfMDgx/MTA0OV8wNDQzOTM5/LmpwZw.jpg",
},
{
player_name: 'Alvin Kamara',
position: 'RB6',
ecr: '-1.0',
"image": "https://images.generated.photos/cb3jAo-GBziFLxs85KJGt7a8bJdhz4sSy76PYAXkeg4/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA1ODU4MDBfMDMy/NjY2OF8wODEwNTA2/LmpwZw.jpg",
},
{
player_name: 'Michael Thomas',
position: 'WR1',
ecr: '3.0',
"image": "https://images.generated.photos/LLiy3FypH5A1suda78U82t_Kcn9AlJwZt1g3w1p5DwE/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzODc0NjlfMDUy/MDc0NF8wNzc3NzQ5/LmpwZw.jpg",
},
{
player_name: 'Davante Adams',
position: 'WR2',
ecr: '4.0',
"image": "https://images.generated.photos/dW84LNLE4Kzp73NTTnL68U--dYuq8CCzD-dGTs76U38/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAyNjE1NjZfMDEz/NDM1NF8wMTg5MjI0/LmpwZw.jpg",
},
{
player_name: 'Travis Kelce',
position: 'TE1',
ecr: '-4.0',
"image": "https://images.generated.photos/erudOopARQnXWNaLqkIPRLLMLAVBr8m70aFC_dtYu1Y/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzODA5MTVfMDkx/MzIzN18wNDQxMTk4/LmpwZw.jpg",
},
]
overall_data = []
/**
* Called when the component is instantiated. Initializes the bench players data.
* @return {Promise&lt;void>}
*/
async vue_on_create() {
this.bench_players = this.overall_data.map(x => { x = {...x, position: 'B'}; return x })
console.log('api', api)
const [my_team, lineup] = await Promise.all([api.get_my_team(), api.get_my_team_current_lineup()])
this.team_name = this._original_team_name = my_team.team_name
this.overall_data = await api.get_my_team_players()
this.bench_players = lineup.benched_players
this.starting_players = lineup.starting_players
setTimeout(() => {
this.update();
@ -287,6 +244,39 @@ class MyTeamComponent extends Component {
this.show_body = true;
});
}
mark_dirty() {
this.save_text = 'Unsaved changes'
}
/**
* Fired when the team name changes. Marks the data as needing a save.
*/
watch_team_name() {
if ( this.team_name !== this._original_team_name )
this.mark_dirty()
}
async save_changes() {
this.save_text = 'Saving changes...'
// Save the team name
const team_save_result = await api.save_my_team({ team_name: this.team_name })
this.team_name = this._original_team_name = team_save_result.team_name
// Save the lineup
const lineup_data = {
starting_players: this.starting_players,
benched_players: this.bench_players,
}
const lineup_save_result = await api.save_my_team_lineup(lineup_data)
this.bench_players = lineup_save_result.benched_players
this.starting_players = lineup_save_result.starting_players
this.save_text = 'All changes saved.'
this.update()
}
}
export default MyTeamComponent
@ -300,13 +290,13 @@ export default MyTeamComponent
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,203 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/components/pages/Scores.component.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/components/pages/Scores.component.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>import {Component} from '../../../lib/vues6.js'
import {GridCellRenderType} from '../Grid.component.js'
import {api} from '../../module/api.js'
const template = `
&lt;div class="page-scores">
&lt;div class="header">
&lt;div class="left">
&lt;h2>Matchups &amp; Scores - &lt;small>Week {{ current_week }}&lt;/small>&lt;/h2>
&lt;/div>
&lt;div class="right" v-if="week_x_data.length > 1">
&lt;button :class="{ 'disable-click': current_week === max_week }" @click="to_next_week()">Next Week&lt;/button>&lt;button :class="{ 'disable-click': current_week === min_week }" @click="to_previous_week()">Previous Week&lt;/button>
&lt;/div>
&lt;/div>
&lt;app-grid
:column_defs="column_defs"
:data="data"
:show_row_numbers="false"
>&lt;/app-grid>
&lt;/div>
`
/**
* Component representing the scores &amp; match-ups page.
* @extends Component
*/
class ScoresComponent extends Component {
static get selector() { return 'page-scores' }
static get template() { return template }
static get props() { return [] }
/**
* The number of the current week shown in the interface
* @type {number}
*/
current_week = 1
/**
* Most recent week number.
* @type {number}
*/
max_week = 1
/**
* Least recent week number.
* @type {number}
*/
min_week = 1
/**
* Array of arrays of data for each week with first item being week 1, second being week 2, &amp;c.
* @type {object[][]}
*/
week_x_data = []
/**
* Column definitions for the matchups grid.
* @type {object[]}
*/
column_defs = [
{
header: 'Date',
type: GridCellRenderType.HTML,
key: 'date',
renderer: (_, data) => {
return `${data.date} @ ${data.team_1}`
}
},
{
header: 'Team 1',
type: GridCellRenderType.HTML,
key: 'team_1',
renderer: (_, data) => `
&lt;div style="display: flex; flex-direction: row;">
&lt;!-- &lt;img src="${data.team_1_logo}" alt="${data.team_1}">-->
&lt;div style="margin-left: 20px">
&lt;b>${data.team_1}&lt;/b>
&lt;p>Projection: ${data.team_1_projection}&lt;/p>
&lt;/div>
&lt;/div>
`
},
{
header: 'Team 2',
type: GridCellRenderType.HTML,
key: 'team_2',
renderer: (_, data) => `
&lt;div style="display: flex; flex-direction: row;">
&lt;!-- &lt;img src="${data.team_2_logo}" alt="${data.team_2}">-->
&lt;div style="margin-left: 20px">
&lt;b>${data.team_2}&lt;/b>
&lt;p>Projection: ${data.team_2_projection}&lt;/p>
&lt;/div>
&lt;/div>
`
},
{
header: 'Outcome',
type: GridCellRenderType.HTML,
key: 'winner',
renderer: (_, data) => {
if ( data?.winner ) {
return `
&lt;div>&lt;b>Winner:&lt;/b> ${data.winner}&lt;/div>
&lt;div>&lt;b>Score: &lt;/b> ${data.winner_score} / ${data.loser_score}&lt;/div>
`
} else {
return `N/A`
}
},
}
]
/**
* The currently shown week's data.
* @type {object[]}
*/
data = []
/**
* Called when the component is instantiated. Initializes the current week to the most recent week.
* @return {Promise&lt;void>}
*/
async vue_on_create() {
this.week_x_data = await api.get_matchups()
this.max_week = this.current_week = this.week_x_data.length
this.data = this.week_x_data[this.max_week - 1];
}
/**
* When called, advances the data to the next-most recent week, if one exists.
*/
to_next_week() {
if ( this.current_week &lt; this.max_week ) {
this.current_week += 1;
this.data = this.week_x_data[this.current_week - 1];
}
}
/**
* When called, advances the data to the next-least recent week, if one exists.
*/
to_previous_week() {
if ( this.current_week > this.min_week ) {
this.current_week -= 1;
this.data = this.week_x_data[this.current_week - 1];
}
}
}
export default ScoresComponent
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,412 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/module/fake_data.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/module/fake_data.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/** @module fake_data */
/**
* Array of players with stats info.
* @type {object[]}
*/
export const fake_players = [
{
"number": 14,
"name": "Andy Dalton",
"position": "Quarterback",
"stats":
{
"Passing Yards": "1" ,
"Rushing Yards": "551 YDS",
"completions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/-K9iBY4oOkLsqQfoTA1R8X0EKvR_BCbMXk0KNX4EIIs/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0NzY1MjkuanBn.jpg",
"showing_stats": false,
"points": 13,
},
{
"number": 7,
"name": "Ben DiNucci",
"position": "Quarterback",
"stats":
{
"Passing Yards": "1" ,
"Rushing Yards": "551 YDS",
"completions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/EUa6Hmnt6682dl03Q5FPIeMqLnS833rfzOJaJXlYxqI/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAxNTk3OTFfMDU1/Nzg5OF8wMzgzMzIw/LmpwZw.jpg",
"showing_stats": false,
"points": 0,
},
{
"number": 3,
"name": "Garrett Gilbert",
"position": "Quarterback",
"stats":
{
"Passing Yards": "1" ,
"Rushing Yards": "551 YDS",
"completions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/eGoWRgqxtahGFDAD81-l8CNxdz1oe-huz3CQ7m3v0VI/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzNDA0NDlfMDgz/MDY1Nl8wMTk4NTI4/LmpwZw.jpg",
"showing_stats": false,
"points": 0,
"speed": 0,
"price": "$0.00",
},
{
"number": 34,
"name": "Rico Dowdle",
"position": "Running back",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 0,
"speed": 0,
"price": "$0.00",
},
{
"number": 21,
"name": "Ezekiel Elliott",
"position": "Running back",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/PEBx5b8_iPHU_nJpJbh3geUN8cBFglHVAAR9NktzXsk/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAxODI1NzlfMDgx/MTA0OV8wNDQzOTM5/LmpwZw.jpg",
"showing_stats": false,
"points": 18,
"speed": 0,
"price": "$0.00",
},
{
"number": 20,
"name": "Tony Pollard",
"position": "Running back",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/cb3jAo-GBziFLxs85KJGt7a8bJdhz4sSy76PYAXkeg4/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA1ODU4MDBfMDMy/NjY2OF8wODEwNTA2/LmpwZw.jpg",
"showing_stats": false,
"points": 6,
"speed": 0,
"price": "$0.00",
},
{
"number": 85,
"name": "Noah Brown",
"position": "Wide receiver",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/LLiy3FypH5A1suda78U82t_Kcn9AlJwZt1g3w1p5DwE/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzODc0NjlfMDUy/MDc0NF8wNzc3NzQ5/LmpwZw.jpg",
"showing_stats": false,
"points": 0,
"speed": 0,
"price": "$0.00",
},
{
"number": 19,
"name": "Amari Cooper",
"position": "Wide receiver",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/dW84LNLE4Kzp73NTTnL68U--dYuq8CCzD-dGTs76U38/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAyNjE1NjZfMDEz/NDM1NF8wMTg5MjI0/LmpwZw.jpg",
"showing_stats": false,
"points": 19,
"speed": 0,
"price": "$0.00",
},
{
"number": 13,
"name": "Michael Gallup",
"position": "Wide receiver",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/erudOopARQnXWNaLqkIPRLLMLAVBr8m70aFC_dtYu1Y/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzODA5MTVfMDkx/MzIzN18wNDQxMTk4/LmpwZw.jpg",
"showing_stats": false,
"points": 14,
},
{
"number": 88,
"name": "CeeDee Lamb",
"position": "Wide receiver",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/WFV4nHHq5ZaBb1rdmFL5WEZTOanckWHEfkmDA1fOVfw/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAxNTYzNzNfMDI4/Nzc2N18wNzYxNDY3/LmpwZw.jpg",
"showing_stats": false,
"points": 11,
},
{
"number": 17,
"name": "Malik Turner",
"position": "Wide receiver",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/PEBx5b8_iPHU_nJpJbh3geUN8cBFglHVAAR9NktzXsk/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAxODI1NzlfMDgx/MTA0OV8wNDQzOTM5/LmpwZw.jpg",
"showing_stats": false,
"points": 3,
},
{
"number": 11,
"name": "Cedrick Wilson Jr.",
"position": "Wide receiver",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 8,
},
{
"number": 80,
"name": "Blake Bell",
"position": "Tight end",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/eGoWRgqxtahGFDAD81-l8CNxdz1oe-huz3CQ7m3v0VI/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAzNDA0NDlfMDgz/MDY1Nl8wMTk4NTI4/LmpwZw.jpg",
"showing_stats": false,
"points": 9,
},
{
"number": 84,
"name": "Sean McKeon",
"position": "Tight end",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/EUa6Hmnt6682dl03Q5FPIeMqLnS833rfzOJaJXlYxqI/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzAxNTk3OTFfMDU1/Nzg5OF8wMzgzMzIw/LmpwZw.jpg",
"showing_stats": false,
"points": 0,
},
{
"number": 86,
"name": "Dalton Schultz",
"position": "Tight end",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/-K9iBY4oOkLsqQfoTA1R8X0EKvR_BCbMXk0KNX4EIIs/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0NzY1MjkuanBn.jpg",
"showing_stats": false,
"points": 13,
},
{
"number": 23,
"name": "Darian Thompson RB",
"position": "Running back",
"stats":
{
"Rushing Yards": "1" ,
"Receiving Yards": "551 YDS",
"Receptions": "1",
"TD": "1",
},
"team_name": "Kansas City Chiefs",
"image": "https://images.generated.photos/cb3jAo-GBziFLxs85KJGt7a8bJdhz4sSy76PYAXkeg4/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA1ODU4MDBfMDMy/NjY2OF8wODEwNTA2/LmpwZw.jpg",
"showing_stats": false,
"points": 4,
},
{
"number": 2,
"name": "Greg Zuerlein K",
"position": "Special team",
"stats":
{
"XP": "1" ,
"FG": "551 YDS",
},
"team_name": "Dallas Cowboys",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 11,
},
{
"number": "N/A",
"name": "Arizona Cardinals",
"position": "Defense",
"stats":
{
"Fumble": "1" ,
"YDS_Allowed": "551 YDS",
"Sacks": "1",
"INT": "1",
"TD": "0",
},
"team_name": "Arizona Cardinals",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 11,
},
{
"number": "N/A",
"name": "Kansas City Chiefs",
"position": "Defense",
"stats":
{
"Fumble": "1" ,
"YDS_Allowed": "551 YDS",
"Sacks": "1",
"INT": "1",
"TD": "0",
},
"team_name": "Kansas City Chiefs",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 11,
},
{
"number": "N/A",
"name": "Atlanta Falcons",
"position": "Defense",
"stats":
{
"Fumble": "1" ,
"YDS_Allowed": "551 YDS",
"Sacks": "1",
"INT": "1",
"TD": "0",
},
"team_name": "Atlanta Falcons",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 11,
},
{
"number": "N/A",
"name": "Baltimore Ravens",
"position": "Defense",
"stats":
{
"Fumble": "1" ,
"YDS_Allowed": "551 YDS",
"Sacks": "1",
"INT": "1",
"TD": "0",
},
"team_name": "Baltimore Ravens",
"image": "https://images.generated.photos/fd8kkioB4vLw_5MGwQXdDt9Q7Ley2_Ia8Cu390zaNVM/rs:fit:128:128/Z3M6Ly9nZW5lcmF0/ZWQtcGhvdG9zL3Yz/XzA0Nzg2ODEuanBn.jpg",
"showing_stats": false,
"points": 11,
},
]
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: module/routing.js</title>
<title>JSDoc: Source: frontend/src/module/routing.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
@ -17,7 +17,7 @@
<div id="main">
<h1 class="page-title">Source: module/routing.js</h1>
<h1 class="page-title">Source: frontend/src/module/routing.js</h1>
@ -38,6 +38,9 @@ class Router {
*/
route_args = undefined
/** The currently navigated route. */
current_route = undefined
/**
* List of callback functions listening for route changes.
* @type {function[]}
@ -50,6 +53,18 @@ class Router {
*/
history = []
/** Initialize the router and determine the current page. */
constructor() {
try {
const route = location.href.split(APP_BASE_PATH).filter(Boolean)[0].split(/[#?]/)[0]
if ( route &amp;&amp; !route.toLowerCase().includes('http://') &amp;&amp; !route.toLowerCase().includes('https://') ) {
console.log('resume route', route)
this.navigate(route, {})
}
} catch (e) {}
}
/**
* Returns the APP_BASE_PATH of the application.
* @return {string}
@ -67,6 +82,7 @@ class Router {
this.route_args = args
this.history.push({path, args})
window.history.pushState({}, path, this.build_url(path))
this.current_route = path
this.subscribers.forEach(sub => sub(path, args))
}
@ -130,13 +146,13 @@ export { router }
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,92 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: frontend/src/module/util.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: frontend/src/module/util.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/** @module util */
/**
* Makes a deep copy of the value passed in.
* @param {*} obj
* @return {*}
*/
export function clone(obj) {
// If it's just a value, return it.
if ( typeof obj !== 'object' || obj === null ) return obj
// If it's an array, copy its values.
if ( Array.isArray(obj) ) return obj.map(x => clone(x))
// If it's an object, copy its properties.
const copy = {}
for ( const prop in obj ) {
copy[prop] = clone(obj[prop])
}
return copy
}
/**
* Generate an absolute URL to a file w/in the project directory.
* @param {string} path
* @return {string}
*/
export function appUrl(path) {
if ( path.startsWith('/') ) path = path.slice(1)
return `${APP_BASE_PATH}${path}`
}
/**
* Generates a UUIDv4. Taken from: https://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid
* @return {string}
*/
export function uuid_v4() {
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] &amp; 15 >> c / 4).toString(16)
);
}
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -0,0 +1,201 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Global</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Global</h1>
<section>
<header>
<h2></h2>
</header>
<article>
<div class="container-overview">
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="GridCellRenderType"><span class="type-signature">(constant) </span>GridCellRenderType<span class="type-signature"> :object</span></h4>
<div class="description">
An enum representing the different grid cell renderer types for the shared grid.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_components_Grid.component.js.html">frontend/src/components/Grid.component.js</a>, <a href="frontend_src_components_Grid.component.js.html#line7">line 7</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -97,13 +97,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,161 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Module: fake_data</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Module: fake_data</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
</div>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".fake_players"><span class="type-signature">(static, constant) </span>fake_players<span class="type-signature"> :Array.&lt;object></span></h4>
<div class="description">
Array of players with stats info.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.&lt;object></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_module_fake_data.js.html">frontend/src/module/fake_data.js</a>, <a href="frontend_src_module_fake_data.js.html#line7">line 7</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -53,6 +53,10 @@
<div class="description">
Initialize the router and determine the current page.
</div>
@ -94,7 +98,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line6">line 6</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line29">line 29</a>
</li></ul></dd>
@ -188,7 +192,69 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line29">line 29</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line44">line 44</a>
</li></ul></dd>
</dl>
<h4 class="name" id="current_route"><span class="type-signature"></span>current_route<span class="type-signature"></span></h4>
<div class="description">
The currently navigated route.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line14">line 14</a>
</li></ul></dd>
@ -260,7 +326,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line23">line 23</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line26">line 26</a>
</li></ul></dd>
@ -335,7 +401,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line11">line 11</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line11">line 11</a>
</li></ul></dd>
@ -407,7 +473,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line17">line 17</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line20">line 20</a>
</li></ul></dd>
@ -487,7 +553,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line48">line 48</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line64">line 64</a>
</li></ul></dd>
@ -636,7 +702,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line78">line 78</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line94">line 94</a>
</li></ul></dd>
@ -814,7 +880,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line38">line 38</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line53">line 53</a>
</li></ul></dd>
@ -951,7 +1017,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_routing.js.html">module/routing.js</a>, <a href="module_routing.js.html#line61">line 61</a>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line77">line 77</a>
</li></ul></dd>
@ -1019,13 +1085,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

@ -0,0 +1,168 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Module: routing</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Module: routing</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
</div>
<h3 class="subsection-title">Classes</h3>
<dl>
<dt><a href="module-routing-Router.html">Router</a></dt>
<dd></dd>
</dl>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="~router"><span class="type-signature">(inner, constant) </span>router<span class="type-signature"> :Router</span></h4>
<div class="description">
Global router instance.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Router</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="frontend_src_module_routing.js.html">frontend/src/module/routing.js</a>, <a href="frontend_src_module_routing.js.html#line109">line 109</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

@ -165,7 +165,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_util.js.html">module/util.js</a>, <a href="module_util.js.html#line28">line 28</a>
<a href="frontend_src_module_util.js.html">frontend/src/module/util.js</a>, <a href="frontend_src_module_util.js.html#line28">line 28</a>
</li></ul></dd>
@ -320,7 +320,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_util.js.html">module/util.js</a>, <a href="module_util.js.html#line8">line 8</a>
<a href="frontend_src_module_util.js.html">frontend/src/module/util.js</a>, <a href="frontend_src_module_util.js.html#line8">line 8</a>
</li></ul></dd>
@ -426,7 +426,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="module_util.js.html">module/util.js</a>, <a href="module_util.js.html#line37">line 37</a>
<a href="frontend_src_module_util.js.html">frontend/src/module/util.js</a>, <a href="frontend_src_module_util.js.html#line37">line 37</a>
</li></ul></dd>
@ -490,13 +490,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-fake_data.html">fake_data</a></li><li><a href="module-routing.html">routing</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="ActiveScope.html">ActiveScope</a></li><li><a href="AddPlayersComponent.html">AddPlayersComponent</a></li><li><a href="DraftBoard.html">DraftBoard</a></li><li><a href="DraftBoardComponent.html">DraftBoardComponent</a></li><li><a href="FrontendUnit.html">FrontendUnit</a></li><li><a href="GenerateMatchupsForWeekPatch.html">GenerateMatchupsForWeekPatch</a></li><li><a href="GenerateWeeklyResultsPatch.html">GenerateWeeklyResultsPatch</a></li><li><a href="GridActionButtonComponent.html">GridActionButtonComponent</a></li><li><a href="GridComponent.html">GridComponent</a></li><li><a href="Home.html">Home</a></li><li><a href="InjectUserTeam.html">InjectUserTeam</a></li><li><a href="LeagueComponent.html">LeagueComponent</a></li><li><a href="Lineup.html">Lineup</a></li><li><a href="LinkComponent.html">LinkComponent</a></li><li><a href="Matchup.html">Matchup</a></li><li><a href="module-routing-Router.html">Router</a></li><li><a href="MyTeamComponent.html">MyTeamComponent</a></li><li><a href="Player.html">Player</a></li><li><a href="ScoresComponent.html">ScoresComponent</a></li><li><a href="ScoresController.html">ScoresController</a></li><li><a href="SeedAPIDataPatch.html">SeedAPIDataPatch</a></li><li><a href="SeedWeeklyPlayerDataPatch.html">SeedWeeklyPlayerDataPatch</a></li><li><a href="SportsDataService.html">SportsDataService</a></li><li><a href="Team.html">Team</a></li><li><a href="Teams.html">Teams</a></li><li><a href="TopLevelComponent.html">TopLevelComponent</a></li><li><a href="User.html">User</a></li><li><a href="WeeklyPlayerStat.html">WeeklyPlayerStat</a></li><li><a href="WeeklyTeamStat.html">WeeklyTeamStat</a></li></ul><h3>Global</h3><ul><li><a href="global.html#GridCellRenderType">GridCellRenderType</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Oct 25 2020 12:32:18 GMT-0500 (Central Daylight Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.5</a> on Sun Nov 08 2020 14:34:32 GMT-0600 (Central Standard Time)
</footer>
<script> prettyPrint(); </script>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save