@qwickapps/server 1.0.0 → 1.1.7

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 (80) hide show
  1. package/README.md +179 -80
  2. package/dist/core/control-panel.d.ts.map +1 -1
  3. package/dist/core/control-panel.js +37 -45
  4. package/dist/core/control-panel.js.map +1 -1
  5. package/dist/core/gateway.d.ts +32 -13
  6. package/dist/core/gateway.d.ts.map +1 -1
  7. package/dist/core/gateway.js +150 -99
  8. package/dist/core/gateway.js.map +1 -1
  9. package/dist/core/guards.d.ts +22 -0
  10. package/dist/core/guards.d.ts.map +1 -0
  11. package/dist/core/guards.js +167 -0
  12. package/dist/core/guards.js.map +1 -0
  13. package/dist/core/health-manager.d.ts.map +1 -1
  14. package/dist/core/health-manager.js +3 -9
  15. package/dist/core/health-manager.js.map +1 -1
  16. package/dist/core/logging.d.ts.map +1 -1
  17. package/dist/core/logging.js +1 -5
  18. package/dist/core/logging.js.map +1 -1
  19. package/dist/core/types.d.ts +104 -11
  20. package/dist/core/types.d.ts.map +1 -1
  21. package/dist/index.d.ts +4 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +9 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/plugins/cache-plugin.d.ts +219 -0
  26. package/dist/plugins/cache-plugin.d.ts.map +1 -0
  27. package/dist/plugins/cache-plugin.js +326 -0
  28. package/dist/plugins/cache-plugin.js.map +1 -0
  29. package/dist/plugins/cache-plugin.test.d.ts +8 -0
  30. package/dist/plugins/cache-plugin.test.d.ts.map +1 -0
  31. package/dist/plugins/cache-plugin.test.js +188 -0
  32. package/dist/plugins/cache-plugin.test.js.map +1 -0
  33. package/dist/plugins/config-plugin.js +1 -1
  34. package/dist/plugins/config-plugin.js.map +1 -1
  35. package/dist/plugins/diagnostics-plugin.js +1 -1
  36. package/dist/plugins/diagnostics-plugin.js.map +1 -1
  37. package/dist/plugins/frontend-app-plugin.d.ts +39 -0
  38. package/dist/plugins/frontend-app-plugin.d.ts.map +1 -0
  39. package/dist/plugins/frontend-app-plugin.js +176 -0
  40. package/dist/plugins/frontend-app-plugin.js.map +1 -0
  41. package/dist/plugins/health-plugin.js +1 -1
  42. package/dist/plugins/health-plugin.js.map +1 -1
  43. package/dist/plugins/index.d.ts +8 -0
  44. package/dist/plugins/index.d.ts.map +1 -1
  45. package/dist/plugins/index.js +5 -0
  46. package/dist/plugins/index.js.map +1 -1
  47. package/dist/plugins/logs-plugin.d.ts.map +1 -1
  48. package/dist/plugins/logs-plugin.js +1 -3
  49. package/dist/plugins/logs-plugin.js.map +1 -1
  50. package/dist/plugins/postgres-plugin.d.ts +155 -0
  51. package/dist/plugins/postgres-plugin.d.ts.map +1 -0
  52. package/dist/plugins/postgres-plugin.js +244 -0
  53. package/dist/plugins/postgres-plugin.js.map +1 -0
  54. package/dist/plugins/postgres-plugin.test.d.ts +8 -0
  55. package/dist/plugins/postgres-plugin.test.d.ts.map +1 -0
  56. package/dist/plugins/postgres-plugin.test.js +165 -0
  57. package/dist/plugins/postgres-plugin.test.js.map +1 -0
  58. package/dist-ui/assets/{index-Bk7ypbI4.js → index-CW1BviRn.js} +2 -2
  59. package/dist-ui/assets/{index-Bk7ypbI4.js.map → index-CW1BviRn.js.map} +1 -1
  60. package/dist-ui/index.html +1 -1
  61. package/package.json +18 -2
  62. package/src/core/control-panel.ts +41 -53
  63. package/src/core/gateway.ts +193 -124
  64. package/src/core/guards.ts +190 -0
  65. package/src/core/health-manager.ts +3 -9
  66. package/src/core/logging.ts +1 -5
  67. package/src/core/types.ts +115 -9
  68. package/src/index.ts +40 -0
  69. package/src/plugins/cache-plugin.test.ts +241 -0
  70. package/src/plugins/cache-plugin.ts +503 -0
  71. package/src/plugins/config-plugin.ts +1 -1
  72. package/src/plugins/diagnostics-plugin.ts +1 -1
  73. package/src/plugins/frontend-app-plugin.ts +211 -0
  74. package/src/plugins/health-plugin.ts +1 -1
  75. package/src/plugins/index.ts +13 -0
  76. package/src/plugins/logs-plugin.ts +1 -3
  77. package/src/plugins/postgres-plugin.test.ts +213 -0
  78. package/src/plugins/postgres-plugin.ts +345 -0
  79. package/ui/src/api/controlPanelApi.ts +1 -1
  80. package/ui/src/pages/LogsPage.tsx +6 -10
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Frontend App Plugin
3
+ *
4
+ * Plugin for serving a frontend application at the root path (/).
5
+ * Supports:
6
+ * - Redirect to another URL
7
+ * - Serve static files
8
+ * - Display a landing page
9
+ *
10
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
11
+ */
12
+ import express from 'express';
13
+ import { existsSync } from 'node:fs';
14
+ import { resolve } from 'node:path';
15
+ import { createRouteGuard } from '../core/guards.js';
16
+ /**
17
+ * Create a frontend app plugin that handles the root path
18
+ */
19
+ export function createFrontendAppPlugin(config) {
20
+ return {
21
+ name: 'frontend-app',
22
+ order: 0, // Run first to capture root path
23
+ async onInit(context) {
24
+ const { app, logger } = context;
25
+ // Apply guard if configured
26
+ if (config.guard && config.guard.type !== 'none') {
27
+ const guardMiddleware = createRouteGuard(config.guard);
28
+ // Apply guard only to root path
29
+ app.use('/', (req, res, next) => {
30
+ // Skip if not at root
31
+ if (req.path !== '/' && !req.path.startsWith('/?')) {
32
+ return next();
33
+ }
34
+ guardMiddleware(req, res, next);
35
+ });
36
+ }
37
+ // Priority 1: Redirect
38
+ if (config.redirectUrl) {
39
+ logger.info(`Frontend app: Redirecting / to ${config.redirectUrl}`);
40
+ app.get('/', (_req, res) => {
41
+ res.redirect(config.redirectUrl);
42
+ });
43
+ return;
44
+ }
45
+ // Priority 2: Serve static files
46
+ if (config.staticPath && existsSync(config.staticPath)) {
47
+ logger.info(`Frontend app: Serving static files from ${config.staticPath}`);
48
+ app.use('/', express.static(config.staticPath));
49
+ // SPA fallback
50
+ app.get('/', (_req, res) => {
51
+ res.sendFile(resolve(config.staticPath, 'index.html'));
52
+ });
53
+ return;
54
+ }
55
+ // Priority 3: Landing page
56
+ if (config.landingPage) {
57
+ logger.info(`Frontend app: Serving landing page`);
58
+ app.get('/', (_req, res) => {
59
+ const html = generateLandingPageHtml(config.landingPage);
60
+ res.type('html').send(html);
61
+ });
62
+ return;
63
+ }
64
+ // Default: Simple welcome page
65
+ logger.info(`Frontend app: Serving default welcome page`);
66
+ app.get('/', (_req, res) => {
67
+ const html = generateLandingPageHtml({
68
+ title: context.config.productName,
69
+ heading: `Welcome to ${context.config.productName}`,
70
+ description: 'Your application is running.',
71
+ links: [
72
+ { label: 'Control Panel', url: context.config.mountPath || '/cpanel' },
73
+ ],
74
+ });
75
+ res.type('html').send(html);
76
+ });
77
+ },
78
+ };
79
+ }
80
+ /**
81
+ * Generate landing page HTML
82
+ */
83
+ function generateLandingPageHtml(config) {
84
+ const primaryColor = config.branding?.primaryColor || '#6366f1';
85
+ const linksHtml = (config.links || [])
86
+ .map((link) => `<a href="${link.url}" class="link">${link.label}</a>`)
87
+ .join('');
88
+ return `<!DOCTYPE html>
89
+ <html lang="en">
90
+ <head>
91
+ <meta charset="UTF-8">
92
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
93
+ <title>${config.title}</title>
94
+ <style>
95
+ * { margin: 0; padding: 0; box-sizing: border-box; }
96
+ body {
97
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
98
+ background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
99
+ color: #e2e8f0;
100
+ min-height: 100vh;
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ }
105
+ .container {
106
+ text-align: center;
107
+ max-width: 600px;
108
+ padding: 2rem;
109
+ }
110
+ ${config.branding?.logo ? `
111
+ .logo {
112
+ width: 80px;
113
+ height: 80px;
114
+ margin-bottom: 1.5rem;
115
+ }
116
+ ` : ''}
117
+ h1 {
118
+ font-size: 2.5rem;
119
+ color: ${primaryColor};
120
+ margin-bottom: 1rem;
121
+ }
122
+ p {
123
+ font-size: 1.125rem;
124
+ color: #94a3b8;
125
+ margin-bottom: 2rem;
126
+ line-height: 1.6;
127
+ }
128
+ .links {
129
+ display: flex;
130
+ flex-wrap: wrap;
131
+ gap: 1rem;
132
+ justify-content: center;
133
+ }
134
+ .link {
135
+ display: inline-block;
136
+ padding: 0.875rem 2rem;
137
+ background: ${primaryColor};
138
+ color: white;
139
+ text-decoration: none;
140
+ border-radius: 0.5rem;
141
+ font-weight: 500;
142
+ transition: all 0.2s;
143
+ }
144
+ .link:hover {
145
+ transform: translateY(-2px);
146
+ box-shadow: 0 10px 20px rgba(0,0,0,0.3);
147
+ }
148
+ .footer {
149
+ position: fixed;
150
+ bottom: 1rem;
151
+ left: 0;
152
+ right: 0;
153
+ text-align: center;
154
+ color: #64748b;
155
+ font-size: 0.875rem;
156
+ }
157
+ .footer a {
158
+ color: ${primaryColor};
159
+ text-decoration: none;
160
+ }
161
+ </style>
162
+ </head>
163
+ <body>
164
+ <div class="container">
165
+ ${config.branding?.logo ? `<img src="${config.branding.logo}" alt="Logo" class="logo">` : ''}
166
+ <h1>${config.heading || config.title}</h1>
167
+ ${config.description ? `<p>${config.description}</p>` : ''}
168
+ ${linksHtml ? `<div class="links">${linksHtml}</div>` : ''}
169
+ </div>
170
+ <div class="footer">
171
+ Powered by <a href="https://qwickapps.com" target="_blank">QwickApps</a>
172
+ </div>
173
+ </body>
174
+ </html>`;
175
+ }
176
+ //# sourceMappingURL=frontend-app-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend-app-plugin.js","sourceRoot":"","sources":["../../src/plugins/frontend-app-plugin.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export function createHealthPlugin(config) {
18
18
  for (const check of config.checks) {
19
19
  registerHealthCheck(check);
20
20
  }
