@websy/websy-designs 0.0.127 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/helpers/v1/pgHelper.js +39 -3
- package/dist/server/routes/v1/api.js +3 -2
- package/dist/server/websy-designs-server.js +17 -2
- package/dist/websy-designs.debug.js +2923 -2089
- package/dist/websy-designs.js +2647 -1654
- package/dist/websy-designs.min.css +1 -1
- package/dist/websy-designs.min.js +1 -1
- package/package.json +1 -1
|
@@ -39,7 +39,19 @@ const sql = {
|
|
|
39
39
|
createdate timestamp without time zone DEFAULT now(),
|
|
40
40
|
editdate timestamp without time zone DEFAULT now()
|
|
41
41
|
);
|
|
42
|
-
|
|
42
|
+
`,
|
|
43
|
+
sessions: `
|
|
44
|
+
CREATE TABLE "sessions" (
|
|
45
|
+
"sid" varchar NOT NULL COLLATE "default",
|
|
46
|
+
"sess" json NOT NULL,
|
|
47
|
+
"expire" timestamp(6) NOT NULL
|
|
48
|
+
)
|
|
49
|
+
WITH (OIDS=FALSE);
|
|
50
|
+
|
|
51
|
+
ALTER TABLE "sessions" ADD CONSTRAINT "sessions_pkey" PRIMARY KEY ("sid") NOT DEFERRABLE INITIALLY IMMEDIATE;
|
|
52
|
+
|
|
53
|
+
CREATE INDEX "IDX_sessions_expire" ON "sessions" ("expire");
|
|
54
|
+
`
|
|
43
55
|
}
|
|
44
56
|
|
|
45
57
|
class PGHelper {
|
|
@@ -203,7 +215,9 @@ class PGHelper {
|
|
|
203
215
|
}
|
|
204
216
|
checkTables () {
|
|
205
217
|
this.createContentTable().then(() => {
|
|
206
|
-
this.createTranslationTable()
|
|
218
|
+
this.createTranslationTable().then(() => {
|
|
219
|
+
this.createSessionTable()
|
|
220
|
+
})
|
|
207
221
|
})
|
|
208
222
|
}
|
|
209
223
|
createContentTable () {
|
|
@@ -223,6 +237,28 @@ class PGHelper {
|
|
|
223
237
|
})
|
|
224
238
|
})
|
|
225
239
|
}
|
|
240
|
+
createSessionTable () {
|
|
241
|
+
return new Promise((resolve, reject) => {
|
|
242
|
+
if (process.env.SESSION_TABLE) {
|
|
243
|
+
resolve()
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
this.execute(`
|
|
247
|
+
SELECT COUNT(*) AS tableexists FROM information_schema.tables
|
|
248
|
+
WHERE table_name = 'sessions'
|
|
249
|
+
`).then(result => {
|
|
250
|
+
if (result.rows && result.rows[0] && +result.rows[0].tableexists === 0) {
|
|
251
|
+
this.execute(sql.sessions).then(() => {
|
|
252
|
+
resolve()
|
|
253
|
+
})
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
resolve()
|
|
257
|
+
}
|
|
258
|
+
})
|
|
259
|
+
}
|
|
260
|
+
})
|
|
261
|
+
}
|
|
226
262
|
createTranslationTable () {
|
|
227
263
|
return new Promise((resolve, reject) => {
|
|
228
264
|
this.execute(`
|
|
@@ -239,7 +275,7 @@ class PGHelper {
|
|
|
239
275
|
}
|
|
240
276
|
})
|
|
241
277
|
})
|
|
242
|
-
}
|
|
278
|
+
}
|
|
243
279
|
execute (query) {
|
|
244
280
|
console.log(query)
|
|
245
281
|
return new Promise((resolve, reject) => {
|
|
@@ -14,7 +14,7 @@ function APIRoutes (dbHelper) {
|
|
|
14
14
|
dbHelper.execute(sql).then(response => res.json(response), err => res.json(err))
|
|
15
15
|
})
|
|
16
16
|
router.get('/:entity/:id', (req, res) => {
|
|
17
|
-
let lang =
|
|
17
|
+
let lang = process.env.DEFAULT_LANGUAGE
|
|
18
18
|
if (req.session && req.session.language && req.query.notranslate !== 'true') {
|
|
19
19
|
lang = req.session.language
|
|
20
20
|
}
|
|
@@ -24,10 +24,11 @@ function APIRoutes (dbHelper) {
|
|
|
24
24
|
}, err => res.json(err))
|
|
25
25
|
})
|
|
26
26
|
router.get('/:entity', (req, res) => {
|
|
27
|
-
let lang =
|
|
27
|
+
let lang = process.env.DEFAULT_LANGUAGE
|
|
28
28
|
if (req.session && req.session.language && req.query.notranslate !== 'true') {
|
|
29
29
|
lang = req.session.language
|
|
30
30
|
}
|
|
31
|
+
console.log(`lang is ${lang}`)
|
|
31
32
|
const sql = dbHelper.buildSelect(req.params.entity, req.query, req.query.columns, lang)
|
|
32
33
|
dbHelper.execute(sql).then(response => {
|
|
33
34
|
res.json(translate(response))
|
|
@@ -3,6 +3,7 @@ const bodyParser = require('body-parser')
|
|
|
3
3
|
// const cookie = require('cookie')
|
|
4
4
|
const cookieParser = require('cookie-parser')
|
|
5
5
|
const expressSession = require('express-session')
|
|
6
|
+
const { log } = require('grunt')
|
|
6
7
|
// const sessionHelper = require('./helpers/v1/sessionHelper')
|
|
7
8
|
// const DBSession = require(process.env.EXPRESS_SESSION_CONNECT)(expressSession)
|
|
8
9
|
|
|
@@ -96,7 +97,7 @@ module.exports = function (options) {
|
|
|
96
97
|
DBSession = require('connect-pg-simple')(expressSession)
|
|
97
98
|
store = new DBSession({
|
|
98
99
|
pool: dbHelper.pool, // Connection pool, need to make dynamic to accommodate mySql
|
|
99
|
-
tableName: 'sessions' // Use another table-name than the default "session" one
|
|
100
|
+
tableName: process.env.SESSION_TABLE || 'sessions' // Use another table-name than the default "session" one
|
|
100
101
|
})
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -107,7 +108,21 @@ module.exports = function (options) {
|
|
|
107
108
|
cookie: cookieConfig,
|
|
108
109
|
name: process.env.COOKIE_NAME,
|
|
109
110
|
store: store
|
|
110
|
-
})))
|
|
111
|
+
})))
|
|
112
|
+
if (process.env.TRANSLATE === true || process.env.TRANSLATE === 'true') {
|
|
113
|
+
app.use((req, res, next) => {
|
|
114
|
+
console.log(req.session)
|
|
115
|
+
if (req.query.lang && req.session) {
|
|
116
|
+
req.session.language = req.query.lang
|
|
117
|
+
req.session.save(() => {
|
|
118
|
+
next()
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
next()
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
}
|
|
111
126
|
if (options.uses && Array.isArray(options.uses)) {
|
|
112
127
|
try {
|
|
113
128
|
options.uses.forEach(u => app.use(u))
|