baraqex 1.0.34 → 1.0.36

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 (77) hide show
  1. package/dist/browser.js +635 -0
  2. package/dist/browser.js.map +7 -0
  3. package/dist/browser.package.json +4 -0
  4. package/dist/index.js +2024 -33
  5. package/dist/index.js.map +7 -1
  6. package/dist/server/index.js +1357 -432
  7. package/dist/server/index.js.map +7 -1
  8. package/dist/server/package.json +4 -0
  9. package/dist/wasm.js +86 -104
  10. package/dist/wasm.js.map +7 -1
  11. package/package.json +102 -72
  12. package/templates/ssr-template/esbuild.config.js +32 -3
  13. package/templates/ssr-template/package-lock.json +33 -1018
  14. package/templates/ssr-template/package.json +1 -0
  15. package/templates/ssr-template/src/App.tsx +1 -1
  16. package/dist/frontend/components/WasmLoader.d.ts +0 -1
  17. package/dist/frontend/components/WasmLoader.d.ts.map +0 -1
  18. package/dist/frontend/components/WasmLoader.js +0 -2
  19. package/dist/frontend/components/WasmLoader.js.map +0 -1
  20. package/dist/frontend/hooks/useWasm.d.ts +0 -1
  21. package/dist/frontend/hooks/useWasm.d.ts.map +0 -1
  22. package/dist/frontend/hooks/useWasm.js +0 -2
  23. package/dist/frontend/hooks/useWasm.js.map +0 -1
  24. package/dist/frontend/index.d.ts +0 -1
  25. package/dist/frontend/index.d.ts.map +0 -1
  26. package/dist/frontend/index.js +0 -2
  27. package/dist/frontend/index.js.map +0 -1
  28. package/dist/index.d.ts +0 -12
  29. package/dist/index.d.ts.map +0 -1
  30. package/dist/renderComponent.d.ts +0 -9
  31. package/dist/renderComponent.d.ts.map +0 -1
  32. package/dist/renderComponent.js +0 -39
  33. package/dist/renderComponent.js.map +0 -1
  34. package/dist/server/api-router.d.ts +0 -16
  35. package/dist/server/api-router.d.ts.map +0 -1
  36. package/dist/server/api-router.js +0 -121
  37. package/dist/server/api-router.js.map +0 -1
  38. package/dist/server/auth.d.ts +0 -33
  39. package/dist/server/auth.d.ts.map +0 -1
  40. package/dist/server/auth.js +0 -74
  41. package/dist/server/auth.js.map +0 -1
  42. package/dist/server/database.d.ts +0 -25
  43. package/dist/server/database.d.ts.map +0 -1
  44. package/dist/server/database.js +0 -109
  45. package/dist/server/database.js.map +0 -1
  46. package/dist/server/index.d.ts +0 -117
  47. package/dist/server/index.d.ts.map +0 -1
  48. package/dist/server/middleware.d.ts +0 -12
  49. package/dist/server/middleware.d.ts.map +0 -1
  50. package/dist/server/middleware.js +0 -46
  51. package/dist/server/middleware.js.map +0 -1
  52. package/dist/server/server.d.ts +0 -10
  53. package/dist/server/server.d.ts.map +0 -1
  54. package/dist/server/server.js +0 -81
  55. package/dist/server/server.js.map +0 -1
  56. package/dist/server/templates.d.ts +0 -31
  57. package/dist/server/templates.d.ts.map +0 -1
  58. package/dist/server/templates.js +0 -208
  59. package/dist/server/templates.js.map +0 -1
  60. package/dist/server/types.d.ts +0 -67
  61. package/dist/server/types.d.ts.map +0 -1
  62. package/dist/server/types.js +0 -2
  63. package/dist/server/types.js.map +0 -1
  64. package/dist/server/utils.d.ts +0 -71
  65. package/dist/server/utils.d.ts.map +0 -1
  66. package/dist/server/utils.js +0 -165
  67. package/dist/server/utils.js.map +0 -1
  68. package/dist/server/wasm.d.ts +0 -29
  69. package/dist/server/wasm.d.ts.map +0 -1
  70. package/dist/server/wasm.js +0 -208
  71. package/dist/server/wasm.js.map +0 -1
  72. package/dist/server-renderer.d.ts +0 -5
  73. package/dist/server-renderer.d.ts.map +0 -1
  74. package/dist/server-renderer.js +0 -27
  75. package/dist/server-renderer.js.map +0 -1
  76. package/dist/wasm.d.ts +0 -51
  77. package/dist/wasm.d.ts.map +0 -1
