@webiny/api-websockets 0.0.0-unstable.e53eceafb5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -0
  3. package/context/WebsocketsContext.d.ts +13 -0
  4. package/context/WebsocketsContext.js +70 -0
  5. package/context/WebsocketsContext.js.map +1 -0
  6. package/context/abstractions/IWebsocketsContext.d.ts +22 -0
  7. package/context/abstractions/IWebsocketsContext.js +7 -0
  8. package/context/abstractions/IWebsocketsContext.js.map +1 -0
  9. package/context/index.d.ts +5 -0
  10. package/context/index.js +53 -0
  11. package/context/index.js.map +1 -0
  12. package/graphql/checkPermissions.d.ts +7 -0
  13. package/graphql/checkPermissions.js +21 -0
  14. package/graphql/checkPermissions.js.map +1 -0
  15. package/graphql/createResolvers.d.ts +13 -0
  16. package/graphql/createResolvers.js +68 -0
  17. package/graphql/createResolvers.js.map +1 -0
  18. package/graphql/createTypeDefs.d.ts +1 -0
  19. package/graphql/createTypeDefs.js +78 -0
  20. package/graphql/createTypeDefs.js.map +1 -0
  21. package/graphql/index.d.ts +2 -0
  22. package/graphql/index.js +20 -0
  23. package/graphql/index.js.map +1 -0
  24. package/graphql/utils.d.ts +7 -0
  25. package/graphql/utils.js +19 -0
  26. package/graphql/utils.js.map +1 -0
  27. package/handler/handler.d.ts +2 -0
  28. package/handler/handler.js +84 -0
  29. package/handler/handler.js.map +1 -0
  30. package/handler/headers.d.ts +7 -0
  31. package/handler/headers.js +46 -0
  32. package/handler/headers.js.map +1 -0
  33. package/handler/register.d.ts +1 -0
  34. package/handler/register.js +28 -0
  35. package/handler/register.js.map +1 -0
  36. package/handler/types.d.ts +73 -0
  37. package/handler/types.js +20 -0
  38. package/handler/types.js.map +1 -0
  39. package/index.d.ts +10 -0
  40. package/index.js +101 -0
  41. package/index.js.map +1 -0
  42. package/package.json +48 -0
  43. package/plugins/WebsocketsActionPlugin.d.ts +11 -0
  44. package/plugins/WebsocketsActionPlugin.js +25 -0
  45. package/plugins/WebsocketsActionPlugin.js.map +1 -0
  46. package/plugins/WebsocketsRoutePlugin.d.ts +28 -0
  47. package/plugins/WebsocketsRoutePlugin.js +25 -0
  48. package/plugins/WebsocketsRoutePlugin.js.map +1 -0
  49. package/plugins/abstrations/IWebsocketsActionPlugin.d.ts +35 -0
  50. package/plugins/abstrations/IWebsocketsActionPlugin.js +7 -0
  51. package/plugins/abstrations/IWebsocketsActionPlugin.js.map +1 -0
  52. package/plugins/index.d.ts +3 -0
  53. package/plugins/index.js +40 -0
  54. package/plugins/index.js.map +1 -0
  55. package/registry/WebsocketsConnectionRegistry.d.ts +23 -0
  56. package/registry/WebsocketsConnectionRegistry.js +182 -0
  57. package/registry/WebsocketsConnectionRegistry.js.map +1 -0
  58. package/registry/abstractions/IWebsocketsConnectionRegistry.d.ts +33 -0
  59. package/registry/abstractions/IWebsocketsConnectionRegistry.js +7 -0
  60. package/registry/abstractions/IWebsocketsConnectionRegistry.js.map +1 -0
  61. package/registry/entity.d.ts +108 -0
  62. package/registry/entity.js +62 -0
  63. package/registry/entity.js.map +1 -0
  64. package/registry/index.d.ts +2 -0
  65. package/registry/index.js +29 -0
  66. package/registry/index.js.map +1 -0
  67. package/response/WebsocketsResponse.d.ts +5 -0
  68. package/response/WebsocketsResponse.js +29 -0
  69. package/response/WebsocketsResponse.js.map +1 -0
  70. package/response/abstractions/IWebsocketsResponse.d.ts +29 -0
  71. package/response/abstractions/IWebsocketsResponse.js +7 -0
  72. package/response/abstractions/IWebsocketsResponse.js.map +1 -0
  73. package/response/index.d.ts +2 -0
  74. package/response/index.js +29 -0
  75. package/response/index.js.map +1 -0
  76. package/runner/WebsocketsRunner.d.ts +17 -0
  77. package/runner/WebsocketsRunner.js +191 -0
  78. package/runner/WebsocketsRunner.js.map +1 -0
  79. package/runner/abstractions/IWebsocketsRunner.d.ts +16 -0
  80. package/runner/abstractions/IWebsocketsRunner.js +7 -0
  81. package/runner/abstractions/IWebsocketsRunner.js.map +1 -0
  82. package/runner/index.d.ts +2 -0
  83. package/runner/index.js +29 -0
  84. package/runner/index.js.map +1 -0
  85. package/runner/routes/connect.d.ts +1 -0
  86. package/runner/routes/connect.js +57 -0
  87. package/runner/routes/connect.js.map +1 -0
  88. package/runner/routes/default.d.ts +1 -0
  89. package/runner/routes/default.js +40 -0
  90. package/runner/routes/default.js.map +1 -0
  91. package/runner/routes/disconnect.d.ts +1 -0
  92. package/runner/routes/disconnect.js +26 -0
  93. package/runner/routes/disconnect.js.map +1 -0
  94. package/runner/routes/index.d.ts +1 -0
  95. package/runner/routes/index.js +15 -0
  96. package/runner/routes/index.js.map +1 -0
  97. package/transport/WebsocketsTransport.d.ts +8 -0
  98. package/transport/WebsocketsTransport.js +54 -0
  99. package/transport/WebsocketsTransport.js.map +1 -0
  100. package/transport/abstractions/IWebsocketsTransport.d.ts +20 -0
  101. package/transport/abstractions/IWebsocketsTransport.js +7 -0
  102. package/transport/abstractions/IWebsocketsTransport.js.map +1 -0
  103. package/transport/index.d.ts +2 -0
  104. package/transport/index.js +29 -0
  105. package/transport/index.js.map +1 -0
  106. package/types.d.ts +12 -0
  107. package/types.js +7 -0
  108. package/types.js.map +1 -0
  109. package/utils/middleware.d.ts +5 -0
  110. package/utils/middleware.js +25 -0
  111. package/utils/middleware.js.map +1 -0
  112. package/validator/WebsocketsEventValidator.d.ts +5 -0
  113. package/validator/WebsocketsEventValidator.js +85 -0
  114. package/validator/WebsocketsEventValidator.js.map +1 -0
  115. package/validator/abstractions/IWebsocketsEventValidator.d.ts +8 -0
  116. package/validator/abstractions/IWebsocketsEventValidator.js +7 -0
  117. package/validator/abstractions/IWebsocketsEventValidator.js.map +1 -0
  118. package/validator/index.d.ts +2 -0
  119. package/validator/index.js +29 -0
  120. package/validator/index.js.map +1 -0
