@morojs/moro 1.0.0 → 1.0.2
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/README.md +1 -1
- package/dist/core/config/index.d.ts +5 -5
- package/dist/core/config/index.js +1 -1
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/loader.d.ts +1 -1
- package/dist/core/config/loader.js +58 -82
- package/dist/core/config/loader.js.map +1 -1
- package/dist/core/config/schema.d.ts +1 -1
- package/dist/core/config/schema.js +52 -111
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.d.ts +2 -2
- package/dist/core/config/utils.js +18 -18
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/database/adapters/drizzle.d.ts +1 -1
- package/dist/core/database/adapters/drizzle.js +39 -55
- package/dist/core/database/adapters/drizzle.js.map +1 -1
- package/dist/core/database/adapters/index.d.ts +7 -7
- package/dist/core/database/adapters/index.js +11 -11
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +1 -1
- package/dist/core/database/adapters/mongodb.js +19 -23
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +1 -1
- package/dist/core/database/adapters/mysql.js +31 -27
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.d.ts +1 -1
- package/dist/core/database/adapters/postgresql.js +27 -35
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.d.ts +1 -1
- package/dist/core/database/adapters/redis.js +24 -24
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sqlite.d.ts +1 -1
- package/dist/core/database/adapters/sqlite.js +36 -36
- package/dist/core/database/adapters/sqlite.js.map +1 -1
- package/dist/core/database/index.d.ts +2 -2
- package/dist/core/docs/index.d.ts +7 -7
- package/dist/core/docs/index.js +13 -15
- package/dist/core/docs/index.js.map +1 -1
- package/dist/core/docs/openapi-generator.d.ts +5 -5
- package/dist/core/docs/openapi-generator.js +93 -94
- package/dist/core/docs/openapi-generator.js.map +1 -1
- package/dist/core/docs/simple-docs.d.ts +1 -1
- package/dist/core/docs/simple-docs.js +25 -28
- package/dist/core/docs/simple-docs.js.map +1 -1
- package/dist/core/docs/swagger-ui.d.ts +2 -2
- package/dist/core/docs/swagger-ui.js +46 -51
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.d.ts +1 -1
- package/dist/core/docs/zod-to-openapi.js +115 -125
- package/dist/core/docs/zod-to-openapi.js.map +1 -1
- package/dist/core/events/event-bus.d.ts +1 -1
- package/dist/core/events/event-bus.js +15 -21
- package/dist/core/events/event-bus.js.map +1 -1
- package/dist/core/events/index.d.ts +2 -2
- package/dist/core/framework.d.ts +5 -5
- package/dist/core/framework.js +55 -60
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +2 -2
- package/dist/core/http/http-server.js +228 -261
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/index.d.ts +3 -3
- package/dist/core/http/router.d.ts +1 -1
- package/dist/core/http/router.js +15 -17
- package/dist/core/http/router.js.map +1 -1
- package/dist/core/logger/filters.d.ts +1 -1
- package/dist/core/logger/filters.js +16 -16
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.d.ts +3 -3
- package/dist/core/logger/logger.d.ts +1 -1
- package/dist/core/logger/logger.js +48 -59
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.d.ts +4 -4
- package/dist/core/logger/outputs.js +16 -20
- package/dist/core/logger/outputs.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.js +19 -19
- package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cache/index.js +3 -3
- package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.js +5 -5
- package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.js +18 -18
- package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.js +8 -8
- package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +14 -14
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +13 -15
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cdn/index.js +3 -3
- package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
- package/dist/core/middleware/built-in/auth.d.ts +1 -1
- package/dist/core/middleware/built-in/auth.js +14 -14
- package/dist/core/middleware/built-in/cache.d.ts +2 -2
- package/dist/core/middleware/built-in/cache.js +43 -45
- package/dist/core/middleware/built-in/cache.js.map +1 -1
- package/dist/core/middleware/built-in/cdn.d.ts +2 -2
- package/dist/core/middleware/built-in/cdn.js +27 -29
- package/dist/core/middleware/built-in/cdn.js.map +1 -1
- package/dist/core/middleware/built-in/cookie.d.ts +2 -2
- package/dist/core/middleware/built-in/cookie.js +17 -17
- package/dist/core/middleware/built-in/cookie.js.map +1 -1
- package/dist/core/middleware/built-in/cors.d.ts +1 -1
- package/dist/core/middleware/built-in/cors.js +13 -13
- package/dist/core/middleware/built-in/csp.d.ts +1 -1
- package/dist/core/middleware/built-in/csp.js +22 -25
- package/dist/core/middleware/built-in/csp.js.map +1 -1
- package/dist/core/middleware/built-in/csrf.d.ts +1 -1
- package/dist/core/middleware/built-in/csrf.js +21 -24
- package/dist/core/middleware/built-in/csrf.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker.js +2 -2
- package/dist/core/middleware/built-in/index.d.ts +14 -14
- package/dist/core/middleware/built-in/performance-monitor.js +2 -2
- package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
- package/dist/core/middleware/built-in/rate-limit.js +12 -12
- package/dist/core/middleware/built-in/request-logger.js.map +1 -1
- package/dist/core/middleware/built-in/session.d.ts +5 -5
- package/dist/core/middleware/built-in/session.js +35 -38
- package/dist/core/middleware/built-in/session.js.map +1 -1
- package/dist/core/middleware/built-in/sse.d.ts +1 -1
- package/dist/core/middleware/built-in/sse.js +20 -22
- package/dist/core/middleware/built-in/sse.js.map +1 -1
- package/dist/core/middleware/built-in/validation.d.ts +1 -1
- package/dist/core/middleware/built-in/validation.js +13 -13
- package/dist/core/middleware/index.d.ts +5 -5
- package/dist/core/middleware/index.js +16 -16
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.d.ts +2 -2
- package/dist/core/modules/auto-discovery.js +12 -13
- package/dist/core/modules/auto-discovery.js.map +1 -1
- package/dist/core/modules/index.d.ts +2 -2
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.d.ts +3 -3
- package/dist/core/modules/modules.js +3 -6
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/index.d.ts +2 -2
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.d.ts +2 -2
- package/dist/core/networking/service-discovery.js +27 -27
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-manager.d.ts +3 -3
- package/dist/core/networking/websocket-manager.js +15 -16
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/routing/app-integration.d.ts +2 -2
- package/dist/core/routing/app-integration.js +13 -13
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/index.d.ts +3 -3
- package/dist/core/routing/index.js +43 -52
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
- package/dist/core/runtime/aws-lambda-adapter.js +14 -16
- package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
- package/dist/core/runtime/base-adapter.d.ts +2 -2
- package/dist/core/runtime/base-adapter.js +11 -12
- package/dist/core/runtime/base-adapter.js.map +1 -1
- package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
- package/dist/core/runtime/cloudflare-workers-adapter.js +20 -21
- package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
- package/dist/core/runtime/index.d.ts +9 -9
- package/dist/core/runtime/index.js +4 -4
- package/dist/core/runtime/index.js.map +1 -1
- package/dist/core/runtime/node-adapter.d.ts +5 -5
- package/dist/core/runtime/node-adapter.js +35 -35
- package/dist/core/runtime/node-adapter.js.map +1 -1
- package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
- package/dist/core/runtime/vercel-edge-adapter.js +12 -15
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.js +6 -6
- package/dist/core/utilities/container.d.ts +1 -1
- package/dist/core/utilities/container.js +17 -22
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +3 -3
- package/dist/core/utilities/hooks.js +11 -11
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.d.ts +4 -4
- package/dist/core/validation/index.d.ts +3 -3
- package/dist/core/validation/index.js +15 -15
- package/dist/core/validation/index.js.map +1 -1
- package/dist/index.d.ts +41 -30
- package/dist/index.js +50 -1
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +14 -14
- package/dist/moro.js +79 -88
- package/dist/moro.js.map +1 -1
- package/dist/types/cache.d.ts +1 -1
- package/dist/types/core.d.ts +2 -2
- package/dist/types/events.d.ts +19 -19
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/http.d.ts +2 -2
- package/dist/types/logger.d.ts +3 -3
- package/dist/types/module.d.ts +2 -2
- package/dist/types/runtime.d.ts +2 -2
- package/dist/types/session.d.ts +4 -4
- package/package.json +183 -165
- package/src/core/config/index.ts +7 -9
- package/src/core/config/loader.ts +86 -158
- package/src/core/config/schema.ts +59 -122
- package/src/core/config/utils.ts +27 -45
- package/src/core/database/adapters/drizzle.ts +53 -75
- package/src/core/database/adapters/index.ts +26 -29
- package/src/core/database/adapters/mongodb.ts +31 -54
- package/src/core/database/adapters/mysql.ts +40 -50
- package/src/core/database/adapters/postgresql.ts +32 -42
- package/src/core/database/adapters/redis.ts +31 -36
- package/src/core/database/adapters/sqlite.ts +43 -51
- package/src/core/database/index.ts +2 -2
- package/src/core/docs/index.ts +25 -39
- package/src/core/docs/openapi-generator.ts +104 -117
- package/src/core/docs/simple-docs.ts +29 -39
- package/src/core/docs/swagger-ui.ts +57 -76
- package/src/core/docs/zod-to-openapi.ts +121 -153
- package/src/core/events/event-bus.ts +22 -45
- package/src/core/events/index.ts +2 -2
- package/src/core/framework.ts +119 -197
- package/src/core/http/http-server.ts +260 -360
- package/src/core/http/index.ts +3 -8
- package/src/core/http/router.ts +19 -31
- package/src/core/logger/filters.ts +19 -22
- package/src/core/logger/index.ts +3 -3
- package/src/core/logger/logger.ts +59 -100
- package/src/core/logger/outputs.ts +23 -27
- package/src/core/middleware/built-in/adapters/cache/file.ts +21 -23
- package/src/core/middleware/built-in/adapters/cache/index.ts +11 -14
- package/src/core/middleware/built-in/adapters/cache/memory.ts +7 -7
- package/src/core/middleware/built-in/adapters/cache/redis.ts +21 -24
- package/src/core/middleware/built-in/adapters/cdn/azure.ts +10 -18
- package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +19 -36
- package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +17 -26
- package/src/core/middleware/built-in/adapters/cdn/index.ts +10 -10
- package/src/core/middleware/built-in/adapters/index.ts +4 -4
- package/src/core/middleware/built-in/auth.ts +16 -16
- package/src/core/middleware/built-in/cache.ts +50 -67
- package/src/core/middleware/built-in/cdn.ts +34 -61
- package/src/core/middleware/built-in/cookie.ts +23 -28
- package/src/core/middleware/built-in/cors.ts +17 -17
- package/src/core/middleware/built-in/csp.ts +25 -31
- package/src/core/middleware/built-in/csrf.ts +24 -29
- package/src/core/middleware/built-in/error-tracker.ts +3 -3
- package/src/core/middleware/built-in/index.ts +28 -28
- package/src/core/middleware/built-in/performance-monitor.ts +4 -4
- package/src/core/middleware/built-in/rate-limit.ts +15 -15
- package/src/core/middleware/built-in/request-logger.ts +1 -3
- package/src/core/middleware/built-in/session.ts +47 -70
- package/src/core/middleware/built-in/sse.ts +23 -28
- package/src/core/middleware/built-in/validation.ts +15 -15
- package/src/core/middleware/index.ts +26 -37
- package/src/core/modules/auto-discovery.ts +21 -31
- package/src/core/modules/index.ts +2 -5
- package/src/core/modules/modules.ts +11 -20
- package/src/core/networking/index.ts +2 -6
- package/src/core/networking/service-discovery.ts +41 -61
- package/src/core/networking/websocket-manager.ts +27 -36
- package/src/core/routing/app-integration.ts +19 -32
- package/src/core/routing/index.ts +57 -88
- package/src/core/runtime/aws-lambda-adapter.ts +20 -30
- package/src/core/runtime/base-adapter.ts +17 -27
- package/src/core/runtime/cloudflare-workers-adapter.ts +28 -42
- package/src/core/runtime/index.ts +21 -33
- package/src/core/runtime/node-adapter.ts +59 -73
- package/src/core/runtime/vercel-edge-adapter.ts +18 -29
- package/src/core/utilities/circuit-breaker.ts +7 -7
- package/src/core/utilities/container.ts +52 -89
- package/src/core/utilities/hooks.ts +17 -23
- package/src/core/utilities/index.ts +4 -4
- package/src/core/validation/index.ts +25 -51
- package/src/index.ts +104 -60
- package/src/moro.ts +119 -191
- package/src/types/cache.ts +1 -1
- package/src/types/core.ts +2 -2
- package/src/types/database.ts +2 -10
- package/src/types/events.ts +23 -31
- package/src/types/hooks.ts +1 -1
- package/src/types/http.ts +5 -8
- package/src/types/logger.ts +7 -23
- package/src/types/module.ts +2 -2
- package/src/types/runtime.ts +6 -21
- package/src/types/session.ts +4 -4
|
@@ -4,33 +4,29 @@ exports.SQLiteAdapter = void 0;
|
|
|
4
4
|
const logger_1 = require("../../logger");
|
|
5
5
|
class SQLiteAdapter {
|
|
6
6
|
constructor(config = {}) {
|
|
7
|
-
this.logger = (0, logger_1.createFrameworkLogger)(
|
|
7
|
+
this.logger = (0, logger_1.createFrameworkLogger)('SQLite');
|
|
8
8
|
try {
|
|
9
|
-
const Database = require(
|
|
10
|
-
const filename = config.memory
|
|
11
|
-
? ":memory:"
|
|
12
|
-
: config.filename || "moro_app.db";
|
|
9
|
+
const Database = require('better-sqlite3');
|
|
10
|
+
const filename = config.memory ? ':memory:' : config.filename || 'moro_app.db';
|
|
13
11
|
this.db = new Database(filename, {
|
|
14
12
|
readonly: config.readonly || false,
|
|
15
13
|
fileMustExist: config.fileMustExist || false,
|
|
16
14
|
timeout: config.timeout || 5000,
|
|
17
|
-
verbose: config.verbose
|
|
18
|
-
? this.logger.debug.bind(this.logger)
|
|
19
|
-
: undefined,
|
|
15
|
+
verbose: config.verbose ? this.logger.debug.bind(this.logger) : undefined,
|
|
20
16
|
});
|
|
21
17
|
// Enable foreign keys
|
|
22
|
-
this.db.pragma(
|
|
23
|
-
this.logger.info(
|
|
18
|
+
this.db.pragma('foreign_keys = ON');
|
|
19
|
+
this.logger.info('SQLite connection established', 'Connection', {
|
|
24
20
|
filename,
|
|
25
21
|
});
|
|
26
22
|
}
|
|
27
23
|
catch (error) {
|
|
28
|
-
throw new Error(
|
|
24
|
+
throw new Error('better-sqlite3 package is required for SQLite adapter. Install it with: npm install better-sqlite3');
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
27
|
async connect() {
|
|
32
28
|
// SQLite doesn't require explicit connection - it's handled in constructor
|
|
33
|
-
this.logger.info(
|
|
29
|
+
this.logger.info('SQLite adapter ready', 'Connection');
|
|
34
30
|
}
|
|
35
31
|
async disconnect() {
|
|
36
32
|
this.db.close();
|
|
@@ -42,7 +38,7 @@ class SQLiteAdapter {
|
|
|
42
38
|
return results;
|
|
43
39
|
}
|
|
44
40
|
catch (error) {
|
|
45
|
-
this.logger.error(
|
|
41
|
+
this.logger.error('SQLite query failed', 'Query', {
|
|
46
42
|
sql,
|
|
47
43
|
error: error instanceof Error ? error.message : String(error),
|
|
48
44
|
});
|
|
@@ -56,7 +52,7 @@ class SQLiteAdapter {
|
|
|
56
52
|
return result || null;
|
|
57
53
|
}
|
|
58
54
|
catch (error) {
|
|
59
|
-
this.logger.error(
|
|
55
|
+
this.logger.error('SQLite queryOne failed', 'Query', {
|
|
60
56
|
sql,
|
|
61
57
|
error: error instanceof Error ? error.message : String(error),
|
|
62
58
|
});
|
|
@@ -66,17 +62,19 @@ class SQLiteAdapter {
|
|
|
66
62
|
async insert(table, data) {
|
|
67
63
|
const keys = Object.keys(data);
|
|
68
64
|
const values = Object.values(data);
|
|
69
|
-
const placeholders = keys.map(() =>
|
|
70
|
-
const sql = `INSERT INTO ${table} (${keys.join(
|
|
65
|
+
const placeholders = keys.map(() => '?').join(', ');
|
|
66
|
+
const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
|
|
71
67
|
try {
|
|
72
68
|
const stmt = this.db.prepare(sql);
|
|
73
69
|
const info = stmt.run(values);
|
|
74
70
|
// Return the inserted record
|
|
75
|
-
const insertedRecord = await this.queryOne(`SELECT * FROM ${table} WHERE rowid = ?`, [
|
|
71
|
+
const insertedRecord = await this.queryOne(`SELECT * FROM ${table} WHERE rowid = ?`, [
|
|
72
|
+
info.lastInsertRowid,
|
|
73
|
+
]);
|
|
76
74
|
return insertedRecord;
|
|
77
75
|
}
|
|
78
76
|
catch (error) {
|
|
79
|
-
this.logger.error(
|
|
77
|
+
this.logger.error('SQLite insert failed', 'Insert', {
|
|
80
78
|
table,
|
|
81
79
|
error: error instanceof Error ? error.message : String(error),
|
|
82
80
|
});
|
|
@@ -85,11 +83,11 @@ class SQLiteAdapter {
|
|
|
85
83
|
}
|
|
86
84
|
async update(table, data, where) {
|
|
87
85
|
const setClause = Object.keys(data)
|
|
88
|
-
.map(
|
|
89
|
-
.join(
|
|
86
|
+
.map(key => `${key} = ?`)
|
|
87
|
+
.join(', ');
|
|
90
88
|
const whereClause = Object.keys(where)
|
|
91
|
-
.map(
|
|
92
|
-
.join(
|
|
89
|
+
.map(key => `${key} = ?`)
|
|
90
|
+
.join(' AND ');
|
|
93
91
|
const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
|
|
94
92
|
const params = [...Object.values(data), ...Object.values(where)];
|
|
95
93
|
try {
|
|
@@ -100,7 +98,7 @@ class SQLiteAdapter {
|
|
|
100
98
|
return updatedRecord;
|
|
101
99
|
}
|
|
102
100
|
catch (error) {
|
|
103
|
-
this.logger.error(
|
|
101
|
+
this.logger.error('SQLite update failed', 'Update', {
|
|
104
102
|
table,
|
|
105
103
|
error: error instanceof Error ? error.message : String(error),
|
|
106
104
|
});
|
|
@@ -109,8 +107,8 @@ class SQLiteAdapter {
|
|
|
109
107
|
}
|
|
110
108
|
async delete(table, where) {
|
|
111
109
|
const whereClause = Object.keys(where)
|
|
112
|
-
.map(
|
|
113
|
-
.join(
|
|
110
|
+
.map(key => `${key} = ?`)
|
|
111
|
+
.join(' AND ');
|
|
114
112
|
const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
|
|
115
113
|
try {
|
|
116
114
|
const stmt = this.db.prepare(sql);
|
|
@@ -118,7 +116,7 @@ class SQLiteAdapter {
|
|
|
118
116
|
return info.changes;
|
|
119
117
|
}
|
|
120
118
|
catch (error) {
|
|
121
|
-
this.logger.error(
|
|
119
|
+
this.logger.error('SQLite delete failed', 'Delete', {
|
|
122
120
|
table,
|
|
123
121
|
error: error instanceof Error ? error.message : String(error),
|
|
124
122
|
});
|
|
@@ -151,20 +149,22 @@ class SQLiteTransaction {
|
|
|
151
149
|
async insert(table, data) {
|
|
152
150
|
const keys = Object.keys(data);
|
|
153
151
|
const values = Object.values(data);
|
|
154
|
-
const placeholders = keys.map(() =>
|
|
155
|
-
const sql = `INSERT INTO ${table} (${keys.join(
|
|
152
|
+
const placeholders = keys.map(() => '?').join(', ');
|
|
153
|
+
const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
|
|
156
154
|
const stmt = this.db.prepare(sql);
|
|
157
155
|
const info = stmt.run(values);
|
|
158
|
-
const insertedRecord = await this.queryOne(`SELECT * FROM ${table} WHERE rowid = ?`, [
|
|
156
|
+
const insertedRecord = await this.queryOne(`SELECT * FROM ${table} WHERE rowid = ?`, [
|
|
157
|
+
info.lastInsertRowid,
|
|
158
|
+
]);
|
|
159
159
|
return insertedRecord;
|
|
160
160
|
}
|
|
161
161
|
async update(table, data, where) {
|
|
162
162
|
const setClause = Object.keys(data)
|
|
163
|
-
.map(
|
|
164
|
-
.join(
|
|
163
|
+
.map(key => `${key} = ?`)
|
|
164
|
+
.join(', ');
|
|
165
165
|
const whereClause = Object.keys(where)
|
|
166
|
-
.map(
|
|
167
|
-
.join(
|
|
166
|
+
.map(key => `${key} = ?`)
|
|
167
|
+
.join(' AND ');
|
|
168
168
|
const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
|
|
169
169
|
const params = [...Object.values(data), ...Object.values(where)];
|
|
170
170
|
const stmt = this.db.prepare(sql);
|
|
@@ -174,8 +174,8 @@ class SQLiteTransaction {
|
|
|
174
174
|
}
|
|
175
175
|
async delete(table, where) {
|
|
176
176
|
const whereClause = Object.keys(where)
|
|
177
|
-
.map(
|
|
178
|
-
.join(
|
|
177
|
+
.map(key => `${key} = ?`)
|
|
178
|
+
.join(' AND ');
|
|
179
179
|
const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
|
|
180
180
|
const stmt = this.db.prepare(sql);
|
|
181
181
|
const info = stmt.run(Object.values(where));
|
|
@@ -188,7 +188,7 @@ class SQLiteTransaction {
|
|
|
188
188
|
async rollback() {
|
|
189
189
|
// SQLite transactions are handled automatically by better-sqlite3
|
|
190
190
|
// This is just for interface compatibility
|
|
191
|
-
throw new Error(
|
|
191
|
+
throw new Error('Transaction rollback');
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
//# sourceMappingURL=sqlite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/sqlite.ts"],"names":[],"mappings":";;;AAEA,yCAAqD;AAWrD,MAAa,aAAa;IAIxB,YAAY,SAAuB,EAAE;QAF7B,WAAM,GAAG,IAAA,8BAAqB,EAAC,QAAQ,CAAC,CAAC;QAG/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from './adapters';
|
|
2
|
+
export * from '../../types/database';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CompiledRoute } from
|
|
2
|
-
import { IntelligentRoutingManager } from
|
|
3
|
-
import { OpenAPISpec } from
|
|
4
|
-
import { SwaggerUIOptions } from
|
|
1
|
+
import { CompiledRoute } from '../routing';
|
|
2
|
+
import { IntelligentRoutingManager } from '../routing/app-integration';
|
|
3
|
+
import { OpenAPISpec } from './openapi-generator';
|
|
4
|
+
import { SwaggerUIOptions } from './swagger-ui';
|
|
5
5
|
export interface DocsConfig {
|
|
6
6
|
title: string;
|
|
7
7
|
version: string;
|
|
@@ -58,6 +58,6 @@ export declare function generateDocsFromIntelligentRoutes(routes: CompiledRoute[
|
|
|
58
58
|
spec: OpenAPISpec;
|
|
59
59
|
middleware: any;
|
|
60
60
|
};
|
|
61
|
-
export * from
|
|
62
|
-
export * from
|
|
63
|
-
export * from
|
|
61
|
+
export * from './openapi-generator';
|
|
62
|
+
export * from './swagger-ui';
|
|
63
|
+
export * from './zod-to-openapi';
|
package/dist/core/docs/index.js
CHANGED
|
@@ -22,12 +22,12 @@ exports.generateDocsFromIntelligentRoutes = generateDocsFromIntelligentRoutes;
|
|
|
22
22
|
const openapi_generator_1 = require("./openapi-generator");
|
|
23
23
|
const swagger_ui_1 = require("./swagger-ui");
|
|
24
24
|
const logger_1 = require("../logger");
|
|
25
|
-
const logger = (0, logger_1.createFrameworkLogger)(
|
|
25
|
+
const logger = (0, logger_1.createFrameworkLogger)('DocumentationSystem');
|
|
26
26
|
// Main documentation system class
|
|
27
27
|
class DocumentationSystem {
|
|
28
28
|
constructor(config) {
|
|
29
29
|
this.config = {
|
|
30
|
-
basePath:
|
|
30
|
+
basePath: '/docs',
|
|
31
31
|
includeExamples: true,
|
|
32
32
|
includeSchemas: true,
|
|
33
33
|
enableAuth: true,
|
|
@@ -45,15 +45,13 @@ class DocumentationSystem {
|
|
|
45
45
|
servers: this.config.servers,
|
|
46
46
|
includeExamples: this.config.includeExamples,
|
|
47
47
|
includeSchemas: this.config.includeSchemas,
|
|
48
|
-
securitySchemes: this.config.enableAuth
|
|
49
|
-
? openapi_generator_1.defaultSecuritySchemes
|
|
50
|
-
: undefined,
|
|
48
|
+
securitySchemes: this.config.enableAuth ? openapi_generator_1.defaultSecuritySchemes : undefined,
|
|
51
49
|
};
|
|
52
50
|
this.generator = new openapi_generator_1.OpenAPIGenerator(generationOptions);
|
|
53
51
|
// Initialize with empty spec
|
|
54
52
|
const initialSpec = this.generator.generate();
|
|
55
53
|
this.swaggerUI = new swagger_ui_1.SwaggerUIMiddleware(initialSpec, this.config.swaggerUI);
|
|
56
|
-
logger.info(
|
|
54
|
+
logger.info('Documentation system initialized', 'Initialization', {
|
|
57
55
|
title: this.config.title,
|
|
58
56
|
basePath: this.config.basePath,
|
|
59
57
|
includeExamples: this.config.includeExamples,
|
|
@@ -65,7 +63,7 @@ class DocumentationSystem {
|
|
|
65
63
|
const spec = this.generator.generate();
|
|
66
64
|
// Update Swagger UI with new spec
|
|
67
65
|
this.swaggerUI.updateSpec(spec);
|
|
68
|
-
logger.info(
|
|
66
|
+
logger.info('Documentation generated from routes', 'Generation', {
|
|
69
67
|
routeCount: routes.length,
|
|
70
68
|
pathCount: Object.keys(spec.paths).length,
|
|
71
69
|
});
|
|
@@ -90,7 +88,7 @@ class DocumentationSystem {
|
|
|
90
88
|
// Update configuration
|
|
91
89
|
updateConfig(newConfig) {
|
|
92
90
|
this.config = { ...this.config, ...newConfig };
|
|
93
|
-
logger.debug(
|
|
91
|
+
logger.debug('Documentation configuration updated', 'ConfigUpdate', {
|
|
94
92
|
title: this.config.title,
|
|
95
93
|
basePath: this.config.basePath,
|
|
96
94
|
});
|
|
@@ -106,7 +104,7 @@ class AppDocumentationManager {
|
|
|
106
104
|
// Generate docs from current routes
|
|
107
105
|
const routes = routingManager.getIntelligentRoutes();
|
|
108
106
|
this.docSystem.generateFromRoutes(routes);
|
|
109
|
-
logger.info(
|
|
107
|
+
logger.info('Documentation enabled for app', 'AppIntegration', {
|
|
110
108
|
title: config.title,
|
|
111
109
|
routeCount: routes.length,
|
|
112
110
|
basePath: config.basePath,
|
|
@@ -115,39 +113,39 @@ class AppDocumentationManager {
|
|
|
115
113
|
// Get documentation middleware
|
|
116
114
|
getDocsMiddleware() {
|
|
117
115
|
if (!this.docSystem) {
|
|
118
|
-
throw new Error(
|
|
116
|
+
throw new Error('Documentation not enabled. Call enableDocs() first.');
|
|
119
117
|
}
|
|
120
118
|
return this.docSystem.createMiddleware();
|
|
121
119
|
}
|
|
122
120
|
// Refresh documentation (useful after adding new routes)
|
|
123
121
|
refreshDocs() {
|
|
124
122
|
if (!this.docSystem || !this.routingManager) {
|
|
125
|
-
throw new Error(
|
|
123
|
+
throw new Error('Documentation not enabled. Call enableDocs() first.');
|
|
126
124
|
}
|
|
127
125
|
const routes = this.routingManager.getIntelligentRoutes();
|
|
128
126
|
this.docSystem.generateFromRoutes(routes);
|
|
129
|
-
logger.debug(
|
|
127
|
+
logger.debug('Documentation refreshed', 'Refresh', {
|
|
130
128
|
routeCount: routes.length,
|
|
131
129
|
});
|
|
132
130
|
}
|
|
133
131
|
// Get current OpenAPI spec
|
|
134
132
|
getOpenAPISpec() {
|
|
135
133
|
if (!this.docSystem) {
|
|
136
|
-
throw new Error(
|
|
134
|
+
throw new Error('Documentation not enabled. Call enableDocs() first.');
|
|
137
135
|
}
|
|
138
136
|
return this.docSystem.getSpec();
|
|
139
137
|
}
|
|
140
138
|
// Get docs as JSON
|
|
141
139
|
getDocsJSON() {
|
|
142
140
|
if (!this.docSystem) {
|
|
143
|
-
throw new Error(
|
|
141
|
+
throw new Error('Documentation not enabled. Call enableDocs() first.');
|
|
144
142
|
}
|
|
145
143
|
return this.docSystem.getOpenAPIJSON();
|
|
146
144
|
}
|
|
147
145
|
// Get docs as YAML
|
|
148
146
|
getDocsYAML() {
|
|
149
147
|
if (!this.docSystem) {
|
|
150
|
-
throw new Error(
|
|
148
|
+
throw new Error('Documentation not enabled. Call enableDocs() first.');
|
|
151
149
|
}
|
|
152
150
|
return this.docSystem.getOpenAPIYAML();
|
|
153
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/docs/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,iFAAiF;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/docs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CompiledRoute } from
|
|
2
|
-
import { OpenAPISchema } from
|
|
1
|
+
import { CompiledRoute } from '../routing';
|
|
2
|
+
import { OpenAPISchema } from './zod-to-openapi';
|
|
3
3
|
export interface OpenAPISpec {
|
|
4
4
|
openapi: string;
|
|
5
5
|
info: OpenAPIInfo;
|
|
@@ -40,7 +40,7 @@ export interface OpenAPIOperation {
|
|
|
40
40
|
}
|
|
41
41
|
export interface OpenAPIParameter {
|
|
42
42
|
name: string;
|
|
43
|
-
in:
|
|
43
|
+
in: 'query' | 'path' | 'header' | 'cookie';
|
|
44
44
|
required?: boolean;
|
|
45
45
|
description?: string;
|
|
46
46
|
schema: OpenAPISchema;
|
|
@@ -78,10 +78,10 @@ export interface OpenAPIComponents {
|
|
|
78
78
|
securitySchemes?: Record<string, OpenAPISecurityScheme>;
|
|
79
79
|
}
|
|
80
80
|
export interface OpenAPISecurityScheme {
|
|
81
|
-
type:
|
|
81
|
+
type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
|
|
82
82
|
description?: string;
|
|
83
83
|
name?: string;
|
|
84
|
-
in?:
|
|
84
|
+
in?: 'query' | 'header' | 'cookie';
|
|
85
85
|
scheme?: string;
|
|
86
86
|
bearerFormat?: string;
|
|
87
87
|
}
|