@opengis/fastify-table 2.4.11 → 2.4.13

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 migrate(): void;
1
+ export default function migrate(): Promise<void>;
2
2
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../script/migrate.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,OAAO,UAAU,OAAO,SAuB9B"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../script/migrate.ts"],"names":[],"mappings":"AAaA,wBAA8B,OAAO,kBASpC"}
@@ -1,28 +1,20 @@
1
- import path from "node:path";
2
- import Fastify from "fastify";
3
- import config from "../config.js";
4
- import plugin from "../index.js";
5
- import execMigrations from "../server/plugins/migration/exec.migrations.js";
6
- import pgClients from "../server/plugins/pg/pgClients.js";
7
- const timeoutMs = +(config.migrationTimeout || 5000);
8
- const port = process.env.PORT || config.port || 3000;
1
+ import getPGAsync from "../server/plugins/pg/funcs/getPGAsync.js";
2
+ import executeAllMigrations from "../server/plugins/migration/exec.migrations.all.js";
9
3
  if (import.meta.main) {
10
4
  migrate();
11
5
  }
12
- export default function migrate() {
13
- const app = Fastify();
14
- app.register(plugin, config);
15
- app.listen({ host: "0.0.0.0", port }, (err) => {
16
- console.log(`Server started via port: ${port}`);
17
- execMigrations(path.join(process.cwd(), "server/migrations"), pgClients.client).catch((err) => console.error(err.toString()));
18
- setTimeout(() => {
19
- console.log("Server closed after timeout", timeoutMs);
20
- app.close();
21
- process.exit(0);
22
- }, timeoutMs);
23
- if (err) {
24
- console.error("migrations error", err.toString());
25
- process.exit(1);
26
- }
6
+ function close(pg) {
7
+ if (pg && !pg.ending && !pg.ended) {
8
+ pg.end();
9
+ }
10
+ }
11
+ export default async function migrate() {
12
+ const pg = await getPGAsync();
13
+ await executeAllMigrations(pg).catch((err) => {
14
+ close(pg);
15
+ console.error("migrations error", err.toString());
16
+ process.exit(1);
27
17
  });
18
+ close(pg);
19
+ process.exit(0);
28
20
  }
@@ -1,41 +1,23 @@
1
- import path from "node:path";
2
- import Fastify from "fastify";
3
-
4
- import config from "../config.js";
5
- import plugin from "../index.js";
6
-
7
- import execMigrations from "../server/plugins/migration/exec.migrations.js";
8
- import pgClients from "../server/plugins/pg/pgClients.js";
9
-
10
- const timeoutMs = +(config.migrationTimeout || 5000);
11
-
12
- const port = process.env.PORT || config.port || 3000;
1
+ import getPGAsync from "../server/plugins/pg/funcs/getPGAsync.js";
2
+ import executeAllMigrations from "../server/plugins/migration/exec.migrations.all.js";
13
3
 
14
4
  if (import.meta.main) {
15
5
  migrate();
16
6
  }
17
7
 
18
- export default function migrate() {
19
- const app = Fastify();
20
-
21
- app.register(plugin, config);
22
-
23
- app.listen({ host: "0.0.0.0", port }, (err: any) => {
24
- console.log(`Server started via port: ${port}`);
25
-
26
- execMigrations(
27
- path.join(process.cwd(), "server/migrations"),
28
- pgClients.client
29
- ).catch((err) => console.error(err.toString()));
8
+ function close(pg: any) {
9
+ if (pg && !pg.ending && !pg.ended) {
10
+ pg.end();
11
+ }
12
+ }
30
13
 
31
- setTimeout(() => {
32
- console.log("Server closed after timeout", timeoutMs);
33
- app.close();
34
- process.exit(0);
35
- }, timeoutMs);
36
- if (err) {
37
- console.error("migrations error", err.toString());
38
- process.exit(1);
39
- }
14
+ export default async function migrate() {
15
+ const pg = await getPGAsync();
16
+ await executeAllMigrations(pg).catch((err) => {
17
+ close(pg);
18
+ console.error("migrations error", err.toString());
19
+ process.exit(1);
40
20
  });
21
+ close(pg);
22
+ process.exit(0);
41
23
  }
@@ -35,7 +35,7 @@ ALTER TABLE admin.users add CONSTRAINT admin_user_user_rnokpp UNIQUE (user_rnokp
35
35
 
36
36
  -- update admin.users set user_type='regular' where user_type not in ('viewer', 'regular','admin','superadmin');
37
37
  -- ALTER TABLE admin.users add constraint admin_user_type_check CHECK (user_type=any(array['viewer', 'regular','admin','superadmin']));
38
- insert into admin.users (uid,login,user_name,email,sur_name,password,user_type,enabled)values('viewer','viewer','viewer','viewer','viewer','viewer','viewer', false) on conflict (uid) do update set enabled=excluded.enabled, sur_name=excluded.sur_name;
38
+ -- insert into admin.users (uid,login,user_name,email,sur_name,password,user_type,enabled)values('viewer','viewer','viewer','viewer','viewer','viewer','viewer', false) on conflict (uid) do update set enabled=excluded.enabled, sur_name=excluded.sur_name;
39
39
  -- update admin.users set enabled=true where uid='viewer';
40
40
 
41
41
  COMMENT ON TABLE admin.users IS 'Користувачі';
@@ -0,0 +1,2 @@
1
+ export default function executeAllMigrations(pg?: any): Promise<"empty pg" | "success">;
2
+ //# sourceMappingURL=exec.migrations.all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.migrations.all.d.ts","sourceRoot":"","sources":["../../../../server/plugins/migration/exec.migrations.all.ts"],"names":[],"mappings":"AAyBA,wBAA8B,oBAAoB,CAAC,EAAE,MAAmB,mCA2DvE"}
@@ -0,0 +1,65 @@
1
+ import path from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { readdir } from "node:fs/promises";
4
+ import config from "../../../config.js";
5
+ import pgClients from "../pg/pgClients.js";
6
+ import execSql from "./exec.sql.js";
7
+ const time = Date.now();
8
+ const { debug = process.platform === "win32" } = config;
9
+ const sequence = (arr, fn) => {
10
+ return arr.reduce((promise, item) => promise.then(() => fn(item)), Promise.resolve());
11
+ };
12
+ async function executeAllSqls(dirpath, pg) {
13
+ if (!pg)
14
+ return;
15
+ const content = (await readdir(dirpath, { withFileTypes: true }))
16
+ .filter((el) => el.isFile() && path.extname(el.name) === ".sql")
17
+ .map((el) => el.name);
18
+ await content.reduce((promise, filename) => promise.then(() => execSql(path.join(dirpath, filename), pg, true)), Promise.resolve());
19
+ }
20
+ export default async function executeAllMigrations(pg = pgClients.client) {
21
+ if (!pg) {
22
+ const txt = "empty pg";
23
+ console.log(`⚠️ migrations skip: ${txt}`);
24
+ return txt;
25
+ }
26
+ const packages = existsSync("node_modules/@opengis")
27
+ ? await readdir("node_modules/@opengis")
28
+ : [];
29
+ await sequence(packages, async (packageName) => {
30
+ const packageMigrationsDir = [
31
+ `node_modules/@opengis/${packageName}/server/migrations`,
32
+ `node_modules/@opengis/${packageName}/dist/server/migrations`,
33
+ ].find((el) => existsSync(el));
34
+ if (!packageMigrationsDir) {
35
+ const txt = `no migrations found for package: ${packageName}`;
36
+ if (debug)
37
+ console.log(`⚠️ migrations skip: ${txt}`);
38
+ return txt;
39
+ }
40
+ await executeAllSqls(packageMigrationsDir, pg)
41
+ .then(() => {
42
+ if (debug) {
43
+ console.log(`migrations done: "${packageName}" package`, Date.now() - time);
44
+ }
45
+ })
46
+ .catch((err) => {
47
+ console.error(`migrations error: "${packageName}" package`, err.toString(), Date.now() - time);
48
+ throw err;
49
+ });
50
+ });
51
+ if (existsSync("server/migrations")) {
52
+ await executeAllSqls("server/migrations", pg)
53
+ .then(() => {
54
+ if (debug) {
55
+ console.log(`migrations done: current project`, Date.now() - time);
56
+ }
57
+ })
58
+ .catch((err) => {
59
+ console.error("migrations error: current project", err.toString(), Date.now() - time);
60
+ throw err;
61
+ });
62
+ }
63
+ console.log("all migrations completed successfully", packages.length, Date.now() - time);
64
+ return "success";
65
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"exec.migrations.d.ts","sourceRoot":"","sources":["../../../../server/plugins/migration/exec.migrations.ts"],"names":[],"mappings":"AAWA,wBAA8B,cAAc,CAC1C,OAAO,EAAE,GAAG,EACZ,EAAE,MAAmB,EACrB,MAAM,UAAQ,mBAgEf"}
1
+ {"version":3,"file":"exec.migrations.d.ts","sourceRoot":"","sources":["../../../../server/plugins/migration/exec.migrations.ts"],"names":[],"mappings":"AAYA,wBAA8B,cAAc,CAC1C,OAAO,EAAE,GAAG,EACZ,EAAE,MAAmB,EACrB,MAAM,UAAQ,mBAsEf"}
@@ -6,6 +6,7 @@ import execSql from "./exec.sql.js";
6
6
  import pgClients from "../pg/pgClients.js";
7
7
  const time = Date.now();
8
8
  const debug = config.debug || config.local;
9
+ const nocache = config.disableCache || process.env.MIGRATE;
9
10
  export default async function execMigrations(dirPath, pg = pgClients.client, iscore = false) {
10
11
  if (!dirPath) {
11
12
  const txt = "migrations skip: path not specified";
@@ -25,8 +26,14 @@ export default async function execMigrations(dirPath, pg = pgClients.client, isc
25
26
  console.warn(`⚠️ ${txt}`);
26
27
  return txt;
27
28
  }
29
+ if (config.migrationsMode === "script") {
30
+ const txt = `migrations skip: not called via script`;
31
+ if (debug)
32
+ console.warn(`⚠️ ${txt}`);
33
+ return txt;
34
+ }
28
35
  if (process.env.NODE_ENV !== "production" &&
29
- !process.env.MIGRATE &&
36
+ !nocache &&
30
37
  !(iscore ? config.migrationsCore : config.migrations)) {
31
38
  const txt = `migrations skip: not a production environment - ${iscore ? "core" : "path"} : ${dirPath}`;
32
39
  if (debug)
@@ -53,7 +60,7 @@ export default async function execMigrations(dirPath, pg = pgClients.client, isc
53
60
  console.warn(`⚠️ ${txt}`);
54
61
  return txt;
55
62
  }
56
- await content.reduce((promise, filename) => promise.then(() => execSql(path.join(dirPath, filename), pg)), Promise.resolve());
63
+ await content.reduce((promise, filename) => promise.then(() => execSql(path.join(dirPath, filename), pg, nocache)), Promise.resolve());
57
64
  if (debug)
58
65
  console.log("migrations success", dirPath, exists, Date.now() - time);
59
66
  return "success";
@@ -1,2 +1,2 @@
1
- export default function execSql(filepath: any, pg?: any): Promise<any>;
1
+ export default function execSql(filepath: any, pg?: any, nocache?: boolean): Promise<any>;
2
2
  //# sourceMappingURL=exec.sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec.sql.d.ts","sourceRoot":"","sources":["../../../../server/plugins/migration/exec.sql.ts"],"names":[],"mappings":"AAcA,wBAA8B,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAmB,gBA0DzE"}
1
+ {"version":3,"file":"exec.sql.d.ts","sourceRoot":"","sources":["../../../../server/plugins/migration/exec.sql.ts"],"names":[],"mappings":"AAcA,wBAA8B,OAAO,CACnC,QAAQ,EAAE,GAAG,EACb,EAAE,MAAmB,EACrB,OAAO,GAAE,OAAe,gBAsDzB"}
@@ -8,7 +8,7 @@ import logger from "../logger/getLogger.js";
8
8
  import getRedis from "../redis/funcs/getRedis.js";
9
9
  const rclient = getRedis();
10
10
  const debug = config.debug || config.local;
11
- export default async function execSql(filepath, pg = pgClients.client) {
11
+ export default async function execSql(filepath, pg = pgClients.client, nocache = false) {
12
12
  const start = Date.now();
13
13
  if (!pg || !filepath)
14
14
  return null;
@@ -28,18 +28,16 @@ export default async function execSql(filepath, pg = pgClients.client) {
28
28
  .hgetall(`${pg?.options?.database}:migration-hashes`)
29
29
  .then((obj) => Object.keys(obj))
30
30
  : [];
31
- if (hashes.includes(hash) &&
32
- !config.disableCache &&
33
- !process.env.MIGRATE &&
34
- debug) {
35
- console.log(filename, "skip equal hash", Date.now() - start);
31
+ if (hashes.includes(hash) && !nocache) {
32
+ if (debug)
33
+ console.log(filename, "skip equal hash", Date.now() - start);
36
34
  return null;
37
35
  }
38
36
  try {
39
37
  if (debug)
40
38
  console.log(filename, "start", Date.now() - start);
41
39
  await pg.query(sql);
42
- if (!config.disableCache && config.redis)
40
+ if (!nocache && config.redis)
43
41
  await rclient.hset(`${pg?.options?.database}:migration-hashes`, hash, 1);
44
42
  if (debug)
45
43
  console.log(filename, "finish", Date.now() - start);
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../server/routes/file/controllers/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiCzD;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,wBAA8B,WAAW,CACvC,EACE,EAAqB,EACrB,OAAO,EACP,IAAI,EACJ,OAAO,EAAE,QAAQ,EACjB,GAAG,EACH,KAAU,EACV,IAAkB,EAClB,QAAQ,EACR,UAAU,GACX,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD,KAAK,EAAE,YAAY,gBAiZpB"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../server/routes/file/controllers/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiCzD;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,wBAA8B,WAAW,CACvC,EACE,EAAqB,EACrB,OAAO,EACP,IAAI,EACJ,OAAO,EAAE,QAAQ,EACjB,GAAG,EACH,KAAU,EACV,IAAkB,EAClB,QAAQ,EACR,UAAU,GACX,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD,KAAK,EAAE,YAAY,gBAgbpB"}
@@ -95,6 +95,29 @@ export default async function exportTable({ pg = pgClients.client, headers, user
95
95
  if (format === "geojson" && !meta?.geom) {
96
96
  throw BadRequestError("Ця форма не містить полів геометрії. Виберіть тип, який не потребує геометрії для вивантаження");
97
97
  }
98
+ const checkQueryColsValid = () => {
99
+ if (!query.cols)
100
+ return true;
101
+ if (typeof query.cols !== "string")
102
+ return false;
103
+ if (loadTable && loadTable.columns) {
104
+ return (loadTable.columns
105
+ .map((col) => col.name)
106
+ .filter((colname) => query.cols.split(",").includes(colname))
107
+ .length === query.cols.split(",").length);
108
+ }
109
+ if (meta && meta.columns) {
110
+ return (meta.columns
111
+ .map((col) => col.name)
112
+ .filter((colname) => query.cols.split(",").includes(colname))
113
+ .length === query.cols.split(",").length);
114
+ }
115
+ return false;
116
+ };
117
+ const isQueryColsValid = checkQueryColsValid();
118
+ if (!isQueryColsValid) {
119
+ throw BadRequestError("invalid query params: cols");
120
+ }
98
121
  const options = {
99
122
  pg,
100
123
  params: {
@@ -111,6 +134,7 @@ export default async function exportTable({ pg = pgClients.client, headers, user
111
134
  user,
112
135
  sufix: false,
113
136
  isExport: true,
137
+ columns: cols,
114
138
  };
115
139
  // check total count, debug sql etc.
116
140
  const result = tableSql || viewSql
package/dist/server.js ADDED
@@ -0,0 +1,97 @@
1
+ /* eslint-disable no-return-assign */
2
+ // This file contains code that we reuse
3
+ // between our tests.
4
+ import Fastify from 'fastify';
5
+
6
+ import config from './config.js';
7
+ import plugin from './index.js';
8
+ import loginEuSign from './server/routes/auth/controllers/page/loginEuSign.js';
9
+
10
+ import loggerTest from './server/routes/logger/controllers/logger.test.api.js';
11
+ import { addHook, logger, addTemplateDir, pgClients } from './utils.js';
12
+ import { BadRequestError } from './errors.js';
13
+
14
+ addHook('afterChunkedUpload', async ({ id, meta }) => {
15
+ console.log('chunked upload finished', id, meta);
16
+ });
17
+
18
+ const cwd = process.cwd();
19
+
20
+ const app = Fastify({ loggerInstance: logger });
21
+ function contentParser(req, body, done) {
22
+ const parseBody = decodeURIComponent(body.toString()).split('&').reduce((acc, el) => {
23
+ const [key, val] = el.split('=');
24
+ return { ...acc, [key]: val };
25
+ }, {});
26
+ done(null, parseBody);
27
+ }
28
+
29
+ app.addContentTypeParser('application/x-www-form-urlencoded', { parseAs: 'buffer' }, contentParser);
30
+
31
+ await app.register(plugin, config);
32
+
33
+ // debug only
34
+ app.get('/login1', { config: { policy: 'L0' } }, loginEuSign);
35
+ addHook("afterAuth", async () => {
36
+ if (config.auth?.redirectAfter) return; // let config decide
37
+ return { href: "/user" }; // force redirect to specific page after login
38
+ });
39
+
40
+ addTemplateDir(`${cwd}/module/test`);
41
+
42
+ app.get('/logger-test', { config: { policy: 'L0' } }, loggerTest);
43
+ app.get('/err', { config: { policy: 'L0' } }, ({ query }) => {
44
+ if (query.custom) {
45
+ throw BadRequestError('this is message');
46
+ }
47
+ if (query.custom1) {
48
+ throw new BadRequestError('this is stil same message');
49
+ }
50
+ throw new Error('test error code 500');
51
+ });
52
+ app.get('/test-permissions', { config: { permission: 'orders.read' } }, async () => {
53
+ return 'allowed';
54
+ });
55
+
56
+ app.get('/health', {
57
+ // preHandler: userJwt,
58
+ config: {
59
+ tags: ['server.js'],
60
+ policy: 'L1', // L0, L1, L2
61
+ auth: 'user-jwt', // none, user-jwt, creds
62
+ role: 'admin', // role
63
+ scope: 'logger', // logger, admin, gis, bi
64
+ rateLimit: { max: 100, timeWindow: '1 minute', hook: 'preHandler' },
65
+ cors: { origins: ['https://app.example.com'] },
66
+ rbac: { resource: 'id', action: 'add' },
67
+ }
68
+ }, async () => {
69
+ const clients = await Promise.all(Object.keys(pgClients || {}).map(async key => {
70
+ const connected = await pgClients[key]?.query('select 1').catch(err => { err }).then(el => el?.rowCount);
71
+ const keys = Object.keys(pgClients[key] || {});
72
+ return {
73
+ name: key,
74
+ init: !!pgClients[key]?.tlist
75
+ && !!pgClients[key]?.pk
76
+ && !!pgClients[key]?.pgType
77
+ && !!pgClients[key]?.relkinds
78
+ && !!pgClients[key]?.queryCache,
79
+ connected: !!connected,
80
+ keys,
81
+ };
82
+ }));
83
+ return { ok: true, pgClients: clients };
84
+ });
85
+
86
+ /* addCron(async function testCron() {
87
+ return (config.local || true) ? null : { message: 'Done', status: 200 };
88
+ }, 60 * 1); */
89
+
90
+ app.listen({ host: config.host || '0.0.0.0', port: config.port || process.env.PORT || 3000 }, (err) => {
91
+ console.log(`Server started via port: ${config.port || process.env.PORT || 3000}`);
92
+ if (err) {
93
+ console.error(err.toString());
94
+ logger.error(err);
95
+ process.exit(1);
96
+ }
97
+ });
package/dist/utils.d.ts CHANGED
@@ -48,6 +48,7 @@ export { default as addHook } from "./server/plugins/hook/addHook.js";
48
48
  export { default as applyHook } from "./server/plugins/hook/applyHook.js";
49
49
  export { default as applyHookSync } from "./server/plugins/hook/applyHookSync.js";
50
50
  export { default as execMigrations } from "./server/plugins/migration/exec.migrations.js";
51
+ export { default as executeAllMigrations } from "./server/plugins/migration/exec.migrations.all.js";
51
52
  export { default as execSql } from "./server/plugins/migration/exec.sql.js";
52
53
  export { default as addCron } from "./server/plugins/cron/funcs/addCron.js";
53
54
  export { default as logger } from "./server/plugins/logger/getLogger.js";
@@ -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
@@ -59,6 +59,7 @@ export { default as addHook } from "./server/plugins/hook/addHook.js";
59
59
  export { default as applyHook } from "./server/plugins/hook/applyHook.js";
60
60
  export { default as applyHookSync } from "./server/plugins/hook/applyHookSync.js";
61
61
  export { default as execMigrations } from "./server/plugins/migration/exec.migrations.js";
62
+ export { default as executeAllMigrations } from "./server/plugins/migration/exec.migrations.all.js";
62
63
  export { default as execSql } from "./server/plugins/migration/exec.sql.js";
63
64
  // cron
64
65
  export { default as addCron } from "./server/plugins/cron/funcs/addCron.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fastify-table",
3
- "version": "2.4.11",
3
+ "version": "2.4.13",
4
4
  "type": "module",
5
5
  "description": "core-plugins",
6
6
  "keywords": [
@@ -24,9 +24,9 @@
24
24
  ],
25
25
  "scripts": {
26
26
  "dump": "bun ./script/dump.ts",
27
- "migrate": "MIGRATE=true bun ./script/migrate.ts",
27
+ "migrate": "bun ./script/migrate.ts",
28
28
  "dump1": "bun ./dist/script/dump.js",
29
- "migrate1": "MIGRATE=true bun ./dist/script/migrate.js",
29
+ "migrate1": "bun ./dist/script/migrate.js",
30
30
  "prepublishOnly": "npm run build",
31
31
  "clean": "tsc -b --clean",
32
32
  "build": "tsc -b --clean && tsc && copyfiles server/plugins/grpc/utils/*.proto dist && copyfiles server/migrations/*.sql dist && copyfiles server/templates/**/*.html dist && copyfiles server/templates/**/*.hbs dist && copyfiles script/* dist && copyfiles -u 2 module/core/*/* dist/module/core",
@@ -38,7 +38,7 @@
38
38
  "test": "npx vitest run",
39
39
  "compress": "node compress.js",
40
40
  "dev1": "bun --hot dist/server",
41
- "dev": "NODE_ENV=production bun start",
41
+ "dev": "NODE_ENV=development bun start",
42
42
  "start": "LOG_LEVEL=trace bun server"
43
43
  },
44
44
  "dependencies": {