@opengis/fastify-table 2.0.70 → 2.0.72

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.
Files changed (26) hide show
  1. package/dist/server/helpers/index.d.ts.map +1 -1
  2. package/dist/server/helpers/index.js +1 -0
  3. package/dist/server/plugins/auth/funcs/loginUser.d.ts.map +1 -1
  4. package/dist/server/plugins/auth/index.d.ts.map +1 -1
  5. package/dist/server/plugins/auth/index.js +6 -2
  6. package/dist/server/plugins/logger/createFileStream.js +1 -1
  7. package/dist/server/plugins/logger/getLogger.d.ts.map +1 -1
  8. package/dist/server/plugins/logger/getLogger.js +20 -11
  9. package/dist/server/plugins/logger/getRootDir.d.ts +2 -1
  10. package/dist/server/plugins/logger/getRootDir.d.ts.map +1 -1
  11. package/dist/server/plugins/logger/getRootDir.js +2 -21
  12. package/dist/server/plugins/metric/loggerSystem.d.ts +1 -1
  13. package/dist/server/plugins/metric/loggerSystem.d.ts.map +1 -1
  14. package/dist/server/plugins/metric/loggerSystem.js +11 -3
  15. package/dist/server/plugins/redis/funcs/getRedis.js +1 -1
  16. package/dist/server/routes/auth/controllers/core/logout.d.ts.map +1 -1
  17. package/dist/server/routes/auth/controllers/core/logout.js +10 -0
  18. package/dist/server/routes/logger/controllers/logger.metrics.d.ts +8 -0
  19. package/dist/server/routes/logger/controllers/logger.metrics.d.ts.map +1 -0
  20. package/dist/server/routes/logger/controllers/logger.metrics.js +23 -0
  21. package/dist/server/routes/logger/controllers/logger.test.api.d.ts +2 -3
  22. package/dist/server/routes/logger/controllers/logger.test.api.d.ts.map +1 -1
  23. package/dist/server/routes/logger/controllers/logger.test.api.js +20 -37
  24. package/dist/server/routes/logger/index.d.ts.map +1 -1
  25. package/dist/server/routes/logger/index.js +2 -0
  26. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,YAAY,CAAC;AAOxC,QAAA,MAAM,UAAU,KAAqC,CAAC;AA0ItD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,YAAY,CAAC;AAOxC,QAAA,MAAM,UAAU,KAAqC,CAAC;AA2ItD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
