@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
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.WebsocketsConnectionRegistry = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _entity = require("./entity");
10
+ var _dbDynamodb = require("@webiny/db-dynamodb");
11
+ const PK = `WS#CONNECTIONS`;
12
+ const GSI1_PK = "WS#CONNECTIONS#IDENTITY";
13
+ const GSI2_PK = "WS#CONNECTIONS#TENANT#LOCALE";
14
+ class WebsocketsConnectionRegistry {
15
+ constructor(documentClient) {
16
+ this.entity = (0, _entity.createEntity)(documentClient);
17
+ }
18
+ async register(params) {
19
+ const {
20
+ connectionId,
21
+ tenant,
22
+ locale,
23
+ identity,
24
+ domainName,
25
+ stage,
26
+ connectedOn
27
+ } = params;
28
+ const data = {
29
+ connectionId,
30
+ identity,
31
+ tenant,
32
+ locale,
33
+ domainName,
34
+ stage,
35
+ connectedOn
36
+ };
37
+ await this.store(data);
38
+ return data;
39
+ }
40
+ async unregister(params) {
41
+ const {
42
+ connectionId
43
+ } = params;
44
+ const keys = {
45
+ PK,
46
+ SK: connectionId
47
+ };
48
+ const original = await this.getViaConnection(connectionId);
49
+ if (!original) {
50
+ const message = `There is no connection with ID "${connectionId}".`;
51
+ console.error(message);
52
+ throw new _error.default(message, "CONNECTION_NOT_FOUND", keys);
53
+ }
54
+ try {
55
+ await (0, _dbDynamodb.deleteItem)({
56
+ entity: this.entity,
57
+ keys
58
+ });
59
+ } catch (ex) {
60
+ console.error(`Could not remove connection from the database: ${original.connectionId}`);
61
+ throw new _error.default(ex.message, ex.code, keys);
62
+ }
63
+ }
64
+ async getViaConnection(connectionId) {
65
+ const item = await (0, _dbDynamodb.get)({
66
+ entity: this.entity,
67
+ keys: {
68
+ PK,
69
+ SK: connectionId
70
+ }
71
+ });
72
+ return item?.data || null;
73
+ }
74
+
75
+ /**
76
+ * Uses Primary keys
77
+ */
78
+ async listViaConnections(connections) {
79
+ const items = connections.map(connectionId => {
80
+ return this.entity.getBatch({
81
+ PK,
82
+ SK: connectionId
83
+ });
84
+ });
85
+ const results = await (0, _dbDynamodb.batchReadAll)({
86
+ table: this.entity.table,
87
+ items
88
+ });
89
+ return results.map(item => {
90
+ return item.data;
91
+ });
92
+ }
93
+
94
+ /**
95
+ * Uses GSI1 keys
96
+ */
97
+ async listViaIdentity(identity) {
98
+ const items = await (0, _dbDynamodb.queryAll)({
99
+ entity: this.entity,
100
+ partitionKey: GSI1_PK,
101
+ options: {
102
+ index: "GSI1",
103
+ eq: identity
104
+ }
105
+ });
106
+ return items.map(item => {
107
+ return item.data;
108
+ });
109
+ }
110
+
111
+ /**
112
+ * Uses GSI2 keys
113
+ */
114
+ async listViaTenant(tenant, locale) {
115
+ let options = {
116
+ beginsWith: `T#${tenant}#L#`
117
+ };
118
+ if (locale) {
119
+ options = {
120
+ eq: `T#${tenant}#L#${locale}`
121
+ };
122
+ }
123
+ const items = await (0, _dbDynamodb.queryAll)({
124
+ entity: this.entity,
125
+ partitionKey: GSI2_PK,
126
+ options: {
127
+ ...options,
128
+ index: "GSI2"
129
+ }
130
+ });
131
+ return items.map(item => {
132
+ return item.data;
133
+ });
134
+ }
135
+ async listAll() {
136
+ const items = await (0, _dbDynamodb.queryAll)({
137
+ entity: this.entity,
138
+ partitionKey: PK,
139
+ options: {
140
+ gte: " "
141
+ }
142
+ });
143
+ return items.map(item => {
144
+ return item.data;
145
+ });
146
+ }
147
+ async store(data) {
148
+ const {
149
+ connectionId,
150
+ tenant,
151
+ locale,
152
+ identity
153
+ } = data;
154
+ const item = {
155
+ // to find specific identity related to given connection
156
+ PK,
157
+ SK: connectionId,
158
+ // to find all connections related to given identity
159
+ GSI1_PK,
160
+ GSI1_SK: identity.id,
161
+ // to find all connections related to given tenant/locale combination
162
+ GSI2_PK,
163
+ GSI2_SK: `T#${tenant}#L#${locale}`,
164
+ data
165
+ };
166
+ try {
167
+ return await (0, _dbDynamodb.put)({
168
+ entity: this.entity,
169
+ item
170
+ });
171
+ } catch (err) {
172
+ throw _error.default.from(err, {
173
+ message: "Could not store websockets connection data.",
174
+ code: "STORE_WEBSOCKETS_CONNECTION_DATA_ERROR",
175
+ data: item
176
+ });
177
+ }
178
+ }
179
+ }
180
+ exports.WebsocketsConnectionRegistry = WebsocketsConnectionRegistry;
181
+
182
+ //# sourceMappingURL=WebsocketsConnectionRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_entity","_dbDynamodb","PK","GSI1_PK","GSI2_PK","WebsocketsConnectionRegistry","constructor","documentClient","entity","createEntity","register","params","connectionId","tenant","locale","identity","domainName","stage","connectedOn","data","store","unregister","keys","SK","original","getViaConnection","message","console","error","WebinyError","deleteItem","ex","code","item","get","listViaConnections","connections","items","map","getBatch","results","batchReadAll","table","listViaIdentity","queryAll","partitionKey","options","index","eq","listViaTenant","beginsWith","listAll","gte","GSI1_SK","id","GSI2_SK","put","err","from","exports"],"sources":["WebsocketsConnectionRegistry.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n IWebsocketsConnectionRegistry,\n IWebsocketsConnectionRegistryData,\n IWebsocketsConnectionRegistryRegisterParams,\n IWebsocketsConnectionRegistryUnregisterParams\n} from \"./abstractions/IWebsocketsConnectionRegistry\";\nimport { createEntity } from \"~/registry/entity\";\nimport { batchReadAll, deleteItem, get, put, queryAll } from \"@webiny/db-dynamodb\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport type { EntityQueryOptions } from \"@webiny/db-dynamodb/toolbox\";\n\nconst PK = `WS#CONNECTIONS`;\nconst GSI1_PK = \"WS#CONNECTIONS#IDENTITY\";\nconst GSI2_PK = \"WS#CONNECTIONS#TENANT#LOCALE\";\n\ninterface IWebsocketsConnectionRegistryDbItem {\n PK: string;\n SK: string;\n GSI1_PK: string;\n GSI1_SK: string;\n GSI2_PK: string;\n GSI2_SK: string;\n data: IWebsocketsConnectionRegistryData;\n}\n\nexport class WebsocketsConnectionRegistry implements IWebsocketsConnectionRegistry {\n private readonly entity: ReturnType<typeof createEntity>;\n\n public constructor(documentClient: DynamoDBDocument) {\n this.entity = createEntity(documentClient);\n }\n\n public async register(\n params: IWebsocketsConnectionRegistryRegisterParams\n ): Promise<IWebsocketsConnectionRegistryData> {\n const { connectionId, tenant, locale, identity, domainName, stage, connectedOn } = params;\n\n const data: IWebsocketsConnectionRegistryData = {\n connectionId,\n identity,\n tenant,\n locale,\n domainName,\n stage,\n connectedOn\n };\n await this.store(data);\n return data;\n }\n\n public async unregister(params: IWebsocketsConnectionRegistryUnregisterParams): Promise<void> {\n const { connectionId } = params;\n\n const keys = {\n PK,\n SK: connectionId\n };\n const original = await this.getViaConnection(connectionId);\n if (!original) {\n const message = `There is no connection with ID \"${connectionId}\".`;\n console.error(message);\n throw new WebinyError(message, \"CONNECTION_NOT_FOUND\", keys);\n }\n\n try {\n await deleteItem({\n entity: this.entity,\n keys\n });\n } catch (ex) {\n console.error(\n `Could not remove connection from the database: ${original.connectionId}`\n );\n throw new WebinyError(ex.message, ex.code, keys);\n }\n }\n\n private async getViaConnection(\n connectionId: string\n ): Promise<IWebsocketsConnectionRegistryData | null> {\n const item = await get<IWebsocketsConnectionRegistryDbItem>({\n entity: this.entity,\n keys: {\n PK,\n SK: connectionId\n }\n });\n return item?.data || null;\n }\n\n /**\n * Uses Primary keys\n */\n public async listViaConnections(\n connections: string[]\n ): Promise<IWebsocketsConnectionRegistryData[]> {\n const items = connections.map(connectionId => {\n return this.entity.getBatch({\n PK,\n SK: connectionId\n });\n });\n\n const results = await batchReadAll<IWebsocketsConnectionRegistryDbItem>({\n table: this.entity.table,\n items\n });\n\n return results.map(item => {\n return item.data;\n });\n }\n\n /**\n * Uses GSI1 keys\n */\n public async listViaIdentity(identity: string): Promise<IWebsocketsConnectionRegistryData[]> {\n const items = await queryAll<IWebsocketsConnectionRegistryDbItem>({\n entity: this.entity,\n partitionKey: GSI1_PK,\n options: {\n index: \"GSI1\",\n eq: identity\n }\n });\n return items.map(item => {\n return item.data;\n });\n }\n\n /**\n * Uses GSI2 keys\n */\n public async listViaTenant(\n tenant: string,\n locale?: string\n ): Promise<IWebsocketsConnectionRegistryData[]> {\n let options: Partial<EntityQueryOptions> = {\n beginsWith: `T#${tenant}#L#`\n };\n if (locale) {\n options = {\n eq: `T#${tenant}#L#${locale}`\n };\n }\n const items = await queryAll<IWebsocketsConnectionRegistryDbItem>({\n entity: this.entity,\n partitionKey: GSI2_PK,\n options: {\n ...options,\n index: \"GSI2\"\n }\n });\n return items.map(item => {\n return item.data;\n });\n }\n\n public async listAll(): Promise<IWebsocketsConnectionRegistryData[]> {\n const items = await queryAll<IWebsocketsConnectionRegistryDbItem>({\n entity: this.entity,\n partitionKey: PK,\n options: {\n gte: \" \"\n }\n });\n return items.map(item => {\n return item.data;\n });\n }\n\n private async store(data: IWebsocketsConnectionRegistryData) {\n const { connectionId, tenant, locale, identity } = data;\n const item: IWebsocketsConnectionRegistryDbItem = {\n // to find specific identity related to given connection\n PK,\n SK: connectionId,\n // to find all connections related to given identity\n GSI1_PK,\n GSI1_SK: identity.id,\n // to find all connections related to given tenant/locale combination\n GSI2_PK,\n GSI2_SK: `T#${tenant}#L#${locale}`,\n data\n };\n try {\n return await put({\n entity: this.entity,\n item\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not store websockets connection data.\",\n code: \"STORE_WEBSOCKETS_CONNECTION_DATA_ERROR\",\n data: item\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import type { IWebsocketsIdentity } from "../../context/abstractions/IWebsocketsContext";
2
+ export interface IWebsocketsConnectionRegistryData {
3
+ connectionId: string;
4
+ identity: IWebsocketsIdentity;
5
+ tenant: string;
6
+ locale: string;
7
+ connectedOn: string;
8
+ domainName: string;
9
+ stage: string;
10
+ }
11
+ export interface IWebsocketsConnectionRegistryRegisterParams {
12
+ connectionId: string;
13
+ tenant: string;
14
+ locale: string;
15
+ identity: IWebsocketsIdentity;
16
+ domainName: string;
17
+ stage: string;
18
+ /**
19
+ * A DateTime.toISOString() format.
20
+ */
21
+ connectedOn: string;
22
+ }
23
+ export interface IWebsocketsConnectionRegistryUnregisterParams {
24
+ connectionId: string;
25
+ }
26
+ export interface IWebsocketsConnectionRegistry {
27
+ register(event: IWebsocketsConnectionRegistryRegisterParams): Promise<IWebsocketsConnectionRegistryData>;
28
+ unregister(event: IWebsocketsConnectionRegistryUnregisterParams): Promise<void>;
29
+ listViaConnections(connections: string[]): Promise<IWebsocketsConnectionRegistryData[]>;
30
+ listViaIdentity(identity: string): Promise<IWebsocketsConnectionRegistryData[]>;
31
+ listViaTenant(tenant: string, locale?: string): Promise<IWebsocketsConnectionRegistryData[]>;
32
+ listAll(): Promise<IWebsocketsConnectionRegistryData[]>;
33
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IWebsocketsConnectionRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IWebsocketsConnectionRegistry.ts"],"sourcesContent":["import type { IWebsocketsIdentity } from \"~/context/abstractions/IWebsocketsContext\";\n\nexport interface IWebsocketsConnectionRegistryData {\n connectionId: string;\n identity: IWebsocketsIdentity;\n tenant: string;\n locale: string;\n connectedOn: string;\n domainName: string;\n stage: string;\n}\n\nexport interface IWebsocketsConnectionRegistryRegisterParams {\n connectionId: string;\n tenant: string;\n locale: string;\n identity: IWebsocketsIdentity;\n domainName: string;\n stage: string;\n /**\n * A DateTime.toISOString() format.\n */\n connectedOn: string;\n}\n\nexport interface IWebsocketsConnectionRegistryUnregisterParams {\n connectionId: string;\n}\n\nexport interface IWebsocketsConnectionRegistry {\n register(\n event: IWebsocketsConnectionRegistryRegisterParams\n ): Promise<IWebsocketsConnectionRegistryData>;\n unregister(event: IWebsocketsConnectionRegistryUnregisterParams): Promise<void>;\n\n listViaConnections(connections: string[]): Promise<IWebsocketsConnectionRegistryData[]>;\n listViaIdentity(identity: string): Promise<IWebsocketsConnectionRegistryData[]>;\n listViaTenant(tenant: string, locale?: string): Promise<IWebsocketsConnectionRegistryData[]>;\n listAll(): Promise<IWebsocketsConnectionRegistryData[]>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,108 @@
1
+ import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
2
+ import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
3
+ export declare const createEntity: (documentClient: DynamoDBDocument) => Entity<"SocketsConnectionRegistry", undefined, undefined, Table<string, "PK", "SK">, true, true, true, "created", "modified", "entity", false, {
4
+ PK: {
5
+ partitionKey: true;
6
+ };
7
+ SK: {
8
+ sortKey: true;
9
+ };
10
+ GSI1_PK: {
11
+ type: "string";
12
+ };
13
+ GSI1_SK: {
14
+ type: "string";
15
+ };
16
+ GSI2_PK: {
17
+ type: "string";
18
+ };
19
+ GSI2_SK: {
20
+ type: "string";
21
+ };
22
+ TYPE: {
23
+ type: "string";
24
+ default: string;
25
+ };
26
+ data: {
27
+ type: "map";
28
+ };
29
+ }, {
30
+ PK: {
31
+ partitionKey: true;
32
+ };
33
+ SK: {
34
+ sortKey: true;
35
+ };
36
+ GSI1_PK: {
37
+ type: "string";
38
+ };
39
+ GSI1_SK: {
40
+ type: "string";
41
+ };
42
+ GSI2_PK: {
43
+ type: "string";
44
+ };
45
+ GSI2_SK: {
46
+ type: "string";
47
+ };
48
+ TYPE: {
49
+ type: "string";
50
+ default: string;
51
+ };
52
+ data: {
53
+ type: "map";
54
+ };
55
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParseAttributes<{
56
+ PK: {
57
+ partitionKey: true;
58
+ };
59
+ SK: {
60
+ sortKey: true;
61
+ };
62
+ GSI1_PK: {
63
+ type: "string";
64
+ };
65
+ GSI1_SK: {
66
+ type: "string";
67
+ };
68
+ GSI2_PK: {
69
+ type: "string";
70
+ };
71
+ GSI2_SK: {
72
+ type: "string";
73
+ };
74
+ TYPE: {
75
+ type: "string";
76
+ default: string;
77
+ };
78
+ data: {
79
+ type: "map";
80
+ };
81
+ }, true, "created", "modified", "entity", false>, {
82
+ data?: any;
83
+ GSI1_PK?: string | undefined;
84
+ GSI1_SK?: string | undefined;
85
+ GSI2_PK?: string | undefined;
86
+ GSI2_SK?: string | undefined;
87
+ TYPE?: string | undefined;
88
+ created: string;
89
+ modified: string;
90
+ entity: string;
91
+ PK: any;
92
+ SK: any;
93
+ }, {
94
+ data?: any;
95
+ GSI1_PK?: string | undefined;
96
+ GSI1_SK?: string | undefined;
97
+ GSI2_PK?: string | undefined;
98
+ GSI2_SK?: string | undefined;
99
+ TYPE?: string | undefined;
100
+ created: string;
101
+ modified: string;
102
+ entity: string;
103
+ PK: any;
104
+ SK: any;
105
+ }, {
106
+ PK: any;
107
+ SK: any;
108
+ }>;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createEntity = void 0;
7
+ var _toolbox = require("@webiny/db-dynamodb/toolbox");
8
+ const name = "SocketsConnectionRegistry";
9
+ const createEntity = documentClient => {
10
+ const table = new _toolbox.Table({
11
+ name: String(process.env.DB_TABLE),
12
+ partitionKey: "PK",
13
+ sortKey: "SK",
14
+ DocumentClient: documentClient,
15
+ indexes: {
16
+ GSI1: {
17
+ partitionKey: "GSI1_PK",
18
+ sortKey: "GSI1_SK"
19
+ },
20
+ GSI2: {
21
+ partitionKey: "GSI2_PK",
22
+ sortKey: "GSI2_SK"
23
+ }
24
+ },
25
+ autoExecute: true,
26
+ autoParse: true
27
+ });
28
+ return new _toolbox.Entity({
29
+ name,
30
+ table,
31
+ attributes: {
32
+ PK: {
33
+ partitionKey: true
34
+ },
35
+ SK: {
36
+ sortKey: true
37
+ },
38
+ GSI1_PK: {
39
+ type: "string"
40
+ },
41
+ GSI1_SK: {
42
+ type: "string"
43
+ },
44
+ GSI2_PK: {
45
+ type: "string"
46
+ },
47
+ GSI2_SK: {
48
+ type: "string"
49
+ },
50
+ TYPE: {
51
+ type: "string",
52
+ default: name
53
+ },
54
+ data: {
55
+ type: "map"
56
+ }
57
+ }
58
+ });
59
+ };
60
+ exports.createEntity = createEntity;
61
+
62
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_toolbox","require","name","createEntity","documentClient","table","Table","String","process","env","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1","GSI2","autoExecute","autoParse","Entity","attributes","PK","SK","GSI1_PK","type","GSI1_SK","GSI2_PK","GSI2_SK","TYPE","default","data","exports"],"sources":["entity.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\n\nconst name = \"SocketsConnectionRegistry\";\n\nexport const createEntity = (documentClient: DynamoDBDocument) => {\n const table = new Table({\n name: String(process.env.DB_TABLE),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n },\n GSI2: {\n partitionKey: \"GSI2_PK\",\n sortKey: \"GSI2_SK\"\n }\n },\n autoExecute: true,\n autoParse: true\n });\n\n return new Entity({\n name,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n GSI2_PK: {\n type: \"string\"\n },\n GSI2_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\",\n default: name\n },\n data: {\n type: \"map\"\n }\n }\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,IAAI,GAAG,2BAA2B;AAEjC,MAAMC,YAAY,GAAIC,cAAgC,IAAK;EAC9D,MAAMC,KAAK,GAAG,IAAIC,cAAK,CAAC;IACpBJ,IAAI,EAAEK,MAAM,CAACC,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;IAClCC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAET,cAAc;IAC9BU,OAAO,EAAE;MACLC,IAAI,EAAE;QACFJ,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb,CAAC;MACDI,IAAI,EAAE;QACFL,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb;IACJ,CAAC;IACDK,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;EAEF,OAAO,IAAIC,eAAM,CAAC;IACdjB,IAAI;IACJG,KAAK;IACLe,UAAU,EAAE;MACRC,EAAE,EAAE;QACAV,YAAY,EAAE;MAClB,CAAC;MACDW,EAAE,EAAE;QACAV,OAAO,EAAE;MACb,CAAC;MACDW,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,OAAO,EAAE;QACLF,IAAI,EAAE;MACV,CAAC;MACDG,OAAO,EAAE;QACLH,IAAI,EAAE;MACV,CAAC;MACDI,IAAI,EAAE;QACFJ,IAAI,EAAE,QAAQ;QACdK,OAAO,EAAE3B;MACb,CAAC;MACD4B,IAAI,EAAE;QACFN,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACO,OAAA,CAAA5B,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./abstractions/IWebsocketsConnectionRegistry";
2
+ export * from "./WebsocketsConnectionRegistry";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _IWebsocketsConnectionRegistry = require("./abstractions/IWebsocketsConnectionRegistry");
7
+ Object.keys(_IWebsocketsConnectionRegistry).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _IWebsocketsConnectionRegistry[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _IWebsocketsConnectionRegistry[key];
14
+ }
15
+ });
16
+ });
17
+ var _WebsocketsConnectionRegistry = require("./WebsocketsConnectionRegistry");
18
+ Object.keys(_WebsocketsConnectionRegistry).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _WebsocketsConnectionRegistry[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _WebsocketsConnectionRegistry[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_IWebsocketsConnectionRegistry","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_WebsocketsConnectionRegistry"],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions/IWebsocketsConnectionRegistry\";\nexport * from \"./WebsocketsConnectionRegistry\";\n"],"mappings":";;;;;AAAA,IAAAA,8BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,8BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,8BAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,8BAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,6BAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,6BAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,6BAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,6BAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { IWebsocketsResponse, IWebsocketsResponseErrorParams, IWebsocketsResponseErrorResult, IWebsocketsResponseOkParams, IWebsocketsResponseOkResult } from "./abstractions/IWebsocketsResponse";
2
+ export declare class WebsocketsResponse implements IWebsocketsResponse {
3
+ ok(params?: IWebsocketsResponseOkParams): IWebsocketsResponseOkResult;
4
+ error(params: IWebsocketsResponseErrorParams): IWebsocketsResponseErrorResult;
5
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WebsocketsResponse = void 0;
7
+ class WebsocketsResponse {
8
+ ok(params) {
9
+ return {
10
+ statusCode: 200,
11
+ ...params
12
+ };
13
+ }
14
+ error(params) {
15
+ return {
16
+ ...params,
17
+ statusCode: params.statusCode || 200,
18
+ error: {
19
+ ...params.error,
20
+ message: params.error?.message || params.message,
21
+ code: params.error?.code || "UNKNOWN_ERROR",
22
+ data: params.error?.data || {}
23
+ }
24
+ };
25
+ }
26
+ }
27
+ exports.WebsocketsResponse = WebsocketsResponse;
28
+
29
+ //# sourceMappingURL=WebsocketsResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebsocketsResponse","ok","params","statusCode","error","message","code","data","exports"],"sources":["WebsocketsResponse.ts"],"sourcesContent":["import type {\n IWebsocketsResponse,\n IWebsocketsResponseErrorParams,\n IWebsocketsResponseErrorResult,\n IWebsocketsResponseOkParams,\n IWebsocketsResponseOkResult\n} from \"./abstractions/IWebsocketsResponse\";\n\nexport class WebsocketsResponse implements IWebsocketsResponse {\n public ok(params?: IWebsocketsResponseOkParams): IWebsocketsResponseOkResult {\n return {\n statusCode: 200,\n ...params\n };\n }\n\n public error(params: IWebsocketsResponseErrorParams): IWebsocketsResponseErrorResult {\n return {\n ...params,\n statusCode: params.statusCode || 200,\n error: {\n ...params.error,\n message: params.error?.message || params.message,\n code: params.error?.code || \"UNKNOWN_ERROR\",\n data: params.error?.data || {}\n }\n };\n }\n}\n"],"mappings":";;;;;;AAQO,MAAMA,kBAAkB,CAAgC;EACpDC,EAAEA,CAACC,MAAoC,EAA+B;IACzE,OAAO;MACHC,UAAU,EAAE,GAAG;MACf,GAAGD;IACP,CAAC;EACL;EAEOE,KAAKA,CAACF,MAAsC,EAAkC;IACjF,OAAO;MACH,GAAGA,MAAM;MACTC,UAAU,EAAED,MAAM,CAACC,UAAU,IAAI,GAAG;MACpCC,KAAK,EAAE;QACH,GAAGF,MAAM,CAACE,KAAK;QACfC,OAAO,EAAEH,MAAM,CAACE,KAAK,EAAEC,OAAO,IAAIH,MAAM,CAACG,OAAO;QAChDC,IAAI,EAAEJ,MAAM,CAACE,KAAK,EAAEE,IAAI,IAAI,eAAe;QAC3CC,IAAI,EAAEL,MAAM,CAACE,KAAK,EAAEG,IAAI,IAAI,CAAC;MACjC;IACJ,CAAC;EACL;AACJ;AAACC,OAAA,CAAAR,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import type { GenericRecord } from "@webiny/api/types";
2
+ export interface IWebsocketsResponseOkParams {
3
+ message?: string;
4
+ data?: GenericRecord<string>;
5
+ }
6
+ export interface IWebsocketsResponseOkResult {
7
+ statusCode: number;
8
+ data?: GenericRecord<string>;
9
+ message?: string;
10
+ }
11
+ export interface IWebsocketsResponseErrorParams {
12
+ statusCode?: number;
13
+ error?: Omit<IWebsocketsResponseErrorResultError, "data"> & Partial<Pick<IWebsocketsResponseErrorResultError, "data">>;
14
+ message: string;
15
+ }
16
+ export interface IWebsocketsResponseErrorResultError {
17
+ message: string;
18
+ code: string;
19
+ data: GenericRecord<string>;
20
+ stack?: string;
21
+ }
22
+ export interface IWebsocketsResponseErrorResult {
23
+ statusCode: number;
24
+ error: IWebsocketsResponseErrorResultError;
25
+ }
26
+ export interface IWebsocketsResponse {
27
+ ok(params?: IWebsocketsResponseOkParams): IWebsocketsResponseOkResult;
28
+ error(params: IWebsocketsResponseErrorParams): IWebsocketsResponseErrorResult;
29
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IWebsocketsResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IWebsocketsResponse.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types\";\n\nexport interface IWebsocketsResponseOkParams {\n message?: string;\n data?: GenericRecord<string>;\n}\n\nexport interface IWebsocketsResponseOkResult {\n statusCode: number;\n data?: GenericRecord<string>;\n message?: string;\n}\n\nexport interface IWebsocketsResponseErrorParams {\n statusCode?: number;\n error?: Omit<IWebsocketsResponseErrorResultError, \"data\"> &\n Partial<Pick<IWebsocketsResponseErrorResultError, \"data\">>;\n message: string;\n}\n\nexport interface IWebsocketsResponseErrorResultError {\n message: string;\n code: string;\n data: GenericRecord<string>;\n stack?: string;\n}\n\nexport interface IWebsocketsResponseErrorResult {\n statusCode: number;\n error: IWebsocketsResponseErrorResultError;\n}\n\nexport interface IWebsocketsResponse {\n ok(params?: IWebsocketsResponseOkParams): IWebsocketsResponseOkResult;\n error(params: IWebsocketsResponseErrorParams): IWebsocketsResponseErrorResult;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./abstractions/IWebsocketsResponse";
2
+ export * from "./WebsocketsResponse";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _IWebsocketsResponse = require("./abstractions/IWebsocketsResponse");
7
+ Object.keys(_IWebsocketsResponse).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _IWebsocketsResponse[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _IWebsocketsResponse[key];
14
+ }
15
+ });
16
+ });
17
+ var _WebsocketsResponse = require("./WebsocketsResponse");
18
+ Object.keys(_WebsocketsResponse).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _WebsocketsResponse[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _WebsocketsResponse[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_IWebsocketsResponse","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_WebsocketsResponse"],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions/IWebsocketsResponse\";\nexport * from \"./WebsocketsResponse\";\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,mBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,mBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,mBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,mBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import type { IWebsocketsEventData, IWebsocketsIncomingEvent } from "../handler/types";
2
+ import type { Context } from "../types";
3
+ import type { IWebsocketsEventValidator } from "../validator";
4
+ import type { IWebsocketsRunner, IWebsocketsRunnerResponse } from "./abstractions/IWebsocketsRunner";
5
+ import type { IWebsocketsConnectionRegistry } from "../registry";
6
+ import type { IWebsocketsResponse } from "../response";
7
+ export declare class WebsocketsRunner implements IWebsocketsRunner {
8
+ private readonly context;
9
+ private readonly registry;
10
+ private readonly validator;
11
+ private readonly response;
12
+ constructor(context: Context, registry: IWebsocketsConnectionRegistry, validator: IWebsocketsEventValidator, response: IWebsocketsResponse);
13
+ run<T extends IWebsocketsEventData = IWebsocketsEventData>(input: IWebsocketsIncomingEvent): Promise<IWebsocketsRunnerResponse>;
14
+ private getRoutePlugins;
15
+ private executeRoute;
16
+ private respond;
17
+ }