@galadrim/galadmin 0.1.98 → 0.1.100
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/api.js +24 -4
- package/dist/api.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/api.ts +26 -4
- package/src/front/build/asset-manifest.json +3 -3
- package/src/front/build/index.html +1 -1
- package/src/front/build/static/js/{main.bcdd7d54.js → main.32c8043a.js} +3 -3
- package/src/front/build/static/js/{main.bcdd7d54.js.map → main.32c8043a.js.map} +1 -1
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/6c24720cba0d9eb6aba5513247130b46e5a156800ceb52683c177a16b4acf6b3.json +1 -0
- package/src/front/src/components/UploadTablePanelButton.js +0 -1
- package/src/front/node_modules/.cache/babel-loader/f5dfc8698e0ac03af6afccb4d56d01a53b2e1888e2c9dbca59485ed1864356e2.json +0 -1
- /package/src/front/build/static/js/{main.bcdd7d54.js.LICENSE.txt → main.32c8043a.js.LICENSE.txt} +0 -0
package/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -298,6 +298,29 @@ export default (db, config, user) => {
|
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
|
|
301
|
+
function formatValueForInsertion(value: any) {
|
|
302
|
+
if (value !== 0 && !value) {
|
|
303
|
+
return "NULL"
|
|
304
|
+
}
|
|
305
|
+
if (value instanceof Date) {
|
|
306
|
+
return value.toISOString()
|
|
307
|
+
}
|
|
308
|
+
if (typeof value === "string") {
|
|
309
|
+
return "'" + value.replace(/'/g, "\\'") + "'"
|
|
310
|
+
}
|
|
311
|
+
if (typeof value === "object") {
|
|
312
|
+
return "'" + JSON.stringify(value).replace(/'/g, "\\'") + "'"
|
|
313
|
+
}
|
|
314
|
+
if (typeof value === "boolean") {
|
|
315
|
+
return value ? "TRUE" : "FALSE"
|
|
316
|
+
}
|
|
317
|
+
if (typeof value === "number") {
|
|
318
|
+
return value
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
return value
|
|
322
|
+
}
|
|
323
|
+
|
|
301
324
|
app.post('/recordsExport', async function (req, res) {
|
|
302
325
|
const view = config.views[req.body.viewIndex];
|
|
303
326
|
const { rows: records, error } = await getRecords({
|
|
@@ -379,7 +402,7 @@ export default (db, config, user) => {
|
|
|
379
402
|
|
|
380
403
|
let queryString = "INSERT INTO ?? (" + columns.map(x => "`" + x + "`").join(", ") + ") VALUES";
|
|
381
404
|
for (let record of records) {
|
|
382
|
-
queryString += " (" + columns.map(x =>
|
|
405
|
+
queryString += " (" + columns.map(x => formatValueForInsertion(record[x])).join(", ") + "),";
|
|
383
406
|
}
|
|
384
407
|
queryString = queryString.slice(0, -1) + " ON DUPLICATE KEY UPDATE";
|
|
385
408
|
for (let column of columns) {
|
|
@@ -439,15 +462,14 @@ export default (db, config, user) => {
|
|
|
439
462
|
}
|
|
440
463
|
}
|
|
441
464
|
|
|
442
|
-
let queryString = "INSERT INTO ?? (" + panel.createConfig.recordIdKey + "
|
|
465
|
+
let queryString = "INSERT INTO ?? (`" + panel.createConfig.recordIdKey + "`, " +columns.map(x => "`" + x + "`").join(", ") + ") VALUES";
|
|
443
466
|
for (let record of records) {
|
|
444
|
-
queryString += " (" + fields.recordId[0] + ", " + columns.map(x =>
|
|
467
|
+
queryString += " (" + fields.recordId[0] + ", " + columns.map(x => formatValueForInsertion(record[x])).join(", ") + "),";
|
|
445
468
|
}
|
|
446
469
|
queryString = queryString.slice(0, -1) + " ON DUPLICATE KEY UPDATE";
|
|
447
470
|
for (let column of columns) {
|
|
448
471
|
queryString += " `" + column + "` = VALUES(`" + column + "`),"
|
|
449
472
|
}
|
|
450
|
-
console.log(queryString)
|
|
451
473
|
const { err, rows: r } = await db.query(queryString.slice(0, -1), [panel.tableName])
|
|
452
474
|
if (err) {
|
|
453
475
|
console.error(err)
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/_HOMEPAGE_/static/css/main.f5549e80.css",
|
|
4
|
-
"main.js": "/_HOMEPAGE_/static/js/main.
|
|
4
|
+
"main.js": "/_HOMEPAGE_/static/js/main.32c8043a.js",
|
|
5
5
|
"static/media/gt-eesti-medium.woff": "/_HOMEPAGE_/static/media/gt-eesti-medium.a48c02fa57e83ab6ddcd.woff",
|
|
6
6
|
"static/media/gt-eesti-regular.woff": "/_HOMEPAGE_/static/media/gt-eesti-regular.304a7ae06ee4a4d5d04a.woff",
|
|
7
7
|
"static/media/logo.png": "/_HOMEPAGE_/static/media/logo.e407b9ca7e302466a07d.png",
|
|
8
8
|
"static/media/cubano.woff": "/_HOMEPAGE_/static/media/cubano.4eaa47ef94222121a371.woff",
|
|
9
9
|
"index.html": "/_HOMEPAGE_/index.html",
|
|
10
10
|
"main.f5549e80.css.map": "/_HOMEPAGE_/static/css/main.f5549e80.css.map",
|
|
11
|
-
"main.
|
|
11
|
+
"main.32c8043a.js.map": "/_HOMEPAGE_/static/js/main.32c8043a.js.map"
|
|
12
12
|
},
|
|
13
13
|
"entrypoints": [
|
|
14
14
|
"static/css/main.f5549e80.css",
|
|
15
|
-
"static/js/main.
|
|
15
|
+
"static/js/main.32c8043a.js"
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="fr"><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script><script src="https://momentjs.com/downloads/moment-timezone-with-data-10-year-range.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/fr.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/datepicker.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/i18n/datepicker.fr.min.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script><script async="async" defer="defer" src="https://cdn.jsdelivr.net/npm/sweetalert"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.min.js"></script><script src="https://sdk.amazonaws.com/js/aws-sdk-2.606.0.min.js"></script><script src="https://kit.fontawesome.com/75b28933ed.js" crossorigin="anonymous" async="async" defer="defer"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/css/datepicker.min.css"/><link rel="stylesheet" href="/_HOMEPAGE_/spectrum.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.snow.min.css"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta charset="utf-8"/><link rel="icon" href="/_HOMEPAGE_/favicon.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/_HOMEPAGE_/manifest.json"/><title>Back-office</title><script defer="defer" src="/_HOMEPAGE_/static/js/main.
|
|
1
|
+
<!doctype html><html lang="fr"><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script><script src="https://momentjs.com/downloads/moment-timezone-with-data-10-year-range.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/fr.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/datepicker.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/i18n/datepicker.fr.min.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script><script async="async" defer="defer" src="https://cdn.jsdelivr.net/npm/sweetalert"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.min.js"></script><script src="https://sdk.amazonaws.com/js/aws-sdk-2.606.0.min.js"></script><script src="https://kit.fontawesome.com/75b28933ed.js" crossorigin="anonymous" async="async" defer="defer"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/css/datepicker.min.css"/><link rel="stylesheet" href="/_HOMEPAGE_/spectrum.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.snow.min.css"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta charset="utf-8"/><link rel="icon" href="/_HOMEPAGE_/favicon.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/_HOMEPAGE_/manifest.json"/><title>Back-office</title><script defer="defer" src="/_HOMEPAGE_/static/js/main.32c8043a.js"></script><link href="/_HOMEPAGE_/static/css/main.f5549e80.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|