@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.
@@ -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 => console.log('error evaluating handle in puppeteer', err))
96
- }, err => console.log('error setting content in puppeteer', err))
97
- }, err => console.log('error setting user agent in puppeteer', err))
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
- basket.meta = JSON.parse(basket.meta)
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
- const sql = `
223
- UPDATE ${req.params.basketCompare} SET complete = ${basket.complete}, items = '${JSON.stringify(basket.items)}', meta = '${JSONSafeWrite(JSON.stringify(basket.meta))}' WHERE userid = '${req.session.user.id}'
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'"])/g, '\\\\').replace(/\t/g, '')
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'"])/g, '\\\\').replace(/\t/g, '')
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 () {