@opengis/fastify-table 2.0.79 → 2.0.80
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.js +1 -1
- package/dist/server/plugins/pg/funcs/getMeta.js +2 -2
- package/dist/server/plugins/pg/funcs/getPG.d.ts.map +1 -1
- package/dist/server/plugins/pg/funcs/getPG.js +2 -1
- package/dist/server/plugins/pg/funcs/getPGAsync.d.ts.map +1 -1
- package/dist/server/plugins/pg/funcs/getPGAsync.js +2 -1
- package/dist/server/plugins/pg/funcs/init.d.ts.map +1 -1
- package/dist/server/plugins/pg/funcs/init.js +12 -3
- package/dist/server/plugins/policy/funcs/checkPolicy.d.ts.map +1 -1
- package/dist/server/plugins/policy/funcs/checkPolicy.js +3 -1
- package/dist/server/plugins/policy/funcs/checkSQL.d.ts +8 -0
- package/dist/server/plugins/policy/funcs/checkSQL.d.ts.map +1 -0
- package/dist/server/plugins/policy/funcs/checkSQL.js +19 -0
- package/dist/server/routes/crud/controllers/insert.d.ts.map +1 -1
- package/dist/server/routes/crud/controllers/insert.js +14 -2
- package/dist/server/routes/crud/controllers/update.d.ts.map +1 -1
- package/dist/server/routes/crud/controllers/update.js +14 -2
- package/dist/server/routes/table/controllers/getFormByTable.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/getFormByTable.js +10 -5
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -0
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ export default async function dataDelete({ table: table1, tokenData, referer, id
|
|
|
17
17
|
pg.relkinds = pgClients.client?.relkinds;
|
|
18
18
|
pg.pk = pgClients.client?.pk;
|
|
19
19
|
}
|
|
20
|
-
const table = pg.pk[table1] ? table1 : table1.replace(/"/g, "");
|
|
20
|
+
const table = pg.pk?.[table1] ? table1 : table1.replace(/"/g, "");
|
|
21
21
|
if (!table)
|
|
22
22
|
return "table not exist";
|
|
23
23
|
const { pk } = await getMeta({ pg, table });
|
|
@@ -5,7 +5,7 @@ export default async function getMeta(opt, nocache) {
|
|
|
5
5
|
if (!pg)
|
|
6
6
|
return { error: "pg connection not established", status: 400 };
|
|
7
7
|
const table1 = opt?.table || opt;
|
|
8
|
-
const table = pg.pk[table1] ? table1 : table1?.replace?.(/"/g, "");
|
|
8
|
+
const table = pg.pk?.[table1] ? table1 : table1?.replace?.(/"/g, "");
|
|
9
9
|
if (pg?.options?.database && data[pg.options.database]?.[table] && !nocache)
|
|
10
10
|
return data[pg.options.database][table];
|
|
11
11
|
if (!pg?.tlist?.includes(table) &&
|
|
@@ -39,7 +39,7 @@ export default async function getMeta(opt, nocache) {
|
|
|
39
39
|
pk,
|
|
40
40
|
columns: fields,
|
|
41
41
|
geom: geomAttr?.name,
|
|
42
|
-
view: pg.relkinds?.[table]
|
|
42
|
+
view: ["v", "m"].includes(pg.relkinds?.[table]),
|
|
43
43
|
};
|
|
44
44
|
if (!data[pg.options.database]) {
|
|
45
45
|
data[pg.options.database] = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPG.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/getPG.ts"],"names":[],"mappings":"AAYA,iBAAS,KAAK,CAAC,KAAK,GAAE,GAAQ,
|
|
1
|
+
{"version":3,"file":"getPG.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/getPG.ts"],"names":[],"mappings":"AAYA,iBAAS,KAAK,CAAC,KAAK,GAAE,GAAQ,OA6C7B;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -14,7 +14,7 @@ function getPG(param = {}) {
|
|
|
14
14
|
dblist.find((el) => el.database === (param?.db || param?.database || param) &&
|
|
15
15
|
el.port === param?.port);
|
|
16
16
|
const { user, password, host, port, db, database, name: origin, statement_timeout: timeout, // explicit
|
|
17
|
-
|
|
17
|
+
connectionTimeoutMillis: connectionTimeout, } = dbListParams ??
|
|
18
18
|
(typeof param === "string" ? getDBParams(param) : param || {});
|
|
19
19
|
const name = origin || db || database || param || "client";
|
|
20
20
|
if (pgClients[name])
|
|
@@ -26,6 +26,7 @@ function getPG(param = {}) {
|
|
|
26
26
|
port: port || config.pg?.port,
|
|
27
27
|
database: db || database || config.pg?.db || config.pg?.database,
|
|
28
28
|
statement_timeout: timeout || config.pg?.statement_timeout || 10000,
|
|
29
|
+
connectionTimeoutMillis: connectionTimeout || config.pg?.connectionTimeoutMillis || 5000,
|
|
29
30
|
};
|
|
30
31
|
if (!dbConfig.database) {
|
|
31
32
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPGAsync.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/getPGAsync.ts"],"names":[],"mappings":"AAYA,iBAAe,UAAU,CAAC,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"getPGAsync.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/getPGAsync.ts"],"names":[],"mappings":"AAYA,iBAAe,UAAU,CAAC,KAAK,EAAE,GAAG,gBAyDnC;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -13,7 +13,7 @@ async function getPGAsync(param) {
|
|
|
13
13
|
const dbListParams = dblist.find((el) => el.key === param?.key) ||
|
|
14
14
|
dblist.find((el) => el.database === (param?.db || param?.database || param));
|
|
15
15
|
const { user, password, host, port, db, database, name: origin, statement_timeout: timeout, // explicit
|
|
16
|
-
|
|
16
|
+
connectionTimeoutMillis: connectionTimeout, } = dbListParams ??
|
|
17
17
|
(typeof param === "string" ? getDBParams(param) : param || {});
|
|
18
18
|
const name = origin || db || database || param || "client";
|
|
19
19
|
if (pgClients[name]?.tlist)
|
|
@@ -25,6 +25,7 @@ async function getPGAsync(param) {
|
|
|
25
25
|
port: port || config.pg?.port,
|
|
26
26
|
database: db || database || config.pg?.db || config.pg?.database,
|
|
27
27
|
statement_timeout: timeout || config.pg?.statement_timeout || 10000,
|
|
28
|
+
connectionTimeoutMillis: connectionTimeout || config.pg?.connectionTimeoutMillis || 5000,
|
|
28
29
|
};
|
|
29
30
|
if (!dbConfig.database) {
|
|
30
31
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AASpB,iBAAe,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AASpB,iBAAe,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,iBA2MlC;AAGD,eAAe,IAAI,CAAC"}
|
|
@@ -8,6 +8,13 @@ async function init(client) {
|
|
|
8
8
|
if (!client?.options?.database) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
+
try {
|
|
12
|
+
await client.connect();
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
console.error("Error connecting to PostgreSQL:", client?.options?.database, err.message);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
11
18
|
const { pgType, pk } = await client
|
|
12
19
|
.query(`SELECT
|
|
13
20
|
(
|
|
@@ -52,9 +59,10 @@ async function init(client) {
|
|
|
52
59
|
FROM
|
|
53
60
|
pg_class
|
|
54
61
|
WHERE
|
|
55
|
-
relkind IN ('r', 'v')`)
|
|
62
|
+
relkind IN ('r', 'v', 'm')`)
|
|
56
63
|
.then((d) => d.rows[0].tlist);
|
|
57
|
-
const
|
|
64
|
+
const rows = await client
|
|
65
|
+
.query(`SELECT
|
|
58
66
|
(
|
|
59
67
|
SELECT
|
|
60
68
|
nspname
|
|
@@ -67,7 +75,8 @@ async function init(client) {
|
|
|
67
75
|
FROM
|
|
68
76
|
pg_class
|
|
69
77
|
WHERE
|
|
70
|
-
relkind IN ('r', 'v')`)
|
|
78
|
+
relkind IN ('r', 'v', 'm')`)
|
|
79
|
+
.then((el) => el.rows || []);
|
|
71
80
|
const relkinds = rows.reduce((acc, curr) => Object.assign(acc, { [curr.tname]: curr.relkind }), {});
|
|
72
81
|
async function query(q, args = []) {
|
|
73
82
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkPolicy.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAKhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"checkPolicy.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAKhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,oSAmL5E"}
|
|
@@ -77,7 +77,9 @@ export default function checkPolicy(req, reply) {
|
|
|
77
77
|
return null;
|
|
78
78
|
}
|
|
79
79
|
// ! sql injection
|
|
80
|
-
const stopWords = block.filter((el) => path.includes(el)
|
|
80
|
+
const stopWords = block.filter((el) => path.includes(el) ||
|
|
81
|
+
JSON.stringify(req.body || {}).includes(el) ||
|
|
82
|
+
JSON.stringify(query || {}).includes(el));
|
|
81
83
|
if (stopWords?.length) {
|
|
82
84
|
logger.file("injection/sql", {
|
|
83
85
|
path,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkSQL.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkSQL.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAW,EAAE,EAAE,GAAG;;;;;;EA0B1D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import sqlInjection from "../sqlInjection.js";
|
|
2
|
+
export default function checkSQL({ body, schema = {} }) {
|
|
3
|
+
const data = typeof body === "string" ? body : JSON.stringify(body);
|
|
4
|
+
const stopWords = sqlInjection.filter((el) => data?.toLowerCase?.()?.includes?.(el));
|
|
5
|
+
if (!stopWords.length)
|
|
6
|
+
return { body };
|
|
7
|
+
const disabledCheckFields = Object.keys(schema || {})?.filter((el) => schema?.[el]?.sqlCheck === false); // exclude specific columns
|
|
8
|
+
const field = Object.keys(body)?.find((key) => body[key]?.toLowerCase &&
|
|
9
|
+
!disabledCheckFields.includes(key) &&
|
|
10
|
+
body[key].toLowerCase().includes(stopWords[0]));
|
|
11
|
+
if (field) {
|
|
12
|
+
console.error(stopWords[0], field, body[field]);
|
|
13
|
+
return {
|
|
14
|
+
error: `rule: ${stopWords[0]} | attr: ${field} | val: ${body[field]}`,
|
|
15
|
+
body,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return { body };
|
|
19
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../../server/routes/crud/controllers/insert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../../server/routes/crud/controllers/insert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAgB5C,wBAA8B,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY;;;GAsKjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyHook, getAccess, getTemplate, checkXSS, dataInsert, getToken, config, pgClients, logger, validateData, } from "../../../../utils.js";
|
|
1
|
+
import { applyHook, getAccess, getTemplate, checkXSS, checkSQL, dataInsert, getToken, config, pgClients, logger, validateData, } from "../../../../utils.js";
|
|
2
2
|
export default async function insert(req, reply) {
|
|
3
3
|
const { pg = pgClients.client, user = {}, params = {}, body = {}, headers = {}, } = req || {};
|
|
4
4
|
if (!user) {
|
|
@@ -62,7 +62,7 @@ export default async function insert(req, reply) {
|
|
|
62
62
|
}
|
|
63
63
|
const fieldCheck = validateData({ body, schema });
|
|
64
64
|
if (fieldCheck.error) {
|
|
65
|
-
logger.file("injection/
|
|
65
|
+
logger.file("injection/formdata", {
|
|
66
66
|
table,
|
|
67
67
|
form: form || loadTemplate?.form,
|
|
68
68
|
uid: user?.uid,
|
|
@@ -72,6 +72,18 @@ export default async function insert(req, reply) {
|
|
|
72
72
|
.status(409)
|
|
73
73
|
.send("Дані не пройшли валідацію. Приберіть некоректні дані та спробуйте ще раз");
|
|
74
74
|
}
|
|
75
|
+
const sqlCheck = checkSQL({ body, schema });
|
|
76
|
+
if (sqlCheck.error) {
|
|
77
|
+
logger.file("injection/sql", {
|
|
78
|
+
table,
|
|
79
|
+
form: form || loadTemplate?.form,
|
|
80
|
+
uid: user?.uid,
|
|
81
|
+
...sqlCheck,
|
|
82
|
+
});
|
|
83
|
+
return reply
|
|
84
|
+
.status(409)
|
|
85
|
+
.send("Дані містять заборонені sql символи. Приберіть їх та спробуйте ще раз");
|
|
86
|
+
}
|
|
75
87
|
if (![add, table].includes("admin.users")) {
|
|
76
88
|
Object.assign(body, { uid: user?.uid, editor_id: user?.uid });
|
|
77
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../server/routes/crud/controllers/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../server/routes/crud/controllers/update.ts"],"names":[],"mappings":"AAeA,wBAA8B,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,gBAsLxD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { pgClients, applyHook, getAccess, getTemplate, checkXSS, dataUpdate, logger, getToken, validateData, } from "../../../../utils.js";
|
|
1
|
+
import { pgClients, applyHook, getAccess, getTemplate, checkXSS, checkSQL, dataUpdate, logger, getToken, validateData, } from "../../../../utils.js";
|
|
2
2
|
import config from "../../../../config.js";
|
|
3
3
|
import insert from "./insert.js";
|
|
4
4
|
export default async function update(req, reply) {
|
|
@@ -75,7 +75,7 @@ export default async function update(req, reply) {
|
|
|
75
75
|
}
|
|
76
76
|
const fieldCheck = validateData({ body, schema });
|
|
77
77
|
if (fieldCheck.error) {
|
|
78
|
-
logger.file("injection/
|
|
78
|
+
logger.file("injection/formdata", {
|
|
79
79
|
table,
|
|
80
80
|
form: form || loadTemplate?.form,
|
|
81
81
|
uid: user?.uid,
|
|
@@ -85,6 +85,18 @@ export default async function update(req, reply) {
|
|
|
85
85
|
.status(409)
|
|
86
86
|
.send("Дані не пройшли валідацію. Приберіть некоректні дані та спробуйте ще раз");
|
|
87
87
|
}
|
|
88
|
+
const sqlCheck = checkSQL({ body, schema });
|
|
89
|
+
if (sqlCheck.error) {
|
|
90
|
+
logger.file("injection/sql", {
|
|
91
|
+
table,
|
|
92
|
+
form: form || loadTemplate?.form,
|
|
93
|
+
uid: user?.uid,
|
|
94
|
+
...sqlCheck,
|
|
95
|
+
});
|
|
96
|
+
return reply
|
|
97
|
+
.status(409)
|
|
98
|
+
.send("Дані містять заборонені sql символи. Приберіть їх та спробуйте ще раз");
|
|
99
|
+
}
|
|
88
100
|
if (tokenData?.obj) {
|
|
89
101
|
const objData = tokenData.obj?.split("#").reduce((p, el) => ({
|
|
90
102
|
...p,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFormByTable.d.ts","sourceRoot":"","sources":["../../../../../server/routes/table/controllers/getFormByTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAc5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUzD,wBAA8B,OAAO,CACnC,EACE,EAAqB,EACrB,MAAM,EACN,IAAS,EACT,KAAU,GACX,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CACvB,EACD,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"getFormByTable.d.ts","sourceRoot":"","sources":["../../../../../server/routes/table/controllers/getFormByTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAc5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUzD,wBAA8B,OAAO,CACnC,EACE,EAAqB,EACrB,MAAM,EACN,IAAS,EACT,KAAU,GACX,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CACvB,EACD,KAAK,EAAE,YAAY,gBAsKpB"}
|
|
@@ -23,10 +23,9 @@ export default async function getForm({ pg = pgClients.client, params, user = {}
|
|
|
23
23
|
}
|
|
24
24
|
const tokenData = (await getToken({ token: params.name, uid: user?.uid, json: 1 })) || {};
|
|
25
25
|
const table = tokenData?.table || hookData?.table || params.name;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
{};
|
|
26
|
+
const loadTable = (await getTemplate("table", table)) || {};
|
|
27
|
+
const { title = loadTable.ua, description } = loadTable;
|
|
28
|
+
const form = tokenData?.form || hookData?.form || loadTable.form;
|
|
30
29
|
if (!form) {
|
|
31
30
|
// return reply.status(404).send("form not found");
|
|
32
31
|
}
|
|
@@ -52,7 +51,13 @@ export default async function getForm({ pg = pgClients.client, params, user = {}
|
|
|
52
51
|
}), {});
|
|
53
52
|
Object.assign(loadTemplate, { obj });
|
|
54
53
|
}
|
|
55
|
-
const res = {
|
|
54
|
+
const res = {
|
|
55
|
+
mode: "form",
|
|
56
|
+
time: 0,
|
|
57
|
+
meta: { title, description },
|
|
58
|
+
...loadTemplate,
|
|
59
|
+
schema,
|
|
60
|
+
};
|
|
56
61
|
if (user.uid) {
|
|
57
62
|
// form in form addToken
|
|
58
63
|
formatSchema(schema, user, loadTemplate?.obj);
|
package/dist/utils.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export { default as getOpt } from "./server/plugins/crud/funcs/getOpt.js";
|
|
|
43
43
|
export { default as setOpt } from "./server/plugins/crud/funcs/setOpt.js";
|
|
44
44
|
export { default as validateData } from "./server/plugins/crud/funcs/validateData.js";
|
|
45
45
|
export { default as checkXSS } from "./server/plugins/policy/funcs/checkXSS.js";
|
|
46
|
+
export { default as checkSQL } from "./server/plugins/policy/funcs/checkSQL.js";
|
|
46
47
|
export { default as addHook } from "./server/plugins/hook/addHook.js";
|
|
47
48
|
export { default as applyHook } from "./server/plugins/hook/applyHook.js";
|
|
48
49
|
export { default as applyHookSync } from "./server/plugins/hook/applyHookSync.js";
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -52,6 +52,7 @@ export { default as setOpt } from "./server/plugins/crud/funcs/setOpt.js";
|
|
|
52
52
|
export { default as validateData } from "./server/plugins/crud/funcs/validateData.js";
|
|
53
53
|
// policy
|
|
54
54
|
export { default as checkXSS } from "./server/plugins/policy/funcs/checkXSS.js";
|
|
55
|
+
export { default as checkSQL } from "./server/plugins/policy/funcs/checkSQL.js";
|
|
55
56
|
// hook
|
|
56
57
|
export { default as addHook } from "./server/plugins/hook/addHook.js";
|
|
57
58
|
export { default as applyHook } from "./server/plugins/hook/applyHook.js";
|