@typetron/framework 0.3.7 → 0.3.8
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/Container/ClassResolver.d.ts.map +1 -1
- package/Container/ClassResolver.js +6 -2
- package/Container/ClassResolver.js.map +1 -1
- package/Database/Entity.d.ts +2 -1
- package/Database/Entity.d.ts.map +1 -1
- package/Database/Entity.js +17 -7
- package/Database/Entity.js.map +1 -1
- package/Database/EntityNotFoundError.d.ts +3 -0
- package/Database/EntityNotFoundError.d.ts.map +1 -1
- package/Database/EntityNotFoundError.js +4 -0
- package/Database/EntityNotFoundError.js.map +1 -1
- package/Database/EntityProxyHandler.d.ts +0 -3
- package/Database/EntityProxyHandler.d.ts.map +1 -1
- package/Database/EntityProxyHandler.js +0 -2
- package/Database/EntityProxyHandler.js.map +1 -1
- package/Database/EntityQuery.js +1 -1
- package/Database/EntityQuery.js.map +1 -1
- package/Database/Fields.d.ts +3 -0
- package/Database/Fields.d.ts.map +1 -1
- package/Database/Fields.js +10 -4
- package/Database/Fields.js.map +1 -1
- package/Database/List.d.ts +1 -1
- package/Framework/Auth/Auth.d.ts +1 -1
- package/Framework/Auth/Auth.d.ts.map +1 -1
- package/Framework/Auth/Auth.js +24 -4
- package/Framework/Auth/Auth.js.map +1 -1
- package/Framework/Auth/index.d.ts.map +1 -1
- package/Framework/Auth/index.js +1 -0
- package/Framework/Auth/index.js.map +1 -1
- package/Framework/Config/AppConfig.d.ts +1 -0
- package/Framework/Config/AppConfig.d.ts.map +1 -1
- package/Framework/Config/AppConfig.js +4 -0
- package/Framework/Config/AppConfig.js.map +1 -1
- package/Framework/Providers/WebsocketsProvider.d.ts +2 -0
- package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
- package/Framework/Providers/WebsocketsProvider.js +8 -1
- package/Framework/Providers/WebsocketsProvider.js.map +1 -1
- package/Framework/Resolvers/EntityResolver.d.ts.map +1 -1
- package/Framework/Resolvers/EntityResolver.js +2 -1
- package/Framework/Resolvers/EntityResolver.js.map +1 -1
- package/Router/Http/ErrorHandler.js +6 -6
- package/Router/Http/ErrorHandler.js.map +1 -1
- package/Router/Http/Response.d.ts +1 -0
- package/Router/Http/Response.d.ts.map +1 -1
- package/Router/Http/Response.js +10 -10
- package/Router/Http/Response.js.map +1 -1
- package/Router/Websockets/Handler.d.ts +1 -2
- package/Router/Websockets/Handler.d.ts.map +1 -1
- package/Router/Websockets/Handler.js +0 -4
- package/Router/Websockets/Handler.js.map +1 -1
- package/Router/Websockets/WebsocketEvent.js +1 -1
- package/Router/Websockets/WebsocketEvent.js.map +1 -1
- package/Router/Websockets/index.d.ts +1 -0
- package/Router/Websockets/index.d.ts.map +1 -1
- package/Router/Websockets/index.js +1 -0
- package/Router/Websockets/index.js.map +1 -1
- package/package.json +3 -3
- package/tests/Database/EntityRelationshipsTest.js +24 -22
- package/tests/Database/EntityRelationshipsTest.js.map +1 -1
- package/tests/Database/EntityTest.js +1 -1
- package/tests/Database/EntityTest.js.map +1 -1
package/Framework/Auth/Auth.js
CHANGED
|
@@ -23,14 +23,34 @@ let Auth = class Auth {
|
|
|
23
23
|
get authenticable() {
|
|
24
24
|
return this.authConfig.entity;
|
|
25
25
|
}
|
|
26
|
+
// @BeforeRequest() // TODO implement the container's '@BeforeRequest' decorator to do something before each request.
|
|
27
|
+
// For example, load the authenticated user in memory again
|
|
28
|
+
// async before() {
|
|
29
|
+
// if (!this.id) {
|
|
30
|
+
// return undefined
|
|
31
|
+
// throw new Error('You tried to use the Auth service without authenticating the user. ' +
|
|
32
|
+
// 'Please use the AuthMiddleware or authenticate the user before using this route')
|
|
33
|
+
// }
|
|
34
|
+
//
|
|
35
|
+
// const user = await this.authenticable.find(this.id)
|
|
36
|
+
// if (!user) {
|
|
37
|
+
// throw new Error(`Authenticated user with ID ${this.id} not found `)
|
|
38
|
+
// }
|
|
39
|
+
// this.savedUser = await this.authenticable.find(this.id)
|
|
40
|
+
// }
|
|
26
41
|
async user() {
|
|
27
|
-
if (this.savedUser) {
|
|
28
|
-
|
|
29
|
-
}
|
|
42
|
+
// if (this.savedUser) { // TODO this if statement should be removed using the @BeforeRequest decorator above
|
|
43
|
+
// return this.savedUser as T
|
|
44
|
+
// }
|
|
30
45
|
if (!this.id) {
|
|
46
|
+
return undefined;
|
|
31
47
|
throw new Error('You tried to use the Auth service without authenticating the user. Please use the AuthMiddleware or authenticate the user before using this route');
|
|
32
48
|
}
|
|
33
|
-
|
|
49
|
+
const user = await this.authenticable.find(this.id);
|
|
50
|
+
if (!user) {
|
|
51
|
+
throw new Error(`Authenticated user with ID ${this.id} not found `);
|
|
52
|
+
}
|
|
53
|
+
return this.savedUser = user;
|
|
34
54
|
}
|
|
35
55
|
async login(username, password) {
|
|
36
56
|
const user = await this.authenticable.where((new this.authenticable).getUsername(), username).first();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../../Framework/Auth/Auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA2D;AAE3D,sCAAsC;AAEtC,qDAAiD;AAGjD,IAAa,IAAI,GAAjB,MAAa,IAAI;IAAjB;QAaI;;WAEG;QACH,cAAS,GAAG,IAAI,IAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../../Framework/Auth/Auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Framework/Auth/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,kBAAkB,eAA0C,CAAA;AAEzE,wBAAgB,QAAQ,aACK,MAAM,YAAY,MAAM,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Framework/Auth/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,kBAAkB,eAA0C,CAAA;AAEzE,wBAAgB,QAAQ,aACK,MAAM,YAAY,MAAM,+CAyBpD"}
|
package/Framework/Auth/index.js
CHANGED
|
@@ -26,6 +26,7 @@ function AuthUser() {
|
|
|
26
26
|
Container_1.InjectableMetadata.set(metadata, target.constructor);
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
|
+
// TODO refactor this so it doesn't add the metadata to both .routes and .events
|
|
29
30
|
const metadata = Metadata_1.ControllerMetadata.get(target.constructor);
|
|
30
31
|
const route = metadata.routes[property] || new Metadata_1.RouteMetadata();
|
|
31
32
|
route.parametersOverrides[parameterIndex] = async function (container) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Framework/Auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAAsE;AACtE,oDAAwF;AAExF,yCAAsB;AACtB,yCAAsB;AACtB,oDAAiC;AAEpB,QAAA,kBAAkB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAA;AAEzE,SAAgB,QAAQ;IACpB,OAAO,UAAU,MAAc,EAAE,QAAgB,EAAE,cAAuB;QACtE,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,MAAM,QAAQ,GAAG,8BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC3D,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,0BAAkB,CAAA;YACpD,QAAQ,CAAC,KAAK,GAAG,iBAAK,CAAC,OAAO,CAAA;YAC9B,8BAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;SACvD;aAAM;YACH,MAAM,QAAQ,GAAG,6BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAE3D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,wBAAa,EAAE,CAAA;YAC9D,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,KAAK,WAAU,SAAoB;gBAC3E,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAA;YAClD,CAAC,CAAA;YACD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,wBAAa,EAAE,CAAA;YAC9D,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,KAAK,WAAU,SAAoB;gBAC3E,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAA;YAClD,CAAC,CAAA;YACD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAEjC,6BAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;SACvD;IACL,CAAC,CAAA;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Framework/Auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAAsE;AACtE,oDAAwF;AAExF,yCAAsB;AACtB,yCAAsB;AACtB,oDAAiC;AAEpB,QAAA,kBAAkB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAA;AAEzE,SAAgB,QAAQ;IACpB,OAAO,UAAU,MAAc,EAAE,QAAgB,EAAE,cAAuB;QACtE,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,MAAM,QAAQ,GAAG,8BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC3D,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,0BAAkB,CAAA;YACpD,QAAQ,CAAC,KAAK,GAAG,iBAAK,CAAC,OAAO,CAAA;YAC9B,8BAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;SACvD;aAAM;YACH,gFAAgF;YAChF,MAAM,QAAQ,GAAG,6BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAE3D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,wBAAa,EAAE,CAAA;YAC9D,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,KAAK,WAAU,SAAoB;gBAC3E,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAA;YAClD,CAAC,CAAA;YACD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,wBAAa,EAAE,CAAA;YAC9D,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,KAAK,WAAU,SAAoB;gBAC3E,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAA;YAClD,CAAC,CAAA;YACD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAEjC,6BAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;SACvD;IACL,CAAC,CAAA;AACL,CAAC;AA1BD,4BA0BC"}
|
|
@@ -4,6 +4,7 @@ import { Abstract, Type } from '../../Support';
|
|
|
4
4
|
import { Provider } from '../Provider';
|
|
5
5
|
export declare class AppConfig extends BaseConfig<AppConfig> {
|
|
6
6
|
environment: string;
|
|
7
|
+
debug: boolean;
|
|
7
8
|
port: number;
|
|
8
9
|
websocketsPort?: number;
|
|
9
10
|
middleware: Abstract<MiddlewareInterface>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../../Framework/Config/AppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,qBAAa,SAAU,SAAQ,UAAU,CAAC,SAAS,CAAC;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAA;IAC3C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAG,CAAA;IAC5B,YAAY,CAAC,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,EAAE,CAAA;CACvF"}
|
|
1
|
+
{"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../../Framework/Config/AppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,qBAAa,SAAU,SAAQ,UAAU,CAAC,SAAS,CAAC;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,UAAO;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAA;IAC3C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAG,CAAA;IAC5B,YAAY,CAAC,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,EAAE,CAAA;CACvF"}
|
|
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AppConfig = void 0;
|
|
4
4
|
const BaseConfig_1 = require("./BaseConfig");
|
|
5
5
|
class AppConfig extends BaseConfig_1.BaseConfig {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.debug = true;
|
|
9
|
+
}
|
|
6
10
|
}
|
|
7
11
|
exports.AppConfig = AppConfig;
|
|
8
12
|
//# sourceMappingURL=AppConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../../Framework/Config/AppConfig.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAKzC,MAAa,SAAU,SAAQ,uBAAqB;
|
|
1
|
+
{"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../../Framework/Config/AppConfig.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAKzC,MAAa,SAAU,SAAQ,uBAAqB;IAApD;;QAEI,UAAK,GAAG,IAAI,CAAA;IAMhB,CAAC;CAAA;AARD,8BAQC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Provider } from '../Provider';
|
|
2
2
|
import { AppConfig } from '../Config';
|
|
3
|
+
import { ErrorHandlerInterface } from '../../Router/Http';
|
|
3
4
|
import { Handler, WebSocket } from '../../Router/Websockets';
|
|
4
5
|
export declare class WebsocketsProvider extends Provider {
|
|
5
6
|
appConfig: AppConfig;
|
|
6
7
|
handler: Handler;
|
|
8
|
+
errorHandler: ErrorHandlerInterface;
|
|
7
9
|
sockets: Map<string | number, WebSocket>;
|
|
8
10
|
register(): void | Promise<void>;
|
|
9
11
|
private handleEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAiB,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAQ5D,qBAAa,kBAAmB,SAAQ,QAAQ;IAG5C,SAAS,EAAE,SAAS,CAAA;IAGpB,OAAO,EAAE,OAAO,CAAA;IAGhB,YAAY,EAAE,qBAAqB,CAAA;IAEnC,OAAO,kCAAwC;IAE/C,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YA4ElB,WAAW;CAc5B"}
|
|
@@ -84,7 +84,10 @@ class WebsocketsProvider extends Provider_1.Provider {
|
|
|
84
84
|
event: data.event,
|
|
85
85
|
status: WebsocketMessageStatus.Error
|
|
86
86
|
};
|
|
87
|
-
|
|
87
|
+
if (errorMessage.message) {
|
|
88
|
+
const response = await this.errorHandler.handle(error);
|
|
89
|
+
errorMessage.message.message = response.body.message;
|
|
90
|
+
}
|
|
88
91
|
socket.send(JSON.stringify(errorMessage), isBinary, true);
|
|
89
92
|
}
|
|
90
93
|
}
|
|
@@ -112,5 +115,9 @@ __decorate([
|
|
|
112
115
|
Container_1.Inject(),
|
|
113
116
|
__metadata("design:type", Websockets_1.Handler)
|
|
114
117
|
], WebsocketsProvider.prototype, "handler", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
Container_1.Inject(),
|
|
120
|
+
__metadata("design:type", Http_1.ErrorHandlerInterface)
|
|
121
|
+
], WebsocketsProvider.prototype, "errorHandler", void 0);
|
|
115
122
|
exports.WebsocketsProvider = WebsocketsProvider;
|
|
116
123
|
//# sourceMappingURL=WebsocketsProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsC;AACtC,+CAAmD;AACnD,sCAAqC;AACrC,mDAAuF;AACvF,+BAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsC;AACtC,+CAAmD;AACnD,sCAAqC;AACrC,mDAAuF;AACvF,+BAAkC;AAClC,4CAAwE;AACxE,wDAA4D;AAG5D,IAAK,sBAGJ;AAHD,WAAK,sBAAsB;IACvB,mCAAS,CAAA;IACT,yCAAe,CAAA;AACnB,CAAC,EAHI,sBAAsB,KAAtB,sBAAsB,QAG1B;AAED,MAAa,kBAAmB,SAAQ,mBAAQ;IAAhD;;QAWI,YAAO,GAAG,IAAI,GAAG,EAA8B,CAAA;IA4FnD,CAAC;IA1FG,QAAQ;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAA;QAE1C,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;SACrE;QAED,MAAM,aAAa,GAAG,IAAI,kBAAW,EAAE,CAAA;QAEvC,MAAM,GAAG,GAAG,oBAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YAEtB,2CAA2C;YAC3C,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC;YACjC,WAAW,EAAE,yCAAwB;YAErC,IAAI,EAAE,CAAC,MAAkB,EAAE,EAAE;;gBACzB,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAA;gBAC5E,MAAA,IAAI,CAAC,OAAO,CAAC,MAAM,0CAAE,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,EAAC;YACpE,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,MAAkB,EAAE,EAAE;;gBAChC,aAAM,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAC,CAAA;YACzD,CAAC;YAED,6EAA6E;YAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;;gBACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC9C,IAAI,IAAkB,CAAA;gBACtB,IAAI;oBACA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;iBAC9B;gBAAC,WAAM;oBACJ,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAA;iBACjE;gBAED,IAAI;oBACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;oBAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBACxB,MAAM,YAAY,GAA2B;wBACzC,KAAK;wBACL,OAAO,EAAE,QAAQ,CAAC,IAAI;wBACtB,MAAM,EAAE,sBAAsB,CAAC,EAAE;qBACpC,CAAA;oBACD,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;wBAClD,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAA;qBAClD;yBAAM;wBACH,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAA;qBACrD;oBAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;iBAE5D;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,YAAY,GAAoD;wBAClE,OAAO,EAAE;4BACL,OAAO,QAAE,KAAK,CAAC,OAAO,mCAAI,KAAK,CAAC,OAAO;4BACvC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;yBACjC;wBACD,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,MAAM,EAAE,sBAAsB,CAAC,KAAK;qBACvC,CAAA;oBACD,IAAI,YAAY,CAAC,OAAO,EAAE;wBACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACtD,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;qBACvD;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;iBAC5D;YAEL,CAAC;SAEJ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;YAC7B,IAAI,YAAY,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;aAC1D;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,SAAoB,EAAE,EAAC,KAAK,EAAE,OAAO,EAAe;;QAC1E,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC,GAAG,EAC9C,EAAE,EACF,EAAE,EACF,EAAE,QACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAc,mCAAI,EAAE,CAChC,CAAA;QAED,+HAA+H;QAC/H,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;QACrD,CAAC,EAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;CACJ;AApGG;IADC,kBAAM,EAAE;8BACE,kBAAS;qDAAA;AAGpB;IADC,kBAAM,EAAE;8BACA,oBAAO;mDAAA;AAGhB;IADC,kBAAM,EAAE;8BACK,4BAAqB;wDAAA;AATvC,gDAuGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityResolver.d.ts","sourceRoot":"","sources":["../../../Framework/Resolvers/EntityResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAA6B,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"EntityResolver.d.ts","sourceRoot":"","sources":["../../../Framework/Resolvers/EntityResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAA6B,MAAM,iBAAiB,CAAA;AAGpF,qBAAa,cAAe,SAAQ,YAAY;gBAEhC,SAAS,EAAE,SAAS;IAK1B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAkB7G,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;IAIhD,OAAO,CAAC,uBAAuB;CAKlC"}
|
|
@@ -4,6 +4,7 @@ exports.EntityResolver = void 0;
|
|
|
4
4
|
const Database_1 = require("../../Database");
|
|
5
5
|
const Http_1 = require("../../Router/Http");
|
|
6
6
|
const Container_1 = require("../../Container");
|
|
7
|
+
const EntityNotFoundError_1 = require("../../Database/EntityNotFoundError");
|
|
7
8
|
class EntityResolver extends Container_1.BaseResolver {
|
|
8
9
|
constructor(container) {
|
|
9
10
|
super(container);
|
|
@@ -18,7 +19,7 @@ class EntityResolver extends Container_1.BaseResolver {
|
|
|
18
19
|
if (parameter) {
|
|
19
20
|
entity = await abstract.find(parameter);
|
|
20
21
|
if (!entity) {
|
|
21
|
-
throw new
|
|
22
|
+
throw new EntityNotFoundError_1.EntityNotFoundError(abstract, `Entity '${requestParameterName}' with ${abstract.getPrimaryKey()} '${parameter}' not found`);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityResolver.js","sourceRoot":"","sources":["../../../Framework/Resolvers/EntityResolver.ts"],"names":[],"mappings":";;;AACA,6CAA0D;AAC1D,4CAA2C;AAC3C,+CAAoF;
|
|
1
|
+
{"version":3,"file":"EntityResolver.js","sourceRoot":"","sources":["../../../Framework/Resolvers/EntityResolver.ts"],"names":[],"mappings":";;;AACA,6CAA0D;AAC1D,4CAA2C;AAC3C,+CAAoF;AACpF,4EAAwE;AAExE,MAAa,cAAe,SAAQ,wBAAY;IAE5C,YAAY,SAAoB;QAC5B,KAAK,CAAC,SAAS,CAAC,CAAA;QAChB,IAAI,CAAC,uBAAuB,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,QAAmD,EAAE,gBAA0B;;QAC5F,IAAI,MAA0B,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAO,CAAC,CAAA;QAC3C,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC1C,MAAM,SAAS,SAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,mCAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;QACzF,IAAI,SAAS,EAAE;YACX,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,yCAAmB,CAAC,QAAQ,EAAE,WAAW,oBAAoB,UAAU,QAAQ,CAAC,aAAa,EAAE,KAAK,SAAS,aAAa,CAAC,CAAA;aACxI;SACJ;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,wEAAwE,oBAAoB,yCAAyC,oBAAoB,4BAA4B,CAAC,CAAA;SACzM;QAED,aAAa;QACb,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,UAAU,CAAI,QAAwB;QAClC,OAAO,QAAQ,CAAC,SAAS,YAAY,iBAAM,CAAA;IAC/C,CAAC;IAEO,uBAAuB;QAC3B,MAAM,QAAQ,GAAG,8BAAkB,CAAC,GAAG,CAAC,iBAAM,CAAC,CAAA;QAC/C,QAAQ,CAAC,KAAK,GAAG,iBAAK,CAAC,SAAS,CAAA;QAChC,8BAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAM,CAAC,CAAA;IAC5C,CAAC;CACJ;AAlCD,wCAkCC"}
|
|
@@ -17,13 +17,13 @@ const Container_1 = require("../../Container");
|
|
|
17
17
|
const Config_1 = require("../../Framework/Config");
|
|
18
18
|
class ErrorHandler {
|
|
19
19
|
handle(error, request) {
|
|
20
|
-
if (this.appConfig.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return new Response_1.Response(error.
|
|
20
|
+
if (this.appConfig.debug) {
|
|
21
|
+
return this.handleDevelopmentError(error, request);
|
|
22
|
+
}
|
|
23
|
+
if (error instanceof HttpError_1.HttpError) {
|
|
24
|
+
return new Response_1.Response(error.content, error.status);
|
|
25
25
|
}
|
|
26
|
-
return
|
|
26
|
+
return new Response_1.Response(error.message, index_1.Http.Status.BAD_REQUEST);
|
|
27
27
|
}
|
|
28
28
|
handleDevelopmentError(error, request) {
|
|
29
29
|
let code = index_1.Http.Status.BAD_REQUEST, message = '', stack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../../Router/Http/ErrorHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAqC;AAErC,kDAA8C;AAC9C,mCAA8B;AAE9B,+CAAwC;AACxC,mDAAkD;AAElD,MAAa,YAAY;IAKrB,MAAM,CAAC,KAAY,EAAE,OAAiB;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../../Router/Http/ErrorHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAqC;AAErC,kDAA8C;AAC9C,mCAA8B;AAE9B,+CAAwC;AACxC,mDAAkD;AAElD,MAAa,YAAY;IAKrB,MAAM,CAAC,KAAY,EAAE,OAAiB;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACtB,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;SACrD;QAED,IAAI,KAAK,YAAY,qBAAS,EAAE;YAC5B,OAAO,IAAI,mBAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;SACnD;QACD,OAAO,IAAI,mBAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,YAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC/D,CAAC;IAEO,sBAAsB,CAAC,KAAY,EAAE,OAAiB;QAC1D,IAAI,IAAI,GAAG,YAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAA6B,EAAE,EAAE,KAAe,CAAA;QAE3F,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7E,IAAI,KAAK,YAAY,qBAAS,EAAE;YAC5B,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;YACnB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YACvB,IAAI,OAAO,EAAE;gBACT,KAAK,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;aAC3D;SACJ;aAAM;YACH,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;SAC1B;QAED,MAAM,SAAS,GAA0D;YACrE,OAAO,EAAE,KAAK;SACjB,CAAA;QAED,OAAO,IAAI,mBAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;CACJ;AAjCG;IADC,kBAAM,EAAE;8BACE,kBAAS;+CAAA;AAHxB,oCAoCC"}
|
|
@@ -11,6 +11,7 @@ export declare class Response<T = any> {
|
|
|
11
11
|
static notFound(content: string | object): Response<string | object>;
|
|
12
12
|
static badRequest(content: string | object): Response<string | object>;
|
|
13
13
|
static send(response: Response<undefined | number | string | object | Buffer>, serverResponse: ServerResponse): void;
|
|
14
|
+
static getContent(response: Response<number | string | object | undefined>): string | Buffer;
|
|
14
15
|
setHeader(name: string, value: string): void;
|
|
15
16
|
setHeaders(headers: OutgoingHttpHeaders): void;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../Router/Http/Response.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,qBAAa,QAAQ,CAAC,CAAC,GAAG,GAAG;IAGd,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI,CAAC,MAAM;IACnB,OAAO,EAAE,mBAAmB;gBAF5B,IAAI,EAAE,CAAC,EACP,MAAM,GAAE,IAAI,CAAC,MAAuB,EACpC,OAAO,GAAE,mBAEf;IAIL,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIxC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,cAAc,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../Router/Http/Response.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,qBAAa,QAAQ,CAAC,CAAC,GAAG,GAAG;IAGd,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI,CAAC,MAAM;IACnB,OAAO,EAAE,mBAAmB;gBAF5B,IAAI,EAAE,CAAC,EACP,MAAM,GAAE,IAAI,CAAC,MAAuB,EACpC,OAAO,GAAE,mBAEf;IAIL,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIxC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,cAAc,EAAE,cAAc;IAW7G,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAY1E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIrC,UAAU,CAAC,OAAO,EAAE,mBAAmB;CAG1C"}
|
package/Router/Http/Response.js
CHANGED
|
@@ -22,24 +22,24 @@ class Response {
|
|
|
22
22
|
return new Response(content, _1.Http.Status.BAD_REQUEST);
|
|
23
23
|
}
|
|
24
24
|
static send(response, serverResponse) {
|
|
25
|
+
const content = this.getContent(response);
|
|
26
|
+
for (const header in response.headers) {
|
|
27
|
+
serverResponse.setHeader(header, response.headers[header] || '');
|
|
28
|
+
}
|
|
29
|
+
serverResponse.statusCode = response.status;
|
|
30
|
+
serverResponse.end(content);
|
|
31
|
+
}
|
|
32
|
+
static getContent(response) {
|
|
25
33
|
var _a;
|
|
26
34
|
let content = (_a = response.body) !== null && _a !== void 0 ? _a : '';
|
|
27
|
-
let rawContent;
|
|
28
35
|
if (!(content instanceof buffer_1.Buffer)) {
|
|
29
36
|
if (content instanceof Object) {
|
|
30
37
|
content = JSON.stringify(content);
|
|
31
38
|
response.headers['Content-Type'] = 'application/json';
|
|
32
39
|
}
|
|
33
|
-
|
|
40
|
+
return content.toString();
|
|
34
41
|
}
|
|
35
|
-
|
|
36
|
-
rawContent = content;
|
|
37
|
-
}
|
|
38
|
-
for (const header in response.headers) {
|
|
39
|
-
serverResponse.setHeader(header, response.headers[header] || '');
|
|
40
|
-
}
|
|
41
|
-
serverResponse.statusCode = response.status;
|
|
42
|
-
serverResponse.end(rawContent);
|
|
42
|
+
return content;
|
|
43
43
|
}
|
|
44
44
|
setHeader(name, value) {
|
|
45
45
|
this.headers[name] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../Router/Http/Response.ts"],"names":[],"mappings":";;;AACA,wBAAwB;AACxB,mCAA+B;AAE/B,kCAAkC;AAClC,MAAa,QAAQ;IAEjB,YACW,IAAO,EACP,SAAsB,OAAI,CAAC,MAAM,CAAC,EAAE,EACpC,UAA+B;QAClC,cAAc,EAAE,WAAW;KAC9B;QAJM,SAAI,GAAJ,IAAI,CAAG;QACP,WAAM,GAAN,MAAM,CAA8B;QACpC,YAAO,GAAP,OAAO,CAEb;IAEL,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,OAAwB;QAC9B,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAwB;QACpC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAwB;QACtC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAiE,EAAE,cAA8B
|
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../Router/Http/Response.ts"],"names":[],"mappings":";;;AACA,wBAAwB;AACxB,mCAA+B;AAE/B,kCAAkC;AAClC,MAAa,QAAQ;IAEjB,YACW,IAAO,EACP,SAAsB,OAAI,CAAC,MAAM,CAAC,EAAE,EACpC,UAA+B;QAClC,cAAc,EAAE,WAAW;KAC9B;QAJM,SAAI,GAAJ,IAAI,CAAG;QACP,WAAM,GAAN,MAAM,CAA8B;QACpC,YAAO,GAAP,OAAO,CAEb;IAEL,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,OAAwB;QAC9B,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAwB;QACpC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAwB;QACtC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAiE,EAAE,cAA8B;QACzG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAEzC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;YACnC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;SACnE;QAED,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC3C,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAwD;;QACtE,IAAI,OAAO,SAAG,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAA;QACjC,IAAI,CAAC,CAAC,OAAO,YAAY,eAAM,CAAC,EAAE;YAC9B,IAAI,OAAO,YAAY,MAAM,EAAE;gBAC3B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACjC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;aACxD;YACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;SAC5B;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,KAAa;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC9B,CAAC;IAED,UAAU,CAAC,OAA4B;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;CACJ;AArDD,4BAqDC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Container } from '../../Container';
|
|
2
2
|
import { MiddlewareInterface, Router } from '../../Router';
|
|
3
|
-
import {
|
|
3
|
+
import { Request, Response } from '../Http';
|
|
4
4
|
import { Abstract, Constructor, Type } from '../../Support';
|
|
5
5
|
import { WebsocketEvent } from './WebsocketEvent';
|
|
6
6
|
export declare class Handler {
|
|
7
7
|
router: Router;
|
|
8
|
-
errorHandler: ErrorHandlerInterface;
|
|
9
8
|
onOpen?: WebsocketEvent;
|
|
10
9
|
onClose?: WebsocketEvent;
|
|
11
10
|
addEvent(name: string, controller: Constructor, action: string, parametersTypes?: (Type<Function> | FunctionConstructor)[], middleware?: Abstract<MiddlewareInterface>[]): WebsocketEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAkB,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAkB,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,qBAAa,OAAO;IAEhB,MAAM,EAAE,MAAM,CAAA;IAEd,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,cAAc,CAAA;IAExB,QAAQ,CACJ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,EAAO,EAC9D,UAAU,GAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAO;IAgB9C,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAwC1E"}
|
|
@@ -56,9 +56,5 @@ __decorate([
|
|
|
56
56
|
Container_1.Inject(),
|
|
57
57
|
__metadata("design:type", Router_1.Router)
|
|
58
58
|
], Handler.prototype, "router", void 0);
|
|
59
|
-
__decorate([
|
|
60
|
-
Container_1.Inject(),
|
|
61
|
-
__metadata("design:type", Http_1.ErrorHandlerInterface)
|
|
62
|
-
], Handler.prototype, "errorHandler", void 0);
|
|
63
59
|
exports.Handler = Handler;
|
|
64
60
|
//# sourceMappingURL=Handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../Router/Websockets/Handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAmD;AACnD,yCAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../Router/Websockets/Handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAmD;AACnD,yCAA0E;AAC1E,kCAA2C;AAE3C,qDAAiD;AAEjD,MAAa,OAAO;IAOhB,QAAQ,CACJ,IAAY,EACZ,UAAuB,EACvB,MAAc,EACd,kBAA4D,EAAE,EAC9D,aAA8C,EAAE;QAEhD,MAAM,KAAK,GAAG,IAAI,+BAAc,CAC5B,IAAI,EACJ,UAAU,EACV,MAAM,EACN,eAAe,EACf,UAAU,CACb,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,GAAG,CAAC,CAAA;SAC7E;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACnC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAoB,EAAE,OAAgB;QAE/C,SAAS,CAAC,GAAG,CAAC,cAAO,EAAE,OAAO,CAAC,CAAA;QAE/B,IAAI,KAAK,GAAmB,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAEjD,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,GAAG,aAAa,CAAC,CAAA;aACtD;YAED,kDAAkD;YAClD,8BAA8B;YAE9B,IAAI,UAAU,GAAmB,KAAK,IAAI,EAAE;gBACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE9D,IAAI,OAAO,YAAY,eAAQ,EAAE;oBAC7B,OAAO,OAAO,CAAA;iBACjB;gBAED,OAAO,eAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;YAC/B,CAAC,CAAA;YAED,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACvC,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;gBACjD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YACxE,CAAC,CAAC,CAAA;YAEF,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACjD,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CAEJ;AAlEG;IADC,kBAAM,EAAE;8BACD,eAAM;uCAAA;AAFlB,0BAoEC"}
|
|
@@ -46,7 +46,7 @@ class WebsocketEvent {
|
|
|
46
46
|
const value = routeParameters[parameterIndex++];
|
|
47
47
|
return value === undefined || value === 'undefined' ? undefined : Number(value);
|
|
48
48
|
}
|
|
49
|
-
return container.get(parameter, [routeParameters[parameterIndex]]);
|
|
49
|
+
return container.get(parameter, [routeParameters[parameterIndex++]]);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketEvent.js","sourceRoot":"","sources":["../../../Router/Websockets/WebsocketEvent.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAG/D,MAAa,cAAc;IAGvB,YACW,OAAO,EAAE,EACT,UAAuB,EACvB,MAAc,EACd,kBAA4D,EAAE,EAC9D,aAA8C,EAAE;QAJhD,SAAI,GAAJ,IAAI,CAAK;QACT,eAAU,GAAV,UAAU,CAAa;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAA+C;QAC9D,eAAU,GAAV,UAAU,CAAsC;QAP3D,WAAM,GAAqB,EAAE,CAAA;IAQ1B,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,SAAoB,EAAE,iBAA0C;;QACtE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEvD,IAAI;YACA,MAAM,QAAQ,GAA8B,6BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACvG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,iBAAiB,EACjB,IAAI,CAAC,eAAe,QACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,mCAAI,EAAE,EACnC,SAAS,CACZ,CAAA;YAED,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,EAAE;oBACvC,KAAK,CAAC,MAAM,EAAE,CAAA;iBACjB;aACJ;YAED,OAAQ,UAAU,CAAC,IAAI,CAAC,MAA2B,CAAc,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;SAClG;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,KAAK,GAAG,eAAe,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;YAC9F,MAAM,KAAK,CAAA;SACd;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,iBAA0C,EAC1C,eAAiC,EACjC,SAAqB,EACrB,SAAoB;QAEpB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,kCAAkC;QAClC,MAAM,eAAe,GAAU,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,gBAAgB,EAAE;gBAClB,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aAC3D;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,OAAO,eAAe,CAAC,cAAc,EAAE,CAAC,CAAA;aAC3C;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAA;gBAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAClF;YACD,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"WebsocketEvent.js","sourceRoot":"","sources":["../../../Router/Websockets/WebsocketEvent.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAG/D,MAAa,cAAc;IAGvB,YACW,OAAO,EAAE,EACT,UAAuB,EACvB,MAAc,EACd,kBAA4D,EAAE,EAC9D,aAA8C,EAAE;QAJhD,SAAI,GAAJ,IAAI,CAAK;QACT,eAAU,GAAV,UAAU,CAAa;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAA+C;QAC9D,eAAU,GAAV,UAAU,CAAsC;QAP3D,WAAM,GAAqB,EAAE,CAAA;IAQ1B,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,SAAoB,EAAE,iBAA0C;;QACtE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEvD,IAAI;YACA,MAAM,QAAQ,GAA8B,6BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACvG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,iBAAiB,EACjB,IAAI,CAAC,eAAe,QACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,mCAAI,EAAE,EACnC,SAAS,CACZ,CAAA;YAED,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,EAAE;oBACvC,KAAK,CAAC,MAAM,EAAE,CAAA;iBACjB;aACJ;YAED,OAAQ,UAAU,CAAC,IAAI,CAAC,MAA2B,CAAc,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;SAClG;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,KAAK,GAAG,eAAe,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;YAC9F,MAAM,KAAK,CAAA;SACd;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,iBAA0C,EAC1C,eAAiC,EACjC,SAAqB,EACrB,SAAoB;QAEpB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,kCAAkC;QAClC,MAAM,eAAe,GAAU,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,gBAAgB,EAAE;gBAClB,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aAC3D;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,OAAO,eAAe,CAAC,cAAc,EAAE,CAAC,CAAA;aAC3C;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAA;gBAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAClF;YACD,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;IACN,CAAC;CAEJ;AA9DD,wCA8DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AAEvB,qBAAa,SAAS;IAIC,UAAU,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AAEvB,qBAAa,SAAS;IAIC,UAAU,EAAE,UAAU;IAAS,SAAS,EAAE,SAAS;IAFtE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;gBAED,UAAU,EAAE,UAAU,EAAS,SAAS,EAAE,SAAS;IAItE,SAAS,CAAC,KAAK,EAAE,MAAM;IAIvB,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS;IAM3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAUhD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAMvD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAQjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,mCAA+D;AAG/D,4CAAyB;AACzB,0CAAuB;AAEvB,MAAa,SAAS;IAIlB,YAAmB,UAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,mCAA+D;AAG/D,4CAAyB;AACzB,0CAAuB;AAEvB,MAAa,SAAS;IAIlB,YAAmB,UAAsB,EAAS,SAAoB;QAAnD,eAAU,GAAV,UAAU,CAAY;QAAS,cAAS,GAAT,SAAS,CAAW;QAClE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,SAAqB;QACvB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAA;QAChG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,kCAAkC;IAClC,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,IAAU;QAC5C,MAAM,YAAY,GAA2B;YACzC,KAAK;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,8BAAsB,CAAC,EAAE;SACpC,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,kCAAkC;IAClC,cAAc,CAAC,KAAa,EAAE,KAAa,EAAE,IAAU;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,KAAa,EAAE,IAAU;QAC1B,MAAM,YAAY,GAA2B;YACzC,KAAK;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,8BAAsB,CAAC,EAAE;SACpC,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACnE,CAAC;CACJ;AA9CD,8BA8CC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@typetron/framework",
|
|
3
3
|
"description": "Modern Node.js framework for modern apps written in Typescript",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.8",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"typetron",
|
|
8
8
|
"framework",
|
|
@@ -30,8 +30,7 @@
|
|
|
30
30
|
"jsonwebtoken": "^8.5.1",
|
|
31
31
|
"mysql": "^2.18.1",
|
|
32
32
|
"sqlite3": "^5.0.2",
|
|
33
|
-
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v19.4.0"
|
|
34
|
-
"ts-mockito": "^2.6.1"
|
|
33
|
+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v19.4.0"
|
|
35
34
|
},
|
|
36
35
|
"devDependencies": {
|
|
37
36
|
"@testdeck/mocha": "^0.1.2",
|
|
@@ -40,6 +39,7 @@
|
|
|
40
39
|
"@types/chai": "^4.2.21",
|
|
41
40
|
"@types/jsonwebtoken": "^8.5.5",
|
|
42
41
|
"@types/mocha": "^9.0.0",
|
|
42
|
+
"ts-mockito": "^2.6.1",
|
|
43
43
|
"@types/mysql": "^2.15.19",
|
|
44
44
|
"@types/node": "^16.9.3",
|
|
45
45
|
"@types/sqlite3": "^3.1.7",
|
|
@@ -59,7 +59,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
59
59
|
async hasOneSave() {
|
|
60
60
|
var _a, _b, _c;
|
|
61
61
|
const user = await User_1.User.create(this.joe);
|
|
62
|
-
const profile = new Profile_1.Profile({
|
|
62
|
+
const profile = new Profile_1.Profile().fill({
|
|
63
63
|
address: 'address'
|
|
64
64
|
});
|
|
65
65
|
await user.profile.save(profile);
|
|
@@ -70,7 +70,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
70
70
|
async hasOneLoad() {
|
|
71
71
|
var _a, _b, _c;
|
|
72
72
|
const user = await User_1.User.create(this.joe);
|
|
73
|
-
const profile = new Profile_1.Profile({
|
|
73
|
+
const profile = new Profile_1.Profile().fill({
|
|
74
74
|
address: 'address'
|
|
75
75
|
});
|
|
76
76
|
await user.profile.save(profile);
|
|
@@ -83,7 +83,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
83
83
|
}
|
|
84
84
|
async hasOneEagerLoad() {
|
|
85
85
|
const user = await User_1.User.create(this.joe);
|
|
86
|
-
const profile = new Profile_1.Profile({
|
|
86
|
+
const profile = new Profile_1.Profile().fill({
|
|
87
87
|
address: 'address'
|
|
88
88
|
});
|
|
89
89
|
await user.profile.save(profile);
|
|
@@ -95,7 +95,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
95
95
|
}
|
|
96
96
|
async hasManySave() {
|
|
97
97
|
const user = await User_1.User.create(this.joe);
|
|
98
|
-
const article = new Article_1.Article({
|
|
98
|
+
const article = new Article_1.Article().fill({
|
|
99
99
|
title: 'title',
|
|
100
100
|
content: 'content',
|
|
101
101
|
});
|
|
@@ -120,8 +120,8 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
122
|
async hasManySaveUsingSaveOnUnsavedParent() {
|
|
123
|
-
const user = new User_1.User(this.joe);
|
|
124
|
-
await user.articles.save(new Article_1.Article({
|
|
123
|
+
const user = new User_1.User().fill(this.joe);
|
|
124
|
+
await user.articles.save(new Article_1.Article().fill({
|
|
125
125
|
title: 'title',
|
|
126
126
|
content: 'content',
|
|
127
127
|
}));
|
|
@@ -147,7 +147,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
147
147
|
}
|
|
148
148
|
async hasManyGet() {
|
|
149
149
|
const user = await User_1.User.create(this.joe);
|
|
150
|
-
const article = new Article_1.Article({
|
|
150
|
+
const article = new Article_1.Article().fill({
|
|
151
151
|
title: 'title',
|
|
152
152
|
content: 'content',
|
|
153
153
|
});
|
|
@@ -159,8 +159,8 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
async hasManyEagerLoad() {
|
|
162
|
-
const user = new User_1.User(this.joe);
|
|
163
|
-
const article = new Article_1.Article({
|
|
162
|
+
const user = new User_1.User().fill(this.joe);
|
|
163
|
+
const article = new Article_1.Article().fill({
|
|
164
164
|
title: 'title',
|
|
165
165
|
content: 'content',
|
|
166
166
|
});
|
|
@@ -236,7 +236,9 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
236
236
|
const user = await User_1.User.create(this.joe);
|
|
237
237
|
let article = new Article_1.Article();
|
|
238
238
|
await user.articles.save(article);
|
|
239
|
-
article = await Article_1.Article.
|
|
239
|
+
article = await Article_1.Article.findOrFail(article.id);
|
|
240
|
+
const a = await Article_1.Article.get();
|
|
241
|
+
const u = await User_1.User.get();
|
|
240
242
|
await article.load('author');
|
|
241
243
|
chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
|
|
242
244
|
chai_1.expect(article.author.get()).to.be.instanceOf(User_1.User);
|
|
@@ -244,7 +246,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
244
246
|
async belongsToReLoad() {
|
|
245
247
|
var _a;
|
|
246
248
|
const user = await User_1.User.create(this.joe);
|
|
247
|
-
const article = new Article_1.Article(
|
|
249
|
+
const article = new Article_1.Article();
|
|
248
250
|
await user.articles.save(article);
|
|
249
251
|
await article.load('author');
|
|
250
252
|
chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
|
|
@@ -252,7 +254,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
252
254
|
chai_1.expect((_a = article.author.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal(user.id);
|
|
253
255
|
}
|
|
254
256
|
async belongsToManySave() {
|
|
255
|
-
const user = new User_1.User(this.joe);
|
|
257
|
+
const user = new User_1.User().fill(this.joe);
|
|
256
258
|
const admin = await Role_1.Role.create(this.admin);
|
|
257
259
|
const developer = await Role_1.Role.create(this.developer);
|
|
258
260
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -277,7 +279,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
277
279
|
});
|
|
278
280
|
}
|
|
279
281
|
async belongsToManyClearing() {
|
|
280
|
-
const user = new User_1.User(this.joe);
|
|
282
|
+
const user = new User_1.User().fill(this.joe);
|
|
281
283
|
const admin = await Role_1.Role.create(this.admin);
|
|
282
284
|
const developer = await Role_1.Role.create(this.developer);
|
|
283
285
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -286,7 +288,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
286
288
|
chai_1.expect(user.roles).to.have.length(0);
|
|
287
289
|
}
|
|
288
290
|
async belongsToManyRemove() {
|
|
289
|
-
const user = new User_1.User(this.joe);
|
|
291
|
+
const user = new User_1.User().fill(this.joe);
|
|
290
292
|
const admin = await Role_1.Role.create(this.admin);
|
|
291
293
|
const developer = await Role_1.Role.create(this.developer);
|
|
292
294
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -295,7 +297,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
295
297
|
chai_1.expect(user.roles).to.have.length(1);
|
|
296
298
|
}
|
|
297
299
|
async belongsToManySync() {
|
|
298
|
-
const user = new User_1.User(this.joe);
|
|
300
|
+
const user = new User_1.User().fill(this.joe);
|
|
299
301
|
const admin = await Role_1.Role.create(this.admin);
|
|
300
302
|
const developer = await Role_1.Role.create(this.developer);
|
|
301
303
|
const manager = await Role_1.Role.create({ name: 'Manager' });
|
|
@@ -306,7 +308,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
306
308
|
chai_1.expect(user.roles[1]).to.have.property('id', developer.id);
|
|
307
309
|
}
|
|
308
310
|
async belongsToManySyncWithoutDetaching() {
|
|
309
|
-
const user = new User_1.User(this.joe);
|
|
311
|
+
const user = new User_1.User().fill(this.joe);
|
|
310
312
|
const admin = await Role_1.Role.create(this.admin);
|
|
311
313
|
const developer = await Role_1.Role.create(this.developer);
|
|
312
314
|
const manager = await Role_1.Role.create({ name: 'manager' });
|
|
@@ -318,7 +320,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
318
320
|
chai_1.expect(user.roles[2]).to.have.property('id', developer.id);
|
|
319
321
|
}
|
|
320
322
|
async belongsToManyToggle() {
|
|
321
|
-
const user = new User_1.User(this.joe);
|
|
323
|
+
const user = new User_1.User().fill(this.joe);
|
|
322
324
|
const admin = await Role_1.Role.create(this.admin);
|
|
323
325
|
await user.roles.add(admin.id);
|
|
324
326
|
chai_1.expect(user.roles).to.have.length(1);
|
|
@@ -329,7 +331,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
329
331
|
chai_1.expect(user.roles[0]).to.have.property('id', developer.id);
|
|
330
332
|
}
|
|
331
333
|
async belongsToManyLoad() {
|
|
332
|
-
const user = new User_1.User(this.joe);
|
|
334
|
+
const user = new User_1.User().fill(this.joe);
|
|
333
335
|
const admin = await Role_1.Role.create(this.admin);
|
|
334
336
|
await user.roles.add(admin.id);
|
|
335
337
|
const sameUser = await User_1.User.first();
|
|
@@ -337,7 +339,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
337
339
|
chai_1.expect(sameUser.roles[0]).to.deep.include(this.admin);
|
|
338
340
|
}
|
|
339
341
|
async belongsToManyQuery() {
|
|
340
|
-
const user = new User_1.User(this.joe);
|
|
342
|
+
const user = new User_1.User().fill(this.joe);
|
|
341
343
|
const admin = await Role_1.Role.create(this.admin);
|
|
342
344
|
const developer = await Role_1.Role.create(this.developer);
|
|
343
345
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -347,7 +349,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
347
349
|
chai_1.expect(roles[0]).to.deep.include(this.developer);
|
|
348
350
|
}
|
|
349
351
|
async belongsToManyHas() {
|
|
350
|
-
const user = new User_1.User(this.joe);
|
|
352
|
+
const user = new User_1.User().fill(this.joe);
|
|
351
353
|
const admin = await Role_1.Role.create(this.admin);
|
|
352
354
|
const developer = await Role_1.Role.create(this.developer);
|
|
353
355
|
await user.roles.add(admin.id);
|
|
@@ -367,8 +369,8 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
367
369
|
let adminRole = await Role_1.Role.create({ name: 'Admin' });
|
|
368
370
|
const joe = await User_1.User.create(this.joe);
|
|
369
371
|
await adminRole.users.add(joe);
|
|
370
|
-
await joe.articles.save(new Article_1.Article({ title: 'title' }));
|
|
371
|
-
await joe.profile.save(new Profile_1.Profile({ address: 'address' }));
|
|
372
|
+
await joe.articles.save(new Article_1.Article().fill({ title: 'title' }));
|
|
373
|
+
await joe.profile.save(new Profile_1.Profile().fill({ address: 'address' }));
|
|
372
374
|
adminRole = await Role_1.Role.find(adminRole.id);
|
|
373
375
|
await adminRole.load('users.articles.author', 'users.profile.user');
|
|
374
376
|
chai_1.expect(adminRole.users[0].articles[0].title).to.be.equal('title');
|