@webiny/api-websockets 6.0.0-beta.0 → 6.0.0-rc.1
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/README.md +10 -9
- package/context/WebsocketsContext.d.ts +10 -8
- package/context/WebsocketsContext.js +44 -33
- package/context/WebsocketsContext.js.map +1 -1
- package/context/abstractions/IWebsocketsContext.d.ts +12 -11
- package/context/abstractions/IWebsocketsContext.js +1 -5
- package/context/abstractions/IWebsocketsContext.js.map +1 -1
- package/context/index.d.ts +2 -3
- package/context/index.js +11 -42
- package/context/index.js.map +1 -1
- package/features/WebsocketService/abstractions.d.ts +9 -0
- package/features/WebsocketService/abstractions.js +4 -0
- package/features/WebsocketService/abstractions.js.map +1 -0
- package/features/WebsocketService/errors.d.ts +19 -0
- package/features/WebsocketService/errors.js +36 -0
- package/features/WebsocketService/errors.js.map +1 -0
- package/features/WebsocketService/index.d.ts +1 -0
- package/features/WebsocketService/index.js +3 -0
- package/features/WebsocketService/index.js.map +1 -0
- package/graphql/checkPermissions.d.ts +1 -1
- package/graphql/checkPermissions.js +6 -11
- package/graphql/checkPermissions.js.map +1 -1
- package/graphql/createResolvers.d.ts +2 -3
- package/graphql/createResolvers.js +41 -32
- package/graphql/createResolvers.js.map +1 -1
- package/graphql/createTypeDefs.js +2 -11
- package/graphql/createTypeDefs.js.map +1 -1
- package/graphql/index.d.ts +1 -1
- package/graphql/index.js +7 -14
- package/graphql/index.js.map +1 -1
- package/graphql/utils.js +5 -13
- package/graphql/utils.js.map +1 -1
- package/handler/handler.d.ts +1 -1
- package/handler/handler.js +45 -48
- package/handler/handler.js.map +1 -1
- package/handler/headers.d.ts +1 -2
- package/handler/headers.js +1 -13
- package/handler/headers.js.map +1 -1
- package/handler/register.js +5 -7
- package/handler/register.js.map +1 -1
- package/handler/types.d.ts +6 -9
- package/handler/types.js +2 -8
- package/handler/types.js.map +1 -1
- package/index.d.ts +9 -9
- package/index.js +11 -98
- package/index.js.map +1 -1
- package/package.json +28 -36
- package/plugins/WebsocketsActionPlugin.d.ts +3 -3
- package/plugins/WebsocketsActionPlugin.js +3 -11
- package/plugins/WebsocketsActionPlugin.js.map +1 -1
- package/plugins/WebsocketsRoutePlugin.d.ts +6 -7
- package/plugins/WebsocketsRoutePlugin.js +3 -11
- package/plugins/WebsocketsRoutePlugin.js.map +1 -1
- package/plugins/abstrations/IWebsocketsActionPlugin.d.ts +3 -4
- package/plugins/abstrations/IWebsocketsActionPlugin.js +1 -5
- package/plugins/abstrations/IWebsocketsActionPlugin.js.map +1 -1
- package/plugins/index.d.ts +3 -3
- package/plugins/index.js +2 -38
- package/plugins/index.js.map +1 -1
- package/registry/WebsocketsConnectionRegistry.d.ts +3 -3
- package/registry/WebsocketsConnectionRegistry.js +34 -59
- package/registry/WebsocketsConnectionRegistry.js.map +1 -1
- package/registry/abstractions/IWebsocketsConnectionRegistry.d.ts +2 -4
- package/registry/abstractions/IWebsocketsConnectionRegistry.js +1 -5
- package/registry/abstractions/IWebsocketsConnectionRegistry.js.map +1 -1
- package/registry/entity.d.ts +3 -108
- package/registry/entity.js +18 -33
- package/registry/entity.js.map +1 -1
- package/registry/index.d.ts +2 -2
- package/registry/index.js +1 -27
- package/registry/index.js.map +1 -1
- package/response/WebsocketsResponse.d.ts +1 -1
- package/response/WebsocketsResponse.js +1 -8
- package/response/WebsocketsResponse.js.map +1 -1
- package/response/abstractions/IWebsocketsResponse.d.ts +1 -1
- package/response/abstractions/IWebsocketsResponse.js +1 -5
- package/response/abstractions/IWebsocketsResponse.js.map +1 -1
- package/response/index.d.ts +2 -2
- package/response/index.js +1 -27
- package/response/index.js.map +1 -1
- package/runner/WebsocketsRunner.d.ts +6 -6
- package/runner/WebsocketsRunner.js +10 -23
- package/runner/WebsocketsRunner.js.map +1 -1
- package/runner/abstractions/IWebsocketsRunner.d.ts +2 -2
- package/runner/abstractions/IWebsocketsRunner.js +1 -5
- package/runner/abstractions/IWebsocketsRunner.js.map +1 -1
- package/runner/index.d.ts +2 -2
- package/runner/index.js +1 -27
- package/runner/index.js.map +1 -1
- package/runner/routes/connect.d.ts +1 -1
- package/runner/routes/connect.js +9 -19
- package/runner/routes/connect.js.map +1 -1
- package/runner/routes/default.d.ts +1 -1
- package/runner/routes/default.js +4 -17
- package/runner/routes/default.js.map +1 -1
- package/runner/routes/disconnect.d.ts +1 -1
- package/runner/routes/disconnect.js +4 -11
- package/runner/routes/disconnect.js.map +1 -1
- package/runner/routes/index.d.ts +1 -1
- package/runner/routes/index.js +5 -12
- package/runner/routes/index.js.map +1 -1
- package/transport/WebsocketsTransport.d.ts +2 -2
- package/transport/WebsocketsTransport.js +5 -12
- package/transport/WebsocketsTransport.js.map +1 -1
- package/transport/abstractions/IWebsocketsTransport.d.ts +4 -4
- package/transport/abstractions/IWebsocketsTransport.js +1 -5
- package/transport/abstractions/IWebsocketsTransport.js.map +1 -1
- package/transport/index.d.ts +2 -2
- package/transport/index.js +1 -27
- package/transport/index.js.map +1 -1
- package/types.d.ts +5 -5
- package/types.js +1 -5
- package/types.js.map +1 -1
- package/utils/middleware.d.ts +2 -2
- package/utils/middleware.js +1 -8
- package/utils/middleware.js.map +1 -1
- package/validator/WebsocketsEventValidator.d.ts +2 -2
- package/validator/WebsocketsEventValidator.js +25 -34
- package/validator/WebsocketsEventValidator.js.map +1 -1
- package/validator/abstractions/IWebsocketsEventValidator.d.ts +2 -2
- package/validator/abstractions/IWebsocketsEventValidator.js +1 -5
- package/validator/abstractions/IWebsocketsEventValidator.js.map +1 -1
- package/validator/index.d.ts +2 -2
- package/validator/index.js +1 -27
- package/validator/index.js.map +1 -1
|
@@ -1,71 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createResolvers = void 0;
|
|
7
|
-
var _utils = require("./utils");
|
|
8
|
-
var _checkPermissions = require("./checkPermissions");
|
|
9
|
-
const createResolvers = () => {
|
|
1
|
+
import { emptyResolver, resolve } from "./utils.js";
|
|
2
|
+
import { checkPermissions } from "./checkPermissions.js";
|
|
3
|
+
export const createResolvers = () => {
|
|
10
4
|
return {
|
|
11
5
|
Query: {
|
|
12
|
-
websockets:
|
|
6
|
+
websockets: emptyResolver
|
|
13
7
|
},
|
|
14
8
|
Mutation: {
|
|
15
|
-
websockets:
|
|
9
|
+
websockets: emptyResolver
|
|
16
10
|
},
|
|
17
11
|
WebsocketsQuery: {
|
|
18
12
|
listConnections: async (_, args, context) => {
|
|
19
|
-
return
|
|
20
|
-
await
|
|
21
|
-
|
|
13
|
+
return resolve(async () => {
|
|
14
|
+
await checkPermissions(context);
|
|
15
|
+
const result = await context.websockets.listConnections(args);
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
throw result.error;
|
|
18
|
+
}
|
|
19
|
+
return result.value;
|
|
22
20
|
});
|
|
23
21
|
}
|
|
24
22
|
},
|
|
25
23
|
WebsocketsMutation: {
|
|
26
|
-
// @ts-expect-error
|
|
27
24
|
disconnect: async (_, args, context) => {
|
|
28
|
-
return
|
|
29
|
-
await
|
|
30
|
-
|
|
25
|
+
return resolve(async () => {
|
|
26
|
+
await checkPermissions(context);
|
|
27
|
+
const result = await context.websockets.disconnect({
|
|
31
28
|
where: {
|
|
32
29
|
connections: args.connections
|
|
33
30
|
}
|
|
34
31
|
});
|
|
32
|
+
if (result.isFail()) {
|
|
33
|
+
throw result.error;
|
|
34
|
+
}
|
|
35
|
+
return result.value;
|
|
35
36
|
});
|
|
36
37
|
},
|
|
37
|
-
// @ts-expect-error
|
|
38
38
|
disconnectIdentity: async (_, args, context) => {
|
|
39
|
-
return
|
|
40
|
-
await
|
|
41
|
-
|
|
39
|
+
return resolve(async () => {
|
|
40
|
+
await checkPermissions(context);
|
|
41
|
+
const result = await context.websockets.disconnect({
|
|
42
42
|
where: {
|
|
43
43
|
identityId: args.identityId
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
+
if (result.isFail()) {
|
|
47
|
+
throw result.error;
|
|
48
|
+
}
|
|
49
|
+
return result.value;
|
|
46
50
|
});
|
|
47
51
|
},
|
|
48
|
-
// @ts-expect-error
|
|
49
52
|
disconnectTenant: async (_, args, context) => {
|
|
50
|
-
return
|
|
51
|
-
await
|
|
52
|
-
|
|
53
|
+
return resolve(async () => {
|
|
54
|
+
await checkPermissions(context);
|
|
55
|
+
const result = await context.websockets.disconnect({
|
|
53
56
|
where: {
|
|
54
|
-
tenant: args.tenant
|
|
55
|
-
locale: args.locale
|
|
57
|
+
tenant: args.tenant
|
|
56
58
|
}
|
|
57
59
|
});
|
|
60
|
+
if (result.isFail()) {
|
|
61
|
+
throw result.error;
|
|
62
|
+
}
|
|
63
|
+
return result.value;
|
|
58
64
|
});
|
|
59
65
|
},
|
|
60
66
|
disconnectAll: async (_, __, context) => {
|
|
61
|
-
return
|
|
62
|
-
await
|
|
63
|
-
|
|
67
|
+
return resolve(async () => {
|
|
68
|
+
await checkPermissions(context);
|
|
69
|
+
const result = await context.websockets.disconnect();
|
|
70
|
+
if (result.isFail()) {
|
|
71
|
+
throw result.error;
|
|
72
|
+
}
|
|
73
|
+
return result.value;
|
|
64
74
|
});
|
|
65
75
|
}
|
|
66
76
|
}
|
|
67
77
|
};
|
|
68
78
|
};
|
|
69
|
-
exports.createResolvers = createResolvers;
|
|
70
79
|
|
|
71
80
|
//# sourceMappingURL=createResolvers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["emptyResolver","resolve","checkPermissions","createResolvers","Query","websockets","Mutation","WebsocketsQuery","listConnections","_","args","context","result","isFail","error","value","WebsocketsMutation","disconnect","where","connections","disconnectIdentity","identityId","disconnectTenant","tenant","disconnectAll","__"],"sources":["createResolvers.ts"],"sourcesContent":["import type { Resolvers } from \"@webiny/handler-graphql/types.js\";\nimport type { Context } from \"~/types.js\";\nimport { emptyResolver, resolve } from \"./utils.js\";\nimport type { IWebsocketsContextListConnectionsParams } from \"~/context/index.js\";\nimport type { IWebsocketsConnectionRegistryData } from \"~/registry/index.js\";\nimport { checkPermissions } from \"~/graphql/checkPermissions.js\";\n\nexport interface IWebsocketsMutationDisconnectConnectionsArgs {\n connections: string[];\n}\n\nexport interface IWebsocketsMutationDisconnectIdentityArgs {\n identityId: string;\n}\n\nexport interface IWebsocketsMutationDisconnectTenantArgs {\n tenant: string;\n}\n\nexport const createResolvers = (): Resolvers<Context> => {\n return {\n Query: {\n websockets: emptyResolver\n },\n Mutation: {\n websockets: emptyResolver\n },\n WebsocketsQuery: {\n listConnections: async (_, args: IWebsocketsContextListConnectionsParams, context) => {\n return resolve(async () => {\n await checkPermissions(context);\n const result = await context.websockets.listConnections(args);\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n });\n }\n },\n WebsocketsMutation: {\n disconnect: async (_, args: IWebsocketsMutationDisconnectConnectionsArgs, context) => {\n return resolve(async () => {\n await checkPermissions(context);\n const result = await context.websockets.disconnect({\n where: {\n connections: args.connections\n }\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n });\n },\n disconnectIdentity: async (\n _,\n args: IWebsocketsMutationDisconnectIdentityArgs,\n context\n ) => {\n return resolve<IWebsocketsConnectionRegistryData[]>(async () => {\n await checkPermissions(context);\n const result = await context.websockets.disconnect({\n where: {\n identityId: args.identityId\n }\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n });\n },\n disconnectTenant: async (_, args: IWebsocketsMutationDisconnectTenantArgs, context) => {\n return resolve<IWebsocketsConnectionRegistryData[]>(async () => {\n await checkPermissions(context);\n const result = await context.websockets.disconnect({\n where: {\n tenant: args.tenant\n }\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n });\n },\n disconnectAll: async (_, __, context) => {\n return resolve<IWebsocketsConnectionRegistryData[]>(async () => {\n await checkPermissions(context);\n const result = await context.websockets.disconnect();\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return result.value;\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createTypeDefs = void 0;
|
|
7
|
-
const createTypeDefs = () => {
|
|
1
|
+
export const createTypeDefs = () => {
|
|
8
2
|
return /* GraphQL */`
|
|
9
3
|
type WebsocketsIdentity {
|
|
10
4
|
id: String!
|
|
@@ -18,7 +12,6 @@ const createTypeDefs = () => {
|
|
|
18
12
|
identity: WebsocketsIdentity!
|
|
19
13
|
connectedOn: DateTime!
|
|
20
14
|
tenant: String!
|
|
21
|
-
locale: String!
|
|
22
15
|
}
|
|
23
16
|
|
|
24
17
|
type WebsocketsError {
|
|
@@ -35,7 +28,6 @@ const createTypeDefs = () => {
|
|
|
35
28
|
input WebsocketsListConnectionsWhereInput {
|
|
36
29
|
identityId: String
|
|
37
30
|
tenant: String
|
|
38
|
-
locale: String
|
|
39
31
|
}
|
|
40
32
|
|
|
41
33
|
type WebsocketsDisconnectResponse {
|
|
@@ -68,11 +60,10 @@ const createTypeDefs = () => {
|
|
|
68
60
|
extend type WebsocketsMutation {
|
|
69
61
|
disconnect(connections: [String!]!): WebsocketsDisconnectResponse!
|
|
70
62
|
disconnectIdentity(identityId: String!): WebsocketsDisconnectResponse!
|
|
71
|
-
disconnectTenant(tenant: String
|
|
63
|
+
disconnectTenant(tenant: String!): WebsocketsDisconnectResponse!
|
|
72
64
|
disconnectAll: WebsocketsDisconnectResponse!
|
|
73
65
|
}
|
|
74
66
|
`;
|
|
75
67
|
};
|
|
76
|
-
exports.createTypeDefs = createTypeDefs;
|
|
77
68
|
|
|
78
69
|
//# sourceMappingURL=createTypeDefs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createTypeDefs"
|
|
1
|
+
{"version":3,"names":["createTypeDefs"],"sources":["createTypeDefs.ts"],"sourcesContent":["export const createTypeDefs = () => {\n return /* GraphQL */ `\n type WebsocketsIdentity {\n id: String!\n type: String\n displayName: String\n }\n type WebsocketsConnection {\n connectionId: String!\n domainName: String!\n stage: String!\n identity: WebsocketsIdentity!\n connectedOn: DateTime!\n tenant: String!\n }\n\n type WebsocketsError {\n message: String!\n code: String!\n data: JSON\n }\n\n type WebsocketsListConnectionsResponse {\n data: [WebsocketsConnection!]\n error: WebsocketsError\n }\n\n input WebsocketsListConnectionsWhereInput {\n identityId: String\n tenant: String\n }\n\n type WebsocketsDisconnectResponse {\n data: [WebsocketsConnection!]\n error: WebsocketsError\n }\n\n type WebsocketsQuery {\n _empty: String\n }\n\n type WebsocketsMutation {\n _empty: String\n }\n\n extend type Query {\n websockets: WebsocketsQuery\n }\n\n extend type Mutation {\n websockets: WebsocketsMutation\n }\n\n extend type WebsocketsQuery {\n listConnections(\n where: WebsocketsListConnectionsWhereInput\n ): WebsocketsListConnectionsResponse!\n }\n\n extend type WebsocketsMutation {\n disconnect(connections: [String!]!): WebsocketsDisconnectResponse!\n disconnectIdentity(identityId: String!): WebsocketsDisconnectResponse!\n disconnectTenant(tenant: String!): WebsocketsDisconnectResponse!\n disconnectAll: WebsocketsDisconnectResponse!\n }\n `;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAGA,CAAA,KAAM;EAChC,OAAO,aAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC","ignoreList":[]}
|
package/graphql/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
2
|
-
export declare const createWebsocketsGraphQL: () => GraphQLSchemaPlugin<import("
|
|
2
|
+
export declare const createWebsocketsGraphQL: () => GraphQLSchemaPlugin<import("../types.js").Context>;
|
package/graphql/index.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _createTypeDefs = require("./createTypeDefs");
|
|
9
|
-
var _createResolvers = require("./createResolvers");
|
|
10
|
-
const createWebsocketsGraphQL = () => {
|
|
11
|
-
const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
|
|
12
|
-
typeDefs: (0, _createTypeDefs.createTypeDefs)(),
|
|
13
|
-
resolvers: (0, _createResolvers.createResolvers)()
|
|
1
|
+
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
2
|
+
import { createTypeDefs } from "./createTypeDefs.js";
|
|
3
|
+
import { createResolvers } from "./createResolvers.js";
|
|
4
|
+
export const createWebsocketsGraphQL = () => {
|
|
5
|
+
const plugin = new GraphQLSchemaPlugin({
|
|
6
|
+
typeDefs: createTypeDefs(),
|
|
7
|
+
resolvers: createResolvers()
|
|
14
8
|
});
|
|
15
9
|
plugin.name = "websockets.graphql";
|
|
16
10
|
return plugin;
|
|
17
11
|
};
|
|
18
|
-
exports.createWebsocketsGraphQL = createWebsocketsGraphQL;
|
|
19
12
|
|
|
20
13
|
//# sourceMappingURL=index.js.map
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["GraphQLSchemaPlugin","createTypeDefs","createResolvers","createWebsocketsGraphQL","plugin","typeDefs","resolvers","name"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { createTypeDefs } from \"./createTypeDefs.js\";\nimport { createResolvers } from \"./createResolvers.js\";\n\nexport const createWebsocketsGraphQL = () => {\n const plugin = new GraphQLSchemaPlugin({\n typeDefs: createTypeDefs(),\n resolvers: createResolvers()\n });\n\n plugin.name = \"websockets.graphql\";\n\n return plugin;\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,cAAc;AACvB,SAASC,eAAe;AAExB,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EACzC,MAAMC,MAAM,GAAG,IAAIJ,mBAAmB,CAAC;IACnCK,QAAQ,EAAEJ,cAAc,CAAC,CAAC;IAC1BK,SAAS,EAAEJ,eAAe,CAAC;EAC/B,CAAC,CAAC;EAEFE,MAAM,CAACG,IAAI,GAAG,oBAAoB;EAElC,OAAOH,MAAM;AACjB,CAAC","ignoreList":[]}
|
package/graphql/utils.js
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.resolve = exports.emptyResolver = void 0;
|
|
7
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
8
|
-
const emptyResolver = () => ({});
|
|
9
|
-
exports.emptyResolver = emptyResolver;
|
|
10
|
-
const resolve = async fn => {
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/handler-graphql";
|
|
2
|
+
export const emptyResolver = () => ({});
|
|
3
|
+
export const resolve = async fn => {
|
|
11
4
|
try {
|
|
12
|
-
return new
|
|
5
|
+
return new Response(await fn());
|
|
13
6
|
} catch (ex) {
|
|
14
|
-
return new
|
|
7
|
+
return new ErrorResponse(ex);
|
|
15
8
|
}
|
|
16
9
|
};
|
|
17
|
-
exports.resolve = resolve;
|
|
18
10
|
|
|
19
11
|
//# sourceMappingURL=utils.js.map
|
package/graphql/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ErrorResponse","Response","emptyResolver","resolve","fn","ex"],"sources":["utils.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\n\nexport const emptyResolver = () => ({});\n\ninterface ResolveCallable<T = any> {\n (): Promise<T>;\n}\n\nexport const resolve = async <T = any>(fn: ResolveCallable<T>) => {\n try {\n return new Response<T>(await fn());\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,yBAAyB;AAEjE,OAAO,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAMvC,OAAO,MAAMC,OAAO,GAAG,MAAgBC,EAAsB,IAAK;EAC9D,IAAI;IACA,OAAO,IAAIH,QAAQ,CAAI,MAAMG,EAAE,CAAC,CAAC,CAAC;EACtC,CAAC,CAAC,OAAOC,EAAE,EAAE;IACT,OAAO,IAAIL,aAAa,CAACK,EAAE,CAAC;EAChC;AACJ,CAAC","ignoreList":[]}
|
package/handler/handler.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HandlerCallable, HandlerParams } from "./types";
|
|
1
|
+
import type { HandlerCallable, HandlerParams } from "./types.js";
|
|
2
2
|
export declare const createHandler: (params: HandlerParams) => HandlerCallable;
|
package/handler/handler.js
CHANGED
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _plugins2 = require("@webiny/plugins");
|
|
11
|
-
var _routes = require("../runner/routes");
|
|
12
|
-
var _validator = require("../validator");
|
|
13
|
-
var _response = require("../response");
|
|
14
|
-
var _runner = require("../runner");
|
|
15
|
-
var _headers = require("./headers");
|
|
1
|
+
import { createHandler as createBaseHandler } from "@webiny/handler";
|
|
2
|
+
import { registerDefaultPlugins } from "@webiny/handler-aws/plugins/index.js";
|
|
3
|
+
import { execute } from "@webiny/handler-aws/execute.js";
|
|
4
|
+
import { PluginsContainer } from "@webiny/plugins";
|
|
5
|
+
import { createWebsocketsRoutePlugins } from "../runner/routes/index.js";
|
|
6
|
+
import { WebsocketsEventValidator } from "../validator/index.js";
|
|
7
|
+
import { WebsocketsResponse } from "../response/index.js";
|
|
8
|
+
import { WebsocketsRunner } from "../runner/index.js";
|
|
9
|
+
import { getEventValues } from "./headers.js";
|
|
16
10
|
const url = "/webiny-websockets";
|
|
17
11
|
const createPluginsContainer = plugins => {
|
|
18
|
-
if (plugins instanceof
|
|
12
|
+
if (plugins instanceof PluginsContainer) {
|
|
19
13
|
return plugins;
|
|
20
14
|
}
|
|
21
|
-
return new
|
|
15
|
+
return new PluginsContainer(plugins || []);
|
|
22
16
|
};
|
|
23
|
-
const createHandler = params => {
|
|
17
|
+
export const createHandler = params => {
|
|
24
18
|
const plugins = createPluginsContainer(params.plugins);
|
|
25
|
-
plugins.register(...
|
|
19
|
+
plugins.register(...createWebsocketsRoutePlugins());
|
|
26
20
|
return async event => {
|
|
27
|
-
const app = (
|
|
21
|
+
const app = createBaseHandler({
|
|
28
22
|
...params,
|
|
29
23
|
plugins,
|
|
30
24
|
options: {
|
|
@@ -32,44 +26,48 @@ const createHandler = params => {
|
|
|
32
26
|
...(params.options || {})
|
|
33
27
|
}
|
|
34
28
|
});
|
|
35
|
-
|
|
36
|
-
app.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
29
|
+
registerDefaultPlugins(app.webiny);
|
|
30
|
+
await app.register(async wsApp => {
|
|
31
|
+
wsApp.setErrorHandler(async (error, _, reply) => {
|
|
32
|
+
app.__webiny_raw_result = {
|
|
33
|
+
error: {
|
|
34
|
+
message: error.message,
|
|
35
|
+
code: error.code,
|
|
36
|
+
data: error.data
|
|
37
|
+
},
|
|
38
|
+
statusCode: 200
|
|
39
|
+
};
|
|
40
|
+
return reply.send({});
|
|
41
|
+
});
|
|
42
|
+
wsApp.post(url, async (_, reply) => {
|
|
43
|
+
const {
|
|
44
|
+
validator,
|
|
45
|
+
response
|
|
46
|
+
} = params;
|
|
47
|
+
const context = app.webiny;
|
|
48
|
+
const handler = new WebsocketsRunner(context, context.websockets.registry, validator || new WebsocketsEventValidator(), response || new WebsocketsResponse());
|
|
49
|
+
const result = await handler.run(event);
|
|
50
|
+
app.__webiny_raw_result = {
|
|
51
|
+
statusCode: result.statusCode,
|
|
52
|
+
headers: {
|
|
53
|
+
"sec-websocket-protocol": "webiny-ws-v1"
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
return reply.send();
|
|
57
|
+
});
|
|
58
58
|
});
|
|
59
59
|
const {
|
|
60
60
|
tenant,
|
|
61
|
-
locale,
|
|
62
61
|
endpoint,
|
|
63
62
|
token
|
|
64
|
-
} =
|
|
63
|
+
} = getEventValues(event);
|
|
65
64
|
const headers = {
|
|
66
65
|
Authorization: `Bearer ${token}`,
|
|
67
66
|
["x-tenant"]: tenant,
|
|
68
|
-
["x-webiny-cms-locale"]: locale,
|
|
69
67
|
["x-webiny-cms-endpoint"]: endpoint,
|
|
70
68
|
...event.headers
|
|
71
69
|
};
|
|
72
|
-
return
|
|
70
|
+
return execute({
|
|
73
71
|
app,
|
|
74
72
|
url,
|
|
75
73
|
payload: {
|
|
@@ -79,6 +77,5 @@ const createHandler = params => {
|
|
|
79
77
|
});
|
|
80
78
|
};
|
|
81
79
|
};
|
|
82
|
-
exports.createHandler = createHandler;
|
|
83
80
|
|
|
84
81
|
//# sourceMappingURL=handler.js.map
|
package/handler/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createHandler","createBaseHandler","registerDefaultPlugins","execute","PluginsContainer","createWebsocketsRoutePlugins","WebsocketsEventValidator","WebsocketsResponse","WebsocketsRunner","getEventValues","url","createPluginsContainer","plugins","params","register","event","app","options","logger","debug","webiny","wsApp","setErrorHandler","error","_","reply","__webiny_raw_result","message","code","data","statusCode","send","post","validator","response","context","handler","websockets","registry","result","run","headers","tenant","endpoint","token","Authorization","payload"],"sources":["handler.ts"],"sourcesContent":["import type WebinyError from \"@webiny/error\";\nimport { createHandler as createBaseHandler } from \"@webiny/handler\";\nimport { registerDefaultPlugins } from \"@webiny/handler-aws/plugins/index.js\";\nimport { execute } from \"@webiny/handler-aws/execute.js\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createWebsocketsRoutePlugins } from \"~/runner/routes/index.js\";\nimport { WebsocketsEventValidator } from \"~/validator/index.js\";\nimport { WebsocketsResponse } from \"~/response/index.js\";\nimport type { Context } from \"~/types.js\";\nimport { WebsocketsRunner } from \"~/runner/index.js\";\nimport type { PluginCollection } from \"@webiny/plugins/types.js\";\nimport type { HandlerCallable, HandlerParams } from \"./types.js\";\nimport { getEventValues } from \"./headers.js\";\n\nconst url = \"/webiny-websockets\";\n\nconst createPluginsContainer = (\n plugins?: PluginsContainer | PluginCollection\n): PluginsContainer => {\n if (plugins instanceof PluginsContainer) {\n return plugins;\n }\n return new PluginsContainer(plugins || []);\n};\n\nexport const createHandler = (params: HandlerParams): HandlerCallable => {\n const plugins = createPluginsContainer(params.plugins);\n plugins.register(...createWebsocketsRoutePlugins());\n\n return async event => {\n const app = createBaseHandler({\n ...params,\n plugins,\n options: {\n logger: params.debug === true,\n ...(params.options || {})\n }\n });\n\n registerDefaultPlugins(app.webiny);\n\n await app.register(async wsApp => {\n wsApp.setErrorHandler<WebinyError>(async (error, _, reply) => {\n app.__webiny_raw_result = {\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n },\n statusCode: 200\n };\n return reply.send({});\n });\n\n wsApp.post(url, async (_, reply) => {\n const { validator, response } = params;\n const context = app.webiny as Context;\n const handler = new WebsocketsRunner(\n context,\n context.websockets.registry,\n validator || new WebsocketsEventValidator(),\n response || new WebsocketsResponse()\n );\n\n const result = await handler.run(event);\n\n app.__webiny_raw_result = {\n statusCode: result.statusCode,\n headers: {\n \"sec-websocket-protocol\": \"webiny-ws-v1\"\n }\n };\n\n return reply.send();\n });\n });\n\n const { tenant, endpoint, token } = getEventValues(event);\n\n const headers = {\n Authorization: `Bearer ${token}`,\n [\"x-tenant\"]: tenant,\n [\"x-webiny-cms-endpoint\"]: endpoint,\n ...event.headers\n };\n\n return execute({\n app,\n url,\n payload: {\n ...event,\n headers\n }\n });\n };\n};\n"],"mappings":"AACA,SAASA,aAAa,IAAIC,iBAAiB,QAAQ,iBAAiB;AACpE,SAASC,sBAAsB,QAAQ,sCAAsC;AAC7E,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,4BAA4B;AACrC,SAASC,wBAAwB;AACjC,SAASC,kBAAkB;AAE3B,SAASC,gBAAgB;AAGzB,SAASC,cAAc;AAEvB,MAAMC,GAAG,GAAG,oBAAoB;AAEhC,MAAMC,sBAAsB,GACxBC,OAA6C,IAC1B;EACnB,IAAIA,OAAO,YAAYR,gBAAgB,EAAE;IACrC,OAAOQ,OAAO;EAClB;EACA,OAAO,IAAIR,gBAAgB,CAACQ,OAAO,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,OAAO,MAAMZ,aAAa,GAAIa,MAAqB,IAAsB;EACrE,MAAMD,OAAO,GAAGD,sBAAsB,CAACE,MAAM,CAACD,OAAO,CAAC;EACtDA,OAAO,CAACE,QAAQ,CAAC,GAAGT,4BAA4B,CAAC,CAAC,CAAC;EAEnD,OAAO,MAAMU,KAAK,IAAI;IAClB,MAAMC,GAAG,GAAGf,iBAAiB,CAAC;MAC1B,GAAGY,MAAM;MACTD,OAAO;MACPK,OAAO,EAAE;QACLC,MAAM,EAAEL,MAAM,CAACM,KAAK,KAAK,IAAI;QAC7B,IAAIN,MAAM,CAACI,OAAO,IAAI,CAAC,CAAC;MAC5B;IACJ,CAAC,CAAC;IAEFf,sBAAsB,CAACc,GAAG,CAACI,MAAM,CAAC;IAElC,MAAMJ,GAAG,CAACF,QAAQ,CAAC,MAAMO,KAAK,IAAI;MAC9BA,KAAK,CAACC,eAAe,CAAc,OAAOC,KAAK,EAAEC,CAAC,EAAEC,KAAK,KAAK;QAC1DT,GAAG,CAACU,mBAAmB,GAAG;UACtBH,KAAK,EAAE;YACHI,OAAO,EAAEJ,KAAK,CAACI,OAAO;YACtBC,IAAI,EAAEL,KAAK,CAACK,IAAI;YAChBC,IAAI,EAAEN,KAAK,CAACM;UAChB,CAAC;UACDC,UAAU,EAAE;QAChB,CAAC;QACD,OAAOL,KAAK,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;MACzB,CAAC,CAAC;MAEFV,KAAK,CAACW,IAAI,CAACtB,GAAG,EAAE,OAAOc,CAAC,EAAEC,KAAK,KAAK;QAChC,MAAM;UAAEQ,SAAS;UAAEC;QAAS,CAAC,GAAGrB,MAAM;QACtC,MAAMsB,OAAO,GAAGnB,GAAG,CAACI,MAAiB;QACrC,MAAMgB,OAAO,GAAG,IAAI5B,gBAAgB,CAChC2B,OAAO,EACPA,OAAO,CAACE,UAAU,CAACC,QAAQ,EAC3BL,SAAS,IAAI,IAAI3B,wBAAwB,CAAC,CAAC,EAC3C4B,QAAQ,IAAI,IAAI3B,kBAAkB,CAAC,CACvC,CAAC;QAED,MAAMgC,MAAM,GAAG,MAAMH,OAAO,CAACI,GAAG,CAACzB,KAAK,CAAC;QAEvCC,GAAG,CAACU,mBAAmB,GAAG;UACtBI,UAAU,EAAES,MAAM,CAACT,UAAU;UAC7BW,OAAO,EAAE;YACL,wBAAwB,EAAE;UAC9B;QACJ,CAAC;QAED,OAAOhB,KAAK,CAACM,IAAI,CAAC,CAAC;MACvB,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,MAAM;MAAEW,MAAM;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGnC,cAAc,CAACM,KAAK,CAAC;IAEzD,MAAM0B,OAAO,GAAG;MACZI,aAAa,EAAE,UAAUD,KAAK,EAAE;MAChC,CAAC,UAAU,GAAGF,MAAM;MACpB,CAAC,uBAAuB,GAAGC,QAAQ;MACnC,GAAG5B,KAAK,CAAC0B;IACb,CAAC;IAED,OAAOtC,OAAO,CAAC;MACXa,GAAG;MACHN,GAAG;MACHoC,OAAO,EAAE;QACL,GAAG/B,KAAK;QACR0B;MACJ;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC","ignoreList":[]}
|
package/handler/headers.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { IWebsocketsIncomingEvent } from "
|
|
1
|
+
import type { IWebsocketsIncomingEvent } from "../handler/types.js";
|
|
2
2
|
export declare const getEventValues: (event: IWebsocketsIncomingEvent) => {
|
|
3
3
|
tenant: string;
|
|
4
|
-
locale: string;
|
|
5
4
|
token: string | null;
|
|
6
5
|
endpoint: string;
|
|
7
6
|
};
|
package/handler/headers.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getEventValues = void 0;
|
|
7
1
|
const getEventBody = event => {
|
|
8
2
|
if (!event.body) {
|
|
9
3
|
return {};
|
|
@@ -26,21 +20,15 @@ const getToken = (body, event) => {
|
|
|
26
20
|
const getTenant = (body, event) => {
|
|
27
21
|
return body?.tenant || event.queryStringParameters?.tenant || "root";
|
|
28
22
|
};
|
|
29
|
-
const
|
|
30
|
-
return body?.locale || event.queryStringParameters?.locale || "en-US";
|
|
31
|
-
};
|
|
32
|
-
const getEventValues = event => {
|
|
23
|
+
export const getEventValues = event => {
|
|
33
24
|
const body = getEventBody(event);
|
|
34
25
|
const token = getToken(body, event);
|
|
35
26
|
const tenant = getTenant(body, event);
|
|
36
|
-
const locale = getLocale(body, event);
|
|
37
27
|
return {
|
|
38
28
|
tenant,
|
|
39
|
-
locale,
|
|
40
29
|
token,
|
|
41
30
|
endpoint: "manage"
|
|
42
31
|
};
|
|
43
32
|
};
|
|
44
|
-
exports.getEventValues = getEventValues;
|
|
45
33
|
|
|
46
34
|
//# sourceMappingURL=headers.js.map
|
package/handler/headers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getEventBody","event","body","JSON","parse","ex","console","log","message","getToken","token","queryStringParameters","getTenant","tenant","
|
|
1
|
+
{"version":3,"names":["getEventBody","event","body","JSON","parse","ex","console","log","message","getToken","token","queryStringParameters","getTenant","tenant","getEventValues","endpoint"],"sources":["headers.ts"],"sourcesContent":["import type { IWebsocketsEventData, IWebsocketsIncomingEvent } from \"~/handler/types.js\";\n\nconst getEventBody = (event: IWebsocketsIncomingEvent): IWebsocketsEventData => {\n if (!event.body) {\n return {};\n } else if (typeof event.body === \"object\") {\n return event.body;\n } else if (typeof event.body === \"string\") {\n try {\n return JSON.parse(event.body);\n } catch (ex) {\n console.log(ex.message);\n return {};\n }\n }\n console.log(\"Unexpected event.body type:\", typeof event.body);\n return {};\n};\n\nconst getToken = (body: IWebsocketsEventData, event: IWebsocketsIncomingEvent): string | null => {\n return body?.token || event.queryStringParameters?.token || null;\n};\n\nconst getTenant = (body: IWebsocketsEventData, event: IWebsocketsIncomingEvent): string => {\n return body?.tenant || event.queryStringParameters?.tenant || \"root\";\n};\n\nexport const getEventValues = (event: IWebsocketsIncomingEvent) => {\n const body = getEventBody(event);\n\n const token = getToken(body, event);\n const tenant = getTenant(body, event);\n return {\n tenant,\n token,\n endpoint: \"manage\"\n };\n};\n"],"mappings":"AAEA,MAAMA,YAAY,GAAIC,KAA+B,IAA2B;EAC5E,IAAI,CAACA,KAAK,CAACC,IAAI,EAAE;IACb,OAAO,CAAC,CAAC;EACb,CAAC,MAAM,IAAI,OAAOD,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IACvC,OAAOD,KAAK,CAACC,IAAI;EACrB,CAAC,MAAM,IAAI,OAAOD,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IACvC,IAAI;MACA,OAAOC,IAAI,CAACC,KAAK,CAACH,KAAK,CAACC,IAAI,CAAC;IACjC,CAAC,CAAC,OAAOG,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;MACvB,OAAO,CAAC,CAAC;IACb;EACJ;EACAF,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAE,OAAON,KAAK,CAACC,IAAI,CAAC;EAC7D,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAMO,QAAQ,GAAGA,CAACP,IAA0B,EAAED,KAA+B,KAAoB;EAC7F,OAAOC,IAAI,EAAEQ,KAAK,IAAIT,KAAK,CAACU,qBAAqB,EAAED,KAAK,IAAI,IAAI;AACpE,CAAC;AAED,MAAME,SAAS,GAAGA,CAACV,IAA0B,EAAED,KAA+B,KAAa;EACvF,OAAOC,IAAI,EAAEW,MAAM,IAAIZ,KAAK,CAACU,qBAAqB,EAAEE,MAAM,IAAI,MAAM;AACxE,CAAC;AAED,OAAO,MAAMC,cAAc,GAAIb,KAA+B,IAAK;EAC/D,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC;EAEhC,MAAMS,KAAK,GAAGD,QAAQ,CAACP,IAAI,EAAED,KAAK,CAAC;EACnC,MAAMY,MAAM,GAAGD,SAAS,CAACV,IAAI,EAAED,KAAK,CAAC;EACrC,OAAO;IACHY,MAAM;IACNH,KAAK;IACLK,QAAQ,EAAE;EACd,CAAC;AACL,CAAC","ignoreList":[]}
|
package/handler/register.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _handlerAws = require("@webiny/handler-aws");
|
|
5
|
-
const handler = (0, _handlerAws.createSourceHandler)({
|
|
1
|
+
import { registry } from "@webiny/handler-aws/registry.js";
|
|
2
|
+
import { createSourceHandler } from "@webiny/handler-aws";
|
|
3
|
+
const handler = createSourceHandler({
|
|
6
4
|
name: "handler-webiny-websockets",
|
|
7
5
|
canUse: event => {
|
|
8
6
|
const {
|
|
@@ -19,10 +17,10 @@ const handler = (0, _handlerAws.createSourceHandler)({
|
|
|
19
17
|
}) => {
|
|
20
18
|
const {
|
|
21
19
|
createHandler
|
|
22
|
-
} = await import(
|
|
20
|
+
} = await import(/* webpackChunkName: "SocketsHandler" */"./handler.js");
|
|
23
21
|
return createHandler(params)(event, context);
|
|
24
22
|
}
|
|
25
23
|
});
|
|
26
|
-
|
|
24
|
+
registry.register(handler);
|
|
27
25
|
|
|
28
26
|
//# sourceMappingURL=register.js.map
|
package/handler/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["registry","createSourceHandler","handler","name","canUse","event","routeKey","connectionId","eventType","requestContext","handle","params","context","createHandler","register"],"sources":["register.ts"],"sourcesContent":["import { registry } from \"@webiny/handler-aws/registry.js\";\nimport { createSourceHandler } from \"@webiny/handler-aws\";\nimport type { HandlerParams, IWebsocketsIncomingEvent } from \"./types.js\";\n\nconst handler = createSourceHandler<IWebsocketsIncomingEvent, HandlerParams>({\n name: \"handler-webiny-websockets\",\n canUse: event => {\n const { routeKey, connectionId, eventType } = event.requestContext || {};\n return !!routeKey && !!connectionId && !!eventType;\n },\n handle: async ({ params, event, context }) => {\n const { createHandler } = await import(\n /* webpackChunkName: \"SocketsHandler\" */\n \"./handler.js\"\n );\n return createHandler(params)(event, context);\n }\n});\n\nregistry.register(handler);\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,iCAAiC;AAC1D,SAASC,mBAAmB,QAAQ,qBAAqB;AAGzD,MAAMC,OAAO,GAAGD,mBAAmB,CAA0C;EACzEE,IAAI,EAAE,2BAA2B;EACjCC,MAAM,EAAEC,KAAK,IAAI;IACb,MAAM;MAAEC,QAAQ;MAAEC,YAAY;MAAEC;IAAU,CAAC,GAAGH,KAAK,CAACI,cAAc,IAAI,CAAC,CAAC;IACxE,OAAO,CAAC,CAACH,QAAQ,IAAI,CAAC,CAACC,YAAY,IAAI,CAAC,CAACC,SAAS;EACtD,CAAC;EACDE,MAAM,EAAE,MAAAA,CAAO;IAAEC,MAAM;IAAEN,KAAK;IAAEO;EAAQ,CAAC,KAAK;IAC1C,MAAM;MAAEC;IAAc,CAAC,GAAG,MAAM,MAAM,CAClC,sDAEJ,CAAC;IACD,OAAOA,aAAa,CAACF,MAAM,CAAC,CAACN,KAAK,EAAEO,OAAO,CAAC;EAChD;AACJ,CAAC,CAAC;AAEFZ,QAAQ,CAACc,QAAQ,CAACZ,OAAO,CAAC","ignoreList":[]}
|
package/handler/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { HandlerFactoryParams } from "@webiny/handler-aws/types";
|
|
2
|
-
import { IWebsocketsEventValidator } from "../validator";
|
|
3
|
-
import { IWebsocketsResponse } from "../response";
|
|
4
|
-
import { APIGatewayProxyResult, Context as LambdaContext } from "aws-
|
|
5
|
-
import { GenericRecord } from "@webiny/api/types";
|
|
6
|
-
import { PartialDeep } from "type-fest";
|
|
1
|
+
import type { HandlerFactoryParams } from "@webiny/handler-aws/types.js";
|
|
2
|
+
import type { IWebsocketsEventValidator } from "../validator/index.js";
|
|
3
|
+
import type { IWebsocketsResponse } from "../response/index.js";
|
|
4
|
+
import type { APIGatewayProxyResult, Context as LambdaContext } from "@webiny/aws-sdk/types/index.js";
|
|
5
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
6
|
+
import type { PartialDeep } from "type-fest";
|
|
7
7
|
export interface HandlerCallable {
|
|
8
8
|
(event: IWebsocketsIncomingEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;
|
|
9
9
|
}
|
|
@@ -19,7 +19,6 @@ export declare enum WebsocketsEventRoute {
|
|
|
19
19
|
export interface IWebsocketsEventData {
|
|
20
20
|
token?: string;
|
|
21
21
|
tenant?: string;
|
|
22
|
-
locale?: string;
|
|
23
22
|
messageId?: string;
|
|
24
23
|
action?: string;
|
|
25
24
|
data?: GenericRecord;
|
|
@@ -54,12 +53,10 @@ export interface IWebsocketsEventHeaders {
|
|
|
54
53
|
"X-Forwarded-Port"?: `${number}`;
|
|
55
54
|
"X-Forwarded-Proto"?: "https" | "http";
|
|
56
55
|
["x-tenant"]?: string;
|
|
57
|
-
["x-webiny-cms-locale"]?: string;
|
|
58
56
|
["x-webiny-cms-endpoint"]?: string;
|
|
59
57
|
}
|
|
60
58
|
export interface IWebsocketsEventQueryStringParameters {
|
|
61
59
|
tenant?: string;
|
|
62
|
-
locale?: string;
|
|
63
60
|
token?: string;
|
|
64
61
|
}
|
|
65
62
|
export interface IWebsocketsEvent<T extends IWebsocketsEventData = IWebsocketsEventData> {
|
package/handler/types.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.WebsocketsEventRoute = exports.WebsocketsEventRequestContextEventType = void 0;
|
|
7
|
-
let WebsocketsEventRoute = exports.WebsocketsEventRoute = /*#__PURE__*/function (WebsocketsEventRoute) {
|
|
1
|
+
export let WebsocketsEventRoute = /*#__PURE__*/function (WebsocketsEventRoute) {
|
|
8
2
|
WebsocketsEventRoute["connect"] = "$connect";
|
|
9
3
|
WebsocketsEventRoute["disconnect"] = "$disconnect";
|
|
10
4
|
WebsocketsEventRoute["default"] = "$default";
|
|
11
5
|
return WebsocketsEventRoute;
|
|
12
6
|
}({});
|
|
13
|
-
let WebsocketsEventRequestContextEventType =
|
|
7
|
+
export let WebsocketsEventRequestContextEventType = /*#__PURE__*/function (WebsocketsEventRequestContextEventType) {
|
|
14
8
|
WebsocketsEventRequestContextEventType["message"] = "MESSAGE";
|
|
15
9
|
WebsocketsEventRequestContextEventType["connect"] = "CONNECT";
|
|
16
10
|
WebsocketsEventRequestContextEventType["disconnect"] = "DISCONNECT";
|