@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.
@@ -1,2 +1,2 @@
1
- export default function dumpMigrateSQL(): Promise<null | undefined>;
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,8BA6D3C"}
1
+ {"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../script/dump.ts"],"names":[],"mappings":"AAqBA,wBAA8B,cAAc,kBAgE3C"}
@@ -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, teardown } from "../helper.js";
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) {
@@ -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,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,EACpE,EAAE,MAAmB,gBAiCtB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAmB;;;;;UAsBnE;;AAED,wBAAoB"}
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 ? `name ilike '%'||$1||'%'` : "true";
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
- ? `( ${subQuery} or name in (select parent from admin.user_cls where ${subQuery}) )`
131
+ ? `( name ilike '%'||$1||'%' or name in (select parent from admin.user_cls where name ilike '%'||$1||'%') )`
129
132
  : "1=1");
130
- const q = `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
131
- from admin.user_cls t where parent is null and ${where}
132
- union all
133
- 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
134
- from admin.cls t where parent is null and ${where.replace(/admin.user_cls/g, "admin.cls")}
135
- order by name`;
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,gBAgBX"}
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({ name: query.name, search: query.search, sql: query.sql }, pg);
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fastify-table",
3
- "version": "2.0.124",
3
+ "version": "2.0.125",
4
4
  "type": "module",
5
5
  "description": "core-plugins",
6
6
  "keywords": [