package/types.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=types.js.map
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { DbContext } from \"@webiny/handler-db/types\";\nimport type { IWebsocketsContextObject } from \"./context/abstractions/IWebsocketsContext\";\nimport type { SecurityContext, SecurityPermission } from \"@webiny/api-security/types\";\nimport type { I18NContext } from \"@webiny/api-i18n/types\";\n\nexport type { IWebsocketsContextObject };\n\nexport interface Context extends DbContext, SecurityContext, I18NContext {\n websockets: IWebsocketsContextObject;\n}\n\nexport interface WebsocketsPermission extends SecurityPermission {\n name: \"websockets\";\n rwd?: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { GenericRecord } from "@webiny/api/types";
2
+ export interface MiddlewareCallable<I extends GenericRecord = GenericRecord, O extends GenericRecord = GenericRecord> {
3
+ (input: I, next: () => Promise<O>): Promise<O>;
4
+ }
5
+ export declare const middleware: <I extends GenericRecord = GenericRecord, O extends GenericRecord = GenericRecord>(functions: MiddlewareCallable<I, O>[]) => (input: I) => Promise<O>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.middleware = void 0;
7
+ const middleware = functions => {
8
+ return async input => {
9
+ const chain = Array.from(functions);
10
+ const exec = async () => {
11
+ const fn = chain.shift();
12
+ if (!fn) {
13
+ return {};
14
+ }
15
+ const next = async () => {
16
+ return exec();
17
+ };
18
+ return fn(input, next);
19
+ };
20
+ return exec();
21
+ };
22
+ };
23
+ exports.middleware = middleware;
24
+
25
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["middleware","functions","input","chain","Array","from","exec","fn","shift","next","exports"],"sources":["middleware.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types\";\n\nexport interface MiddlewareCallable<\n I extends GenericRecord = GenericRecord,\n O extends GenericRecord = GenericRecord\n> {\n (input: I, next: () => Promise<O>): Promise<O>;\n}\n\nexport const middleware = <\n I extends GenericRecord = GenericRecord,\n O extends GenericRecord = GenericRecord\n>(\n functions: MiddlewareCallable<I, O>[]\n) => {\n return async (input: I): Promise<O> => {\n const chain = Array.from(functions);\n const exec = async (): Promise<O> => {\n const fn = chain.shift();\n if (!fn) {\n return {} as O;\n }\n const next = async () => {\n return exec();\n };\n return fn(input, next);\n };\n return exec();\n };\n};\n"],"mappings":";;;;;;AASO,MAAMA,UAAU,GAInBC,SAAqC,IACpC;EACD,OAAO,MAAOC,KAAQ,IAAiB;IACnC,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACJ,SAAS,CAAC;IACnC,MAAMK,IAAI,GAAG,MAAAA,CAAA,KAAwB;MACjC,MAAMC,EAAE,GAAGJ,KAAK,CAACK,KAAK,CAAC,CAAC;MACxB,IAAI,CAACD,EAAE,EAAE;QACL,OAAO,CAAC,CAAC;MACb;MACA,MAAME,IAAI,GAAG,MAAAA,CAAA,KAAY;QACrB,OAAOH,IAAI,CAAC,CAAC;MACjB,CAAC;MACD,OAAOC,EAAE,CAACL,KAAK,EAAEO,IAAI,CAAC;IAC1B,CAAC;IACD,OAAOH,IAAI,CAAC,CAAC;EACjB,CAAC;AACL,CAAC;AAACI,OAAA,CAAAV,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { IWebsocketsEvent, IWebsocketsEventData } from "../handler/types";
2
+ import type { IWebsocketsEventValidator, IWebsocketsEventValidatorValidateParams } from "./abstractions/IWebsocketsEventValidator";
3
+ export declare class WebsocketsEventValidator implements IWebsocketsEventValidator {
4
+ validate<T extends IWebsocketsEventData = IWebsocketsEventData>(input: IWebsocketsEventValidatorValidateParams): Promise<IWebsocketsEvent<T>>;
5
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.WebsocketsEventValidator = void 0;
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ var _types = require("../handler/types");
10
+ var _utils = require("@webiny/utils");
11
+ const validation = _zod.default.object({
12
+ headers: _zod.default.object({}).passthrough().optional(),
13
+ requestContext: _zod.default.object({
14
+ connectionId: _zod.default.string(),
15
+ stage: _zod.default.string(),
16
+ connectedAt: _zod.default.number(),
17
+ domainName: _zod.default.string(),
18
+ eventType: _zod.default.enum([_types.WebsocketsEventRequestContextEventType.connect, _types.WebsocketsEventRequestContextEventType.message, _types.WebsocketsEventRequestContextEventType.disconnect]),
19
+ routeKey: _zod.default.string()
20
+ }),
21
+ body: _zod.default.string().transform((value, context) => {
22
+ if (!value) {
23
+ return undefined;
24
+ }
25
+ try {
26
+ return JSON.parse(value);
27
+ } catch (ex) {
28
+ /**
29
+ * We want to log the error, for easier debugging.
30
+ */
31
+ console.error(`Failed body validation: ${ex.message}`);
32
+ console.log(`Body: ${value}`);
33
+ /**
34
+ * And we want to add an issue to the context, so that the user knows what went wrong.
35
+ */
36
+ context.addIssue({
37
+ path: [],
38
+ message: `Invalid JSON: ${ex.message}`,
39
+ code: _zod.default.ZodIssueCode.custom,
40
+ fatal: true
41
+ });
42
+ }
43
+ }).optional()
44
+ }).superRefine((output, context) => {
45
+ if (output.requestContext.eventType !== _types.WebsocketsEventRequestContextEventType.message) {
46
+ return;
47
+ } else if (output.body) {
48
+ return;
49
+ }
50
+ context.addIssue({
51
+ path: ["body"],
52
+ message: "There must be a body defined when having a message event.",
53
+ code: _zod.default.ZodIssueCode.custom,
54
+ fatal: true
55
+ });
56
+ });
57
+ const bodyValidation = _zod.default.object({
58
+ token: _zod.default.string(),
59
+ tenant: _zod.default.string(),
60
+ locale: _zod.default.string(),
61
+ messageId: _zod.default.string().nullish(),
62
+ action: _zod.default.string(),
63
+ data: _zod.default.object({}).passthrough().nullish()
64
+ }).passthrough().optional();
65
+ class WebsocketsEventValidator {
66
+ async validate(input) {
67
+ const result = await validation.safeParseAsync(input);
68
+ if (!result.success) {
69
+ throw (0, _utils.createZodError)(result.error);
70
+ }
71
+ const bodyResult = await bodyValidation.safeParseAsync(result.data.body);
72
+ if (!bodyResult.success) {
73
+ throw (0, _utils.createZodError)(bodyResult.error);
74
+ }
75
+ return {
76
+ ...result.data,
77
+ body: {
78
+ ...(bodyResult.data || {})
79
+ }
80
+ };
81
+ }
82
+ }
83
+ exports.WebsocketsEventValidator = WebsocketsEventValidator;
84
+
85
+ //# sourceMappingURL=WebsocketsEventValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","_types","_utils","validation","zod","object","headers","passthrough","optional","requestContext","connectionId","string","stage","connectedAt","number","domainName","eventType","enum","WebsocketsEventRequestContextEventType","connect","message","disconnect","routeKey","body","transform","value","context","undefined","JSON","parse","ex","console","error","log","addIssue","path","code","ZodIssueCode","custom","fatal","superRefine","output","bodyValidation","token","tenant","locale","messageId","nullish","action","data","WebsocketsEventValidator","validate","input","result","safeParseAsync","success","createZodError","bodyResult","exports"],"sources":["WebsocketsEventValidator.ts"],"sourcesContent":["import zod from \"zod\";\nimport type { IWebsocketsEvent, IWebsocketsEventData } from \"~/handler/types\";\nimport { WebsocketsEventRequestContextEventType } from \"~/handler/types\";\nimport type {\n IWebsocketsEventValidator,\n IWebsocketsEventValidatorValidateParams\n} from \"./abstractions/IWebsocketsEventValidator\";\nimport { createZodError } from \"@webiny/utils\";\n\nconst validation = zod\n .object({\n headers: zod.object({}).passthrough().optional(),\n requestContext: zod.object({\n connectionId: zod.string(),\n stage: zod.string(),\n connectedAt: zod.number(),\n domainName: zod.string(),\n eventType: zod.enum([\n WebsocketsEventRequestContextEventType.connect,\n WebsocketsEventRequestContextEventType.message,\n WebsocketsEventRequestContextEventType.disconnect\n ]),\n routeKey: zod.string()\n }),\n body: zod\n .string()\n .transform<IWebsocketsEventData>((value, context) => {\n if (!value) {\n return undefined;\n }\n try {\n return JSON.parse(value);\n } catch (ex) {\n /**\n * We want to log the error, for easier debugging.\n */\n console.error(`Failed body validation: ${ex.message}`);\n console.log(`Body: ${value}`);\n /**\n * And we want to add an issue to the context, so that the user knows what went wrong.\n */\n context.addIssue({\n path: [],\n message: `Invalid JSON: ${ex.message}`,\n code: zod.ZodIssueCode.custom,\n fatal: true\n });\n }\n })\n .optional()\n })\n .superRefine((output, context) => {\n if (output.requestContext.eventType !== WebsocketsEventRequestContextEventType.message) {\n return;\n } else if (output.body) {\n return;\n }\n context.addIssue({\n path: [\"body\"],\n message: \"There must be a body defined when having a message event.\",\n code: zod.ZodIssueCode.custom,\n fatal: true\n });\n });\n\nconst bodyValidation = zod\n .object({\n token: zod.string(),\n tenant: zod.string(),\n locale: zod.string(),\n messageId: zod.string().nullish(),\n action: zod.string(),\n data: zod.object({}).passthrough().nullish()\n })\n .passthrough()\n .optional();\n\nexport class WebsocketsEventValidator implements IWebsocketsEventValidator {\n public async validate<T extends IWebsocketsEventData = IWebsocketsEventData>(\n input: IWebsocketsEventValidatorValidateParams\n ): Promise<IWebsocketsEvent<T>> {\n const result = await validation.safeParseAsync(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n const bodyResult = await bodyValidation.safeParseAsync(result.data.body);\n if (!bodyResult.success) {\n throw createZodError(bodyResult.error);\n }\n return {\n ...result.data,\n body: {\n ...((bodyResult.data || {}) as T)\n }\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { IWebsocketsEvent, IWebsocketsEventData, IWebsocketsIncomingEvent } from "../../handler/types";
2
+ export type IWebsocketsEventValidatorValidateParams = IWebsocketsIncomingEvent;
3
+ export interface IWebsocketsEventValidator {
4
+ /**
5
+ * @throws {Error}
6
+ */
7
+ validate<T extends IWebsocketsEventData = IWebsocketsEventData>(params: IWebsocketsEventValidatorValidateParams): Promise<IWebsocketsEvent<T>>;
8
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IWebsocketsEventValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IWebsocketsEventValidator.ts"],"sourcesContent":["import type {\n IWebsocketsEvent,\n IWebsocketsEventData,\n IWebsocketsIncomingEvent\n} from \"~/handler/types\";\n\nexport type IWebsocketsEventValidatorValidateParams = IWebsocketsIncomingEvent;\n\nexport interface IWebsocketsEventValidator {\n /**\n * @throws {Error}\n */\n validate<T extends IWebsocketsEventData = IWebsocketsEventData>(\n params: IWebsocketsEventValidatorValidateParams\n ): Promise<IWebsocketsEvent<T>>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./abstractions/IWebsocketsEventValidator";
2
+ export * from "./WebsocketsEventValidator";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _IWebsocketsEventValidator = require("./abstractions/IWebsocketsEventValidator");
7
+ Object.keys(_IWebsocketsEventValidator).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _IWebsocketsEventValidator[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _IWebsocketsEventValidator[key];
14
+ }
15
+ });
16
+ });
17
+ var _WebsocketsEventValidator = require("./WebsocketsEventValidator");
18
+ Object.keys(_WebsocketsEventValidator).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _WebsocketsEventValidator[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _WebsocketsEventValidator[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_IWebsocketsEventValidator","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_WebsocketsEventValidator"],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions/IWebsocketsEventValidator\";\nexport * from \"./WebsocketsEventValidator\";\n"],"mappings":";;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,0BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,0BAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,0BAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,yBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,yBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,yBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,yBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}