@shohaghinfo/aerojs 0.4.0 → 0.4.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/AGENTS.md +17 -16
- package/README.md +117 -44
- package/dist/audit/audit-trail.d.ts +5 -6
- package/dist/audit/audit-trail.d.ts.map +1 -1
- package/dist/audit/audit-trail.js +5 -6
- package/dist/audit/audit-trail.js.map +1 -1
- package/dist/auth/auth-manager.d.ts +5 -5
- package/dist/auth/auth-manager.js +5 -5
- package/dist/auth/bouncer.d.ts +8 -15
- package/dist/auth/bouncer.d.ts.map +1 -1
- package/dist/auth/bouncer.js +10 -17
- package/dist/auth/bouncer.js.map +1 -1
- package/dist/auth/guards/api-token-guard.d.ts +2 -4
- package/dist/auth/guards/api-token-guard.d.ts.map +1 -1
- package/dist/auth/guards/api-token-guard.js +2 -4
- package/dist/auth/guards/api-token-guard.js.map +1 -1
- package/dist/auth/guards/jwt-guard.d.ts +3 -4
- package/dist/auth/guards/jwt-guard.d.ts.map +1 -1
- package/dist/auth/guards/jwt-guard.js +2 -3
- package/dist/auth/guards/jwt-guard.js.map +1 -1
- package/dist/auth/guards/session-guard.d.ts +2 -4
- package/dist/auth/guards/session-guard.d.ts.map +1 -1
- package/dist/auth/guards/session-guard.js +2 -4
- package/dist/auth/guards/session-guard.js.map +1 -1
- package/dist/auth/policy.js +1 -1
- package/dist/auth/policy.js.map +1 -1
- package/dist/cli/commands/make.js +5 -5
- package/dist/cli/runner.js +1 -1
- package/dist/core/application.d.ts +4 -0
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/application.js +29 -3
- package/dist/core/application.js.map +1 -1
- package/dist/core/context.d.ts +25 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +43 -0
- package/dist/core/context.js.map +1 -1
- package/dist/database/drizzle.d.ts +4 -1
- package/dist/database/drizzle.d.ts.map +1 -1
- package/dist/database/drizzle.js +1 -1
- package/dist/database/drizzle.js.map +1 -1
- package/dist/database/index.d.ts +1 -0
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -0
- package/dist/database/index.js.map +1 -1
- package/dist/database/knex.d.ts.map +1 -1
- package/dist/database/knex.js +1 -0
- package/dist/database/knex.js.map +1 -1
- package/dist/database/model-hooks.d.ts +5 -5
- package/dist/database/model-hooks.js +11 -11
- package/dist/database/model.d.ts +43 -59
- package/dist/database/model.d.ts.map +1 -1
- package/dist/database/model.js +62 -68
- package/dist/database/model.js.map +1 -1
- package/dist/database/prisma.d.ts +1 -1
- package/dist/database/prisma.d.ts.map +1 -1
- package/dist/database/prisma.js +3 -2
- package/dist/database/prisma.js.map +1 -1
- package/dist/database/query-builder.d.ts +11 -7
- package/dist/database/query-builder.d.ts.map +1 -1
- package/dist/database/query-builder.js +50 -21
- package/dist/database/query-builder.js.map +1 -1
- package/dist/database/sqlite.d.ts +26 -0
- package/dist/database/sqlite.d.ts.map +1 -0
- package/dist/database/sqlite.js +96 -0
- package/dist/database/sqlite.js.map +1 -0
- package/dist/events/event-bus.d.ts +47 -75
- package/dist/events/event-bus.d.ts.map +1 -1
- package/dist/events/event-bus.js +14 -23
- package/dist/events/event-bus.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/notifications/notification-manager.d.ts +1 -1
- package/dist/notifications/notification-manager.js +1 -1
- package/dist/scheduler/scheduler.d.ts +5 -5
- package/dist/scheduler/scheduler.js +5 -5
- package/dist/session/session-driver.d.ts +2 -2
- package/dist/session/session-driver.js +2 -2
- package/dist/session/session-manager.d.ts +4 -4
- package/dist/session/session-manager.js +3 -3
- package/dist/tcp/mllp.d.ts +1 -1
- package/dist/tcp/mllp.js +2 -2
- package/dist/tcp/mllp.js.map +1 -1
- package/dist/validation/schema.d.ts +6 -0
- package/dist/validation/schema.d.ts.map +1 -1
- package/dist/validation/schema.js +57 -3
- package/dist/validation/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/auth/bouncer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bouncer.js","sourceRoot":"","sources":["../../src/auth/bouncer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA2BtE,iFAAiF;AAEjF,MAAM,OAAO,OAAO;IACV,IAAI,CAAkB;IACtB,MAAM,GAAoB,IAAI,CAAC;IAC/B,YAAY,GAAoB,IAAI,CAAC;IACrC,KAAK,CAAmB;IACxB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAErD,YAAY,IAAqB,EAAE,KAAuB;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,EAAE,CAAC,IAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,KAAe;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,UAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,UAAkB;QACpC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"bouncer.js","sourceRoot":"","sources":["../../src/auth/bouncer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @file api-token-guard.ts
|
|
3
3
|
* @description Database-backed API Token Authentication Guard for AeroJS.
|
|
4
4
|
* Tokens are stored in DB, can be revoked individually, and carry scopes.
|
|
5
|
-
*
|
|
5
|
+
* Suitable for machine-to-machine integrations, webhooks, and third-party API clients.
|
|
6
6
|
*/
|
|
7
7
|
import type { AeroContext } from '../../core/context.js';
|
|
8
8
|
import type { GuardContract, AuthUser } from './guard.js';
|
|
@@ -47,7 +47,7 @@ export declare class ApiTokenGuard implements GuardContract {
|
|
|
47
47
|
check(): boolean;
|
|
48
48
|
/**
|
|
49
49
|
* Checks if the token has a specific ability/scope.
|
|
50
|
-
*
|
|
50
|
+
* Example: ctx.auth.use('api').can('orders:write')
|
|
51
51
|
*/
|
|
52
52
|
can(ability: string): boolean;
|
|
53
53
|
private extractToken;
|
|
@@ -60,8 +60,6 @@ export declare class ApiTokenGuard implements GuardContract {
|
|
|
60
60
|
/**
|
|
61
61
|
* Generates a new plain token and its SHA-256 hash.
|
|
62
62
|
* Store hashedToken in DB, show plainToken once to the user.
|
|
63
|
-
*
|
|
64
|
-
* Hospital use: Generate integration token for LIS analyzer, TPA system.
|
|
65
63
|
*/
|
|
66
64
|
static generate(prefix?: string): GeneratedToken;
|
|
67
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token-guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/api-token-guard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI1D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE7D;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,GAAG,CAAc;gBAEb,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB;IAKlD,IAAI,IAAI,QAAQ,GAAG,IAAI;IAIvB,KAAK,IAAI,QAAQ,GAAG,IAAI;IAIxB,KAAK,IAAI,OAAO;IAIvB;;;OAGG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKpC,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIJ,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;IAgCjC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C
|
|
1
|
+
{"version":3,"file":"api-token-guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/api-token-guard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI1D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE7D;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,GAAG,CAAc;gBAEb,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB;IAKlD,IAAI,IAAI,QAAQ,GAAG,IAAI;IAIvB,KAAK,IAAI,QAAQ,GAAG,IAAI;IAIxB,KAAK,IAAI,OAAO;IAIvB;;;OAGG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKpC,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIJ,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;IAgCjC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;WACW,QAAQ,CAAC,MAAM,SAAU,GAAG,cAAc;CAMzD"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @file api-token-guard.ts
|
|
3
3
|
* @description Database-backed API Token Authentication Guard for AeroJS.
|
|
4
4
|
* Tokens are stored in DB, can be revoked individually, and carry scopes.
|
|
5
|
-
*
|
|
5
|
+
* Suitable for machine-to-machine integrations, webhooks, and third-party API clients.
|
|
6
6
|
*/
|
|
7
7
|
import { UnauthorizedError } from '../../core/errors.js';
|
|
8
8
|
import crypto from 'node:crypto';
|
|
@@ -27,7 +27,7 @@ export class ApiTokenGuard {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Checks if the token has a specific ability/scope.
|
|
30
|
-
*
|
|
30
|
+
* Example: ctx.auth.use('api').can('orders:write')
|
|
31
31
|
*/
|
|
32
32
|
can(ability) {
|
|
33
33
|
if (!this._token)
|
|
@@ -94,8 +94,6 @@ export class ApiTokenGuard {
|
|
|
94
94
|
/**
|
|
95
95
|
* Generates a new plain token and its SHA-256 hash.
|
|
96
96
|
* Store hashedToken in DB, show plainToken once to the user.
|
|
97
|
-
*
|
|
98
|
-
* Hospital use: Generate integration token for LIS analyzer, TPA system.
|
|
99
97
|
*/
|
|
100
98
|
static generate(prefix = 'aero_') {
|
|
101
99
|
const random = crypto.randomBytes(40).toString('hex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token-guard.js","sourceRoot":"","sources":["../../../src/auth/guards/api-token-guard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-token-guard.js","sourceRoot":"","sources":["../../../src/auth/guards/api-token-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file jwt-guard.ts
|
|
3
3
|
* @description JWT Authentication Guard for AeroJS.
|
|
4
|
-
* Stateless authentication for
|
|
5
|
-
* Hospital use: Doctor's mobile ward-round app authenticates via Bearer JWT token.
|
|
4
|
+
* Stateless authentication for RESTful APIs, Single-Page Applications (SPA), and Mobile Apps.
|
|
6
5
|
*/
|
|
7
6
|
import type { AeroContext } from '../../core/context.js';
|
|
8
7
|
import type { GuardContract, AuthUser } from './guard.js';
|
|
@@ -13,7 +12,7 @@ export interface JwtGuardConfig {
|
|
|
13
12
|
*/
|
|
14
13
|
secret: string;
|
|
15
14
|
/**
|
|
16
|
-
* Token expiry. Default: '8h'
|
|
15
|
+
* Token expiry. Default: '8h'.
|
|
17
16
|
*/
|
|
18
17
|
expiresIn?: string | number;
|
|
19
18
|
/**
|
|
@@ -57,7 +56,7 @@ export declare class JwtGuard implements GuardContract {
|
|
|
57
56
|
silentCheck(): Promise<boolean>;
|
|
58
57
|
/**
|
|
59
58
|
* Generates a signed JWT token pair for a user.
|
|
60
|
-
*
|
|
59
|
+
* Example: User logs in → receives { accessToken, expiresIn }.
|
|
61
60
|
*/
|
|
62
61
|
generate(user: AuthUser, options?: JwtSignOptions): JwtTokenPair;
|
|
63
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/jwt-guard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jwt-guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/jwt-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG1E,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE5D;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,QAAQ,CAAC;CACrB;AAED,qBAAa,QAAS,YAAW,aAAa;IAC5C,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,GAAG,CAAc;gBAEb,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc;IAK7C,IAAI,IAAI,QAAQ,GAAG,IAAI;IAIvB,KAAK,IAAI,OAAO;IAIvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;IAkCjC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACI,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,YAAY;CAmB5E"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file jwt-guard.ts
|
|
3
3
|
* @description JWT Authentication Guard for AeroJS.
|
|
4
|
-
* Stateless authentication for
|
|
5
|
-
* Hospital use: Doctor's mobile ward-round app authenticates via Bearer JWT token.
|
|
4
|
+
* Stateless authentication for RESTful APIs, Single-Page Applications (SPA), and Mobile Apps.
|
|
6
5
|
*/
|
|
7
6
|
import { verify, sign } from '../../security/jwt.js';
|
|
8
7
|
import { UnauthorizedError } from '../../core/errors.js';
|
|
@@ -84,7 +83,7 @@ export class JwtGuard {
|
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
86
85
|
* Generates a signed JWT token pair for a user.
|
|
87
|
-
*
|
|
86
|
+
* Example: User logs in → receives { accessToken, expiresIn }.
|
|
88
87
|
*/
|
|
89
88
|
generate(user, options = {}) {
|
|
90
89
|
const expiresIn = options.expiresIn ?? this.config.expiresIn ?? '8h';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-guard.js","sourceRoot":"","sources":["../../../src/auth/guards/jwt-guard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jwt-guard.js","sourceRoot":"","sources":["../../../src/auth/guards/jwt-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAuB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwCzD,MAAM,OAAO,QAAQ;IACX,KAAK,GAAoB,IAAI,CAAC;IAC9B,QAAQ,GAAG,KAAK,CAAC;IACR,MAAM,CAAiB;IAChC,GAAG,CAAc;IAEzB,YAAY,GAAgB,EAAE,MAAsB;QAClD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,EAAE,WAAW,GAAG,QAAQ,EAAE,UAAU,GAAG,YAAY,EAAE,UAAU,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhG,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC9C,CAAC;QAED,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAY,IAAI,IAAI,CAAC;QACxD,CAAC;QAED,yCAAyC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACpE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAA0D,CAAC;QAC/D,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAmB,CAAC;QAChE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC5G,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,iBAAiB,CAAC,uCAAuC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,IAAc,EAAE,UAA0B,EAAE;QAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAChB;YACE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,IAAI;SACR,EACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAC1B,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,KAAK;YAClB,SAAS;YACT,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file session-guard.ts
|
|
3
3
|
* @description Server-side Session Authentication Guard for AeroJS.
|
|
4
|
-
* Handles
|
|
5
|
-
* Hospital use-case: Cashier logs in → session tagged with Shift_Session_ID + Terminal_ID.
|
|
4
|
+
* Handles web portal logins, user state persistence, and session fixation prevention.
|
|
6
5
|
*/
|
|
7
6
|
import type { AeroContext } from '../../core/context.js';
|
|
8
7
|
import type { GuardContract, AuthUser, LoginOptions } from './guard.js';
|
|
@@ -38,12 +37,11 @@ export declare class SessionGuard implements GuardContract {
|
|
|
38
37
|
silentCheck(): Promise<boolean>;
|
|
39
38
|
/**
|
|
40
39
|
* Logs a user into the session.
|
|
41
|
-
*
|
|
40
|
+
* Example: ctx.auth.use('session').login(user, { remember: true });
|
|
42
41
|
*/
|
|
43
42
|
login(user: AuthUser, options?: LoginOptions): Promise<void>;
|
|
44
43
|
/**
|
|
45
44
|
* Logs the authenticated user out and destroys their session.
|
|
46
|
-
* Hospital use: cashier shift end → session destroyed, terminal freed.
|
|
47
45
|
*/
|
|
48
46
|
logout(): Promise<void>;
|
|
49
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/session-guard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/session-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIvE,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CAC7D;AAED,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAC7E,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,GAAG,CAAc;gBAEb,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB;IAO1E,IAAI,IAAI,QAAQ,GAAG,IAAI;IAIvB,KAAK,IAAI,OAAO;IAIvB;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;IAuB9C;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACU,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7E;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC;;;OAGG;IACU,OAAO,CAClB,IAAI,EAAE,QAAQ,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EACrC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;CASpB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file session-guard.ts
|
|
3
3
|
* @description Server-side Session Authentication Guard for AeroJS.
|
|
4
|
-
* Handles
|
|
5
|
-
* Hospital use-case: Cashier logs in → session tagged with Shift_Session_ID + Terminal_ID.
|
|
4
|
+
* Handles web portal logins, user state persistence, and session fixation prevention.
|
|
6
5
|
*/
|
|
7
6
|
import { UnauthorizedError, ForbiddenError } from '../../core/errors.js';
|
|
8
7
|
import { hash, hashVerify } from '../../security/hash.js';
|
|
@@ -61,7 +60,7 @@ export class SessionGuard {
|
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
62
|
* Logs a user into the session.
|
|
64
|
-
*
|
|
63
|
+
* Example: ctx.auth.use('session').login(user, { remember: true });
|
|
65
64
|
*/
|
|
66
65
|
async login(user, options = {}) {
|
|
67
66
|
await this.session.put(this.userKey, { id: user.id });
|
|
@@ -76,7 +75,6 @@ export class SessionGuard {
|
|
|
76
75
|
}
|
|
77
76
|
/**
|
|
78
77
|
* Logs the authenticated user out and destroys their session.
|
|
79
|
-
* Hospital use: cashier shift end → session destroyed, terminal freed.
|
|
80
78
|
*/
|
|
81
79
|
async logout() {
|
|
82
80
|
await this.session.forget(this.userKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-guard.js","sourceRoot":"","sources":["../../../src/auth/guards/session-guard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-guard.js","sourceRoot":"","sources":["../../../src/auth/guards/session-guard.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/policy.js
CHANGED
|
@@ -20,7 +20,7 @@ export class PolicyEngine {
|
|
|
20
20
|
async check(user, module, action, resource) {
|
|
21
21
|
if (!user)
|
|
22
22
|
return false;
|
|
23
|
-
// Check wildcard action for module (e.g. '
|
|
23
|
+
// Check wildcard action for module (e.g. 'Post:*')
|
|
24
24
|
const wildcardKey = `${module}:*`;
|
|
25
25
|
if (this.policies.has(wildcardKey)) {
|
|
26
26
|
const fn = this.policies.get(wildcardKey);
|
package/dist/auth/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/auth/policy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,OAAO,YAAY;IACf,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAErD;;;OAGG;IACI,MAAM,CAAC,YAAoB,EAAE,QAAwB;QAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,IAAS,EAAE,MAAc,EAAE,MAAc,EAAE,QAAc;QAC1E,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/auth/policy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,OAAO,YAAY;IACf,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAErD;;;OAGG;IACI,MAAM,CAAC,YAAoB,EAAE,QAAwB;QAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,IAAS,EAAE,MAAc,EAAE,MAAc,EAAE,QAAc;QAC1E,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,mDAAmD;QACnD,MAAM,WAAW,GAAG,GAAG,MAAM,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACnC,OAAO,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,oCAAoC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC/C,MAAM,MAAM,GAAG,UAAU,GAAQ;QAC/B,kDAAkD;QAClD,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC;IACD,MAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -9,7 +9,7 @@ export function makeController(name, targetDir = 'app/controllers') {
|
|
|
9
9
|
const className = `${cleanName}Controller`;
|
|
10
10
|
const filePath = join(process.cwd(), targetDir, `${className}.ts`);
|
|
11
11
|
mkdirSync(dirname(filePath), { recursive: true });
|
|
12
|
-
const content = `import type { AeroContext } from '
|
|
12
|
+
const content = `import type { AeroContext } from 'aerojs';
|
|
13
13
|
|
|
14
14
|
export class ${className} {
|
|
15
15
|
/**
|
|
@@ -69,7 +69,7 @@ export function makeModel(name, options = {}) {
|
|
|
69
69
|
const targetDir = options.targetDir || 'app/models';
|
|
70
70
|
const filePath = join(process.cwd(), targetDir, `${className}.ts`);
|
|
71
71
|
mkdirSync(dirname(filePath), { recursive: true });
|
|
72
|
-
const content = `import { Model } from '
|
|
72
|
+
const content = `import { Model } from 'aerojs';
|
|
73
73
|
|
|
74
74
|
export class ${className} extends Model {
|
|
75
75
|
public static override table = '${tableName}';
|
|
@@ -93,7 +93,7 @@ export function makeMigration(name, targetDir = 'database/migrations') {
|
|
|
93
93
|
const filePath = join(process.cwd(), targetDir, fileName);
|
|
94
94
|
mkdirSync(dirname(filePath), { recursive: true });
|
|
95
95
|
const tableName = name.replace(/^create_/i, '').replace(/_table$/i, '') || 'items';
|
|
96
|
-
const content = `import { Schema, type Migration } from '
|
|
96
|
+
const content = `import { Schema, type Migration } from 'aerojs';
|
|
97
97
|
|
|
98
98
|
export const migration: Migration = {
|
|
99
99
|
async up(): Promise<void> {
|
|
@@ -141,7 +141,7 @@ export function makeMiddleware(name, targetDir = 'app/middleware') {
|
|
|
141
141
|
const fileName = `${cleanName}.ts`;
|
|
142
142
|
const filePath = join(process.cwd(), targetDir, fileName);
|
|
143
143
|
mkdirSync(dirname(filePath), { recursive: true });
|
|
144
|
-
const content = `import type { Middleware } from '
|
|
144
|
+
const content = `import type { Middleware } from 'aerojs';
|
|
145
145
|
|
|
146
146
|
export const ${cleanName.toLowerCase()}Middleware: Middleware = async (ctx, next) => {
|
|
147
147
|
// Logic executed before handling route
|
|
@@ -220,7 +220,7 @@ export function makePolicy(name, targetDir = 'app/policies') {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
public create(user: any): boolean {
|
|
223
|
-
return user.role === 'admin' || user.role === '
|
|
223
|
+
return user.role === 'admin' || user.role === 'editor';
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
public update(user: any, resource: any): boolean {
|
package/dist/cli/runner.js
CHANGED
|
@@ -250,7 +250,7 @@ Options:
|
|
|
250
250
|
|
|
251
251
|
Available Commands:
|
|
252
252
|
init [dir] Scaffold a complete production AeroJS application
|
|
253
|
-
new <name> [--template] Create a new AeroJS app (api-starter, react-inertia, vue-inertia,
|
|
253
|
+
new <name> [--template] Create a new AeroJS app (api-starter, react-inertia, vue-inertia, fullstack)
|
|
254
254
|
|
|
255
255
|
make:controller <name> Create a new RESTful controller class
|
|
256
256
|
make:model <name> [-m] Create a new Active Record Model (optionally with migration)
|
|
@@ -93,6 +93,10 @@ export declare class Aero<State = DefaultState> extends ApplicationCore<State> {
|
|
|
93
93
|
* Configures Knex as the underlying database query engine and registers it in IoC container.
|
|
94
94
|
*/
|
|
95
95
|
useKnex(knexInstance: any, connectionName?: string): this;
|
|
96
|
+
/**
|
|
97
|
+
* Configures Native SQLite (using Node.js built-in node:sqlite) as the database engine.
|
|
98
|
+
*/
|
|
99
|
+
useSqlite(locationOrDb?: string | any, connectionName?: string): this;
|
|
96
100
|
/**
|
|
97
101
|
* Configures OpenAPI 3.0 specification endpoint and interactive Swagger UI documentation.
|
|
98
102
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
|
package/dist/core/application.js
CHANGED
|
@@ -21,6 +21,7 @@ import { HealthCheck } from '../diagnostics/health-check.js';
|
|
|
21
21
|
import { i18nPlugin } from '../i18n/i18n.js';
|
|
22
22
|
import { TcpServer } from '../tcp/tcp-server.js';
|
|
23
23
|
import { registerQueueDashboard } from '../queue/dashboard.js';
|
|
24
|
+
import { useSqlite } from '../database/sqlite.js';
|
|
24
25
|
export { ApplicationCore } from './application-core.js';
|
|
25
26
|
/**
|
|
26
27
|
* Aero Full-Stack Application class.
|
|
@@ -138,12 +139,29 @@ export class Aero extends ApplicationCore {
|
|
|
138
139
|
* Configures Knex as the underlying database query engine and registers it in IoC container.
|
|
139
140
|
*/
|
|
140
141
|
useKnex(knexInstance, connectionName = 'default') {
|
|
141
|
-
import('../database/knex.js')
|
|
142
|
+
import('../database/knex.js')
|
|
143
|
+
.then(({ useKnex: connectKnex }) => {
|
|
142
144
|
connectKnex(knexInstance, connectionName);
|
|
145
|
+
})
|
|
146
|
+
.catch((err) => {
|
|
147
|
+
console.error('[AeroJS] Failed to initialize Knex adapter:', err);
|
|
143
148
|
});
|
|
144
149
|
this.container.bind('knex', () => knexInstance);
|
|
145
150
|
return this;
|
|
146
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Configures Native SQLite (using Node.js built-in node:sqlite) as the database engine.
|
|
154
|
+
*/
|
|
155
|
+
useSqlite(locationOrDb = ':memory:', connectionName = 'default') {
|
|
156
|
+
try {
|
|
157
|
+
const adapter = useSqlite(locationOrDb, connectionName);
|
|
158
|
+
this.container.bind('sqlite', () => adapter);
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
console.error('[AeroJS] Failed to initialize SQLite adapter:', err);
|
|
162
|
+
}
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
147
165
|
/**
|
|
148
166
|
* Configures OpenAPI 3.0 specification endpoint and interactive Swagger UI documentation.
|
|
149
167
|
*/
|
|
@@ -183,8 +201,12 @@ export class Aero extends ApplicationCore {
|
|
|
183
201
|
* Configures Prisma Client as an ORM in Aero, binding it to IoC container and ctx.prisma.
|
|
184
202
|
*/
|
|
185
203
|
usePrisma(prismaClient) {
|
|
186
|
-
import('../database/prisma.js')
|
|
204
|
+
import('../database/prisma.js')
|
|
205
|
+
.then(({ usePrisma: connectPrisma }) => {
|
|
187
206
|
connectPrisma(prismaClient);
|
|
207
|
+
})
|
|
208
|
+
.catch((err) => {
|
|
209
|
+
console.error('[AeroJS] Failed to initialize Prisma adapter:', err);
|
|
188
210
|
});
|
|
189
211
|
this.container.bind('prisma', () => prismaClient);
|
|
190
212
|
return this;
|
|
@@ -193,8 +215,12 @@ export class Aero extends ApplicationCore {
|
|
|
193
215
|
* Configures Drizzle ORM in Aero, binding it to IoC container and ctx.drizzle.
|
|
194
216
|
*/
|
|
195
217
|
useDrizzle(drizzleDb) {
|
|
196
|
-
import('../database/drizzle.js')
|
|
218
|
+
import('../database/drizzle.js')
|
|
219
|
+
.then(({ useDrizzle: connectDrizzle }) => {
|
|
197
220
|
connectDrizzle(drizzleDb);
|
|
221
|
+
})
|
|
222
|
+
.catch((err) => {
|
|
223
|
+
console.error('[AeroJS] Failed to initialize Drizzle adapter:', err);
|
|
198
224
|
});
|
|
199
225
|
this.container.bind('drizzle', () => drizzleDb);
|
|
200
226
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAE,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAoB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAoC,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAA+B,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,aAAa,EAA6B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAE,WAAW,EAA4B,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAyB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAA8B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
|
package/dist/core/context.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { AeroRequest } from './request.js';
|
|
|
7
7
|
import { AeroResponse } from './response.js';
|
|
8
8
|
import type { CookieOptions, ParsedQuery, RouteParams } from './types.js';
|
|
9
9
|
import { SseStream, type SseOptions } from '../sse/sse.js';
|
|
10
|
+
import { Database } from '../database/connection.js';
|
|
10
11
|
export type DefaultState = Record<string, unknown>;
|
|
11
12
|
export interface ContainerLike {
|
|
12
13
|
resolve<T>(name: string): T;
|
|
@@ -41,6 +42,10 @@ export declare class AeroContext<State = DefaultState, Params = RouteParams> {
|
|
|
41
42
|
* Retrieves all uploaded files, optionally filtered by fieldName.
|
|
42
43
|
*/
|
|
43
44
|
files(name?: string): any[];
|
|
45
|
+
/**
|
|
46
|
+
* Direct access to AeroJS Native Database (QueryBuilder & Connection Manager).
|
|
47
|
+
*/
|
|
48
|
+
get db(): typeof Database;
|
|
44
49
|
/**
|
|
45
50
|
* Direct access to underlying Knex.js query builder instance if configured.
|
|
46
51
|
*/
|
|
@@ -53,6 +58,26 @@ export declare class AeroContext<State = DefaultState, Params = RouteParams> {
|
|
|
53
58
|
* Direct access to underlying Drizzle ORM instance if configured.
|
|
54
59
|
*/
|
|
55
60
|
get drizzle(): any;
|
|
61
|
+
/**
|
|
62
|
+
* Direct access to underlying Native SQLite adapter if configured.
|
|
63
|
+
*/
|
|
64
|
+
get sqlite(): any;
|
|
65
|
+
/**
|
|
66
|
+
* Returns strongly-typed Drizzle ORM instance.
|
|
67
|
+
*/
|
|
68
|
+
getDrizzle<T = any>(): T;
|
|
69
|
+
/**
|
|
70
|
+
* Returns strongly-typed Prisma Client instance.
|
|
71
|
+
*/
|
|
72
|
+
getPrisma<T = any>(): T;
|
|
73
|
+
/**
|
|
74
|
+
* Returns strongly-typed Knex instance.
|
|
75
|
+
*/
|
|
76
|
+
getKnex<T = any>(): T;
|
|
77
|
+
/**
|
|
78
|
+
* Returns strongly-typed SQLite database adapter.
|
|
79
|
+
*/
|
|
80
|
+
getSqlite<T = any>(): T;
|
|
56
81
|
get headers(): IncomingMessage['headers'];
|
|
57
82
|
header(name: string): string | undefined;
|
|
58
83
|
get cookies(): Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE1G,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|
package/dist/core/context.js
CHANGED
|
@@ -8,6 +8,7 @@ import { AeroResponse } from './response.js';
|
|
|
8
8
|
import { parseCookies } from './utils.js';
|
|
9
9
|
import { SseStream } from '../sse/sse.js';
|
|
10
10
|
import { UrlSigner } from '../security/signed-url.js';
|
|
11
|
+
import { Database } from '../database/connection.js';
|
|
11
12
|
import { AeroError, BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, MethodNotAllowedError, InternalError, UnprocessableEntityError, } from './errors.js';
|
|
12
13
|
/**
|
|
13
14
|
* AeroContext encapsulating the complete request-response cycle.
|
|
@@ -72,6 +73,15 @@ export class AeroContext {
|
|
|
72
73
|
}
|
|
73
74
|
return Object.values(this.req.files).flat();
|
|
74
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Direct access to AeroJS Native Database (QueryBuilder & Connection Manager).
|
|
78
|
+
*/
|
|
79
|
+
get db() {
|
|
80
|
+
if (this.container && this.container.has('db')) {
|
|
81
|
+
return this.container.resolve('db');
|
|
82
|
+
}
|
|
83
|
+
return Database;
|
|
84
|
+
}
|
|
75
85
|
/**
|
|
76
86
|
* Direct access to underlying Knex.js query builder instance if configured.
|
|
77
87
|
*/
|
|
@@ -99,6 +109,39 @@ export class AeroContext {
|
|
|
99
109
|
}
|
|
100
110
|
return globalThis.__AERO_DRIZZLE__;
|
|
101
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Direct access to underlying Native SQLite adapter if configured.
|
|
114
|
+
*/
|
|
115
|
+
get sqlite() {
|
|
116
|
+
if (this.container && this.container.has('sqlite')) {
|
|
117
|
+
return this.container.resolve('sqlite');
|
|
118
|
+
}
|
|
119
|
+
return globalThis.__AERO_SQLITE__;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns strongly-typed Drizzle ORM instance.
|
|
123
|
+
*/
|
|
124
|
+
getDrizzle() {
|
|
125
|
+
return this.drizzle;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Returns strongly-typed Prisma Client instance.
|
|
129
|
+
*/
|
|
130
|
+
getPrisma() {
|
|
131
|
+
return this.prisma;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Returns strongly-typed Knex instance.
|
|
135
|
+
*/
|
|
136
|
+
getKnex() {
|
|
137
|
+
return this.knex;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Returns strongly-typed SQLite database adapter.
|
|
141
|
+
*/
|
|
142
|
+
getSqlite() {
|
|
143
|
+
return this.sqlite;
|
|
144
|
+
}
|
|
102
145
|
get headers() {
|
|
103
146
|
return this.req.headers;
|
|
104
147
|
}
|