summaryrefslogtreecommitdiff
path: root/src/controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller.js')
-rw-r--r--src/controller.js92
1 files changed, 67 insertions, 25 deletions
diff --git a/src/controller.js b/src/controller.js
index 9d81baf..1f46db5 100644
--- a/src/controller.js
+++ b/src/controller.js
@@ -1,5 +1,10 @@
const buildPages = require('./buildpages')
-// ! Maybe write a library to create html elements
+const routes = require('./routes')()
+const routesConfig = require('../config/routes')
+const database = require('../config/database')
+const {on} = require('nodemailer/lib/xoauth2')
+const template = require('../template/template')
+let buildpages = null
class Controller {
constructor(data) {
@@ -8,17 +13,62 @@ class Controller {
req: data.req,
res: data.res
}
- this.buildPages = buildPages({
+
+ buildpages = buildPages({
baseURL: data.baseURL,
routes: new Map()
})
+ buildpages = buildpages.build
+
+ this.routes = buildPages.routes
+ this.buildPages = buildPages.build
+
+ this.app = data.app
+
+ this.addRoute = this.#SetupRoutes({
+ app: data.app,
+ validateCookie: data.validateCookie,
+ log: data.log,
+ mime: data.mime,
+ session: data.session,
+ logger: data.logger,
+ database: database
+ }).addRoute
+
+ /*
+ const temp = this.#GetRoutes({
+ validateCookie: data.validateCookie,
+ log: data.log,
+ mime: data.mime,
+ session: data.session
+ })
+ */
}
Init(data) {
const template = this.#GetTemplate(data)
- return template
+ //console.log(template)
+
+ return {template: template}
+ }
+ RoutesTemplate(data) {
+ const inputData = data
+ const template = this.#GetTemplate(inputData)
+ return {template: template}
}
+ #SetupRoutes(data) {
+ return routesConfig({
+ app: data.app,
+ validateCookie: data.validateCookie,
+ log: data.log,
+ mime: data.mime,
+ session: data.session,
+ template: this.#GetTemplate,
+ database: data.database
+ })
+ }
+ #IsAsync(x) {return buildpages.IsAsync(x)}
#GetTemplate(data) {
const query = new Map()
Object.entries(data.req.query).forEach(([key, value]) => {
@@ -33,8 +83,13 @@ class Controller {
object.path = data.path
object.query = query
object.baseURL = data.baseURL
-
- const output = JSON.stringify(this.buildPages.Build(object))
+ object.routeData = {
+ routes: routes.GetPages()
+ }
+ object.database = database
+
+ const output = (buildpages.Build(object))
+
return output
} else {
object.req = data.req
@@ -42,28 +97,15 @@ class Controller {
object.path = data.path
object.query = null
object.baseURL = data.baseURL
-
- return this.buildPages.Template(object)
- }
- }
- #GetRoutes() {
- // ! Check if output is a `Map()`
- const moduleObject = require(path.resolve(`${__dirname}/../config/routes`))
- return moduleObject
- /*
- fs.readdirSync(path.resolve(`${__dirname}`))
-
- const object = {
- modulesDir: path.resolve(`${__dirname}/../routes`),
- map: new Map()
+ object.routeData = {
+ routes: routes.GetPages(),
+ }
+ object.database = database
+
+ return buildpages.Template(object)
}
- object.files = fs.readdirSync(object.modulesDir).filter(file => file.endsWith('.js'))
- const routes = new Map()
-
-
- return
- */
}
+ //#GetRoutes(data) {const allRoutes = routes.GetAllPages()}
}
module.exports = (x) => {return new Controller(x)}