21
- logger.info(`[HealthPlugin] Registered ${config.checks.length} health checks`);
21
+ logger.debug(`Registered ${config.checks.length} health checks`);
22
22
  },
23
23
  };
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health-plugin.js","sourceRoot":"","sources":["../../src/plugins/health-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE;QAET,KAAK,CAAC,MAAM,CAAC,OAAsB;YACjC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAEhD,6BAA6B;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"health-plugin.js","sourceRoot":"","sources":["../../src/plugins/health-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE;QAET,KAAK,CAAC,MAAM,CAAC,OAAsB;YACjC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAEhD,6BAA6B;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -11,4 +11,12 @@ export { createConfigPlugin } from './config-plugin.js';
11
11
  export type { ConfigPluginConfig } from './config-plugin.js';
12
12
  export { createDiagnosticsPlugin } from './diagnostics-plugin.js';
13
13
  export type { DiagnosticsPluginConfig } from './diagnostics-plugin.js';
14
+ export { createFrontendAppPlugin } from './frontend-app-plugin.js';
15
+ export type { FrontendAppPluginConfig } from './frontend-app-plugin.js';
16
+ export { createPostgresPlugin, getPostgres, hasPostgres } from './postgres-plugin.js';
17
+ export type { PostgresPluginConfig, PostgresInstance, TransactionCallback } from './postgres-plugin.js';
18
+ export { createPostgresPlugin as createDatabasePlugin, getPostgres as getDatabase, hasPostgres as hasDatabase } from './postgres-plugin.js';
19
+ export type { PostgresPluginConfig as DatabasePluginConfig, PostgresInstance as DatabaseInstance } from './postgres-plugin.js';
20
+ export { createCachePlugin, getCache, hasCache } from './cache-plugin.js';
21
+ export type { CachePluginConfig, CacheInstance } from './cache-plugin.js';
14
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtF,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGxG,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,WAAW,IAAI,WAAW,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5I,YAAY,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/H,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -7,4 +7,9 @@ export { createHealthPlugin } from './health-plugin.js';
7
7
  export { createLogsPlugin } from './logs-plugin.js';
8
8
  export { createConfigPlugin } from './config-plugin.js';
9
9
  export { createDiagnosticsPlugin } from './diagnostics-plugin.js';
10
+ export { createFrontendAppPlugin } from './frontend-app-plugin.js';
11
+ export { createPostgresPlugin, getPostgres, hasPostgres } from './postgres-plugin.js';
12
+ // Backward compatibility aliases (deprecated)
13
+ export { createPostgresPlugin as createDatabasePlugin, getPostgres as getDatabase, hasPostgres as hasDatabase } from './postgres-plugin.js';
14
+ export { createCachePlugin, getCache, hasCache } from './cache-plugin.js';
10
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGtF,8CAA8C;AAC9C,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,WAAW,IAAI,WAAW,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG5I,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logs-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/logs-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AAGrF,MAAM,WAAW,gBAAgB;IAC/B,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAsCD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,gBAAqB,GAAG,kBAAkB,CAoGlF"}
1
+ {"version":3,"file":"logs-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/logs-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AAGrF,MAAM,WAAW,gBAAgB;IAC/B,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAsCD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,gBAAqB,GAAG,kBAAkB,CAkGlF"}
@@ -111,9 +111,7 @@ export function createLogsPlugin(config = {}) {
111
111
  ],
112
112
  async onInit(context) {
113
113
  const sources = getSources();
114
- context.logger.info(`Initialized with ${sources.length} sources`, {
115
- sources: sources.map((s) => ({ name: s.name, type: s.type, path: s.path })),
116
- });
114
+ context.logger.debug(`Logs plugin initialized with ${sources.length} sources`);
117
115
  },
118
116
  };
