@paroicms/internal-server-lib 1.12.0 → 1.13.0
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/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pino-app-log.js +1 -1
- package/dist/pino-app-log.js.map +1 -1
- package/dist/sql-logger.d.ts +2 -2
- package/dist/sql-logger.js +17 -16
- package/dist/sql-logger.js.map +1 -1
- package/dist/sqlite-db-init.d.ts +9 -13
- package/dist/sqlite-db-init.js +37 -24
- package/dist/sqlite-db-init.js.map +1 -1
- package/dist/sqlite-utils.d.ts +1 -0
- package/dist/sqlite-utils.js +5 -0
- package/dist/sqlite-utils.js.map +1 -0
- package/package.json +5 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
1
|
export * from "./cron-like.js";
|
|
3
2
|
export * from "./fs-utils.js";
|
|
4
3
|
export * from "./jwt-secret.helpers.js";
|
|
@@ -9,4 +8,5 @@ export * from "./relative-id-helper.js";
|
|
|
9
8
|
export * from "./resource-version.js";
|
|
10
9
|
export * from "./sql-logger.js";
|
|
11
10
|
export * from "./sqlite-db-init.js";
|
|
11
|
+
export * from "./sqlite-utils.js";
|
|
12
12
|
export * from "./tracker.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "reflect-metadata"; // needed by TypeORM
|
|
2
1
|
export * from "./cron-like.js";
|
|
3
2
|
export * from "./fs-utils.js";
|
|
4
3
|
export * from "./jwt-secret.helpers.js";
|
|
@@ -9,5 +8,6 @@ export * from "./relative-id-helper.js";
|
|
|
9
8
|
export * from "./resource-version.js";
|
|
10
9
|
export * from "./sql-logger.js";
|
|
11
10
|
export * from "./sqlite-db-init.js";
|
|
11
|
+
export * from "./sqlite-utils.js";
|
|
12
12
|
export * from "./tracker.js";
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
package/dist/pino-app-log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { promiseToHandle } from "@paroi/async-lib";
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
|
-
import pino from "pino";
|
|
3
|
+
import { pino } from "pino";
|
|
4
4
|
const levels = ["error", "warn", "info", "stats", "debug", "trace"];
|
|
5
5
|
const levelIndexes = new Map(levels.map((l, index) => [l, index]));
|
|
6
6
|
export function createPlatformLog({ file, level, transport, reportMessage, }) {
|
package/dist/pino-app-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino-app-log.js","sourceRoot":"","sources":["../src/pino-app-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"pino-app-log.js","sourceRoot":"","sources":["../src/pino-app-log.ts"],"names":[],"mappings":"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"}
|
package/dist/sql-logger.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Knex } from "knex";
|
|
2
2
|
import type { BasicAppLogger } from "./public.types.js";
|
|
3
3
|
export interface SqlLogger {
|
|
4
|
-
|
|
4
|
+
knexLogger: Knex.Logger;
|
|
5
5
|
logNextQuery: (count?: number) => void;
|
|
6
6
|
}
|
|
7
7
|
export declare function createSqlLogger({ logger, dbSchemaName, }: {
|
package/dist/sql-logger.js
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
const noOp = () => {
|
|
2
|
-
// nothing to do
|
|
3
|
-
};
|
|
4
1
|
export function createSqlLogger({ logger, dbSchemaName, }) {
|
|
5
2
|
let debugCount = 0;
|
|
6
|
-
const
|
|
7
|
-
|
|
3
|
+
const knexLogger = {
|
|
4
|
+
debug(message) {
|
|
8
5
|
if (debugCount <= 0)
|
|
9
6
|
return;
|
|
10
7
|
--debugCount;
|
|
11
|
-
logger.debug(`[${dbSchemaName}] ${formatSqlQuery(
|
|
12
|
-
|
|
8
|
+
logger.debug(`[${dbSchemaName}] ${formatSqlQuery(message.sql)}${message.bindings
|
|
9
|
+
? `
|
|
10
|
+
with bindings: ${message.bindings.map(parameterToString).join(", ")}`
|
|
11
|
+
: ""}`);
|
|
13
12
|
},
|
|
14
|
-
|
|
15
|
-
logger.error(`[${dbSchemaName}] sql error:`,
|
|
13
|
+
error(message) {
|
|
14
|
+
logger.error(`[${dbSchemaName}] sql error:`, message);
|
|
15
|
+
},
|
|
16
|
+
warn(message) {
|
|
17
|
+
logger.warn(`[${dbSchemaName}] sql warning:`, message);
|
|
18
|
+
},
|
|
19
|
+
deprecate(method, alternative) {
|
|
20
|
+
logger.warn(`[${dbSchemaName}] deprecated method ${method}, use ${alternative} instead`);
|
|
16
21
|
},
|
|
17
|
-
logQuerySlow: noOp,
|
|
18
|
-
logSchemaBuild: noOp,
|
|
19
|
-
logMigration: noOp,
|
|
20
|
-
log: noOp,
|
|
21
22
|
};
|
|
22
23
|
return {
|
|
23
|
-
|
|
24
|
+
knexLogger,
|
|
24
25
|
logNextQuery(count = 1) {
|
|
25
26
|
debugCount += count;
|
|
26
27
|
},
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
30
|
function formatSqlQuery(sql) {
|
|
30
|
-
return sql.replaceAll(
|
|
31
|
+
return sql.replaceAll("`", "");
|
|
31
32
|
}
|
|
32
33
|
function parameterToString(parameter) {
|
|
33
34
|
if (parameter === undefined)
|
|
@@ -40,7 +41,7 @@ function parameterToString(parameter) {
|
|
|
40
41
|
if (t === "symbol")
|
|
41
42
|
return parameter.toString();
|
|
42
43
|
if (t === "string")
|
|
43
|
-
return JSON.stringify(parameter.length >
|
|
44
|
+
return JSON.stringify(parameter.length > 20 ? `${parameter.substring(0, 20)}…` : parameter);
|
|
44
45
|
return t; // "object" or "function"
|
|
45
46
|
}
|
|
46
47
|
//# sourceMappingURL=sql-logger.js.map
|
package/dist/sql-logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-logger.js","sourceRoot":"","sources":["../src/sql-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sql-logger.js","sourceRoot":"","sources":["../src/sql-logger.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,YAAY,GACqC;IACjD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAgB;QAC9B,KAAK,CAAC,OAAuB;YAC3B,IAAI,UAAU,IAAI,CAAC;gBAAE,OAAO;YAC5B,EAAE,UAAU,CAAC;YACb,MAAM,CAAC,KAAK,CACV,IAAI,YAAY,KAAK,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAC9C,OAAO,CAAC,QAAQ;gBACd,CAAC,CAAC;mBACK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,CAAC,CAAC,EACN,EAAE,CACH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO;YACX,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,OAAO;YACV,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,WAAW;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,uBAAuB,MAAM,SAAS,WAAW,UAAU,CAAC,CAAC;QAC3F,CAAC;KACF,CAAC;IAEF,OAAO;QACL,UAAU;QACV,YAAY,CAAC,KAAK,GAAG,CAAC;YACpB,UAAU,IAAI,KAAK,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAc;IACvC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAChD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,CAAC,GAAG,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IACrF,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK,QAAQ;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC,CAAC,yBAAyB;AACrC,CAAC"}
|
package/dist/sqlite-db-init.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Knex } from "knex";
|
|
2
2
|
import type { BasicAppLogger } from "./public.types.js";
|
|
3
3
|
export declare const METADATA_TABLE_NAME = "PaMetadata";
|
|
4
4
|
export declare const DB_SCHEMA_VERSION_KEY = "dbSchemaVersion";
|
|
@@ -12,38 +12,34 @@ export interface NotMigratedDbReport {
|
|
|
12
12
|
migrated: false;
|
|
13
13
|
schemaVersion: number;
|
|
14
14
|
}
|
|
15
|
-
export interface QueryBuilderConnection {
|
|
16
|
-
createQueryBuilder(): SelectQueryBuilder<any>;
|
|
17
|
-
}
|
|
18
15
|
export declare function createOrOpenSqliteConnection(options: {
|
|
19
16
|
sqliteFile: string;
|
|
20
17
|
ddlFile: string;
|
|
21
18
|
dbSchemaName: string;
|
|
22
19
|
canCreate: boolean;
|
|
23
|
-
typeOrmLogger: Logger;
|
|
24
|
-
entities: DataSourceOptions["entities"];
|
|
25
|
-
migrateDb: (cn: DataSource) => Promise<DbMigrationReport>;
|
|
26
20
|
logger: BasicAppLogger;
|
|
21
|
+
knexLogger?: Knex.Logger;
|
|
22
|
+
migrateDb: (cn: Knex) => Promise<DbMigrationReport>;
|
|
27
23
|
}): Promise<{
|
|
28
|
-
cn:
|
|
24
|
+
cn: Knex;
|
|
29
25
|
isNewDatabase: boolean;
|
|
30
26
|
migrationReport: DbMigrationReport;
|
|
31
27
|
}>;
|
|
32
|
-
export declare function executeDdl(cn:
|
|
33
|
-
export declare function getMetadataValue(cn:
|
|
28
|
+
export declare function executeDdl(cn: Knex, ddlFile: string): Promise<void>;
|
|
29
|
+
export declare function getMetadataValue(cn: Knex, { dbSchemaName, key }: {
|
|
34
30
|
dbSchemaName: string;
|
|
35
31
|
key: string;
|
|
36
32
|
}): Promise<string | undefined>;
|
|
37
|
-
export declare function setMetadataValue(cn:
|
|
33
|
+
export declare function setMetadataValue(cn: Knex, { dbSchemaName, key, value, errorIfMissing, }: {
|
|
38
34
|
dbSchemaName: string;
|
|
39
35
|
key: string;
|
|
40
36
|
value: string;
|
|
41
37
|
errorIfMissing?: boolean;
|
|
42
38
|
}): Promise<void>;
|
|
43
|
-
export declare function getMetadataDbSchemaVersion(cn:
|
|
39
|
+
export declare function getMetadataDbSchemaVersion(cn: Knex, { dbSchemaName }: {
|
|
44
40
|
dbSchemaName: string;
|
|
45
41
|
}): Promise<number>;
|
|
46
|
-
export declare function setMetadataDbSchemaVersion(cn:
|
|
42
|
+
export declare function setMetadataDbSchemaVersion(cn: Knex, { dbSchemaName, value }: {
|
|
47
43
|
dbSchemaName: string;
|
|
48
44
|
value: number;
|
|
49
45
|
}): Promise<void>;
|
package/dist/sqlite-db-init.js
CHANGED
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
import { nbVal, strVal } from "@paroi/data-formatters-lib";
|
|
2
|
+
import knex from "knex";
|
|
2
3
|
import { readFile } from "node:fs/promises";
|
|
3
|
-
import { DataSource } from "typeorm";
|
|
4
4
|
import { pathExists } from "./fs-utils.js";
|
|
5
5
|
export const METADATA_TABLE_NAME = "PaMetadata";
|
|
6
6
|
export const DB_SCHEMA_VERSION_KEY = "dbSchemaVersion";
|
|
7
7
|
export async function createOrOpenSqliteConnection(options) {
|
|
8
|
-
const { sqliteFile, ddlFile, dbSchemaName, canCreate,
|
|
8
|
+
const { sqliteFile, ddlFile, dbSchemaName, canCreate, migrateDb, logger, knexLogger } = options;
|
|
9
9
|
const isNewDatabase = !(await pathExists(sqliteFile));
|
|
10
10
|
if (isNewDatabase && !canCreate) {
|
|
11
11
|
throw new Error(`missing '${dbSchemaName}' database`);
|
|
12
12
|
}
|
|
13
|
-
const cn =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
const cn = knex({
|
|
14
|
+
client: "sqlite3",
|
|
15
|
+
connection: {
|
|
16
|
+
filename: sqliteFile,
|
|
17
|
+
},
|
|
18
|
+
useNullAsDefault: true,
|
|
19
|
+
debug: true, // process.env.NODE_ENV === "development"
|
|
20
|
+
asyncStackTraces: true, // process.env.NODE_ENV === "development"
|
|
21
|
+
log: knexLogger,
|
|
22
|
+
pool: {
|
|
23
|
+
afterCreate: (sqliteCn, done) => {
|
|
24
|
+
// Enable foreign keys in SQLite
|
|
25
|
+
sqliteCn.run("PRAGMA foreign_keys = 1", done);
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
});
|
|
22
29
|
if (isNewDatabase) {
|
|
23
30
|
await executeDdl(cn, ddlFile);
|
|
24
31
|
logger.info(`created '${dbSchemaName}' database`);
|
|
25
32
|
}
|
|
26
33
|
const migrationReport = await migrateDb(cn);
|
|
27
|
-
await cn.query("PRAGMA foreign_keys = 1"); // after migration scripts
|
|
28
34
|
return { cn, isNewDatabase, migrationReport };
|
|
29
35
|
}
|
|
30
36
|
export async function executeDdl(cn, ddlFile) {
|
|
@@ -37,7 +43,7 @@ export async function executeDdl(cn, ddlFile) {
|
|
|
37
43
|
.filter((query) => query !== "");
|
|
38
44
|
for (const query of queries) {
|
|
39
45
|
if (!onlySqlComment(query)) {
|
|
40
|
-
await cn.
|
|
46
|
+
await cn.raw(query);
|
|
41
47
|
}
|
|
42
48
|
}
|
|
43
49
|
}
|
|
@@ -51,20 +57,23 @@ function onlySqlComment(sql) {
|
|
|
51
57
|
return true;
|
|
52
58
|
}
|
|
53
59
|
export async function getMetadataValue(cn, { dbSchemaName, key }) {
|
|
54
|
-
|
|
55
|
-
const [row] = await cn.query(`select val from ${METADATA_TABLE_NAME} where dbSchema = '${dbSchemaName}' and k = ?`, [key]);
|
|
60
|
+
const row = await cn(METADATA_TABLE_NAME).where({ dbSchema: dbSchemaName, k: key }).first();
|
|
56
61
|
if (row)
|
|
57
62
|
return strVal(row.val, { varName: "val" });
|
|
58
63
|
}
|
|
59
64
|
export async function setMetadataValue(cn, { dbSchemaName, key, value, errorIfMissing, }) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
const affectedRows = await cn(METADATA_TABLE_NAME)
|
|
66
|
+
.where({ dbSchema: dbSchemaName, k: key })
|
|
67
|
+
.update({ val: value });
|
|
68
|
+
if (affectedRows === 0) {
|
|
63
69
|
if (errorIfMissing) {
|
|
64
70
|
throw new Error(`[${dbSchemaName}] missing '${key}' in '${METADATA_TABLE_NAME}'`);
|
|
65
71
|
}
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
await cn(METADATA_TABLE_NAME).insert({
|
|
73
|
+
dbSchema: dbSchemaName,
|
|
74
|
+
k: key,
|
|
75
|
+
val: value,
|
|
76
|
+
});
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
export async function getMetadataDbSchemaVersion(cn, { dbSchemaName }) {
|
|
@@ -94,18 +103,22 @@ export async function setMetadataDbSchemaVersion(cn, { dbSchemaName, value }) {
|
|
|
94
103
|
});
|
|
95
104
|
}
|
|
96
105
|
async function migrateMetadataTable(cn, dbSchemaName) {
|
|
97
|
-
const
|
|
106
|
+
const row = await cn("PaDbMetadata").where({ dbSchema: dbSchemaName }).first();
|
|
98
107
|
if (!row)
|
|
99
108
|
throw new Error(); // will be catched in the caller
|
|
100
109
|
const version = nbVal(row.dbVersion);
|
|
101
|
-
await cn.
|
|
110
|
+
await cn.raw(`create table PaMetadata (
|
|
102
111
|
dbSchema varchar(100) not null,
|
|
103
112
|
k varchar(100) not null,
|
|
104
113
|
val varchar(250) not null,
|
|
105
114
|
primary key (dbSchema, k)
|
|
106
115
|
)`);
|
|
107
|
-
await cn.
|
|
108
|
-
|
|
116
|
+
await cn(METADATA_TABLE_NAME).insert({
|
|
117
|
+
dbSchema: dbSchemaName,
|
|
118
|
+
k: "dbSchemaVersion",
|
|
119
|
+
val: String(version),
|
|
120
|
+
});
|
|
121
|
+
await cn.schema.dropTable("PaDbMetadata");
|
|
109
122
|
console.warn(`[${dbSchemaName}] … migrated 'PaDbMetadata' table to 'PaMetadata'`);
|
|
110
123
|
return String(version);
|
|
111
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-db-init.js","sourceRoot":"","sources":["../src/sqlite-db-init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite-db-init.js","sourceRoot":"","sources":["../src/sqlite-db-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,IAAmB,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAcvD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAQlD;IACC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEhG,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,IAAI,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC;QACd,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,QAAQ,EAAE,UAAU;SACrB;QACD,gBAAgB,EAAE,IAAI;QACtB,KAAK,EAAE,IAAI,EAAE,yCAAyC;QACtD,gBAAgB,EAAE,IAAI,EAAE,yCAAyC;QACjE,GAAG,EAAE,UAAU;QAEf,IAAI,EAAE;YACJ,WAAW,EAAE,CAAC,QAAa,EAAE,IAAS,EAAE,EAAE;gBACxC,gCAAgC;gBAChC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,YAAY,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;IAE5C,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAQ,EAAE,OAAe;IACxD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE;QAClC,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAQ,EACR,EAAE,YAAY,EAAE,GAAG,EAAyC;IAE5D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5F,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAQ,EACR,EACE,YAAY,EACZ,GAAG,EACH,KAAK,EACL,cAAc,GACiE;IAEjF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC;SAC/C,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;SACzC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1B,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,IAAI,YAAY,cAAc,GAAG,SAAS,mBAAmB,GAAG,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,YAAY;YACtB,CAAC,EAAE,GAAG;YACN,GAAG,EAAE,KAAK;SACX,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,EAAQ,EACR,EAAE,YAAY,EAA4B;IAE1C,IAAI,KAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,IAAI,YAAY,cAAc,qBAAqB,SAAS,mBAAmB,GAAG,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,EAAQ,EACR,EAAE,YAAY,EAAE,KAAK,EAA2C;IAEhE,MAAM,gBAAgB,CAAC,EAAE,EAAE;QACzB,YAAY;QACZ,GAAG,EAAE,qBAAqB;QAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,EAAQ,EAAE,YAAoB;IAChE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/E,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,gCAAgC;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;EAKb,CAAC,CAAC;IAEF,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;QACnC,QAAQ,EAAE,YAAY;QACtB,CAAC,EAAE,iBAAiB;QACpB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC;KACrB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE1C,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,mDAAmD,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function sqliteDateTime(date: Date): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-utils.js","sourceRoot":"","sources":["../src/sqlite-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,8DAA8D;IAC9D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/internal-server-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Common utilitaries for the paroicms server.",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"keywords": [
|
|
@@ -26,13 +26,12 @@
|
|
|
26
26
|
"@typeonly/validator": "~1.0.1",
|
|
27
27
|
"@paroi/async-lib": "~0.3.1",
|
|
28
28
|
"@paroi/data-formatters-lib": "~0.4.0",
|
|
29
|
-
"@paroicms/internal-anywhere-lib": "1.
|
|
30
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
31
|
-
"@paroicms/public-server-lib": "0.
|
|
29
|
+
"@paroicms/internal-anywhere-lib": "1.26.0",
|
|
30
|
+
"@paroicms/public-anywhere-lib": "0.20.0",
|
|
31
|
+
"@paroicms/public-server-lib": "0.28.0",
|
|
32
|
+
"knex": "~3.1.0",
|
|
32
33
|
"nanoid": "~5.0.9",
|
|
33
34
|
"pino": "~9.6.0",
|
|
34
|
-
"reflect-metadata": "~0.2.2",
|
|
35
|
-
"typeorm": "~0.3.20",
|
|
36
35
|
"sqlite3": "~5.1.7"
|
|
37
36
|
},
|
|
38
37
|
"devDependencies": {
|