2020-02-09 05:29:10 +00:00
|
|
|
const Controller = require('libflitter/controller/Controller');
|
2020-02-08 01:50:10 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Home Controller
|
|
|
|
* -------------------------------------------------------------
|
|
|
|
* Controller for the main homepage of this Flitter app. Methods here
|
|
|
|
* are used as handlers for routes specified in the route files.
|
|
|
|
*/
|
|
|
|
class Home extends Controller {
|
2020-10-13 01:31:57 +00:00
|
|
|
static get services() {
|
|
|
|
return [...super.services, 'configs'];
|
2020-10-06 01:32:11 +00:00
|
|
|
}
|
|
|
|
|
2020-02-08 01:50:10 +00:00
|
|
|
/*
|
2020-10-13 01:31:57 +00:00
|
|
|
* Serve the main welcome page.
|
2020-02-08 01:50:10 +00:00
|
|
|
*/
|
2020-10-13 01:31:57 +00:00
|
|
|
welcome(req, res) {
|
|
|
|
if (req.user) {
|
|
|
|
// If we have a user, redirect them to the main app
|
|
|
|
return res.redirect('/i')
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Return the welcome view.
|
|
|
|
* The page() method is added by Flitter and passes some
|
|
|
|
* helpful contextual data to the view as well.
|
|
|
|
*/
|
|
|
|
return res.page('welcome', { user: req.user });
|
|
|
|
}
|
|
|
|
|
|
|
|
async get_login(req, res) {
|
|
|
|
const AppName = this.configs.get('app.name');
|
|
|
|
return res.page('login', { AppName });
|
|
|
|
}
|
|
|
|
|
|
|
|
toApp(req, res) {
|
|
|
|
return res.redirect('/i');
|
|
|
|
}
|
|
|
|
|
|
|
|
async get_stat(req, res, next) {
|
|
|
|
return res.api({
|
|
|
|
noded: true,
|
|
|
|
app_name: this.configs.get('app.name'),
|
|
|
|
system_base: this.configs.get('app.url'),
|
|
|
|
authenticated_user: !!req.user,
|
2020-11-11 18:23:31 +00:00
|
|
|
public_user: !!req?.user?.is_public_user(),
|
2020-10-13 01:31:57 +00:00
|
|
|
})
|
|
|
|
}
|
2020-02-08 01:50:10 +00:00
|
|
|
}
|
|
|
|
|
2020-02-09 05:29:10 +00:00
|
|
|
module.exports = Home;
|