@opengis/fastify-table 2.0.135 → 2.0.137
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/crud/funcs/dataDelete.d.ts.map +1 -1
- package/dist/server/plugins/crud/funcs/dataDelete.js +5 -3
- package/dist/server/plugins/crud/funcs/dataInsert.d.ts.map +1 -1
- package/dist/server/plugins/crud/funcs/dataInsert.js +3 -1
- package/dist/server/plugins/crud/funcs/dataUpdate.d.ts +1 -1
- package/dist/server/plugins/crud/funcs/dataUpdate.d.ts.map +1 -1
- package/dist/server/plugins/crud/funcs/dataUpdate.js +5 -4
- package/dist/server/plugins/crud/funcs/dataUpsert.d.ts.map +1 -1
- package/dist/server/plugins/crud/funcs/dataUpsert.js +5 -3
- package/dist/server/plugins/crud/funcs/utils/getFolder.js +1 -1
- package/dist/server/routes/table/functions/getData.d.ts.map +1 -1
- package/dist/server/routes/table/functions/getData.js +11 -7
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataDelete.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataDelete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAezD,wBAA8B,UAAU,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,SAAS,EACT,OAAO,EACP,EAAE,EACF,EAAE,EAAE,GAAG,EACP,GAAG,EACH,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,
|
|
1
|
+
{"version":3,"file":"dataDelete.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataDelete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAezD,wBAA8B,UAAU,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,SAAS,EACT,OAAO,EACP,EAAE,EACF,EAAE,EAAE,GAAG,EACP,GAAG,EACH,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,gBA+FA"}
|
|
@@ -9,6 +9,9 @@ import logger from "../../logger/getLogger.js";
|
|
|
9
9
|
const rclient = getRedis();
|
|
10
10
|
export default async function dataDelete({ table: table1, tokenData, referer, id, pg: pg1, uid, query, }) {
|
|
11
11
|
const pg = pg1 || getPG({ name: "client" });
|
|
12
|
+
if (!pg)
|
|
13
|
+
return null;
|
|
14
|
+
const { pk } = (await getMeta({ pg, table: table1 })) || {};
|
|
12
15
|
// pg client single transaction support
|
|
13
16
|
if (pg && !pg?.pk && pg.connectionParameters) {
|
|
14
17
|
pg.options = pg.connectionParameters;
|
|
@@ -18,9 +21,8 @@ export default async function dataDelete({ table: table1, tokenData, referer, id
|
|
|
18
21
|
pg.pk = pgClients[pg.options?.database || "client"]?.pk;
|
|
19
22
|
}
|
|
20
23
|
const table = pg.pk?.[table1] ? table1 : table1.replace(/"/g, "");
|
|
21
|
-
if (!table)
|
|
22
|
-
return
|
|
23
|
-
const { pk } = await getMeta({ pg, table });
|
|
24
|
+
if (!table || !pk)
|
|
25
|
+
return null;
|
|
24
26
|
const delQuery = `delete from ${table} WHERE ${pk}::text = $1::text and ${query || "true"} returning *`;
|
|
25
27
|
// for transactions
|
|
26
28
|
const isClient = typeof pg.query === "function" && typeof pg.release === "function";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataInsert.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataInsert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataInsert.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataInsert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAgBzD,wBAA8B,UAAU,CAAC,EACvC,EAAE,EACF,KAAK,EAAE,MAAM,EACb,OAAO,EACP,IAAI,EACJ,EAAE,EAAE,GAAG,EACP,GAAG,EACH,SAAc,GACf,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC,gBA6JA"}
|
|
@@ -7,12 +7,14 @@ import logChanges from "./utils/logChanges.js";
|
|
|
7
7
|
import getInsertQuery from "./utils/getInsertQuery.js";
|
|
8
8
|
import logger from "../../logger/getLogger.js";
|
|
9
9
|
import extraData from "../../extra/extraData.js";
|
|
10
|
+
import getMeta from "../../pg/funcs/getMeta.js";
|
|
10
11
|
const rclient = getRedis();
|
|
11
12
|
export default async function dataInsert({ id, table: table1, referer, data, pg: pg1, uid, tokenData = {}, }) {
|
|
12
13
|
const pg = pg1 || getPG({ name: "client" });
|
|
13
14
|
if (!pg) {
|
|
14
15
|
return null;
|
|
15
16
|
}
|
|
17
|
+
const { pk } = (await getMeta({ pg, table: table1 })) || {};
|
|
16
18
|
// pg client single transaction support
|
|
17
19
|
if (pg && !pg?.pk && pg.connectionParameters) {
|
|
18
20
|
pg.options = pg.connectionParameters;
|
|
@@ -52,7 +54,7 @@ export default async function dataInsert({ id, table: table1, referer, data, pg:
|
|
|
52
54
|
const res = await client
|
|
53
55
|
.query(insertQuery, args)
|
|
54
56
|
.then((el) => el || {});
|
|
55
|
-
const id1 = res.rows?.[0]?.[
|
|
57
|
+
const id1 = res.rows?.[0]?.[pk];
|
|
56
58
|
if (!id1) {
|
|
57
59
|
return null;
|
|
58
60
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExtendedPG } from "../../../types/core.js";
|
|
2
|
-
export default function dataUpdate({ table, tokenData, referer, id, data, pg: pg1, uid, }: {
|
|
2
|
+
export default function dataUpdate({ table: table1, tokenData, referer, id, data, pg: pg1, uid, }: {
|
|
3
3
|
table: string;
|
|
4
4
|
tokenData?: Record<string, any>;
|
|
5
5
|
referer?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataUpdate.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataUpdate.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAepD,wBAA8B,UAAU,CAAC,EACvC,KAAK,
|
|
1
|
+
{"version":3,"file":"dataUpdate.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataUpdate.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAepD,wBAA8B,UAAU,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,SAAS,EACT,OAAO,EACP,EAAE,EACF,IAAI,EACJ,EAAE,EAAE,GAAG,EACP,GAAG,GACJ,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,gBAsPA"}
|
|
@@ -19,8 +19,8 @@ function assignValue(key, i, srid = 4326, columnType = "text") {
|
|
|
19
19
|
}
|
|
20
20
|
return `"${key}"=$${i + 2}`;
|
|
21
21
|
}
|
|
22
|
-
export default async function dataUpdate({ table, tokenData, referer, id, data, pg: pg1, uid, }) {
|
|
23
|
-
if (!data || !
|
|
22
|
+
export default async function dataUpdate({ table: table1, tokenData, referer, id, data, pg: pg1, uid, }) {
|
|
23
|
+
if (!data || !table1 || !id) {
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
26
|
const pg = pg1 || getPG({ name: "client" });
|
|
@@ -35,7 +35,8 @@ export default async function dataUpdate({ table, tokenData, referer, id, data,
|
|
|
35
35
|
pg.relkinds = pgClients[pg.options?.database || "client"]?.relkinds;
|
|
36
36
|
pg.pk = pgClients[pg.options?.database || "client"]?.pk;
|
|
37
37
|
}
|
|
38
|
-
const { columns, pk } = await getMeta({ pg, table });
|
|
38
|
+
const { columns, pk } = await getMeta({ pg, table: table1 });
|
|
39
|
+
const table = pg.pk?.[table1] ? table1 : table1.replace(/"/g, "");
|
|
39
40
|
if (!columns) {
|
|
40
41
|
return null;
|
|
41
42
|
}
|
|
@@ -137,7 +138,7 @@ export default async function dataUpdate({ table, tokenData, referer, id, data,
|
|
|
137
138
|
const objId = data[schema[key].parent_id] ||
|
|
138
139
|
data?.id ||
|
|
139
140
|
res?.[schema[key]?.parent_id] ||
|
|
140
|
-
res?.[
|
|
141
|
+
res?.[pk];
|
|
141
142
|
// delete old extra data
|
|
142
143
|
await client.query(`delete from ${schema[key].table} where ${schema[key].parent_id}=$1`, [objId]); // rewrite?
|
|
143
144
|
// insert new extra data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataUpsert.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataUpsert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataUpsert.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/crud/funcs/dataUpsert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAgBzD,wBAA8B,UAAU,CAAC,EACvC,EAAE,EACF,KAAK,EAAE,MAAM,EACb,OAAO,EACP,IAAI,EACJ,EAAE,EAAE,GAAG,EACP,GAAG,EACH,SAAc,EACd,MAAa,EACb,UAAU,GACX,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,gBAiLA"}
|
|
@@ -7,11 +7,13 @@ import logChanges from "./utils/logChanges.js";
|
|
|
7
7
|
import getInsertQuery from "./utils/getInsertQuery.js";
|
|
8
8
|
import logger from "../../logger/getLogger.js";
|
|
9
9
|
import extraData from "../../extra/extraData.js";
|
|
10
|
+
import getMeta from "../../pg/funcs/getMeta.js";
|
|
10
11
|
const rclient = getRedis();
|
|
11
12
|
export default async function dataUpsert({ id, table: table1, referer, data, pg: pg1, uid, tokenData = {}, update = true, constraint, }) {
|
|
12
13
|
const pg = pg1 || getPG({ name: "client" });
|
|
13
14
|
if (!pg)
|
|
14
15
|
return null;
|
|
16
|
+
const { pk } = (await getMeta({ pg, table: table1 })) || {};
|
|
15
17
|
// pg client single transaction support
|
|
16
18
|
if (pg && !pg?.pk && pg.connectionParameters) {
|
|
17
19
|
pg.options = pg.connectionParameters;
|
|
@@ -35,13 +37,13 @@ export default async function dataUpsert({ id, table: table1, referer, data, pg:
|
|
|
35
37
|
.find((colname) => ["editor_date", "updated_at"].includes(colname));
|
|
36
38
|
const upsert = () => {
|
|
37
39
|
if (!update || !keys.length) {
|
|
38
|
-
const p1 = `on conflict(${constraint ||
|
|
40
|
+
const p1 = `on conflict(${constraint || pk}) do `;
|
|
39
41
|
const p2 = updatedAtColumn
|
|
40
42
|
? `update set ${updatedAtColumn}=now()`
|
|
41
43
|
: "nothing";
|
|
42
44
|
return p1 + p2 + "returning *";
|
|
43
45
|
}
|
|
44
|
-
return `on conflict(${constraint ||
|
|
46
|
+
return `on conflict(${constraint || pk}) do update set ${typeof update === "string"
|
|
45
47
|
? update
|
|
46
48
|
: keys.map((colname) => `${colname} = EXCLUDED."${colname}"`).join(", ")} ${keys.includes(updatedAtColumn) || !updatedAtColumn
|
|
47
49
|
? ""
|
|
@@ -67,7 +69,7 @@ export default async function dataUpsert({ id, table: table1, referer, data, pg:
|
|
|
67
69
|
await client.query("begin;");
|
|
68
70
|
}
|
|
69
71
|
const row = await client.query(q, args).then((el) => el.rows?.[0]);
|
|
70
|
-
const id1 = row?.[
|
|
72
|
+
const id1 = row?.[pk || ""];
|
|
71
73
|
if (!id1)
|
|
72
74
|
return null;
|
|
73
75
|
await extraData({
|
|
@@ -9,5 +9,5 @@ export default function getFolder(req, type = "server") {
|
|
|
9
9
|
};
|
|
10
10
|
const dbname = req.pg?.options?.database || config.pg?.database; // request / config params / default config params
|
|
11
11
|
const filepath = path.posix.join(types[type] || `/data/local/${dbname || ""}`, req.folder || config.folder || "");
|
|
12
|
-
return filepath;
|
|
12
|
+
return path.resolve(filepath);
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getData.d.ts","sourceRoot":"","sources":["../../../../../server/routes/table/functions/getData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4EzD,wBAA8B,OAAO,CACnC,EACE,EAAqB,EACrB,MAAM,EACN,KAAK,EACL,EAAE,EACF,OAAY,EACZ,KAAU,EACV,IAAS,EACT,YAAY,EACZ,KAAY,EACZ,UAAU,EACV,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,YAAY,GACtB,EAAE;IACD,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,MAAM,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,EACD,MAAM,CAAC,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"getData.d.ts","sourceRoot":"","sources":["../../../../../server/routes/table/functions/getData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4EzD,wBAA8B,OAAO,CACnC,EACE,EAAqB,EACrB,MAAM,EACN,KAAK,EACL,EAAE,EACF,OAAY,EACZ,KAAU,EACV,IAAS,EACT,YAAY,EACZ,KAAY,EACZ,UAAU,EACV,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,YAAY,GACtB,EAAE;IACD,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,MAAM,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,EACD,MAAM,CAAC,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,GAAG,gBAk1Bb"}
|
|
@@ -57,7 +57,7 @@ export default async function dataAPI({ pg = pgClients.client, params, table, id
|
|
|
57
57
|
const timeArr = [Date.now()];
|
|
58
58
|
const { uid } = user;
|
|
59
59
|
const reply = reply1 || mockReply;
|
|
60
|
-
const method =
|
|
60
|
+
const method = "GET";
|
|
61
61
|
const checkQuery = (item) => user?.user_type === "superadmin" ? !item.includes("{{uid}}") : true;
|
|
62
62
|
const paramsTable = params?.table || table;
|
|
63
63
|
if (!paramsTable) {
|
|
@@ -121,15 +121,21 @@ export default async function dataAPI({ pg = pgClients.client, params, table, id
|
|
|
121
121
|
if (!pg) {
|
|
122
122
|
return reply.status(500).send("empty pg");
|
|
123
123
|
}
|
|
124
|
-
const pkey = pg.pk?.[paramsTable] ||
|
|
124
|
+
const pkey = pg.pk?.[paramsTable] ||
|
|
125
|
+
pg.pk?.[paramsTable.replace(/"/g, "")] ||
|
|
126
|
+
(await getMeta({ pg, table: paramsTable }))?.pk;
|
|
125
127
|
if (!loadTable &&
|
|
126
128
|
!(tokenData?.table && pg.pk?.[tokenData?.table]) &&
|
|
127
129
|
!(called && pkey)) {
|
|
128
130
|
return reply.status(404).send("template not found");
|
|
129
131
|
}
|
|
130
132
|
const objectId = tokenData?.id || hookData?.id || params?.id || id;
|
|
131
|
-
const { actions = [], query: accessQuery, message: accessMessage } = actionsParam
|
|
132
|
-
? {
|
|
133
|
+
const { actions = [], query: accessQuery, message: accessMessage, } = actionsParam
|
|
134
|
+
? {
|
|
135
|
+
actions: actionsParam,
|
|
136
|
+
query: accessQueryParam || "1=1",
|
|
137
|
+
message: undefined,
|
|
138
|
+
}
|
|
133
139
|
: (await getAccess({
|
|
134
140
|
table: templateName,
|
|
135
141
|
id: objectId,
|
|
@@ -187,9 +193,7 @@ export default async function dataAPI({ pg = pgClients.client, params, table, id
|
|
|
187
193
|
}
|
|
188
194
|
const columnList = dbColumns.map((el) => el.name || el).join(",");
|
|
189
195
|
const sqlTable = sql
|
|
190
|
-
?.filter?.((el) => !el?.disabled &&
|
|
191
|
-
!el.inline &&
|
|
192
|
-
el?.sql?.replace)
|
|
196
|
+
?.filter?.((el) => !el?.disabled && !el.inline && el?.sql?.replace)
|
|
193
197
|
.map((el, i) => ` left join lateral (${el.sql.replace("{{uid}}", uid)}) ${el.name || `t${i}`} on 1=1 `)
|
|
194
198
|
?.join("") || "";
|
|
195
199
|
const cardSqlFiltered = objectId
|