simple-images-upload/src/middleware/Pages.js
2023-09-23 20:54:44 +02:00

61 lines
1.3 KiB
JavaScript

// import moment from 'moment';
import config from '../config';
import {getBaseUrl} from '../helpers';
/**
* Classe permettant de gérer les page du back office
*/
class Pages {
/**
* @param {Object} req
* @param {String} viewname
*/
constructor(req, viewname) {
this.req = req;
this.pageContent = {
page: {
title: null,
user: req.user || {},
header: 'partials/header',
},
viewname: `pages/${viewname}`,
baseUrl: getBaseUrl(req),
currentPage: req.originalUrl.split('?')[0],
// moment,
};
this.user = null;
this.pagename = viewname;
if (req.session && req.session.passport && req.session.passport.user) {
this.user = req.session.passport.user;
}
if (!req.query.page) {
req.query.page = 1;
}
if (!req.query.limit) {
req.query.limit = config.pagination;
}
}
/**
* Rendu de la page
* @return {Object}
*/
render() {
this.pageContent.session = this.req.session;
this.pageContent.query = this.req.query;
this.pageContent.params = this.req.params;
this.pageContent.user = this.user;
this.pageContent.pagename = this.pagename;
this.pageContent.messages = this.req.session.messages;
this.req.session.messages = [];
return this.pageContent;
}
}
module.exports = Pages;