@opengis/fastify-table 2.5.53 → 2.5.55
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/plugins/table/funcs/getFilterSQLParametrized/formatValue.d.ts.map +1 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/formatValue.js +6 -2
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.d.ts.map +1 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.js +2 -6
- package/dist/server/routes/access/schema.d.ts.map +1 -1
- package/dist/server/routes/access/schema.js +22 -2
- package/dist/server/routes/file/index.d.ts.map +1 -1
- package/dist/server/routes/file/index.js +3 -1
- package/dist/server/routes/table/controllers/suggest.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/suggest.js +2 -1
- package/dist/server/routes/table/functions/getData.js +1 -1
- package/dist/server/routes/table/schema.d.ts.map +1 -1
- package/dist/server/routes/table/schema.js +6 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatValue.d.ts","sourceRoot":"","sources":["../../../../../../server/plugins/table/funcs/getFilterSQLParametrized/formatValue.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,EACE,KAAK,EACL,MAAW,EACX,IAAI,EACJ,KAAK,EACL,UAAU,EACV,GAAS,EACT,QAAQ,EACR,IAAI,EAAE,UAAU,GACjB,EAAE,GAAG,EACN,EAAE,MAAmB,
|
|
1
|
+
{"version":3,"file":"formatValue.d.ts","sourceRoot":"","sources":["../../../../../../server/plugins/table/funcs/getFilterSQLParametrized/formatValue.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,EACE,KAAK,EACL,MAAW,EACX,IAAI,EACJ,KAAK,EACL,UAAU,EACV,GAAS,EACT,QAAQ,EACR,IAAI,EAAE,UAAU,GACjB,EAAE,GAAG,EACN,EAAE,MAAmB,OAuTtB"}
|
|
@@ -133,9 +133,13 @@ export default function formatValue({ table, filter = {}, name, value, dataTypeI
|
|
|
133
133
|
// boolean + nullable
|
|
134
134
|
const value1 = ["true", "false"].find((el) => value.includes(el));
|
|
135
135
|
const values = ["true", "false"].filter((el) => value.includes(el));
|
|
136
|
+
// boolean: true, false and null => skip
|
|
137
|
+
if (fieldType === "boolean" && values.length === 2 && !!includesNullQuery) {
|
|
138
|
+
return { op, query: "3=3" };
|
|
139
|
+
}
|
|
136
140
|
// boolean: both true and false => not null
|
|
137
141
|
if (fieldType === "boolean" && values.length === 2) {
|
|
138
|
-
return { op, query:
|
|
142
|
+
return { op, query: `${name} is not null` };
|
|
139
143
|
}
|
|
140
144
|
// boolean: not null over any value
|
|
141
145
|
if (fieldType === "boolean" &&
|
|
@@ -252,7 +256,7 @@ export default function formatValue({ table, filter = {}, name, value, dataTypeI
|
|
|
252
256
|
};
|
|
253
257
|
}
|
|
254
258
|
const query = `${name}::text=any($${args.length})`;
|
|
255
|
-
return { op: "=", query, values: [
|
|
259
|
+
return { op: "=", query, values: [value.split(",")] };
|
|
256
260
|
}
|
|
257
261
|
return {};
|
|
258
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRangeQuery.d.ts","sourceRoot":"","sources":["../../../../../../server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.ts"],"names":[],"mappings":"AA0NA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,GAAG,EACH,KAAK,EACL,EAAE,EACF,IAAI,EAAE,UAAU,GACjB,EAAE;IACD,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;;;;;;
|
|
1
|
+
{"version":3,"file":"getRangeQuery.d.ts","sourceRoot":"","sources":["../../../../../../server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.ts"],"names":[],"mappings":"AA0NA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,GAAG,EACH,KAAK,EACL,EAAE,EACF,IAAI,EAAE,UAAU,GACjB,EAAE;IACD,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;;;;;;EAgNA"}
|
|
@@ -188,9 +188,7 @@ export default function getRangeQuery({ value, name, fieldType, filterType, sql,
|
|
|
188
188
|
args.push(min || max);
|
|
189
189
|
}
|
|
190
190
|
return {
|
|
191
|
-
query: sql
|
|
192
|
-
.replace(/\$1/g, `$${checkBoth ? args.length - 1 : args.length}::date`)
|
|
193
|
-
.replace(/\$2/g, `$${args.length}::date`),
|
|
191
|
+
query: sql,
|
|
194
192
|
values: checkBoth ? [min, max] : [min || max],
|
|
195
193
|
};
|
|
196
194
|
}
|
|
@@ -204,9 +202,7 @@ export default function getRangeQuery({ value, name, fieldType, filterType, sql,
|
|
|
204
202
|
args.push(min || max);
|
|
205
203
|
}
|
|
206
204
|
return {
|
|
207
|
-
query: sql
|
|
208
|
-
.replace(/\$1/g, `${checkBoth ? args.length - 1 : args.length}`)
|
|
209
|
-
.replace(/\$2/g, `${args.length}`),
|
|
205
|
+
query: sql,
|
|
210
206
|
values: checkBoth ? [min, max] : [min || max],
|
|
211
207
|
};
|
|
212
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../server/routes/access/schema.ts"],"names":[],"mappings":";AAAA,wBAAoB;AAEpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;CAQtB,CAAC;AAEF,QAAA,MAAM,gBAAgB;;;;;;;;;;;CAQrB,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;;;;;;;CAQ1B,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../server/routes/access/schema.ts"],"names":[],"mappings":";AAAA,wBAAoB;AAEpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;CAQtB,CAAC;AAEF,QAAA,MAAM,gBAAgB;;;;;;;;;;;CAQrB,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;;;;;;;CAQ1B,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D1B,CAAC;AAEF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DzB,CAAC"}
|
|
@@ -67,7 +67,17 @@ const accessGroupPostSchema = {
|
|
|
67
67
|
type: "array",
|
|
68
68
|
items: {
|
|
69
69
|
type: "string",
|
|
70
|
-
enum: ["read", "create", "update", "delete"],
|
|
70
|
+
// enum: ["read", "create", "update", "delete"],
|
|
71
|
+
enum: [
|
|
72
|
+
"read",
|
|
73
|
+
"create",
|
|
74
|
+
"update",
|
|
75
|
+
"delete",
|
|
76
|
+
"view",
|
|
77
|
+
"add",
|
|
78
|
+
"edit",
|
|
79
|
+
"del",
|
|
80
|
+
], // legacy actions support
|
|
71
81
|
},
|
|
72
82
|
},
|
|
73
83
|
},
|
|
@@ -116,7 +126,17 @@ const accessUserPostSchema = {
|
|
|
116
126
|
type: "array",
|
|
117
127
|
items: {
|
|
118
128
|
type: "string",
|
|
119
|
-
enum: ["read", "create", "update", "delete"],
|
|
129
|
+
// enum: ["read", "create", "update", "delete"],
|
|
130
|
+
enum: [
|
|
131
|
+
"read",
|
|
132
|
+
"create",
|
|
133
|
+
"update",
|
|
134
|
+
"delete",
|
|
135
|
+
"view",
|
|
136
|
+
"add",
|
|
137
|
+
"edit",
|
|
138
|
+
"del",
|
|
139
|
+
], // legacy actions support
|
|
120
140
|
},
|
|
121
141
|
},
|
|
122
142
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/routes/file/index.ts"],"names":[],"mappings":"AAyBA,iBAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,GAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/routes/file/index.ts"],"names":[],"mappings":"AAyBA,iBAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,GAAQ,QAuCtC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -43,7 +43,9 @@ function plugin(app, opt = {}) {
|
|
|
43
43
|
schema: resizeSchema,
|
|
44
44
|
handler: resizeAll,
|
|
45
45
|
});
|
|
46
|
-
app.
|
|
46
|
+
if (!app.hasRoute({ method: "POST", url: "/file/upload/*" })) {
|
|
47
|
+
app.post("/file/upload/*", privateParams, upload);
|
|
48
|
+
}
|
|
47
49
|
app.post("/file/upload-image/*", privateParams, uploadImage);
|
|
48
50
|
app.get("/file/download/*", publicParams, download);
|
|
49
51
|
app.get("/file/delete/*", publicParams, deleteFileAPI);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../../../../server/routes/table/controllers/suggest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA+BpD,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,GAAG,EACH,EAAqB,GACtB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;;;;;UAwFA;AAED,wBAA8B,OAAO,CAAC,GAAG,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../../../../server/routes/table/controllers/suggest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA+BpD,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,GAAG,EACH,EAAqB,GACtB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;;;;;UAwFA;AAED,wBAA8B,OAAO,CAAC,GAAG,EAAE,GAAG,gBA4d7C"}
|
|
@@ -186,7 +186,8 @@ export default async function suggest(req) {
|
|
|
186
186
|
if (!pg || !pg.pk || !pg.pgType) {
|
|
187
187
|
throw Error("empty pg");
|
|
188
188
|
}
|
|
189
|
-
|
|
189
|
+
// allow materialized views, simple views along regular tables
|
|
190
|
+
if (table && !pg?.tlist?.includes?.(tableName)) {
|
|
190
191
|
throw BadRequestError("param name is invalid: 1");
|
|
191
192
|
}
|
|
192
193
|
const columns = hookBody?.columns || body?.columns;
|
|
@@ -667,13 +667,13 @@ export default async function dataAPI({ pg = pgClients.client, params, table, id
|
|
|
667
667
|
total,
|
|
668
668
|
filtered,
|
|
669
669
|
count: rows.length,
|
|
670
|
+
rows,
|
|
670
671
|
pk,
|
|
671
672
|
form,
|
|
672
673
|
agg,
|
|
673
674
|
status,
|
|
674
675
|
panels,
|
|
675
676
|
html,
|
|
676
|
-
rows,
|
|
677
677
|
meta,
|
|
678
678
|
columns: columns1,
|
|
679
679
|
filters: filters?.map?.((el) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../server/routes/table/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../server/routes/table/schema.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBpB,CAAC;AAEF,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BhB,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAajB,CAAC;AAEF,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBlB,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;CAQf,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;CAOjB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAatB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;CAQtB,CAAC;AAEF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,iBAAiB,GAClB,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
const keySchema = {
|
|
2
|
+
type: "string",
|
|
3
|
+
pattern: "^([А-Яа-яҐґЄєІіЇї\\d\\w\\s_.-:]+)$",
|
|
4
|
+
};
|
|
1
5
|
const tableDataSchema = {
|
|
2
6
|
type: "object",
|
|
3
7
|
properties: {
|
|
@@ -59,7 +63,7 @@ const searchSchema = {
|
|
|
59
63
|
limit: { type: "integer", minimum: 1 },
|
|
60
64
|
order: { type: "string", pattern: "^([\\d\\w_.-]+)$" },
|
|
61
65
|
desc: { type: "string", pattern: "^(\\d+)$" },
|
|
62
|
-
key:
|
|
66
|
+
key: keySchema,
|
|
63
67
|
table: { type: "string", pattern: "^([\\d\\w_.-]+)$" },
|
|
64
68
|
sql: { type: "integer", enum: [1] },
|
|
65
69
|
},
|
|
@@ -74,7 +78,7 @@ const suggestSchema = {
|
|
|
74
78
|
parent: { type: "string", pattern: "^([\\d\\w_.-]+)$" },
|
|
75
79
|
sel: { type: "string", pattern: "^([\\d\\w_.-]+)$" },
|
|
76
80
|
name: { type: "string", pattern: "^([\\d\\w_.-]+)$" },
|
|
77
|
-
key:
|
|
81
|
+
key: keySchema,
|
|
78
82
|
val: { type: "string", pattern: "([\\d\\w]+)$" },
|
|
79
83
|
sql: { type: "integer", enum: [1] },
|
|
80
84
|
count: { type: "integer", enum: [1] },
|