@typetron/framework 0.3.4 → 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/Container/Contracts.d.ts +1 -1
- package/Container/Contracts.d.ts.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.d.ts +5 -4
- package/Database/EntityQuery.d.ts.map +1 -1
- package/Database/EntityQuery.js +20 -9
- 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/Database/Types.d.ts +2 -1
- package/Database/Types.d.ts.map +1 -1
- package/Framework/Auth/Auth.d.ts +3 -3
- package/Framework/Auth/Auth.d.ts.map +1 -1
- package/Framework/Auth/Auth.js +25 -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 +6 -2
- package/Framework/Config/AppConfig.d.ts.map +1 -1
- package/Framework/Config/AppConfig.js +1 -1
- package/Framework/Config/AppConfig.js.map +1 -1
- package/Framework/Config/DatabaseConfig.js +3 -3
- package/Framework/Config/DatabaseConfig.js.map +1 -1
- package/Framework/Middleware/StaticAssetsMiddleware.d.ts +1 -1
- package/Framework/Middleware/StaticAssetsMiddleware.d.ts.map +1 -1
- package/Framework/Middleware/StaticAssetsMiddleware.js +42 -24
- package/Framework/Middleware/StaticAssetsMiddleware.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 +12 -7
- package/Framework/Providers/WebsocketsProvider.js.map +1 -1
- package/Framework/Resolvers/AuthResolver.d.ts.map +1 -1
- package/Framework/Resolvers/AuthResolver.js +0 -8
- package/Framework/Resolvers/AuthResolver.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 +8 -4
- package/Router/Websockets/index.d.ts.map +1 -1
- package/Router/Websockets/index.js +10 -1
- package/Router/Websockets/index.js.map +1 -1
- package/Testing/TestCase.d.ts.map +1 -1
- package/Testing/TestCase.js +12 -2
- package/Testing/TestCase.js.map +1 -1
- package/package.json +4 -3
- package/tests/Database/EntityRelationshipsTest.js +40 -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/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +2 -0
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts.map +1 -0
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +166 -0
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js.map +1 -0
- package/tests/Router/HttpHandlerTest.js +4 -4
- package/tests/Router/HttpHandlerTest.js.map +1 -1
- package/Web/Contracts.d.ts +0 -4
- package/Web/Contracts.d.ts.map +0 -1
- package/Web/Contracts.js +0 -3
- package/Web/Contracts.js.map +0 -1
- package/Web/ErrorHandler.d.ts +0 -10
- package/Web/ErrorHandler.d.ts.map +0 -1
- package/Web/ErrorHandler.js +0 -52
- package/Web/ErrorHandler.js.map +0 -1
- package/Web/ErrorHandlerInterface.d.ts +0 -6
- package/Web/ErrorHandlerInterface.d.ts.map +0 -1
- package/Web/ErrorHandlerInterface.js +0 -7
- package/Web/ErrorHandlerInterface.js.map +0 -1
- package/Web/Errors/HttpError.d.ts +0 -8
- package/Web/Errors/HttpError.d.ts.map +0 -1
- package/Web/Errors/HttpError.js +0 -16
- package/Web/Errors/HttpError.js.map +0 -1
- package/Web/Handler.d.ts +0 -11
- package/Web/Handler.d.ts.map +0 -1
- package/Web/Handler.js +0 -52
- package/Web/Handler.js.map +0 -1
- package/Web/Request.d.ts +0 -25
- package/Web/Request.d.ts.map +0 -1
- package/Web/Request.js +0 -152
- package/Web/Request.js.map +0 -1
- package/Web/Response.d.ts +0 -16
- package/Web/Response.d.ts.map +0 -1
- package/Web/Response.js +0 -51
- package/Web/Response.js.map +0 -1
- package/Web/index.d.ts +0 -84
- package/Web/index.d.ts.map +0 -1
- package/Web/index.js +0 -100
- package/Web/index.js.map +0 -1
- package/Web-old/Contracts.d.ts +0 -4
- package/Web-old/Contracts.d.ts.map +0 -1
- package/Web-old/Contracts.js +0 -3
- package/Web-old/Contracts.js.map +0 -1
- package/Web-old/ErrorHandler.d.ts +0 -10
- package/Web-old/ErrorHandler.d.ts.map +0 -1
- package/Web-old/ErrorHandler.js +0 -52
- package/Web-old/ErrorHandler.js.map +0 -1
- package/Web-old/ErrorHandlerInterface.d.ts +0 -6
- package/Web-old/ErrorHandlerInterface.d.ts.map +0 -1
- package/Web-old/ErrorHandlerInterface.js +0 -7
- package/Web-old/ErrorHandlerInterface.js.map +0 -1
- package/Web-old/Errors/HttpError.d.ts +0 -8
- package/Web-old/Errors/HttpError.d.ts.map +0 -1
- package/Web-old/Errors/HttpError.js +0 -16
- package/Web-old/Errors/HttpError.js.map +0 -1
- package/Web-old/Handler.d.ts +0 -16
- package/Web-old/Handler.d.ts.map +0 -1
- package/Web-old/Handler.js +0 -132
- package/Web-old/Handler.js.map +0 -1
- package/Web-old/Request.d.ts +0 -25
- package/Web-old/Request.d.ts.map +0 -1
- package/Web-old/Request.js +0 -152
- package/Web-old/Request.js.map +0 -1
- package/Web-old/Response.d.ts +0 -16
- package/Web-old/Response.d.ts.map +0 -1
- package/Web-old/Response.js +0 -51
- package/Web-old/Response.js.map +0 -1
- package/Web-old/index.d.ts +0 -84
- package/Web-old/index.d.ts.map +0 -1
- package/Web-old/index.js +0 -100
- package/Web-old/index.js.map +0 -1
|
@@ -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,13 +1,17 @@
|
|
|
1
1
|
import { WebSocket as uWebSocket } from 'uWebSockets.js';
|
|
2
|
+
import { Container } from '@Typetron/Container';
|
|
2
3
|
export * from './Handler';
|
|
3
4
|
export * from './types';
|
|
4
5
|
export declare class WebSocket {
|
|
5
6
|
connection: uWebSocket;
|
|
7
|
+
container: Container;
|
|
6
8
|
id?: number | string;
|
|
7
|
-
constructor(connection: uWebSocket);
|
|
9
|
+
constructor(connection: uWebSocket, container: Container);
|
|
8
10
|
subscribe(topic: string): void;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
unsubscribe(topic: string): void;
|
|
12
|
+
reset(container?: Container): void;
|
|
13
|
+
publish(topic: string, event: string, body?: any): void;
|
|
14
|
+
publishAndSend(topic: string, event: string, body?: any): void;
|
|
15
|
+
send(event: string, body?: any): void;
|
|
12
16
|
}
|
|
13
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;
|
|
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"}
|
|
@@ -15,12 +15,21 @@ const types_1 = require("./types");
|
|
|
15
15
|
__exportStar(require("./Handler"), exports);
|
|
16
16
|
__exportStar(require("./types"), exports);
|
|
17
17
|
class WebSocket {
|
|
18
|
-
constructor(connection) {
|
|
18
|
+
constructor(connection, container) {
|
|
19
19
|
this.connection = connection;
|
|
20
|
+
this.container = container;
|
|
21
|
+
this.reset(container);
|
|
20
22
|
}
|
|
21
23
|
subscribe(topic) {
|
|
22
24
|
this.connection.subscribe(topic);
|
|
23
25
|
}
|
|
26
|
+
unsubscribe(topic) {
|
|
27
|
+
this.connection.unsubscribe(topic);
|
|
28
|
+
}
|
|
29
|
+
reset(container) {
|
|
30
|
+
this.connection.container = container || this.connection.container.parent.createChildContainer();
|
|
31
|
+
this.connection.container.set(WebSocket, this);
|
|
32
|
+
}
|
|
24
33
|
// tslint:disable-next-line:no-any
|
|
25
34
|
publish(topic, event, body) {
|
|
26
35
|
const sentResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,mCAA+D;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCase.d.ts","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAA;AACxB,OAAO,EAA2E,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAClH,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAIvC,8BAAsB,QAAQ;IAC1B,MAAM,CAAC,GAAG,EAAE,WAAW,CAAA;IACvB,GAAG,EAAE,SAAS,CAAA;IAGd,cAAc,yBAA8B,GAAG,KAAK,IAAI,EAAG;IAE3D,sBAAsB,8BAErB;IAED,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAEvC,MAAM;IAcN,SAAS,CAAC,EAAE,EAAE,EAAE;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI;IAIhB,QAAQ,CAAC,IAAI,EAAE,IAAI;IAIzB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIpI,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TestCase.d.ts","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAA;AACxB,OAAO,EAA2E,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAClH,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAIvC,8BAAsB,QAAQ;IAC1B,MAAM,CAAC,GAAG,EAAE,WAAW,CAAA;IACvB,GAAG,EAAE,SAAS,CAAA;IAGd,cAAc,yBAA8B,GAAG,KAAK,IAAI,EAAG;IAE3D,sBAAsB,8BAErB;IAED,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAEvC,MAAM;IAcN,SAAS,CAAC,EAAE,EAAE,EAAE;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI;IAIhB,QAAQ,CAAC,IAAI,EAAE,IAAI;IAIzB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIpI,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIjB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAwC1H,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI;YAItC,OAAO;IA4CrB,OAAO,CAAC,8BAA8B;CAMzC"}
|
package/Testing/TestCase.js
CHANGED
|
@@ -55,7 +55,7 @@ class TestCase {
|
|
|
55
55
|
delete(route, content = {}, headers = {}) {
|
|
56
56
|
return this.request(Http_1.Http.Method.DELETE, route, content, headers);
|
|
57
57
|
}
|
|
58
|
-
event(event, content) {
|
|
58
|
+
async event(event, content) {
|
|
59
59
|
var _a, _b;
|
|
60
60
|
const socketMock = ts_mockito_1.mock(Websockets_1.WebSocket);
|
|
61
61
|
ts_mockito_1.when(socketMock.publishAndSend(ts_mockito_1.anything(), ts_mockito_1.anything(), ts_mockito_1.anything())).thenCall((topic, calledEvent, message) => {
|
|
@@ -73,7 +73,17 @@ class TestCase {
|
|
|
73
73
|
(_b = content === null || content === void 0 ? void 0 : content.parameters) === null || _b === void 0 ? void 0 : _b.forEach(parameter => {
|
|
74
74
|
request.parameters[String.random(15)] = parameter;
|
|
75
75
|
});
|
|
76
|
-
|
|
76
|
+
try {
|
|
77
|
+
return await this.app.get(Websockets_1.Handler).handle(container, request);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (error instanceof Http_1.HttpError) {
|
|
81
|
+
const errorResponse = await this.app.get(Http_1.ErrorHandlerInterface).handle(error);
|
|
82
|
+
console.error(errorResponse.body);
|
|
83
|
+
return errorResponse;
|
|
84
|
+
}
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
77
87
|
}
|
|
78
88
|
on(event, callback) {
|
|
79
89
|
this.eventListeners.set(event, callback);
|
package/Testing/TestCase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCase.js","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":";;;AAAA,2BAAwB;AACxB,yCAAkH;AAElH,4CAA4D;AAC5D,sCAAkC;AAClC,4CAA8C;AAE9C,qDAA8E;AAG9E,2CAA2D;AAC3D,qDAA4C;AAE5C,MAAsB,QAAQ;IAA9B;QAII,kCAAkC;QAClC,mBAAc,GAAG,IAAI,GAAG,EAAmC,CAAA;QAE3D,2BAAsB,GAAG;YACrB,4BAAgB;SACnB,CAAA;
|
|
1
|
+
{"version":3,"file":"TestCase.js","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":"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"}
|
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",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build": "tsc",
|
|
19
|
+
"dev": "tsc --watch",
|
|
19
20
|
"test": "mocha",
|
|
20
21
|
"test:watch": "mocha --watch",
|
|
21
22
|
"preversion": "npm test"
|
|
@@ -29,8 +30,7 @@
|
|
|
29
30
|
"jsonwebtoken": "^8.5.1",
|
|
30
31
|
"mysql": "^2.18.1",
|
|
31
32
|
"sqlite3": "^5.0.2",
|
|
32
|
-
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v19.4.0"
|
|
33
|
-
"ts-mockito": "^2.6.1"
|
|
33
|
+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v19.4.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@testdeck/mocha": "^0.1.2",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"@types/chai": "^4.2.21",
|
|
40
40
|
"@types/jsonwebtoken": "^8.5.5",
|
|
41
41
|
"@types/mocha": "^9.0.0",
|
|
42
|
+
"ts-mockito": "^2.6.1",
|
|
42
43
|
"@types/mysql": "^2.15.19",
|
|
43
44
|
"@types/node": "^16.9.3",
|
|
44
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
|
});
|
|
@@ -216,11 +216,29 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
216
216
|
const user = await User_1.User.with(['articles', query => query.where('title', 'article1')]).first();
|
|
217
217
|
chai_1.expect(user.articles).to.have.length(1);
|
|
218
218
|
}
|
|
219
|
+
// @test
|
|
220
|
+
// async deepBelongsToEagerLoadWithCustomQuery() {
|
|
221
|
+
// const admin = await Role.create(this.admin)
|
|
222
|
+
//
|
|
223
|
+
// const joe = await User.create(this.joe)
|
|
224
|
+
// await joe.profile.save(new Profile({address: 'south address'}))
|
|
225
|
+
// const doe = await User.create(this.doe)
|
|
226
|
+
// await doe.profile.save(new Profile({address: 'east address'}))
|
|
227
|
+
//
|
|
228
|
+
// await admin.users.add(joe, doe)
|
|
229
|
+
//
|
|
230
|
+
// const role = await Role.with(['users.profile', query => query.whereLike('address', '%east%')]).first() as Role
|
|
231
|
+
//
|
|
232
|
+
// expect(role.users).to.have.length(1)
|
|
233
|
+
// expect(role.users[0].name).to.be.equal(doe.name)
|
|
234
|
+
// }
|
|
219
235
|
async belongsToLoad() {
|
|
220
236
|
const user = await User_1.User.create(this.joe);
|
|
221
237
|
let article = new Article_1.Article();
|
|
222
238
|
await user.articles.save(article);
|
|
223
|
-
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();
|
|
224
242
|
await article.load('author');
|
|
225
243
|
chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
|
|
226
244
|
chai_1.expect(article.author.get()).to.be.instanceOf(User_1.User);
|
|
@@ -228,7 +246,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
228
246
|
async belongsToReLoad() {
|
|
229
247
|
var _a;
|
|
230
248
|
const user = await User_1.User.create(this.joe);
|
|
231
|
-
const article = new Article_1.Article(
|
|
249
|
+
const article = new Article_1.Article();
|
|
232
250
|
await user.articles.save(article);
|
|
233
251
|
await article.load('author');
|
|
234
252
|
chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
|
|
@@ -236,7 +254,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
236
254
|
chai_1.expect((_a = article.author.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal(user.id);
|
|
237
255
|
}
|
|
238
256
|
async belongsToManySave() {
|
|
239
|
-
const user = new User_1.User(this.joe);
|
|
257
|
+
const user = new User_1.User().fill(this.joe);
|
|
240
258
|
const admin = await Role_1.Role.create(this.admin);
|
|
241
259
|
const developer = await Role_1.Role.create(this.developer);
|
|
242
260
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -261,7 +279,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
261
279
|
});
|
|
262
280
|
}
|
|
263
281
|
async belongsToManyClearing() {
|
|
264
|
-
const user = new User_1.User(this.joe);
|
|
282
|
+
const user = new User_1.User().fill(this.joe);
|
|
265
283
|
const admin = await Role_1.Role.create(this.admin);
|
|
266
284
|
const developer = await Role_1.Role.create(this.developer);
|
|
267
285
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -270,7 +288,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
270
288
|
chai_1.expect(user.roles).to.have.length(0);
|
|
271
289
|
}
|
|
272
290
|
async belongsToManyRemove() {
|
|
273
|
-
const user = new User_1.User(this.joe);
|
|
291
|
+
const user = new User_1.User().fill(this.joe);
|
|
274
292
|
const admin = await Role_1.Role.create(this.admin);
|
|
275
293
|
const developer = await Role_1.Role.create(this.developer);
|
|
276
294
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -279,7 +297,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
279
297
|
chai_1.expect(user.roles).to.have.length(1);
|
|
280
298
|
}
|
|
281
299
|
async belongsToManySync() {
|
|
282
|
-
const user = new User_1.User(this.joe);
|
|
300
|
+
const user = new User_1.User().fill(this.joe);
|
|
283
301
|
const admin = await Role_1.Role.create(this.admin);
|
|
284
302
|
const developer = await Role_1.Role.create(this.developer);
|
|
285
303
|
const manager = await Role_1.Role.create({ name: 'Manager' });
|
|
@@ -290,7 +308,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
290
308
|
chai_1.expect(user.roles[1]).to.have.property('id', developer.id);
|
|
291
309
|
}
|
|
292
310
|
async belongsToManySyncWithoutDetaching() {
|
|
293
|
-
const user = new User_1.User(this.joe);
|
|
311
|
+
const user = new User_1.User().fill(this.joe);
|
|
294
312
|
const admin = await Role_1.Role.create(this.admin);
|
|
295
313
|
const developer = await Role_1.Role.create(this.developer);
|
|
296
314
|
const manager = await Role_1.Role.create({ name: 'manager' });
|
|
@@ -302,7 +320,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
302
320
|
chai_1.expect(user.roles[2]).to.have.property('id', developer.id);
|
|
303
321
|
}
|
|
304
322
|
async belongsToManyToggle() {
|
|
305
|
-
const user = new User_1.User(this.joe);
|
|
323
|
+
const user = new User_1.User().fill(this.joe);
|
|
306
324
|
const admin = await Role_1.Role.create(this.admin);
|
|
307
325
|
await user.roles.add(admin.id);
|
|
308
326
|
chai_1.expect(user.roles).to.have.length(1);
|
|
@@ -313,7 +331,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
313
331
|
chai_1.expect(user.roles[0]).to.have.property('id', developer.id);
|
|
314
332
|
}
|
|
315
333
|
async belongsToManyLoad() {
|
|
316
|
-
const user = new User_1.User(this.joe);
|
|
334
|
+
const user = new User_1.User().fill(this.joe);
|
|
317
335
|
const admin = await Role_1.Role.create(this.admin);
|
|
318
336
|
await user.roles.add(admin.id);
|
|
319
337
|
const sameUser = await User_1.User.first();
|
|
@@ -321,7 +339,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
321
339
|
chai_1.expect(sameUser.roles[0]).to.deep.include(this.admin);
|
|
322
340
|
}
|
|
323
341
|
async belongsToManyQuery() {
|
|
324
|
-
const user = new User_1.User(this.joe);
|
|
342
|
+
const user = new User_1.User().fill(this.joe);
|
|
325
343
|
const admin = await Role_1.Role.create(this.admin);
|
|
326
344
|
const developer = await Role_1.Role.create(this.developer);
|
|
327
345
|
await user.roles.add(admin.id, developer.id);
|
|
@@ -331,7 +349,7 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
331
349
|
chai_1.expect(roles[0]).to.deep.include(this.developer);
|
|
332
350
|
}
|
|
333
351
|
async belongsToManyHas() {
|
|
334
|
-
const user = new User_1.User(this.joe);
|
|
352
|
+
const user = new User_1.User().fill(this.joe);
|
|
335
353
|
const admin = await Role_1.Role.create(this.admin);
|
|
336
354
|
const developer = await Role_1.Role.create(this.developer);
|
|
337
355
|
await user.roles.add(admin.id);
|
|
@@ -351,8 +369,8 @@ let EntityRelationshipsTest = class EntityRelationshipsTest {
|
|
|
351
369
|
let adminRole = await Role_1.Role.create({ name: 'Admin' });
|
|
352
370
|
const joe = await User_1.User.create(this.joe);
|
|
353
371
|
await adminRole.users.add(joe);
|
|
354
|
-
await joe.articles.save(new Article_1.Article({ title: 'title' }));
|
|
355
|
-
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' }));
|
|
356
374
|
adminRole = await Role_1.Role.find(adminRole.id);
|
|
357
375
|
await adminRole.load('users.articles.author', 'users.profile.user');
|
|
358
376
|
chai_1.expect(adminRole.users[0].articles[0].title).to.be.equal('title');
|