@ereactthohir/core 1.2.3 → 1.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4C,MAAM,SAAS,CAAC;AAWnE,qBAAa,MAAM;IACf,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;;IAStB,MAAM;IAgEZ,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;CAGpD"}
1
+ {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAiF,MAAM,SAAS,CAAC;AAaxG,qBAAa,MAAM;IACf,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;;IAYtB,MAAM;IAkJZ,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;CAGpD"}
@@ -11,64 +11,139 @@ const Router_1 = require("../http/Router");
11
11
  const Logger_1 = require("../foundation/Logger");
12
12
  const ExceptionHandler_1 = require("./ExceptionHandler");
13
13
  const View_1 = require("../foundation/View");
14
+ const Request_1 = require("./Request");
15
+ const Response_1 = require("./Response");
14
16
  const react_1 = __importDefault(require("react"));
15
17
  const path_1 = __importDefault(require("path"));
16
18
  const fs_1 = __importDefault(require("fs"));
17
19
  class Kernel {
18
20
  constructor() {
19
21
  this.app = (0, express_1.default)();
20
- this.app.use((0, helmet_1.default)());
22
+ this.app.use((0, helmet_1.default)({
23
+ contentSecurityPolicy: false,
24
+ }));
21
25
  this.app.use((0, cors_1.default)());
22
26
  this.app.use(express_1.default.json());
27
+ this.app.use(express_1.default.urlencoded({ extended: true }));
23
28
  }
24
29
  async handle() {
25
30
  const routes = Router_1.Route.getRoutes();
26
- console.log(`[Kernel] Received ${routes.length} route(s) to register`);
31
+ console.log(`[Kernel] Registering ${routes.length} route(s) to Express...`);
27
32
  routes.forEach(route => {
28
33
  const method = route.method.toLowerCase();
29
34
  if (this.app[method]) {
35
+ console.log(` [Route] ${route.method} ${route.path}`);
30
36
  this.app[method](route.path, async (req, res, next) => {
31
37
  try {
32
38
  Logger_1.Logger.info(`Incoming ${route.method} request to ${route.path}`);
33
- const result = typeof route.handler === 'function'
34
- ? await route.handler(req, res)
35
- : await route.handler;
36
- if (!res.headersSent) {
37
- if (typeof result === 'string') {
38
- res.setHeader('Content-Type', 'text/html');
39
- res.send(result);
39
+ // Wrap Express Request and Response
40
+ const erreq = new Request_1.Request({
41
+ method: req.method,
42
+ path: req.path,
43
+ headers: req.headers,
44
+ query: req.query,
45
+ body: req.body,
46
+ params: req.params
47
+ });
48
+ // Basic app mock for dependencies
49
+ erreq.app = {
50
+ make: (name) => {
51
+ if (name === 'auth') {
52
+ return {
53
+ attempt: async () => ({ id: 1, name: 'User' }),
54
+ create: async (data) => ({ id: 1, ...data })
55
+ };
56
+ }
57
+ return null;
40
58
  }
41
- else if (result && typeof result === 'object' && result.view) {
59
+ };
60
+ erreq.session = {
61
+ set: () => { },
62
+ get: () => { },
63
+ destroy: () => { }
64
+ };
65
+ erreq.validate = async () => true;
66
+ const erres = new Response_1.Response();
67
+ let result;
68
+ // Handle Controller array [ControllerClass, 'methodName']
69
+ if (Array.isArray(route.handler) && route.handler.length === 2) {
70
+ const [ControllerClass, methodName] = route.handler;
71
+ const controllerInstance = new ControllerClass();
72
+ result = await controllerInstance[methodName](erreq, erres);
73
+ }
74
+ else if (typeof route.handler === 'function') {
75
+ result = await route.handler(erreq, erres);
76
+ }
77
+ else {
78
+ result = await route.handler;
79
+ }
80
+ // If the handler didn't return anything but modified erres, use erres
81
+ if (result === undefined || result === erres) {
82
+ result = erres;
83
+ }
84
+ // Handle EreactResponse object
85
+ if (result instanceof Response_1.Response || (result && result.getBody && result.getStatus)) {
86
+ const body = result.getBody();
87
+ const status = result.getStatus();
88
+ const headers = result.getHeaders();
89
+ // Set headers
90
+ Object.entries(headers).forEach(([key, value]) => {
91
+ res.setHeader(key, value);
92
+ });
93
+ res.status(status);
94
+ if (body && typeof body === 'object' && body.view) {
95
+ // Render React View
42
96
  try {
43
97
  const projectRoot = process.cwd();
44
- // Try common view locations
45
- let viewPath = path_1.default.join(projectRoot, 'resources/views', `${result.view}.tsx`);
98
+ let viewPath = path_1.default.join(projectRoot, 'resources/views', `${body.view}.tsx`);
46
99
  if (!fs_1.default.existsSync(viewPath)) {
47
- viewPath = path_1.default.join(projectRoot, 'resources/pages', `${result.view}.tsx`);
100
+ viewPath = path_1.default.join(projectRoot, 'resources/pages', `${body.view}.tsx`);
48
101
  }
49
102
  if (fs_1.default.existsSync(viewPath)) {
50
- // Use require/ts-node to load the component
51
103
  const viewModule = require(viewPath);
52
104
  const Component = viewModule.default || viewModule;
53
- const html = View_1.View.render(react_1.default.createElement(Component, result.data || {}));
105
+ const html = View_1.View.render(react_1.default.createElement(Component, body.data || {}));
54
106
  res.setHeader('Content-Type', 'text/html');
55
- res.send(html);
107
+ return res.send(html);
56
108
  }
57
109
  else {
58
- res.json(result);
110
+ // Try converting dot notation to path path/to/view
111
+ if (body.view.includes('.')) {
112
+ const pathView = body.view.replace(/\./g, '/');
113
+ let viewPathDots = path_1.default.join(projectRoot, 'resources/views', `${pathView}.tsx`);
114
+ if (!fs_1.default.existsSync(viewPathDots)) {
115
+ viewPathDots = path_1.default.join(projectRoot, 'resources/pages', `${pathView}.tsx`);
116
+ }
117
+ if (fs_1.default.existsSync(viewPathDots)) {
118
+ const viewModule = require(viewPathDots);
119
+ const Component = viewModule.default || viewModule;
120
+ const html = View_1.View.render(react_1.default.createElement(Component, body.data || {}));
121
+ res.setHeader('Content-Type', 'text/html');
122
+ return res.send(html);
123
+ }
124
+ }
125
+ console.warn(`View not found: ${body.view} at ${viewPath}`);
59
126
  }
60
127
  }
61
128
  catch (e) {
62
- console.error('View rendering failed:', e);
63
- res.json(result);
129
+ console.error(`View rendering failed for ${body.view}:`, e);
64
130
  }
65
131
  }
132
+ return res.send(body);
133
+ }
134
+ // Handle direct string/object results
135
+ if (!res.headersSent) {
136
+ if (typeof result === 'string') {
137
+ res.setHeader('Content-Type', 'text/html');
138
+ res.send(result);
139
+ }
66
140
  else {
67
141
  res.json(result);
68
142
  }
69
143
  }
70
144
  }
71
145
  catch (error) {
146
+ console.error('Kernel execution error:', error);
72
147
  next(error);
73
148
  }
74
149
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"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"}
@@ -31,5 +31,13 @@ export declare class Request {
31
31
  setUser(user: any): this;
32
32
  hasUser(): boolean;
33
33
  getAttributes(): Record<string, any>;
34
+ /**
35
+ * Get all input data (body + query)
36
+ */
37
+ all(): Record<string, any>;
38
+ /**
39
+ * Validate the request data against rules
40
+ */
41
+ validate(rules: Record<string, string>): Promise<boolean>;
34
42
  }
35
43
  //# sourceMappingURL=Request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;CACpC;AAED,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,CAAC,EAAE,GAAG;IAWf,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAIzE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKtD,UAAU,IAAI,OAAO;IAIrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAI3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAK/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK1C,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU5C,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQ9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAI3C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKvC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIhC,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;IAIjC,MAAM,IAAI,OAAO;IAKjB,oBAAoB,IAAI,GAAG;IAI3B,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAKxB,OAAO,IAAI,OAAO;IAIlB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG9C"}
1
+ {"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;CACpC;AAED,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,CAAC,EAAE,GAAG;IAWf,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAIzE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKtD,UAAU,IAAI,OAAO;IAIrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAI3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAK/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK1C,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU5C,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQ9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAI3C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKvC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIhC,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;IAIjC,MAAM,IAAI,OAAO;IAKjB,oBAAoB,IAAI,GAAG;IAI3B,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAKxB,OAAO,IAAI,OAAO;IAIlB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI3C;;OAEG;IACI,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjC;;OAEG;IACU,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA4BzE"}
@@ -101,6 +101,39 @@ class Request {
101
101
  getAttributes() {
102
102
  return this.body;
103
103
  }
104
+ /**
105
+ * Get all input data (body + query)
106
+ */
107
+ all() {
108
+ return { ...this.query, ...this.body };
109
+ }
110
+ /**
111
+ * Validate the request data against rules
112
+ */
113
+ async validate(rules) {
114
+ const data = this.all();
115
+ const errors = {};
116
+ for (const [field, ruleStr] of Object.entries(rules)) {
117
+ const fieldRules = ruleStr.split('|');
118
+ const value = data[field];
119
+ for (const rule of fieldRules) {
120
+ if (rule === 'required' && (value === undefined || value === null || value === '')) {
121
+ errors[field] = `${field} is required`;
122
+ }
123
+ if (rule.startsWith('min:') && value?.length < parseInt(rule.split(':')[1])) {
124
+ errors[field] = `${field} must be at least ${rule.split(':')[1]} characters`;
125
+ }
126
+ if (rule === 'email' && value && !/^\S+@\S+\.\S+$/.test(value)) {
127
+ errors[field] = `${field} must be a valid email`;
128
+ }
129
+ // Extend with more rules as needed
130
+ }
131
+ }
132
+ if (Object.keys(errors).length > 0) {
133
+ throw new Error(JSON.stringify({ validation_errors: errors }));
134
+ }
135
+ return true;
136
+ }
104
137
  }
105
138
  exports.Request = Request;
106
139
  //# sourceMappingURL=Request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ereactthohir/core",
3
- "version": "1.2.3",
3
+ "version": "1.3.0",
4
4
  "description": "Enterprise-grade core framework with caching, sessions, rate limiting, and advanced features",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",