@opengis/fastify-table 2.0.124 → 2.0.125
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/script/dump.d.ts +1 -1
- package/dist/script/dump.d.ts.map +1 -1
- package/dist/script/dump.js +6 -3
- package/dist/script/dump.ts +5 -2
- package/dist/server/plugins/usercls/index.d.ts +3 -1
- package/dist/server/plugins/usercls/index.d.ts.map +1 -1
- package/dist/server/plugins/usercls/index.js +17 -9
- package/dist/server/routes/usercls/controllers/getUserCls.d.ts.map +1 -1
- package/dist/server/routes/usercls/controllers/getUserCls.js +8 -2
- package/package.json +1 -1
package/dist/script/dump.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export default function dumpMigrateSQL(): Promise<null
|
|
1
|
+
export default function dumpMigrateSQL(): Promise<null>;
|
|
2
2
|
//# sourceMappingURL=dump.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../script/dump.ts"],"names":[],"mappings":"AAqBA,wBAA8B,cAAc,
|
|
1
|
+
{"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../script/dump.ts"],"names":[],"mappings":"AAqBA,wBAA8B,cAAc,kBAgE3C"}
|
package/dist/script/dump.js
CHANGED
|
@@ -6,14 +6,14 @@ import path from "node:path";
|
|
|
6
6
|
import { existsSync } from "node:fs";
|
|
7
7
|
import { mkdir, writeFile, rm } from "node:fs/promises";
|
|
8
8
|
import { config, handlebars, pgClients, getTemplate } from "../utils.js";
|
|
9
|
-
import { build
|
|
9
|
+
import { build } from "../helper.js";
|
|
10
10
|
if (import.meta.main) {
|
|
11
11
|
dumpMigrateSQL();
|
|
12
12
|
}
|
|
13
13
|
const debug = false;
|
|
14
14
|
export default async function dumpMigrateSQL() {
|
|
15
15
|
const app = await build();
|
|
16
|
-
app.addHook("onClose", async () => teardown());
|
|
16
|
+
// app.addHook("onClose", async () => teardown());
|
|
17
17
|
try {
|
|
18
18
|
// const { database, host, port, user, password } = config.pg;
|
|
19
19
|
if (!config.pg) {
|
|
@@ -52,12 +52,15 @@ export default async function dumpMigrateSQL() {
|
|
|
52
52
|
}
|
|
53
53
|
const filepath = await saveFile(dump, tableName || schemaName || "");
|
|
54
54
|
console.log("success", filepath);
|
|
55
|
+
// app.close();
|
|
55
56
|
}
|
|
56
57
|
catch (err) {
|
|
57
58
|
console.error(err);
|
|
59
|
+
// app.close();
|
|
58
60
|
}
|
|
59
61
|
finally {
|
|
60
|
-
app.close();
|
|
62
|
+
await app.close();
|
|
63
|
+
process.exit(0);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
async function saveFile(data, filename) {
|
package/dist/script/dump.ts
CHANGED
|
@@ -21,7 +21,7 @@ const debug = false;
|
|
|
21
21
|
|
|
22
22
|
export default async function dumpMigrateSQL() {
|
|
23
23
|
const app = await build();
|
|
24
|
-
app.addHook("onClose", async () => teardown());
|
|
24
|
+
// app.addHook("onClose", async () => teardown());
|
|
25
25
|
|
|
26
26
|
try {
|
|
27
27
|
// const { database, host, port, user, password } = config.pg;
|
|
@@ -75,10 +75,13 @@ export default async function dumpMigrateSQL() {
|
|
|
75
75
|
|
|
76
76
|
const filepath = await saveFile(dump, tableName || schemaName || "");
|
|
77
77
|
console.log("success", filepath);
|
|
78
|
+
// app.close();
|
|
78
79
|
} catch (err) {
|
|
79
80
|
console.error(err);
|
|
81
|
+
// app.close();
|
|
80
82
|
} finally {
|
|
81
|
-
app.close();
|
|
83
|
+
await app.close();
|
|
84
|
+
process.exit(0);
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
|
|
@@ -26,10 +26,12 @@ export declare function editUserCls({ name, alias, description, data, }: {
|
|
|
26
26
|
alias?: string[];
|
|
27
27
|
data: string | Record<string, any>[];
|
|
28
28
|
}, pg?: any): Promise<string>;
|
|
29
|
-
export declare function getUserClsList({ name, search, sql }: {
|
|
29
|
+
export declare function getUserClsList({ name, search, sql, custom, type, }: {
|
|
30
30
|
name?: string;
|
|
31
31
|
search?: string;
|
|
32
32
|
sql?: any;
|
|
33
|
+
custom?: string;
|
|
34
|
+
type?: string;
|
|
33
35
|
}, pg?: any): Promise<any>;
|
|
34
36
|
export declare function getUserCls(name: string, pg?: any): Promise<{
|
|
35
37
|
type: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/usercls/index.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,CAChC,EACE,IAAI,EACJ,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,EACH,IAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACJ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,EAAE,CAAC;CACL,EACD,EAAE,MAAmB,mBA8EtB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAmB,mBAUtE;AAED,wBAAsB,UAAU,CAC9B,EACE,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CACtC,EACD,EAAE,MAAmB,mBAkDtB;AAED,wBAAsB,WAAW,CAC/B,EACE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,IAAI,GACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CACtC,EACD,EAAE,MAAmB,mBAKtB;AAED,wBAAsB,cAAc,CAClC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/usercls/index.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,CAChC,EACE,IAAI,EACJ,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,EACH,IAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACJ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,EAAE,CAAC;CACL,EACD,EAAE,MAAmB,mBA8EtB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAmB,mBAUtE;AAED,wBAAsB,UAAU,CAC9B,EACE,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CACtC,EACD,EAAE,MAAmB,mBAkDtB;AAED,wBAAsB,WAAW,CAC/B,EACE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,IAAI,GACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CACtC,EACD,EAAE,MAAmB,mBAKtB;AAED,wBAAsB,cAAc,CAClC,EACE,IAAI,EACJ,MAAM,EACN,GAAG,EACH,MAAM,EACN,IAAI,GACL,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,EACD,EAAE,MAAmB,gBA6CtB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAmB;;;;;UAsBnE;;AAED,wBAAoB"}
|
|
@@ -120,19 +120,27 @@ export async function editUserCls({ name, alias, description, data, }, pg = pgCl
|
|
|
120
120
|
await addUserCls({ name, alias, description, data }, pg);
|
|
121
121
|
return "ok";
|
|
122
122
|
}
|
|
123
|
-
export async function getUserClsList({ name, search, sql }, pg = pgClients.client) {
|
|
123
|
+
export async function getUserClsList({ name, search, sql, custom, type, }, pg = pgClients.client) {
|
|
124
124
|
const args = name ? [name.split(",")] : [search].filter(Boolean);
|
|
125
|
-
const subQuery = search
|
|
125
|
+
const subQuery = search
|
|
126
|
+
? `case when parent<>$1 then name ilike '%'||$1||'%' else true end`
|
|
127
|
+
: "true";
|
|
128
|
+
const typeStr = type ? { cls: "json", select: "sql" }[type] : null;
|
|
126
129
|
const where = (name ? "name=any($1::text[])" : null) ||
|
|
127
130
|
(search
|
|
128
|
-
? `(
|
|
131
|
+
? `( name ilike '%'||$1||'%' or name in (select parent from admin.user_cls where name ilike '%'||$1||'%') )`
|
|
129
132
|
: "1=1");
|
|
130
|
-
const
|
|
131
|
-
from admin.user_cls t where parent is null and ${where}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
const customQuery = `select true as custom, name, type, description, alias, (select count(*) filter(where ${subQuery}) from admin.user_cls where parent=t.name limit 1) as count
|
|
134
|
+
from admin.user_cls t where parent is null and ${where} and ${typeStr ? `type='${typeStr}'` : "true"}`;
|
|
135
|
+
const gitQuery = `select false as custom, name, type, null as description, null as alias, (select count(*) filter(where ${subQuery}) from admin.cls where parent=t.name limit 1) as count
|
|
136
|
+
from admin.cls t where parent is null and ${where.replace(/admin.user_cls/g, "admin.cls")} and ${typeStr ? `type='${typeStr}'` : "true"}`;
|
|
137
|
+
const q = [
|
|
138
|
+
custom !== "0" ? customQuery : null,
|
|
139
|
+
custom !== "1" ? gitQuery : null,
|
|
140
|
+
]
|
|
141
|
+
.filter(Boolean)
|
|
142
|
+
.join(" union all ")
|
|
143
|
+
.concat(" order by name");
|
|
136
144
|
if (sql)
|
|
137
145
|
return q;
|
|
138
146
|
const rows = await pg.query(q, args).then((el) => el.rows || []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserCls.d.ts","sourceRoot":"","sources":["../../../../../server/routes/usercls/controllers/getUserCls.ts"],"names":[],"mappings":"AAKA,wBAA8B,iBAAiB,CAC7C,EAAE,KAAK,EAAE,IAAI,EAAE,EAAqB,EAAE,EAAE,GAAG,EAC3C,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"getUserCls.d.ts","sourceRoot":"","sources":["../../../../../server/routes/usercls/controllers/getUserCls.ts"],"names":[],"mappings":"AAKA,wBAA8B,iBAAiB,CAC7C,EAAE,KAAK,EAAE,IAAI,EAAE,EAAqB,EAAE,EAAE,GAAG,EAC3C,KAAK,EAAE,GAAG,gBAsBX"}
|
|
@@ -6,8 +6,14 @@ export default async function getUserClsListApi({ query, user, pg = pgClients.cl
|
|
|
6
6
|
return reply.status(401).send({ error: "unauthorized", code: 401 });
|
|
7
7
|
}
|
|
8
8
|
const t1 = Date.now();
|
|
9
|
-
const result = await getUserClsList({
|
|
9
|
+
const result = await getUserClsList({
|
|
10
|
+
name: query.name,
|
|
11
|
+
search: query.search,
|
|
12
|
+
type: query.type,
|
|
13
|
+
custom: query.custom,
|
|
14
|
+
sql: query.sql,
|
|
15
|
+
}, pg);
|
|
10
16
|
if (query.sql)
|
|
11
17
|
return result;
|
|
12
|
-
return { time: Date.now() - t1, data: result };
|
|
18
|
+
return { time: Date.now() - t1, filtered: result.length, data: result };
|
|
13
19
|
}
|