@@ -74,6 +74,7 @@ handlebars.registerHelper("helperMissing", function hm() {
74
74
  // format
75
75
  handlebars.registerHelper("formatAuto", formatAuto);
76
76
  handlebars.registerHelper("formatDate", formatDate);
77
+ handlebarsSync.registerHelper("formatDate", formatDate);
77
78
  handlebars.registerHelper("formatDigit", formatDigit);
78
79
  handlebars.registerHelper("formatNum", formatNum);
79
80
  handlebars.registerHelper("formatNumber", formatNumber);
@@ -1 +1 @@
1
- {"version":3,"file":"loginUser.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/loginUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,wBAA8B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,kBA+CpE"}
1
+ {"version":3,"file":"loginUser.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/loginUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,wBAA8B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,kBAiDpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAYxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,iBA6GxE;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,eAAe,QA6BvC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAYxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,iBA8GxE;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,eAAe,QAgCvC;AAED,eAAe,MAAM,CAAC"}
@@ -30,7 +30,8 @@ export async function onRequest(req, reply) {
30
30
  const isPublic = Array.isArray(policy)
31
31
  ? policy.includes("public")
32
32
  : policy === "L0";
33
- if (!req.session?.passport?.user?.uid &&
33
+ if (req.cookies?.["session_auth"] &&
34
+ !req.session?.passport?.user?.uid &&
34
35
  (config.auth?.disable || config.auth?.user) &&
35
36
  !isPublic) {
36
37
  req.session = req.session || {};
@@ -103,7 +104,10 @@ function plugin(fastify) {
103
104
  secret: config?.auth?.secret || "61b820e12858570a4b0633020d4394a17903d9a9",
104
105
  cookieName: "session_auth",
105
106
  cookie: config?.auth?.cookieOptions || { secure: false },
106
- store: new RedisStore({ client: getRedis({ db: 10 }) }),
107
+ store: new RedisStore({
108
+ prefix: `session_auth:${config.pg?.database || "db"}:`,
109
+ client: getRedis({ db: 2 }),
110
+ }),
107
111
  });
108
112
  // register passport AFTER session is ready
109
113
  fastify.register(fastifyPassport.initialize());
@@ -30,7 +30,7 @@ export default function transportTarget() {
30
30
  source.on("data", (obj) => {
31
31
  if (["incoming request", "request completed"].includes(obj.msg))
32
32
  return;
33
- // console.log(obj)
33
+ // if (config.trace) console.log(obj, streams);
34
34
  const file = obj.msg?.logfolder || obj.logfolder;
35
35
  const level = file || labels[obj.level];
36
36
  const lvl = level + dt;
@@ -1 +1 @@
1
- {"version":3,"file":"getLogger.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/getLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,UAAU,cAAe,SAAQ,IAAI,CAAC,MAAM;IAC1C,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAClE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D;AAuCD,QAAA,MAAM,MAAM,EAAE,cAAgD,CAAC;AA4B/D,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"getLogger.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/getLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,UAAU,cAAe,SAAQ,IAAI,CAAC,MAAM;IAC1C,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAClE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D;AAkDD,QAAA,MAAM,MAAM,EAAE,cAAgD,CAAC;AA4B/D,eAAe,MAAM,CAAC"}
@@ -8,24 +8,33 @@ import serializers from "./serializers.js";
8
8
  import timestampWithTimeZone from "./timestampWithTimeZone.js";
9
9
  const isServer = process.argv[2];
10
10
  const rclient2 = getRedis({ db: 2 });
11
- const level = config.log?.level || process.env.PINO_LOG_LEVEL || "info";
11
+ const level = process.env.LOG_LEVEL || "info";
12
12
  console.log(`log level: ${level}`);
13
+ const targets = [
14
+ {
15
+ target: "./createFileStream.js", // path.resolve('utils/createFileStream.js')
16
+ },
17
+ {
18
+ level: "error",
19
+ target: "pino/file",
20
+ options: { destination: 1 },
21
+ },
22
+ ];
23
+ // push trace logs to console (those would not be saved to file)
24
+ if (["trace", "debug"].includes(level)) {
25
+ targets.push({
26
+ level,
27
+ target: "pino/file",
28
+ options: { destination: 1 },
29
+ });
30
+ }
13
31
  const options = {
14
32
  level, // minimal log level to write
15
33
  timestamp: () => `,"time":"${timestampWithTimeZone()}"`, // timestamp as isostring
16
34
  hooks: getHooks(),
17
35
  serializers, // custom log params
18
36
  transport: {
19
- targets: [
20
- {
21
- target: "./createFileStream.js", // path.resolve('utils/createFileStream.js')
22
- },
23
- {
24
- level: "error",
25
- target: "pino/file",
26
- options: { destination: 1 },
27
- },
28
- ],
37
+ targets,
29
38
  },
30
39
  redact: redactionList,
31
40
  };
@@ -1,2 +1,3 @@
1
- export default function getRootDir(): any;
1
+ declare const _default: () => string;
2
+ export default _default;
2
3
  //# sourceMappingURL=getRootDir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getRootDir.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/getRootDir.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,UAAU,QAqBjC"}
1
+ {"version":3,"file":"getRootDir.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/getRootDir.ts"],"names":[],"mappings":";AAIA,wBAA4B"}
@@ -1,22 +1,3 @@
1
- /* eslint-disable no-console */
2
- import fs from "node:fs";
3
1
  import path from "node:path";
4
- import config from "../../../config.js";
5
- let logDir = null;
6
- export default function getRootDir() {
7
- // absolute / relative path
8
- if (config.logDir) {
9
- console.log(`logging to: ${config.logDir}`);
10
- return config.logDir;
11
- }
12
- if (logDir) {
13
- console.log(`logging to: ${logDir}`);
14
- return logDir;
15
- }
16
- const file = ["config.json", "/data/local/config.json"].find((el) => fs.existsSync(el) ? el : null);
17
- // .env / config.json => process.cwd()
18
- const root = file && file.startsWith("/data/local") ? "/data/local" : process.cwd();
19
- logDir = path.join(root, config.log?.dir || "log");
20
- console.log(`logging to: ${logDir}`);
21
- return logDir;
22
- }
2
+ const logDir = process.env.LOG_DIR || path.join(process.cwd(), "log");
3
+ export default () => logDir;
@@ -1,4 +1,4 @@
1
- export default function loggerSystem(req: any): Promise<{
1
+ export default function loggerSystem(req?: any): Promise<{
2
2
  process: {
3
3
  root: string;
4
4
  processFolder: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loggerSystem.d.ts","sourceRoot":"","sources":["../../../../server/plugins/metric/loggerSystem.ts"],"names":[],"mappings":"AAsBA,wBAA8B,YAAY,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6IlD"}
1
+ {"version":3,"file":"loggerSystem.d.ts","sourceRoot":"","sources":["../../../../server/plugins/metric/loggerSystem.ts"],"names":[],"mappings":"AAsBA,wBAA8B,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqJnD"}
@@ -15,7 +15,7 @@ const redisKey = "logger-process-online";
15
15
  const sqlQuery = `select datname as dbname, application_name as app, client_addr as client_ip,
16
16
  (now()-backend_start)::text as msec, state, query from pg_stat_activity where datname=$1`;
17
17
  export default async function loggerSystem(req) {
18
- const { pg = pgClients.client } = req;
18
+ const { pg = pgClients.client } = req || {};
19
19
  const dbName = pg?.options?.database;
20
20
  const dbsize = config.redis
21
21
  ? await rclient.get(`${dbName}:content:dbsize:${redisKey}`)
@@ -27,7 +27,9 @@ export default async function loggerSystem(req) {
27
27
  (await pg
28
28
  .query(`select pg_size_pretty(pg_database_size('${dbName}'));`)
29
29
  .then((el) => el.rows?.[0]?.pg_size_pretty));
30
- const { rows: query = [] } = await pg.query(sqlQuery, [dbName]);
30
+ const query = await pg
31
+ .query(sqlQuery, [dbName])
32
+ .then((el) => el.rows || []);
31
33
  const { stdout: topProcess } = platform === "win32"
32
34
  ? { stdout: "Cant show top on this system type" }
33
35
  : await execAsync("top -b -n 1");
@@ -69,7 +71,13 @@ export default async function loggerSystem(req) {
69
71
  ? JSON.parse(JSON.stringify(metric5, Object.keys(metric5).sort()))
70
72
  : undefined;
71
73
  const userOnline = config.redis
72
- ? await rclient2.scan(["0", "match", `${dbName}:user:*`, "count", "10000"])
74
+ ? await rclient2.scan([
75
+ "0",
76
+ "match",
77
+ `session_auth:${dbName}:*`,
78
+ "count",
79
+ "10000",
80
+ ])
73
81
  : [];
74
82
  // const userOnline = await rclient10.scan(['0', 'match', 'sess:*', 'count', '10000']);
75
83
  return {
@@ -12,7 +12,7 @@ function getRedis({ db, host, port, } = { db: 0 }) {
12
12
  }
13
13
  const redisConfig = {
14
14
  db,
15
- keyPrefix: `${config.db}:`,
15
+ prefix: `${config.pg?.database || "db"}:`,
16
16
  host: host || config.redis?.host || "127.0.0.1",
17
17
  port: port || config.redis?.port || 6379, // Redis port
18
18
  family: 4, // 4 (IPv4) or 6 (IPv6)
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../../../server/routes/auth/controllers/core/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;GAIG;AAEH,iBAAe,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAG7D;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../../../server/routes/auth/controllers/core/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;GAIG;AAEH,iBAAe,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAgB7D;AAED,eAAe,MAAM,CAAC"}
@@ -4,7 +4,17 @@
4
4
  *
5
5
  */
6
6
  async function logout(req, reply) {
7
+ if (!req.user) {
8
+ return reply.redirect("/");
9
+ }
7
10
  await req.session?.destroy?.();
11
+ reply.clearCookie("session_auth");
12
+ // Shield session from resurrection
13
+ Object.defineProperty(req, "session", {
14
+ value: null,
15
+ writable: false,
16
+ configurable: false,
17
+ });
8
18
  return reply.redirect("/");
9
19
  }
10
20
  export default logout;
@@ -0,0 +1,8 @@
1
+ /**
2
+ *
3
+ * @method GET
4
+ * @summary API для перегляду поточних метрик
5
+ *
6
+ */
7
+ export default function loggerMetrics(req: any, reply: any): Promise<any>;
8
+ //# sourceMappingURL=logger.metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.metrics.d.ts","sourceRoot":"","sources":["../../../../../server/routes/logger/controllers/logger.metrics.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,wBAA8B,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,gBAkB/D"}
@@ -0,0 +1,23 @@
1
+ import checkUserAccess from "../../../plugins/logger/checkUserAccess.js";
2
+ import loggerSystem from "../../../plugins/metric/loggerSystem.js";
3
+ /**
4
+ *
5
+ * @method GET
6
+ * @summary API для перегляду поточних метрик
7
+ *
8
+ */
9
+ export default async function loggerMetrics(req, reply) {
10
+ const { pg, user = {}, query = {} } = req;
11
+ const access = checkUserAccess({ user, token: query.token });
12
+ if (access?.status !== 200) {
13
+ return reply.status(access.status).send(access.message);
14
+ }
15
+ const system = await loggerSystem();
16
+ const dbName = pg?.options?.database;
17
+ return {
18
+ dbname: dbName,
19
+ ...system.metric,
20
+ uptime: system.uptime,
21
+ ...system.metricSort,
22
+ };
23
+ }
@@ -1,4 +1,3 @@
1
- export default function testLog(request: any): Promise<{
2
- root: boolean;
3
- }>;
1
+ import { FastifyReply } from "fastify";
2
+ export default function testLog(request: any, reply: FastifyReply): Promise<never>;
4
3
  //# sourceMappingURL=logger.test.api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.test.api.d.ts","sourceRoot":"","sources":["../../../../../server/routes/logger/controllers/logger.test.api.ts"],"names":[],"mappings":"AAGA,wBAA8B,OAAO,CAAC,OAAO,EAAE,GAAG;;GA4CjD"}
1
+ {"version":3,"file":"logger.test.api.d.ts","sourceRoot":"","sources":["../../../../../server/routes/logger/controllers/logger.test.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,wBAA8B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,kBA2BtE"}
@@ -1,42 +1,25 @@
1
- /* eslint-disable no-unreachable */
2
- import { rename } from 'fs/promises';
3
- export default async function testLog(request) {
4
- // error handler
1
+ import { rename } from "node:fs/promises";
2
+ import logger from "../../../plugins/logger/getLogger.js";
3
+ export default async function testLog(request, reply) {
4
+ logger.metrics("logger-test");
5
+ logger.file("logger-test", { code: 200, start: true });
5
6
  if (request.query?.rejection) {
6
- rename('/data/local/test', '/data/local/test.txt');
7
+ rename("/data/local/test", "/data/local/test.txt");
7
8
  }
8
9
  if (request.query?.awaitRejection) {
9
- await rename('/data/local/test', '/data/local/test.txt');
10
+ await rename("/data/local/test", "/data/local/test.txt");
10
11
  }
11
- // default pino log
12
- // request.log.info({ name: 'custom', test: 'param name and object log - info', status: 200 });
13
- /* request.log.info('string info log');
14
- //request.log.warn({ name: 'custom', test: 'param name and object log - warn', status: 400 });
15
- request.log.warn('string warn log');
16
- //request.log.debug({ name: 'custom', test: 'param name and object log - debug', status: 200 });
17
- request.log.debug('string debug log');
18
- //request.log.error({ name: 'custom', test: 'param name and object log - error', status: 200 });
19
- //request.log.error('string error log');
20
- request.log.fatal({ name: 'custom', test: 'param name and object log - fatal', status: 200 });
21
- //request.log.fatal('string fatal log'); */
22
- // custom params
23
- // request.log.info(request, { file: 'test', msg: 'string debug log' });
24
- // request.log.info({ file: 'test', msg: 'string debug log1' }, request);
25
- // request.log.file('test1', 'my message', request);
26
- throw new Error('444');
27
- request.log.info({ data: 111, msg: 'string debug log1' }, request);
28
- request.log.info('string debug log1', request);
29
- request.log.info('string debug log1');
30
- request.log.info({ data: 111, msg: 'string debug log1' });
31
- request.log.error(new Error('222'), request);
32
- /* request.log.error('policy and string log1');
33
- request.log.error({ test: 'policy and string log1' });
34
- request.log.error(request, { test: 'string name and object log', status: 502 });
35
- request.log.error(request, 'policy and string log1'); */
36
- // request.log.error(request, { test: 'policy and object error log', status: 500 });
37
- // request.log.error(request, 'policy and string log2');
38
- /// throw new Error('222');
39
- // d / 0;
40
- // throw new Error('unhandled exception');
41
- return { root: true };
12
+ if (request.query?.throw) {
13
+ throw new Error("444");
14
+ }
15
+ logger.trace({ data: 111, msg: "string trace log1" }, request);
16
+ logger.debug({ data: 111, msg: "string debug log1" }, request);
17
+ logger.warn({ data: 111, msg: "string warn log1" }, request);
18
+ logger.fatal({ data: 111, msg: "string fatal log1" }, request);
19
+ logger.info({ data: 111, msg: "string info log1" }, request);
20
+ logger.info("string info log1", request);
21
+ logger.info("string info log1");
22
+ logger.info({ data: 111, msg: "string info log1" });
23
+ logger.error(new Error("222"), request);
24
+ return reply.status(200).send({ root: true });
42
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/routes/logger/index.ts"],"names":[],"mappings":"AAiBA,iBAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,GAAQ,QAMtC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/routes/logger/index.ts"],"names":[],"mappings":"AAkBA,iBAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,GAAQ,QAWtC;AAED,eAAe,MAAM,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import loggerFile from "./controllers/logger.file.js";
2
+ import loggerMetrics from "./controllers/logger.metrics.js";
2
3
  // import loggerTest from './controllers/logger.test.api.js';
3
4
  const loggerSchema = {
4
5
  querystring: {
@@ -14,5 +15,6 @@ const loggerSchema = {
14
15
  };
15
16
  function plugin(app, opt = {}) {
16
17
  app.get("/logger-file/*", { config: { policy: "L0", rateLimit: false }, schema: loggerSchema }, loggerFile);
18
+ app.get("/logger-metrics", { config: { policy: "L0", rateLimit: false }, schema: {} }, loggerMetrics);
17
19
  }
18
20
  export default plugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fastify-table",
3
- "version": "2.0.70",
3
+ "version": "2.0.72",
4
4
  "type": "module",
5
5
  "description": "core-plugins",
6
6
  "keywords": [
@@ -31,7 +31,7 @@
31
31
  "compress": "node compress.js",
32
32
  "dev1": "bun --hot dist/server",
33
33
  "dev": "NODE_ENV=production bun start",
34
- "start": "bun server"
34
+ "start": "LOG_LEVEL=trace bun server"
35
35
  },
36
36
  "dependencies": {
37
37
  "@aws-sdk/client-s3": "3.879.0",