diff --git a/Units.flitter.js b/Units.flitter.js index 2f8ff96..641324b 100644 --- a/Units.flitter.js +++ b/Units.flitter.js @@ -55,6 +55,7 @@ const FlitterUnits = { 'Forms' : require('flitter-forms/FormsUnit'), 'Auth' : require('flitter-auth/AuthUnit'), 'Flap' : require('flitter-flap/FlapUnit'), + 'FrontEnd' : require('./app/FrontendUnit'), /* * Custom Flitter Units diff --git a/app/FrontendUnit.js b/app/FrontendUnit.js new file mode 100644 index 0000000..79d93d3 --- /dev/null +++ b/app/FrontendUnit.js @@ -0,0 +1,42 @@ +const Unit = require('libflitter/Unit') +const Express = require('express') +const path = require('path') + +class FrontendUnit extends Unit { + static get services() { + return [...super.services, 'configs', 'express', 'canon', 'utility'] + } + + 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')) + } + + async go(app) { + app.express.use('/app', [ + this.canon.get('middleware::auth:UserOnly'), + (req, res, next) => { + 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), + ]) + } +} + +module.exports = exports = FrontendUnit diff --git a/config/server.config.js b/config/server.config.js index 51090eb..e6b7e8b 100644 --- a/config/server.config.js +++ b/config/server.config.js @@ -14,6 +14,12 @@ const server_config = { */ environment: env('ENVIRONMENT', 'production'), + /* + * The relative path to the front-end application. + * Relative to the repository root. + */ + frontend_path: env('FRONT_END_PATH', 'frontend'), + logging: { /* diff --git a/app/assets/frontend/README.md b/frontend/README.md similarity index 100% rename from app/assets/frontend/README.md rename to frontend/README.md diff --git a/app/assets/frontend/documentation/.gitignore b/frontend/documentation/.gitignore similarity index 100% rename from app/assets/frontend/documentation/.gitignore rename to frontend/documentation/.gitignore diff --git a/app/assets/frontend/documentation/README.md b/frontend/documentation/README.md similarity index 100% rename from app/assets/frontend/documentation/README.md rename to frontend/documentation/README.md diff --git a/app/assets/frontend/documentation/generate.sh b/frontend/documentation/generate.sh similarity index 100% rename from app/assets/frontend/documentation/generate.sh rename to frontend/documentation/generate.sh diff --git a/app/assets/frontend/documentation/generated/.gitkeep b/frontend/documentation/generated/.gitkeep similarity index 100% rename from app/assets/frontend/documentation/generated/.gitkeep rename to frontend/documentation/generated/.gitkeep diff --git a/app/assets/frontend/documentation/generated/AddPlayersComponent.html b/frontend/documentation/generated/AddPlayersComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/AddPlayersComponent.html rename to frontend/documentation/generated/AddPlayersComponent.html diff --git a/app/assets/frontend/documentation/generated/DraftBoardComponent.html b/frontend/documentation/generated/DraftBoardComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/DraftBoardComponent.html rename to frontend/documentation/generated/DraftBoardComponent.html diff --git a/app/assets/frontend/documentation/generated/GridActionButtonComponent.html b/frontend/documentation/generated/GridActionButtonComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/GridActionButtonComponent.html rename to frontend/documentation/generated/GridActionButtonComponent.html diff --git a/app/assets/frontend/documentation/generated/GridComponent.html b/frontend/documentation/generated/GridComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/GridComponent.html rename to frontend/documentation/generated/GridComponent.html diff --git a/app/assets/frontend/documentation/generated/LeagueComponent.html b/frontend/documentation/generated/LeagueComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/LeagueComponent.html rename to frontend/documentation/generated/LeagueComponent.html diff --git a/app/assets/frontend/documentation/generated/LinkComponent.html b/frontend/documentation/generated/LinkComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/LinkComponent.html rename to frontend/documentation/generated/LinkComponent.html diff --git a/app/assets/frontend/documentation/generated/MyTeamComponent.html b/frontend/documentation/generated/MyTeamComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/MyTeamComponent.html rename to frontend/documentation/generated/MyTeamComponent.html diff --git a/app/assets/frontend/documentation/generated/Router.html b/frontend/documentation/generated/Router.html similarity index 100% rename from app/assets/frontend/documentation/generated/Router.html rename to frontend/documentation/generated/Router.html diff --git a/app/assets/frontend/documentation/generated/ScoresComponent.html b/frontend/documentation/generated/ScoresComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/ScoresComponent.html rename to frontend/documentation/generated/ScoresComponent.html diff --git a/app/assets/frontend/documentation/generated/TopLevelComponent.html b/frontend/documentation/generated/TopLevelComponent.html similarity index 100% rename from app/assets/frontend/documentation/generated/TopLevelComponent.html rename to frontend/documentation/generated/TopLevelComponent.html diff --git a/app/assets/frontend/documentation/generated/components_Grid.component.js.html b/frontend/documentation/generated/components_Grid.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_Grid.component.js.html rename to frontend/documentation/generated/components_Grid.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_GridActionButton.component.js.html b/frontend/documentation/generated/components_GridActionButton.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_GridActionButton.component.js.html rename to frontend/documentation/generated/components_GridActionButton.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_Link.component.js.html b/frontend/documentation/generated/components_Link.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_Link.component.js.html rename to frontend/documentation/generated/components_Link.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_TopLevel.component.js.html b/frontend/documentation/generated/components_TopLevel.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_TopLevel.component.js.html rename to frontend/documentation/generated/components_TopLevel.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_pages_AddPlayers.component.js.html b/frontend/documentation/generated/components_pages_AddPlayers.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_pages_AddPlayers.component.js.html rename to frontend/documentation/generated/components_pages_AddPlayers.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_pages_DraftBoard.component.js.html b/frontend/documentation/generated/components_pages_DraftBoard.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_pages_DraftBoard.component.js.html rename to frontend/documentation/generated/components_pages_DraftBoard.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_pages_League.component.js.html b/frontend/documentation/generated/components_pages_League.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_pages_League.component.js.html rename to frontend/documentation/generated/components_pages_League.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_pages_MyTeam.component.js.html b/frontend/documentation/generated/components_pages_MyTeam.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_pages_MyTeam.component.js.html rename to frontend/documentation/generated/components_pages_MyTeam.component.js.html diff --git a/app/assets/frontend/documentation/generated/components_pages_Scores.component.js.html b/frontend/documentation/generated/components_pages_Scores.component.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/components_pages_Scores.component.js.html rename to frontend/documentation/generated/components_pages_Scores.component.js.html diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.eot b/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.eot similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.eot rename to frontend/documentation/generated/fonts/OpenSans-Bold-webfont.eot diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.svg b/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.svg similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.svg rename to frontend/documentation/generated/fonts/OpenSans-Bold-webfont.svg diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.woff b/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.woff similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Bold-webfont.woff rename to frontend/documentation/generated/fonts/OpenSans-Bold-webfont.woff diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.eot b/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.eot similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.eot rename to frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.eot diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.svg b/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.svg similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.svg rename to frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.svg diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.woff b/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.woff similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.woff rename to frontend/documentation/generated/fonts/OpenSans-BoldItalic-webfont.woff diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.eot b/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.eot similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.eot rename to frontend/documentation/generated/fonts/OpenSans-Italic-webfont.eot diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.svg b/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.svg similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.svg rename to frontend/documentation/generated/fonts/OpenSans-Italic-webfont.svg diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.woff b/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.woff similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Italic-webfont.woff rename to frontend/documentation/generated/fonts/OpenSans-Italic-webfont.woff diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Light-webfont.eot b/frontend/documentation/generated/fonts/OpenSans-Light-webfont.eot similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Light-webfont.eot rename to frontend/documentation/generated/fonts/OpenSans-Light-webfont.eot diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Light-webfont.svg b/frontend/documentation/generated/fonts/OpenSans-Light-webfont.svg similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Light-webfont.svg rename to frontend/documentation/generated/fonts/OpenSans-Light-webfont.svg diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Light-webfont.woff b/frontend/documentation/generated/fonts/OpenSans-Light-webfont.woff similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Light-webfont.woff rename to frontend/documentation/generated/fonts/OpenSans-Light-webfont.woff diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.eot b/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.eot similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.eot rename to frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.eot diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.svg b/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.svg similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.svg rename to frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.svg diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.woff b/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.woff similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.woff rename to frontend/documentation/generated/fonts/OpenSans-LightItalic-webfont.woff diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.eot b/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.eot similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.eot rename to frontend/documentation/generated/fonts/OpenSans-Regular-webfont.eot diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.svg b/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.svg similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.svg rename to frontend/documentation/generated/fonts/OpenSans-Regular-webfont.svg diff --git a/app/assets/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.woff b/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.woff similarity index 100% rename from app/assets/frontend/documentation/generated/fonts/OpenSans-Regular-webfont.woff rename to frontend/documentation/generated/fonts/OpenSans-Regular-webfont.woff diff --git a/app/assets/frontend/documentation/generated/global.html b/frontend/documentation/generated/global.html similarity index 100% rename from app/assets/frontend/documentation/generated/global.html rename to frontend/documentation/generated/global.html diff --git a/app/assets/frontend/documentation/generated/index.html b/frontend/documentation/generated/index.html similarity index 100% rename from app/assets/frontend/documentation/generated/index.html rename to frontend/documentation/generated/index.html diff --git a/app/assets/frontend/documentation/generated/module-routing-Router.html b/frontend/documentation/generated/module-routing-Router.html similarity index 100% rename from app/assets/frontend/documentation/generated/module-routing-Router.html rename to frontend/documentation/generated/module-routing-Router.html diff --git a/app/assets/frontend/documentation/generated/module-routing.html b/frontend/documentation/generated/module-routing.html similarity index 100% rename from app/assets/frontend/documentation/generated/module-routing.html rename to frontend/documentation/generated/module-routing.html diff --git a/app/assets/frontend/documentation/generated/module-util.html b/frontend/documentation/generated/module-util.html similarity index 100% rename from app/assets/frontend/documentation/generated/module-util.html rename to frontend/documentation/generated/module-util.html diff --git a/app/assets/frontend/documentation/generated/module_routing.js.html b/frontend/documentation/generated/module_routing.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/module_routing.js.html rename to frontend/documentation/generated/module_routing.js.html diff --git a/app/assets/frontend/documentation/generated/module_util.js.html b/frontend/documentation/generated/module_util.js.html similarity index 100% rename from app/assets/frontend/documentation/generated/module_util.js.html rename to frontend/documentation/generated/module_util.js.html diff --git a/app/assets/frontend/documentation/generated/scripts/linenumber.js b/frontend/documentation/generated/scripts/linenumber.js similarity index 100% rename from app/assets/frontend/documentation/generated/scripts/linenumber.js rename to frontend/documentation/generated/scripts/linenumber.js diff --git a/app/assets/frontend/documentation/generated/scripts/prettify/Apache-License-2.0.txt b/frontend/documentation/generated/scripts/prettify/Apache-License-2.0.txt similarity index 100% rename from app/assets/frontend/documentation/generated/scripts/prettify/Apache-License-2.0.txt rename to frontend/documentation/generated/scripts/prettify/Apache-License-2.0.txt diff --git a/app/assets/frontend/documentation/generated/scripts/prettify/lang-css.js b/frontend/documentation/generated/scripts/prettify/lang-css.js similarity index 100% rename from app/assets/frontend/documentation/generated/scripts/prettify/lang-css.js rename to frontend/documentation/generated/scripts/prettify/lang-css.js diff --git a/app/assets/frontend/documentation/generated/scripts/prettify/prettify.js b/frontend/documentation/generated/scripts/prettify/prettify.js similarity index 100% rename from app/assets/frontend/documentation/generated/scripts/prettify/prettify.js rename to frontend/documentation/generated/scripts/prettify/prettify.js diff --git a/app/assets/frontend/documentation/generated/styles/jsdoc-default.css b/frontend/documentation/generated/styles/jsdoc-default.css similarity index 100% rename from app/assets/frontend/documentation/generated/styles/jsdoc-default.css rename to frontend/documentation/generated/styles/jsdoc-default.css diff --git a/app/assets/frontend/documentation/generated/styles/prettify-jsdoc.css b/frontend/documentation/generated/styles/prettify-jsdoc.css similarity index 100% rename from app/assets/frontend/documentation/generated/styles/prettify-jsdoc.css rename to frontend/documentation/generated/styles/prettify-jsdoc.css diff --git a/app/assets/frontend/documentation/generated/styles/prettify-tomorrow.css b/frontend/documentation/generated/styles/prettify-tomorrow.css similarity index 100% rename from app/assets/frontend/documentation/generated/styles/prettify-tomorrow.css rename to frontend/documentation/generated/styles/prettify-tomorrow.css diff --git a/app/assets/frontend/documentation/package.json b/frontend/documentation/package.json similarity index 100% rename from app/assets/frontend/documentation/package.json rename to frontend/documentation/package.json diff --git a/app/assets/frontend/documentation/yarn.lock b/frontend/documentation/yarn.lock similarity index 100% rename from app/assets/frontend/documentation/yarn.lock rename to frontend/documentation/yarn.lock diff --git a/app/assets/frontend/index.html b/frontend/index.html similarity index 63% rename from app/assets/frontend/index.html rename to frontend/index.html index 89590d8..8eb761c 100644 --- a/app/assets/frontend/index.html +++ b/frontend/index.html @@ -4,7 +4,18 @@ Fantasy Football - + + + + @@ -14,16 +25,8 @@ - - - - + + + diff --git a/app/assets/frontend/lib/README.md b/frontend/lib/README.md similarity index 100% rename from app/assets/frontend/lib/README.md rename to frontend/lib/README.md diff --git a/app/assets/frontend/lib/vue-2.6.11.js b/frontend/lib/vue-2.6.11.js similarity index 100% rename from app/assets/frontend/lib/vue-2.6.11.js rename to frontend/lib/vue-2.6.11.js diff --git a/app/assets/frontend/lib/vues6.js b/frontend/lib/vues6.js similarity index 100% rename from app/assets/frontend/lib/vues6.js rename to frontend/lib/vues6.js diff --git a/app/assets/frontend/src/components.js b/frontend/src/components.js similarity index 100% rename from app/assets/frontend/src/components.js rename to frontend/src/components.js diff --git a/app/assets/frontend/src/components/Grid.component.js b/frontend/src/components/Grid.component.js similarity index 100% rename from app/assets/frontend/src/components/Grid.component.js rename to frontend/src/components/Grid.component.js diff --git a/app/assets/frontend/src/components/GridActionButton.component.js b/frontend/src/components/GridActionButton.component.js similarity index 100% rename from app/assets/frontend/src/components/GridActionButton.component.js rename to frontend/src/components/GridActionButton.component.js diff --git a/app/assets/frontend/src/components/Link.component.js b/frontend/src/components/Link.component.js similarity index 100% rename from app/assets/frontend/src/components/Link.component.js rename to frontend/src/components/Link.component.js diff --git a/app/assets/frontend/src/components/TopLevel.component.js b/frontend/src/components/TopLevel.component.js similarity index 100% rename from app/assets/frontend/src/components/TopLevel.component.js rename to frontend/src/components/TopLevel.component.js diff --git a/app/assets/frontend/src/components/pages/AddPlayers.component.js b/frontend/src/components/pages/AddPlayers.component.js similarity index 100% rename from app/assets/frontend/src/components/pages/AddPlayers.component.js rename to frontend/src/components/pages/AddPlayers.component.js diff --git a/app/assets/frontend/src/components/pages/DraftBoard.component.js b/frontend/src/components/pages/DraftBoard.component.js similarity index 100% rename from app/assets/frontend/src/components/pages/DraftBoard.component.js rename to frontend/src/components/pages/DraftBoard.component.js diff --git a/app/assets/frontend/src/components/pages/League.component.js b/frontend/src/components/pages/League.component.js similarity index 100% rename from app/assets/frontend/src/components/pages/League.component.js rename to frontend/src/components/pages/League.component.js diff --git a/app/assets/frontend/src/components/pages/MyTeam.component.js b/frontend/src/components/pages/MyTeam.component.js similarity index 100% rename from app/assets/frontend/src/components/pages/MyTeam.component.js rename to frontend/src/components/pages/MyTeam.component.js diff --git a/app/assets/frontend/src/components/pages/Scores.component.js b/frontend/src/components/pages/Scores.component.js similarity index 100% rename from app/assets/frontend/src/components/pages/Scores.component.js rename to frontend/src/components/pages/Scores.component.js diff --git a/app/assets/frontend/src/module/fake_data.js b/frontend/src/module/fake_data.js similarity index 100% rename from app/assets/frontend/src/module/fake_data.js rename to frontend/src/module/fake_data.js diff --git a/app/assets/frontend/src/module/routing.js b/frontend/src/module/routing.js similarity index 100% rename from app/assets/frontend/src/module/routing.js rename to frontend/src/module/routing.js diff --git a/app/assets/frontend/src/module/start.js b/frontend/src/module/start.js similarity index 100% rename from app/assets/frontend/src/module/start.js rename to frontend/src/module/start.js diff --git a/app/assets/frontend/src/module/util.js b/frontend/src/module/util.js similarity index 100% rename from app/assets/frontend/src/module/util.js rename to frontend/src/module/util.js diff --git a/app/assets/frontend/src/style/components.css b/frontend/src/style/components.css similarity index 100% rename from app/assets/frontend/src/style/components.css rename to frontend/src/style/components.css