@@ -10,6 +10,7 @@
10
10
  "start": "node dist/server.js"
11
11
  },
12
12
  "dependencies": {
13
+ "baraqex": "^1.0.35",
13
14
  "express": "^4.18.2",
14
15
  "frontend-hamroun": "latest"
15
16
  },
@@ -1,4 +1,4 @@
1
- import { useState, useEffect, useRef, useMemo } from 'frontend-hamroun';
1
+ import { useState, useEffect, useRef, useMemo } from 'baraqex';
2
2
 
3
3
  // Custom hooks for better code organization
4
4
  function useTimer(initialTime = 0) {
@@ -1 +0,0 @@
1
- //# sourceMappingURL=WasmLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../../src/frontend/components/WasmLoader.tsx"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=WasmLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WasmLoader.js","sourceRoot":"","sources":["../../../src/frontend/components/WasmLoader.tsx"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=useWasm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWasm.d.ts","sourceRoot":"","sources":["../../../src/frontend/hooks/useWasm.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=useWasm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWasm.js","sourceRoot":"","sources":["../../../src/frontend/hooks/useWasm.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":""}
package/dist/index.d.ts DELETED
@@ -1,12 +0,0 @@
1
- export * from 'frontend-hamroun';
2
- export { generateDocument, generateErrorPage, generateLoadingPage } from './server/templates.js';
3
- export { safeJsonParse, generateToken, hashString, getPagination, sendSuccess, sendError, validateFields, validateFileUpload, getEnvironmentInfo, isDirectoryEmpty, ensureDirectory, writeJsonFile, readJsonFile } from './server/utils.js';
4
- export type { ServerConfig, User, DbConfig, MiddlewareFunction } from './server/types.js';
5
- export { renderToString as baraqexRenderToString } from './server-renderer.js';
6
- export { requestLogger, errorHandler, notFoundHandler, rateLimit } from './server/middleware.js';
7
- export { loadGoWasm, callWasmFunction, isWasmReady, getWasmFunctions, useGoWasm } from './wasm.js';
8
- export type { GoWasmOptions, GoWasmInstance } from './wasm.js';
9
- export { Server as BaraqexServer } from './server/index.js';
10
- export { createDevServer, createServer, createProductionServer } from './server/index.js';
11
- export declare function renderToString(content: any): Promise<string>;
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAKjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGjG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnG,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAC,eAAe,EAAC,YAAY,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAGtF,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAa5D"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Component rendering utilities
3
- */
4
- export declare function renderComponent(Component: any, props?: any): Promise<{
5
- html: string;
6
- success: boolean;
7
- error?: Error;
8
- }>;
9
- //# sourceMappingURL=renderComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderComponent.d.ts","sourceRoot":"","sources":["../src/renderComponent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAsB,eAAe,CACnC,SAAS,EAAE,GAAG,EACd,KAAK,GAAE,GAAQ,GACd,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAiC5D"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Component rendering utilities
3
- */
4
- export async function renderComponent(Component, props = {}) {
5
- try {
6
- // Simple component rendering
7
- let html = '';
8
- if (typeof Component === 'function') {
9
- const result = Component(props);
10
- if (typeof result === 'string') {
11
- html = result;
12
- }
13
- else if (result && typeof result.then === 'function') {
14
- // Handle async components
15
- const asyncResult = await result;
16
- html = typeof asyncResult === 'string' ? asyncResult : String(asyncResult || '');
17
- }
18
- else {
19
- html = String(result || '');
20
- }
21
- }
22
- else {
23
- html = String(Component || '');
24
- }
25
- return {
26
- html,
27
- success: true
28
- };
29
- }
30
- catch (error) {
31
- console.error('Error rendering component:', error);
32
- return {
33
- html: '<div>Error rendering component</div>',
34
- success: false,
35
- error: error instanceof Error ? error : new Error('Unknown error')
36
- };
37
- }
38
- }
39
- //# sourceMappingURL=renderComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderComponent.js","sourceRoot":"","sources":["../src/renderComponent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAc,EACd,QAAa,EAAE;IAEf,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAEhC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,GAAG,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACvD,0BAA0B;gBAC1B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC;gBACjC,IAAI,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,sCAAsC;YAC5C,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC;SACnE,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,16 +0,0 @@
1
- import { Router } from 'express';
2
- import { AuthService } from './auth.js';
3
- export declare class ApiRouter {
4
- router: Router;
5
- private apiDir;
6
- private auth;
7
- constructor(apiDir: string, auth?: AuthService | null);
8
- private setupRoutes;
9
- private scanDirectory;
10
- private isRouteFile;
11
- private getRoutePath;
12
- private registerRoute;
13
- private isValidRouteModule;
14
- private wrapHandler;
15
- }
16
- //# sourceMappingURL=api-router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-router.d.ts","sourceRoot":"","sources":["../../src/server/api-router.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAmBxC,qBAAa,SAAS;IACb,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,WAAW,GAAG,IAAW;IAQ3D,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;YAiBN,aAAa;IAuE3B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,WAAW;CASpB"}
@@ -1,121 +0,0 @@
1
- import express from 'express';
2
- import path from 'path';
3
- import fs from 'fs';
4
- import { pathToFileURL } from 'url';
5
- export class ApiRouter {
6
- constructor(apiDir, auth = null) {
7
- this.router = express.Router();
8
- this.apiDir = path.resolve(process.cwd(), apiDir);
9
- this.auth = auth;
10
- this.setupRoutes();
11
- }
12
- setupRoutes() {
13
- if (!fs.existsSync(this.apiDir)) {
14
- console.log(`API directory not found: ${this.apiDir}`);
15
- return;
16
- }
17
- this.scanDirectory(this.apiDir, '');
18
- }
19
- scanDirectory(dirPath, routePrefix) {
20
- const entries = fs.readdirSync(dirPath, { withFileTypes: true });
21
- for (const entry of entries) {
22
- const fullPath = path.join(dirPath, entry.name);
23
- if (entry.isDirectory()) {
24
- // Recursively scan subdirectories
25
- this.scanDirectory(fullPath, `${routePrefix}/${entry.name}`);
26
- }
27
- else if (this.isRouteFile(entry.name)) {
28
- // Process route file
29
- const routePath = this.getRoutePath(entry.name, routePrefix);
30
- this.registerRoute(fullPath, routePath);
31
- }
32
- }
33
- }
34
- isRouteFile(filename) {
35
- return filename.endsWith('.js') ||
36
- filename.endsWith('.ts') ||
37
- filename.endsWith('.mjs');
38
- }
39
- getRoutePath(filename, routePrefix) {
40
- // Remove extension and handle special names
41
- const baseName = path.basename(filename, path.extname(filename));
42
- if (baseName === 'index') {
43
- return routePrefix || '/';
44
- }
45
- // Handle dynamic routes [param]
46
- const paramMatch = baseName.match(/^\[(.+)\]$/);
47
- if (paramMatch) {
48
- return `${routePrefix}/:${paramMatch[1]}`;
49
- }
50
- return `${routePrefix}/${baseName}`;
51
- }
52
- async registerRoute(filePath, routePath) {
53
- try {
54
- // Ensure we have an absolute path and normalize it
55
- const absolutePath = path.isAbsolute(filePath) ? filePath : path.resolve(filePath);
56
- // Convert to proper file:// URL for Windows
57
- const fileUrl = pathToFileURL(absolutePath).href;
58
- if (process.platform === 'win32') {
59
- // Add timestamp to force reload on Windows
60
- const urlWithTimestamp = `${fileUrl}?t=${Date.now()}`;
61
- // Dynamic import the route file
62
- const routeModule = await import(urlWithTimestamp);
63
- if (!this.isValidRouteModule(routeModule)) {
64
- console.warn(`Invalid route module: ${filePath}`);
65
- return;
66
- }
67
- console.log(`Registering API route: ${routePath}`);
68
- // Register middleware if any
69
- const middleware = routeModule.middleware || [];
70
- // Register HTTP methods
71
- for (const method of ['get', 'post', 'put', 'delete', 'patch', 'options']) {
72
- const handler = routeModule[method];
73
- if (typeof handler === 'function') {
74
- const routerMethod = this.router[method];
75
- routerMethod.call(this.router, routePath, ...middleware, this.wrapHandler(handler));
76
- }
77
- }
78
- }
79
- else {
80
- // Non-Windows platforms
81
- const routeModule = await import(fileUrl);
82
- if (!this.isValidRouteModule(routeModule)) {
83
- console.warn(`Invalid route module: ${filePath}`);
84
- return;
85
- }
86
- console.log(`Registering API route: ${routePath}`);
87
- // Register middleware if any
88
- const middleware = routeModule.middleware || [];
89
- // Register HTTP methods
90
- for (const method of ['get', 'post', 'put', 'delete', 'patch', 'options']) {
91
- const handler = routeModule[method];
92
- if (typeof handler === 'function') {
93
- const routerMethod = this.router[method];
94
- routerMethod.call(this.router, routePath, ...middleware, this.wrapHandler(handler));
95
- }
96
- }
97
- }
98
- }
99
- catch (error) {
100
- console.error(`Error registering route (${filePath}):`, error);
101
- }
102
- }
103
- isValidRouteModule(module) {
104
- if (!module)
105
- return false;
106
- // Check if at least one HTTP method handler is defined
107
- return ['get', 'post', 'put', 'delete', 'patch', 'options']
108
- .some(method => typeof module[method] === 'function');
109
- }
110
- wrapHandler(handler) {
111
- return async (req, res, next) => {
112
- try {
113
- await handler(req, res, next);
114
- }
115
- catch (error) {
116
- next(error);
117
- }
118
- };
119
- }
120
- }
121
- //# sourceMappingURL=api-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-router.js","sourceRoot":"","sources":["../../src/server/api-router.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { SignOptions } from 'jsonwebtoken';
2
- import { Request, Response, NextFunction } from 'express';
3
- export interface AuthConfig {
4
- secret: string;
5
- expiresIn?: SignOptions['expiresIn'];
6
- }
7
- export interface User {
8
- id: string | number;
9
- username: string;
10
- password?: string;
11
- email?: string;
12
- roles?: string[];
13
- [key: string]: any;
14
- }
15
- export declare class AuthService {
16
- private config;
17
- constructor(config: AuthConfig);
18
- hashPassword(password: string): Promise<string>;
19
- comparePasswords(password: string, hashedPassword: string): Promise<boolean>;
20
- generateToken(user: Omit<User, 'password'>): string;
21
- verifyToken(token: string): any;
22
- initialize(): (req: Request & {
23
- user?: any;
24
- }, res: Response, next: NextFunction) => void;
25
- requireAuth(): (req: Request & {
26
- user?: any;
27
- }, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
28
- requireRoles(roles: string[]): (req: Request & {
29
- user?: any;
30
- }, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
31
- private extractToken;
32
- }
33
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAOxB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,MAAM;IAcnD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAS/B,UAAU,KACA,KAAK,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;IAa1E,WAAW,KACD,KAAK,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;IAS1E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAClB,KAAK,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;IAgB1E,OAAO,CAAC,YAAY;CAMrB"}
@@ -1,74 +0,0 @@
1
- import jwt from 'jsonwebtoken';
2
- import bcrypt from 'bcryptjs';
3
- export class AuthService {
4
- constructor(config) {
5
- this.config = {
6
- expiresIn: '24h',
7
- ...config
8
- };
9
- }
10
- async hashPassword(password) {
11
- return bcrypt.hash(password, 10);
12
- }
13
- async comparePasswords(password, hashedPassword) {
14
- return bcrypt.compare(password, hashedPassword);
15
- }
16
- generateToken(user) {
17
- const options = {};
18
- if (this.config.expiresIn) {
19
- options.expiresIn = this.config.expiresIn;
20
- }
21
- return jwt.sign({ id: user.id, username: user.username, roles: user.roles || [] }, this.config.secret, options);
22
- }
23
- verifyToken(token) {
24
- try {
25
- return jwt.verify(token, this.config.secret);
26
- }
27
- catch (error) {
28
- return null;
29
- }
30
- }
31
- // Express middleware for authentication
32
- initialize() {
33
- return (req, res, next) => {
34
- const token = this.extractToken(req);
35
- if (token) {
36
- const decoded = this.verifyToken(token);
37
- if (decoded) {
38
- req.user = decoded;
39
- }
40
- }
41
- next();
42
- };
43
- }
44
- // Express middleware for requiring authentication
45
- requireAuth() {
46
- return (req, res, next) => {
47
- if (!req.user) {
48
- return res.status(401).json({ message: 'Unauthorized' });
49
- }
50
- return next();
51
- };
52
- }
53
- // Express middleware for requiring specific roles
54
- requireRoles(roles) {
55
- return (req, res, next) => {
56
- if (!req.user) {
57
- return res.status(401).json({ message: 'Unauthorized' });
58
- }
59
- const userRoles = req.user.roles || [];
60
- const hasRequiredRole = roles.some(role => userRoles.includes(role));
61
- if (!hasRequiredRole) {
62
- return res.status(403).json({ message: 'Forbidden' });
63
- }
64
- return next();
65
- };
66
- }
67
- extractToken(req) {
68
- if (req.headers.authorization && req.headers.authorization.startsWith('Bearer ')) {
69
- return req.headers.authorization.substring(7);
70
- }
71
- return null;
72
- }
73
- }
74
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAAA,OAAO,GAAoB,MAAM,cAAc,CAAC;AAChD,OAAO,MAAM,MAAM,UAAU,CAAC;AAiB9B,MAAM,OAAO,WAAW;IAGtB,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,KAAK;YAChB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,cAAsB;QAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,IAA4B;QACxC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5C,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CACb,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,EACjE,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,UAAU;QACR,OAAO,CAAC,GAA6B,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,WAAW;QACT,OAAO,CAAC,GAA6B,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,YAAY,CAAC,KAAe;QAC1B,OAAO,CAAC,GAA6B,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAY;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjF,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,25 +0,0 @@
1
- import { Db } from 'mongodb';
2
- import mysql from 'mysql2/promise';
3
- import pg from 'pg';
4
- export interface DbConfig {
5
- url: string;
6
- type: 'mongodb' | 'mysql' | 'postgres';
7
- }
8
- export declare class Database {
9
- private config;
10
- private mongoClient;
11
- private mongoDb;
12
- private mysqlPool;
13
- private pgPool;
14
- constructor(config: DbConfig);
15
- connect(): Promise<void>;
16
- private connectMongo;
17
- private connectMysql;
18
- private connectPostgres;
19
- disconnect(): Promise<void>;
20
- getMongoDb(): Db | null;
21
- getMysqlPool(): mysql.Pool | null;
22
- getPgPool(): pg.Pool | null;
23
- query(sql: string, values?: any[]): Promise<any>;
24
- }
25
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/server/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,EAAE,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;CACxC;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,EAAE,QAAQ;IAItB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBhB,YAAY;YAYZ,YAAY;YAYZ,eAAe;IAavB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC,UAAU,IAAI,EAAE,GAAG,IAAI;IAIvB,YAAY,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;IAIjC,SAAS,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI;IAKrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAgBvD"}
@@ -1,109 +0,0 @@
1
- import { MongoClient } from 'mongodb';
2
- import mysql from 'mysql2/promise';
3
- import pg from 'pg';
4
- export class Database {
5
- constructor(config) {
6
- this.mongoClient = null;
7
- this.mongoDb = null;
8
- this.mysqlPool = null;
9
- this.pgPool = null;
10
- this.config = config;
11
- }
12
- async connect() {
13
- switch (this.config.type) {
14
- case 'mongodb':
15
- await this.connectMongo();
16
- break;
17
- case 'mysql':
18
- await this.connectMysql();
19
- break;
20
- case 'postgres':
21
- await this.connectPostgres();
22
- break;
23
- default:
24
- throw new Error(`Unsupported database type: ${this.config.type}`);
25
- }
26
- }
27
- async connectMongo() {
28
- try {
29
- this.mongoClient = new MongoClient(this.config.url);
30
- await this.mongoClient.connect();
31
- this.mongoDb = this.mongoClient.db();
32
- console.log('Connected to MongoDB');
33
- }
34
- catch (error) {
35
- console.error('MongoDB connection error:', error);
36
- throw error;
37
- }
38
- }
39
- async connectMysql() {
40
- try {
41
- this.mysqlPool = mysql.createPool(this.config.url);
42
- // Test connection
43
- await this.mysqlPool.getConnection();
44
- console.log('Connected to MySQL');
45
- }
46
- catch (error) {
47
- console.error('MySQL connection error:', error);
48
- throw error;
49
- }
50
- }
51
- async connectPostgres() {
52
- try {
53
- this.pgPool = new pg.Pool({ connectionString: this.config.url });
54
- // Test connection
55
- const client = await this.pgPool.connect();
56
- client.release();
57
- console.log('Connected to PostgreSQL');
58
- }
59
- catch (error) {
60
- console.error('PostgreSQL connection error:', error);
61
- throw error;
62
- }
63
- }
64
- async disconnect() {
65
- if (this.mongoClient) {
66
- await this.mongoClient.close();
67
- this.mongoClient = null;
68
- this.mongoDb = null;
69
- }
70
- if (this.mysqlPool) {
71
- await this.mysqlPool.end();
72
- this.mysqlPool = null;
73
- }
74
- if (this.pgPool) {
75
- await this.pgPool.end();
76
- this.pgPool = null;
77
- }
78
- }
79
- // Database-specific methods
80
- getMongoDb() {
81
- return this.mongoDb;
82
- }
83
- getMysqlPool() {
84
- return this.mysqlPool;
85
- }
86
- getPgPool() {
87
- return this.pgPool;
88
- }
89
- // Generic query method
90
- async query(sql, values) {
91
- switch (this.config.type) {
92
- case 'mongodb':
93
- throw new Error('For MongoDB, use getMongoDb() instead of query()');
94
- case 'mysql':
95
- if (!this.mysqlPool)
96
- throw new Error('MySQL not connected');
97
- const [rows] = await this.mysqlPool.execute(sql, values || []);
98
- return rows;
99
- case 'postgres':
100
- if (!this.pgPool)
101
- throw new Error('PostgreSQL not connected');
102
- const result = await this.pgPool.query(sql, values || []);
103
- return result.rows;
104
- default:
105
- throw new Error(`Unsupported database type: ${this.config.type}`);
106
- }
107
- }
108
- }
109
- //# sourceMappingURL=database.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/server/database.ts"],"names":[],"mappings":"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"}