@saltcorn/server 1.1.2-beta.18 → 1.1.2-beta.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/server",
3
- "version": "1.1.2-beta.18",
3
+ "version": "1.1.2-beta.19",
4
4
  "description": "Server app for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "main": "index.js",
@@ -8,14 +8,14 @@
8
8
  "dependencies": {
9
9
  "@aws-sdk/client-s3": "^3.735.0",
10
10
  "@dr.pogodin/csurf": "^1.14.1",
11
- "@saltcorn/base-plugin": "1.1.2-beta.18",
12
- "@saltcorn/builder": "1.1.2-beta.18",
13
- "@saltcorn/data": "1.1.2-beta.18",
14
- "@saltcorn/admin-models": "1.1.2-beta.18",
15
- "@saltcorn/filemanager": "1.1.2-beta.18",
16
- "@saltcorn/markup": "1.1.2-beta.18",
17
- "@saltcorn/plugins-loader": "1.1.2-beta.18",
18
- "@saltcorn/sbadmin2": "1.1.2-beta.18",
11
+ "@saltcorn/base-plugin": "1.1.2-beta.19",
12
+ "@saltcorn/builder": "1.1.2-beta.19",
13
+ "@saltcorn/data": "1.1.2-beta.19",
14
+ "@saltcorn/admin-models": "1.1.2-beta.19",
15
+ "@saltcorn/filemanager": "1.1.2-beta.19",
16
+ "@saltcorn/markup": "1.1.2-beta.19",
17
+ "@saltcorn/plugins-loader": "1.1.2-beta.19",
18
+ "@saltcorn/sbadmin2": "1.1.2-beta.19",
19
19
  "@socket.io/cluster-adapter": "^0.2.1",
20
20
  "@socket.io/sticky": "^1.0.1",
21
21
  "adm-zip": "0.5.16",
@@ -164,13 +164,15 @@ function delete_tabulator_row(e, cell) {
164
164
  def?.formatterParams?.tableName || window.tabulator_table_name;
165
165
 
166
166
  const row = cell.getRow().getData();
167
- if (!row.id) {
167
+
168
+ const pk_name = window.tabulator_table_primary_key || "id";
169
+ if (!row[pk_name]) {
168
170
  cell.getRow().delete();
169
171
  return;
170
172
  }
171
173
  $.ajax({
172
174
  type: "DELETE",
173
- url: `/api/${tableName}/${row.id}`,
175
+ url: `/api/${tableName}/${row[pk_name]}`,
174
176
  data: row, // to process primary keys different from id
175
177
  headers: {
176
178
  "CSRF-Token": _sc_globalCsrf,
package/routes/api.js CHANGED
@@ -78,8 +78,8 @@ function accessAllowedRead(req, user, table, allow_ownership) {
78
78
  req.user && req.user.id
79
79
  ? req.user.role_id
80
80
  : user && user.role_id
81
- ? user.role_id
82
- : 100;
81
+ ? user.role_id
82
+ : 100;
83
83
 
84
84
  return (
85
85
  role <= table.min_role_read ||
@@ -101,8 +101,8 @@ function accessAllowedWrite(req, user, table) {
101
101
  req.user && req.user.id
102
102
  ? req.user.role_id
103
103
  : user && user.role_id
104
- ? user.role_id
105
- : 100;
104
+ ? user.role_id
105
+ : 100;
106
106
 
107
107
  return (
108
108
  role <= table.min_role_write ||
@@ -122,8 +122,8 @@ function accessAllowed(req, user, trigger) {
122
122
  req.user && req.user.id
123
123
  ? req.user.role_id
124
124
  : user && user.role_id
125
- ? user.role_id
126
- : 100;
125
+ ? user.role_id
126
+ : 100;
127
127
 
128
128
  return role <= trigger.min_role;
129
129
  }
@@ -397,8 +397,8 @@ router.get(
397
397
  const derefs = Array.isArray(dereference)
398
398
  ? dereference
399
399
  : !dereference
400
- ? []
401
- : [dereference];
400
+ ? []
401
+ : [dereference];
402
402
  derefs.forEach((f) => {
403
403
  const field = table.getField(f);
404
404
  if (field?.attributes?.summary_field)
@@ -701,7 +701,7 @@ router.delete(
701
701
  );
702
702
  } else
703
703
  await table.deleteRows(
704
- { id },
704
+ { [table.pk_name]: id },
705
705
  user || req.user || { role_id: 100 }
706
706
  );
707
707
  res.json({ success: true });
package/routes/list.js CHANGED
@@ -402,6 +402,7 @@ router.get(
402
402
  col[k] = window[v.substring(2)];
403
403
  })
404
404
  })
405
+ window.tabulator_table_primary_key = "${table.pk_name}";
405
406
  window.tabulator_table = new Tabulator("#jsGrid", {
406
407
  ajaxURL:"/api/${encodeURIComponent(
407
408
  table.name
@@ -421,7 +422,7 @@ router.get(
421
422
  ajaxContentType:"json",
422
423
  sortMode:"remote",
423
424
  initialSort:[
424
- {column:"id", dir:"asc"},
425
+ {column:"${table.pk_name}", dir:"asc"},
425
426
  ],
426
427
  });
427
428
  window.tabulator_table.on("cellEdited", function(cell){