@websy/websy-designs 1.3.0 → 1.3.2
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/pdfHelper.js +13 -4
- package/dist/server/routes/v1/shop.js +52 -15
- package/dist/websy-designs-es6.debug.js +154 -62
- package/dist/websy-designs-es6.js +168 -60
- package/dist/websy-designs-es6.min.js +1 -1
- package/dist/websy-designs.debug.js +154 -62
- package/dist/websy-designs.js +168 -60
- package/dist/websy-designs.min.css +1 -1
- package/dist/websy-designs.min.js +1 -1
- package/package.json +1 -1
|
@@ -81,7 +81,7 @@ let convertHTMLToPDF = (html, name, callback, options_in = null, displayHeaderFo
|
|
|
81
81
|
// page.on('request', request => request.continue())
|
|
82
82
|
// })
|
|
83
83
|
page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36').then(() => {
|
|
84
|
-
page.setContent(html, {waitUntil: ['load', 'domcontentloaded', 'networkidle2', 'networkidle0']}).then(() => {
|
|
84
|
+
page.setContent(html, {waitUntil: process.env.PDF_WAIT_FOR || ['load', 'domcontentloaded', 'networkidle2', 'networkidle0']}).then(() => {
|
|
85
85
|
page.evaluateHandle('document.fonts.ready').then(() => {
|
|
86
86
|
report.pdfPage(page, options).then(pdf => {
|
|
87
87
|
browser.close()
|
|
@@ -92,9 +92,18 @@ let convertHTMLToPDF = (html, name, callback, options_in = null, displayHeaderFo
|
|
|
92
92
|
browser.close()
|
|
93
93
|
callback(error)
|
|
94
94
|
})
|
|
95
|
-
}, err =>
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
}, err => {
|
|
96
|
+
console.log('error evaluating handle in puppeteer', err)
|
|
97
|
+
callback(err)
|
|
98
|
+
})
|
|
99
|
+
}, err => {
|
|
100
|
+
console.log('error setting content in puppeteer', err)
|
|
101
|
+
callback(err)
|
|
102
|
+
})
|
|
103
|
+
}, err => {
|
|
104
|
+
console.log('error setting user agent in puppeteer', err)
|
|
105
|
+
callback(err)
|
|
106
|
+
})
|
|
98
107
|
// page.goto(process.env.PDF_PAGE || 'http://localhost:4000', {waitUntil: ['load', 'domcontentloaded', 'networkidle2', 'networkidle0']}).then(gotoResponse => {
|
|
99
108
|
// page.setViewport({width: 1500, height: 2000, deviceScaleFactor: 1}).then(() => {
|
|
100
109
|
// options.path = `${process.env.APP_ROOT}/pdf/${pdfId}.pdf`
|
|
@@ -52,9 +52,11 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
52
52
|
getBasket(req).then(basket => {
|
|
53
53
|
basket.items[basketItemId] = req.body
|
|
54
54
|
if (req.session && req.session.user) {
|
|
55
|
-
saveBasket(req, basket).then(() => {
|
|
55
|
+
saveBasket(req, basket, 'items').then(() => {
|
|
56
56
|
basket.items = Object.values(basket.items)
|
|
57
57
|
res.json(basket)
|
|
58
|
+
}, err => {
|
|
59
|
+
res.json({err})
|
|
58
60
|
})
|
|
59
61
|
}
|
|
60
62
|
else {
|
|
@@ -71,6 +73,8 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
71
73
|
saveBasket(req, basket).then(() => {
|
|
72
74
|
basket.items = Object.values(basket.items)
|
|
73
75
|
res.json(basket)
|
|
76
|
+
}, err => {
|
|
77
|
+
res.json({err})
|
|
74
78
|
})
|
|
75
79
|
}
|
|
76
80
|
else {
|
|
@@ -84,9 +88,11 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
84
88
|
getBasket(req).then(basket => {
|
|
85
89
|
basket.meta = req.body
|
|
86
90
|
if (req.session && req.session.user) {
|
|
87
|
-
saveBasket(req, basket).then(() => {
|
|
91
|
+
saveBasket(req, basket, 'meta').then(() => {
|
|
88
92
|
basket.items = Object.values(basket.items)
|
|
89
93
|
res.json(basket)
|
|
94
|
+
}, err => {
|
|
95
|
+
res.json({err})
|
|
90
96
|
})
|
|
91
97
|
}
|
|
92
98
|
else {
|
|
@@ -105,9 +111,11 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
105
111
|
basket.items[basketItemId] = req.body
|
|
106
112
|
}
|
|
107
113
|
if (req.session && req.session.user) {
|
|
108
|
-
saveBasket(req, basket).then(() => {
|
|
114
|
+
saveBasket(req, basket, 'items').then(() => {
|
|
109
115
|
basket.items = Object.values(basket.items)
|
|
110
116
|
res.json(basket)
|
|
117
|
+
}, err => {
|
|
118
|
+
res.json({err})
|
|
111
119
|
})
|
|
112
120
|
}
|
|
113
121
|
else {
|
|
@@ -120,9 +128,11 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
120
128
|
getBasket(req).then(basket => {
|
|
121
129
|
basket.meta = req.body
|
|
122
130
|
if (req.session && req.session.user) {
|
|
123
|
-
saveBasket(req, basket).then(() => {
|
|
131
|
+
saveBasket(req, basket, 'meta').then(() => {
|
|
124
132
|
basket.items = Object.values(basket.items)
|
|
125
133
|
res.json(basket)
|
|
134
|
+
}, err => {
|
|
135
|
+
res.json({err})
|
|
126
136
|
})
|
|
127
137
|
}
|
|
128
138
|
else {
|
|
@@ -136,9 +146,11 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
136
146
|
getBasket(req).then(basket => {
|
|
137
147
|
delete basket.items[basketItemId]
|
|
138
148
|
if (req.session && req.session.user) {
|
|
139
|
-
saveBasket(req, basket).then(() => {
|
|
149
|
+
saveBasket(req, basket, 'items').then(() => {
|
|
140
150
|
basket.items = Object.values(basket.items)
|
|
141
151
|
res.json(basket)
|
|
152
|
+
}, err => {
|
|
153
|
+
res.json({err})
|
|
142
154
|
})
|
|
143
155
|
}
|
|
144
156
|
else {
|
|
@@ -152,9 +164,11 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
152
164
|
basket.items = {}
|
|
153
165
|
basket.meta = {}
|
|
154
166
|
if (req.session && req.session.user) {
|
|
155
|
-
saveBasket(req, basket).then(() => {
|
|
167
|
+
saveBasket(req, basket, 'items').then(() => {
|
|
156
168
|
basket.items = []
|
|
157
169
|
res.json(basket)
|
|
170
|
+
}, err => {
|
|
171
|
+
res.json({err})
|
|
158
172
|
})
|
|
159
173
|
}
|
|
160
174
|
else {
|
|
@@ -180,16 +194,21 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
180
194
|
basket.items = JSON.parse(basket.items)
|
|
181
195
|
}
|
|
182
196
|
else {
|
|
183
|
-
basket.items =
|
|
197
|
+
basket.items = {}
|
|
184
198
|
}
|
|
185
199
|
}
|
|
186
200
|
try {
|
|
187
201
|
basket.meta = JSON.parse(JSONSafeRead(basket.meta))
|
|
188
202
|
}
|
|
189
203
|
catch (error) {
|
|
190
|
-
console.log('data got saved incorrectly')
|
|
204
|
+
// console.log('data got saved incorrectly')
|
|
191
205
|
if (basket.meta) {
|
|
192
|
-
|
|
206
|
+
try {
|
|
207
|
+
basket.meta = JSON.parse(basket.meta)
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
//
|
|
211
|
+
}
|
|
193
212
|
}
|
|
194
213
|
else {
|
|
195
214
|
basket.meta = {}
|
|
@@ -208,8 +227,8 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
208
227
|
})
|
|
209
228
|
}
|
|
210
229
|
|
|
211
|
-
function saveBasket (req, basket) {
|
|
212
|
-
return new Promise((resolve, reject) => {
|
|
230
|
+
function saveBasket (req, basket, itemsMeta) {
|
|
231
|
+
return new Promise((resolve, reject) => {
|
|
213
232
|
const checkSql = `
|
|
214
233
|
SELECT COUNT(*) as count FROM ${req.params.basketCompare} WHERE userid = '${req.session.user.id}'
|
|
215
234
|
`
|
|
@@ -219,9 +238,19 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
219
238
|
dbHelper.execute(checkSql).then(result => {
|
|
220
239
|
if (result.rows.length > 0 && result.rows[0].count > 0) {
|
|
221
240
|
// update
|
|
222
|
-
|
|
223
|
-
UPDATE ${req.params.basketCompare} SET complete = ${basket.complete}
|
|
241
|
+
let sql = `
|
|
242
|
+
UPDATE ${req.params.basketCompare} SET complete = ${basket.complete}
|
|
224
243
|
`
|
|
244
|
+
if (itemsMeta === 'items') {
|
|
245
|
+
for (let key in basket.items) {
|
|
246
|
+
basket.items[key] = sanitizeItem(basket.items[key])
|
|
247
|
+
}
|
|
248
|
+
sql += `, items = '${JSON.stringify(basket.items)}' `
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
sql += `, meta = '${JSONSafeWrite(JSON.stringify(basket.meta))}' `
|
|
252
|
+
}
|
|
253
|
+
sql += `WHERE userid = '${req.session.user.id}'`
|
|
225
254
|
dbHelper.execute(sql).then(result => {
|
|
226
255
|
resolve()
|
|
227
256
|
}, err => reject(err))
|
|
@@ -240,10 +269,18 @@ function ShopRoutes (dbHelper, engine, app) {
|
|
|
240
269
|
}
|
|
241
270
|
|
|
242
271
|
function JSONSafeWrite (v) {
|
|
243
|
-
return v.replace(/'/g, '\'\'').replace(/\\(?=[bfnrtv0'
|
|
272
|
+
return v.replace(/'/g, '\'\'').replace(/\\(?=[bfnrtv0'])/g, '\\\\').replace(/\t/g, '')
|
|
244
273
|
}
|
|
245
274
|
function JSONSafeRead (v) {
|
|
246
|
-
return v.replace(/''/g, '\'').replace(/\\(?=[^bfnrtv0'
|
|
275
|
+
return v.replace(/''/g, '\'').replace(/\\(?=[^bfnrtv0'])/g, '\\\\').replace(/\t/g, '')
|
|
276
|
+
}
|
|
277
|
+
function sanitizeItem (item) {
|
|
278
|
+
for (let key in item) {
|
|
279
|
+
if (typeof item[key] === 'string') {
|
|
280
|
+
item[key] = item[key].replace(/"/g, '\\"')
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return item
|
|
247
284
|
}
|
|
248
285
|
|
|
249
286
|
function readyCallback () {
|