119
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logs-plugin.js","sourceRoot":"","sources":["../../src/plugins/logs-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs-plugin.js","sourceRoot":"","sources":["../../src/plugins/logs-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * PostgreSQL Plugin
3
+ *
4
+ * Provides PostgreSQL database connection pooling and health checks.
5
+ * Wraps the 'pg' library with a simple, reusable interface.
6
+ *
7
+ * ## Features
8
+ * - Connection pooling with configurable limits
9
+ * - Automatic health checks with pool stats
10
+ * - Transaction helpers
11
+ * - Multiple named instances support
12
+ * - Graceful shutdown
13
+ *
14
+ * ## Usage
15
+ *
16
+ * ```typescript
17
+ * import { createGateway, createPostgresPlugin, getPostgres } from '@qwickapps/server';
18
+ *
19
+ * const gateway = createGateway({
20
+ * // ... config
21
+ * plugins: [
22
+ * createPostgresPlugin({
23
+ * url: process.env.DATABASE_URL,
24
+ * maxConnections: 20,
25
+ * }),
26
+ * ],
27
+ * });
28
+ *
29
+ * // In your service code:
30
+ * const db = getPostgres();
31
+ * const users = await db.query<User>('SELECT * FROM users WHERE active = $1', [true]);
32
+ * ```
33
+ *
34
+ * ## Multiple Databases
35
+ *
36
+ * ```typescript
37
+ * // Register multiple databases with different names
38
+ * createPostgresPlugin({ url: primaryUrl }, 'primary');
39
+ * createPostgresPlugin({ url: replicaUrl }, 'replica');
40
+ *
41
+ * // Access by name
42
+ * const primary = getPostgres('primary');
43
+ * const replica = getPostgres('replica');
44
+ * ```
45
+ *
46
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
47
+ */
48
+ import pg from 'pg';
49
+ import type { ControlPanelPlugin } from '../core/types.js';
50
+ /**
51
+ * Configuration for the PostgreSQL plugin
52
+ */
53
+ export interface PostgresPluginConfig {
54
+ /** Database connection URL (e.g., postgresql://user:pass@host:5432/db) */
55
+ url: string;
56
+ /** Maximum number of clients in the pool (default: 20) */
57
+ maxConnections?: number;
58
+ /** Minimum number of clients in the pool (default: 2) */
59
+ minConnections?: number;
60
+ /** Idle timeout in milliseconds - close idle clients after this time (default: 30000) */
61
+ idleTimeoutMs?: number;
62
+ /** Connection timeout in milliseconds - fail if can't connect within this time (default: 5000) */
63
+ connectionTimeoutMs?: number;
64
+ /** Statement timeout in milliseconds - cancel queries taking longer (default: none) */
65
+ statementTimeoutMs?: number;
66
+ /** Register a health check for this database (default: true) */
67
+ healthCheck?: boolean;
68
+ /** Name for the health check (default: 'postgres') */
69
+ healthCheckName?: string;
70
+ /** Health check interval in milliseconds (default: 30000) */
71
+ healthCheckInterval?: number;
72
+ /** Called when a client connects (for setup like setting search_path) */
73
+ onConnect?: (client: pg.PoolClient) => Promise<void>;
74
+ /** Called on pool errors */
75
+ onError?: (error: Error) => void;
76
+ }
77
+ /**
78
+ * Transaction callback function
79
+ */
80
+ export type TransactionCallback<T> = (client: pg.PoolClient) => Promise<T>;
81
+ /**
82
+ * PostgreSQL instance returned by the plugin
83
+ */
84
+ export interface PostgresInstance {
85
+ /** Get a client from the pool (remember to release it!) */
86
+ getClient(): Promise<pg.PoolClient>;
87
+ /** Execute a query and return rows */
88
+ query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<T[]>;
89
+ /** Execute a query and return first row or null */
90
+ queryOne<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<T | null>;
91
+ /** Execute a query and return the full result (includes rowCount, etc.) */
92
+ queryRaw(sql: string, params?: unknown[]): Promise<pg.QueryResult>;
93
+ /**
94
+ * Execute multiple queries in a transaction
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const result = await db.transaction(async (client) => {
99
+ * await client.query('INSERT INTO users (name) VALUES ($1)', ['Alice']);
100
+ * await client.query('INSERT INTO audit_log (action) VALUES ($1)', ['user_created']);
101
+ * return { success: true };
102
+ * });
103
+ * ```
104
+ */
105
+ transaction<T>(callback: TransactionCallback<T>): Promise<T>;
106
+ /** Get the underlying pool (for advanced use cases) */
107
+ getPool(): pg.Pool;
108
+ /** Get pool statistics */
109
+ getStats(): {
110
+ total: number;
111
+ idle: number;
112
+ waiting: number;
113
+ };
114
+ /** Close all connections */
115
+ close(): Promise<void>;
116
+ }
117
+ /**
118
+ * Get a PostgreSQL instance by name
119
+ *
120
+ * @param name - Instance name (default: 'default')
121
+ * @returns The PostgreSQL instance
122
+ * @throws Error if the instance is not registered
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const db = getPostgres();
127
+ * const users = await db.query<User>('SELECT * FROM users');
128
+ * ```
129
+ */
130
+ export declare function getPostgres(name?: string): PostgresInstance;
131
+ /**
132
+ * Check if a PostgreSQL instance is registered
133
+ *
134
+ * @param name - Instance name (default: 'default')
135
+ * @returns true if the instance exists
136
+ */
137
+ export declare function hasPostgres(name?: string): boolean;
138
+ /**
139
+ * Create a PostgreSQL plugin
140
+ *
141
+ * @param config - PostgreSQL configuration
142
+ * @param instanceName - Name for this PostgreSQL instance (default: 'default')
143
+ * @returns A control panel plugin
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * createPostgresPlugin({
148
+ * url: process.env.DATABASE_URL,
149
+ * maxConnections: 20,
150
+ * healthCheck: true,
151
+ * });
152
+ * ```
153
+ */
154
+ export declare function createPostgresPlugin(config: PostgresPluginConfig, instanceName?: string): ControlPanelPlugin;
155
+ //# sourceMappingURL=postgres-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/postgres-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAI1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IAEZ,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAEpC,sCAAsC;IACtC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAElF,mDAAmD;IACnD,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1F,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAEnE;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7D,uDAAuD;IACvD,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC;IAEnB,0BAA0B;IAC1B,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7D,4BAA4B;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,SAAY,GAAG,gBAAgB,CAM9D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,SAAY,GAAG,OAAO,CAErD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,SAAY,GACvB,kBAAkB,CA2JpB"}