@webiny/api-websockets 5.40.6-beta.3 → 5.41.0-beta.0
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/context/abstractions/IWebsocketsContext.d.ts +2 -2
- package/graphql/createResolvers.js +0 -3
- package/graphql/createResolvers.js.map +1 -1
- package/package.json +21 -21
- package/plugins/WebsocketsActionPlugin.d.ts +1 -1
- package/plugins/abstrations/IWebsocketsActionPlugin.d.ts +1 -1
- package/transport/abstractions/IWebsocketsTransport.d.ts +2 -2
- package/utils/middleware.d.ts +1 -1
- package/validator/abstractions/IWebsocketsEventValidator.d.ts +1 -1
|
@@ -2,7 +2,7 @@ import { IWebsocketsConnectionRegistry, IWebsocketsConnectionRegistryData } from
|
|
|
2
2
|
import { IWebsocketsTransportSendConnection, IWebsocketsTransportSendData } from "../../transport";
|
|
3
3
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
4
4
|
import { GenericRecord } from "@webiny/api/types";
|
|
5
|
-
export
|
|
5
|
+
export type IWebsocketsIdentity = Pick<SecurityIdentity, "id" | "displayName" | "type">;
|
|
6
6
|
export interface IWebsocketsContextListConnectionsParamsWhere {
|
|
7
7
|
identityId?: string;
|
|
8
8
|
tenant?: string;
|
|
@@ -12,7 +12,7 @@ export interface IWebsocketsContextListConnectionsParamsWhere {
|
|
|
12
12
|
export interface IWebsocketsContextListConnectionsParams {
|
|
13
13
|
where?: IWebsocketsContextListConnectionsParamsWhere;
|
|
14
14
|
}
|
|
15
|
-
export
|
|
15
|
+
export type IWebsocketsContextDisconnectConnectionsParams = IWebsocketsContextListConnectionsParams;
|
|
16
16
|
export interface IWebsocketsContextObject {
|
|
17
17
|
readonly registry: IWebsocketsConnectionRegistry;
|
|
18
18
|
send<T extends GenericRecord = GenericRecord>(identity: Pick<IWebsocketsIdentity, "id">, data: IWebsocketsTransportSendData<T>): Promise<void>;
|
|
@@ -23,7 +23,6 @@ const createResolvers = () => {
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
WebsocketsMutation: {
|
|
26
|
-
// @ts-expect-error
|
|
27
26
|
disconnect: async (_, args, context) => {
|
|
28
27
|
return (0, _utils.resolve)(async () => {
|
|
29
28
|
await (0, _checkPermissions.checkPermissions)(context);
|
|
@@ -34,7 +33,6 @@ const createResolvers = () => {
|
|
|
34
33
|
});
|
|
35
34
|
});
|
|
36
35
|
},
|
|
37
|
-
// @ts-expect-error
|
|
38
36
|
disconnectIdentity: async (_, args, context) => {
|
|
39
37
|
return (0, _utils.resolve)(async () => {
|
|
40
38
|
await (0, _checkPermissions.checkPermissions)(context);
|
|
@@ -45,7 +43,6 @@ const createResolvers = () => {
|
|
|
45
43
|
});
|
|
46
44
|
});
|
|
47
45
|
},
|
|
48
|
-
// @ts-expect-error
|
|
49
46
|
disconnectTenant: async (_, args, context) => {
|
|
50
47
|
return (0, _utils.resolve)(async () => {
|
|
51
48
|
await (0, _checkPermissions.checkPermissions)(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_checkPermissions","createResolvers","Query","websockets","emptyResolver","Mutation","WebsocketsQuery","listConnections","_","args","context","resolve","checkPermissions","WebsocketsMutation","disconnect","where","connections","disconnectIdentity","identityId","disconnectTenant","tenant","locale","disconnectAll","__","exports"],"sources":["createResolvers.ts"],"sourcesContent":["import { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { Context } from \"~/types\";\nimport { emptyResolver, resolve } from \"./utils\";\nimport { IWebsocketsContextListConnectionsParams } from \"~/context\";\nimport { IWebsocketsConnectionRegistryData } from \"~/registry\";\nimport { checkPermissions } from \"~/graphql/checkPermissions\";\n\nexport interface IWebsocketsMutationDisconnectConnectionsArgs {\n connections: string[];\n}\n\nexport interface IWebsocketsMutationDisconnectIdentityArgs {\n identityId: string;\n}\n\nexport interface IWebsocketsMutationDisconnectTenantArgs {\n tenant: string;\n locale?: 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 return await context.websockets.listConnections(args);\n });\n }\n },\n WebsocketsMutation: {\n
|
|
1
|
+
{"version":3,"names":["_utils","require","_checkPermissions","createResolvers","Query","websockets","emptyResolver","Mutation","WebsocketsQuery","listConnections","_","args","context","resolve","checkPermissions","WebsocketsMutation","disconnect","where","connections","disconnectIdentity","identityId","disconnectTenant","tenant","locale","disconnectAll","__","exports"],"sources":["createResolvers.ts"],"sourcesContent":["import { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { Context } from \"~/types\";\nimport { emptyResolver, resolve } from \"./utils\";\nimport { IWebsocketsContextListConnectionsParams } from \"~/context\";\nimport { IWebsocketsConnectionRegistryData } from \"~/registry\";\nimport { checkPermissions } from \"~/graphql/checkPermissions\";\n\nexport interface IWebsocketsMutationDisconnectConnectionsArgs {\n connections: string[];\n}\n\nexport interface IWebsocketsMutationDisconnectIdentityArgs {\n identityId: string;\n}\n\nexport interface IWebsocketsMutationDisconnectTenantArgs {\n tenant: string;\n locale?: 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 return await context.websockets.listConnections(args);\n });\n }\n },\n WebsocketsMutation: {\n disconnect: async (_, args: IWebsocketsMutationDisconnectConnectionsArgs, context) => {\n return resolve(async () => {\n await checkPermissions(context);\n return await context.websockets.disconnect({\n where: {\n connections: args.connections\n }\n });\n });\n },\n disconnectIdentity: async (\n _,\n args: IWebsocketsMutationDisconnectIdentityArgs,\n context\n ) => {\n return resolve<IWebsocketsConnectionRegistryData[]>(async () => {\n await checkPermissions(context);\n return await context.websockets.disconnect({\n where: {\n identityId: args.identityId\n }\n });\n });\n },\n disconnectTenant: async (_, args: IWebsocketsMutationDisconnectTenantArgs, context) => {\n return resolve<IWebsocketsConnectionRegistryData[]>(async () => {\n await checkPermissions(context);\n return await context.websockets.disconnect({\n where: {\n tenant: args.tenant,\n locale: args.locale\n }\n });\n });\n },\n disconnectAll: async (_, __, context) => {\n return resolve<IWebsocketsConnectionRegistryData[]>(async () => {\n await checkPermissions(context);\n return await context.websockets.disconnect();\n });\n }\n }\n };\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,iBAAA,GAAAD,OAAA;AAeO,MAAME,eAAe,GAAGA,CAAA,KAA0B;EACrD,OAAO;IACHC,KAAK,EAAE;MACHC,UAAU,EAAEC;IAChB,CAAC;IACDC,QAAQ,EAAE;MACNF,UAAU,EAAEC;IAChB,CAAC;IACDE,eAAe,EAAE;MACbC,eAAe,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAA6C,EAAEC,OAAO,KAAK;QAClF,OAAO,IAAAC,cAAO,EAAC,YAAY;UACvB,MAAM,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UAC/B,OAAO,MAAMA,OAAO,CAACP,UAAU,CAACI,eAAe,CAACE,IAAI,CAAC;QACzD,CAAC,CAAC;MACN;IACJ,CAAC;IACDI,kBAAkB,EAAE;MAChBC,UAAU,EAAE,MAAAA,CAAON,CAAC,EAAEC,IAAkD,EAAEC,OAAO,KAAK;QAClF,OAAO,IAAAC,cAAO,EAAC,YAAY;UACvB,MAAM,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UAC/B,OAAO,MAAMA,OAAO,CAACP,UAAU,CAACW,UAAU,CAAC;YACvCC,KAAK,EAAE;cACHC,WAAW,EAAEP,IAAI,CAACO;YACtB;UACJ,CAAC,CAAC;QACN,CAAC,CAAC;MACN,CAAC;MACDC,kBAAkB,EAAE,MAAAA,CAChBT,CAAC,EACDC,IAA+C,EAC/CC,OAAO,KACN;QACD,OAAO,IAAAC,cAAO,EAAsC,YAAY;UAC5D,MAAM,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UAC/B,OAAO,MAAMA,OAAO,CAACP,UAAU,CAACW,UAAU,CAAC;YACvCC,KAAK,EAAE;cACHG,UAAU,EAAET,IAAI,CAACS;YACrB;UACJ,CAAC,CAAC;QACN,CAAC,CAAC;MACN,CAAC;MACDC,gBAAgB,EAAE,MAAAA,CAAOX,CAAC,EAAEC,IAA6C,EAAEC,OAAO,KAAK;QACnF,OAAO,IAAAC,cAAO,EAAsC,YAAY;UAC5D,MAAM,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UAC/B,OAAO,MAAMA,OAAO,CAACP,UAAU,CAACW,UAAU,CAAC;YACvCC,KAAK,EAAE;cACHK,MAAM,EAAEX,IAAI,CAACW,MAAM;cACnBC,MAAM,EAAEZ,IAAI,CAACY;YACjB;UACJ,CAAC,CAAC;QACN,CAAC,CAAC;MACN,CAAC;MACDC,aAAa,EAAE,MAAAA,CAAOd,CAAC,EAAEe,EAAE,EAAEb,OAAO,KAAK;QACrC,OAAO,IAAAC,cAAO,EAAsC,YAAY;UAC5D,MAAM,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UAC/B,OAAO,MAAMA,OAAO,CAACP,UAAU,CAACW,UAAU,CAAC,CAAC;QAChD,CAAC,CAAC;MACN;IACJ;EACJ,CAAC;AACL,CAAC;AAACU,OAAA,CAAAvB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-websockets",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.41.0-beta.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,19 +13,19 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@babel/runtime": "7.24.1",
|
|
16
|
-
"@webiny/api": "5.
|
|
17
|
-
"@webiny/api-i18n": "5.
|
|
18
|
-
"@webiny/api-security": "5.
|
|
19
|
-
"@webiny/api-tenancy": "5.
|
|
20
|
-
"@webiny/aws-sdk": "5.
|
|
21
|
-
"@webiny/db-dynamodb": "5.
|
|
22
|
-
"@webiny/error": "5.
|
|
23
|
-
"@webiny/handler": "5.
|
|
24
|
-
"@webiny/handler-aws": "5.
|
|
25
|
-
"@webiny/plugins": "5.
|
|
26
|
-
"@webiny/utils": "5.
|
|
16
|
+
"@webiny/api": "5.41.0-beta.0",
|
|
17
|
+
"@webiny/api-i18n": "5.41.0-beta.0",
|
|
18
|
+
"@webiny/api-security": "5.41.0-beta.0",
|
|
19
|
+
"@webiny/api-tenancy": "5.41.0-beta.0",
|
|
20
|
+
"@webiny/aws-sdk": "5.41.0-beta.0",
|
|
21
|
+
"@webiny/db-dynamodb": "5.41.0-beta.0",
|
|
22
|
+
"@webiny/error": "5.41.0-beta.0",
|
|
23
|
+
"@webiny/handler": "5.41.0-beta.0",
|
|
24
|
+
"@webiny/handler-aws": "5.41.0-beta.0",
|
|
25
|
+
"@webiny/plugins": "5.41.0-beta.0",
|
|
26
|
+
"@webiny/utils": "5.41.0-beta.0",
|
|
27
27
|
"type-fest": "2.19.0",
|
|
28
|
-
"zod": "3.
|
|
28
|
+
"zod": "3.23.8"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@babel/cli": "7.24.1",
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"@babel/preset-env": "7.24.3",
|
|
34
34
|
"@babel/preset-typescript": "7.24.1",
|
|
35
35
|
"@types/aws-lambda": "8.10.136",
|
|
36
|
-
"@webiny/api-headless-cms": "5.
|
|
37
|
-
"@webiny/api-wcp": "5.
|
|
38
|
-
"@webiny/cli": "5.
|
|
39
|
-
"@webiny/handler-db": "5.
|
|
40
|
-
"@webiny/handler-graphql": "5.
|
|
41
|
-
"@webiny/project-utils": "5.
|
|
36
|
+
"@webiny/api-headless-cms": "5.41.0-beta.0",
|
|
37
|
+
"@webiny/api-wcp": "5.41.0-beta.0",
|
|
38
|
+
"@webiny/cli": "5.41.0-beta.0",
|
|
39
|
+
"@webiny/handler-db": "5.41.0-beta.0",
|
|
40
|
+
"@webiny/handler-graphql": "5.41.0-beta.0",
|
|
41
|
+
"@webiny/project-utils": "5.41.0-beta.0",
|
|
42
42
|
"aws-lambda": "1.0.7",
|
|
43
43
|
"graphql": "15.8.0",
|
|
44
44
|
"rimraf": "5.0.5",
|
|
45
45
|
"ttypescript": "1.5.15",
|
|
46
|
-
"typescript": "4.
|
|
46
|
+
"typescript": "4.9.5"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"build": "yarn webiny run build",
|
|
54
54
|
"watch": "yarn webiny run watch"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "9ce5e75fc577aa4de2cf08d5ca734b3c98fe65b6"
|
|
57
57
|
}
|
|
@@ -8,4 +8,4 @@ export declare class WebsocketsActionPlugin<T extends GenericRecord = GenericRec
|
|
|
8
8
|
constructor(action: string, cb: IWebsocketsActionPluginCallable<T>);
|
|
9
9
|
run(params: IWebsocketsActionPluginCallableParams): Promise<WebsocketsActionPluginCallableResponse<T>>;
|
|
10
10
|
}
|
|
11
|
-
export declare const createWebsocketsAction: <T extends GenericRecord<
|
|
11
|
+
export declare const createWebsocketsAction: <T extends GenericRecord<PropertyKey, any> = GenericRecord<PropertyKey, any>>(action: string, cb: IWebsocketsActionPluginCallable<T>) => WebsocketsActionPlugin<T>;
|
|
@@ -29,7 +29,7 @@ export interface IWebsocketsActionPluginCallableParams<C extends Context = Conte
|
|
|
29
29
|
send: IWebsocketsActionPluginCallableParamsSend;
|
|
30
30
|
respond: IWebsocketsActionPluginCallableParamsRespond;
|
|
31
31
|
}
|
|
32
|
-
export
|
|
32
|
+
export type WebsocketsActionPluginCallableResponse<T extends GenericRecord = GenericRecord> = IWebsocketsActionPluginCallableParamsRespondOkResponse<T> | IWebsocketsActionPluginCallableParamsRespondErrorResponse<T>;
|
|
33
33
|
export interface IWebsocketsActionPluginCallable<T extends GenericRecord = GenericRecord> {
|
|
34
34
|
(params: IWebsocketsActionPluginCallableParams): Promise<WebsocketsActionPluginCallableResponse<T>>;
|
|
35
35
|
}
|
|
@@ -12,8 +12,8 @@ export interface IWebsocketsTransportSendData<T extends GenericRecord> {
|
|
|
12
12
|
data?: T;
|
|
13
13
|
error?: IWebsocketsTransportSendDataError;
|
|
14
14
|
}
|
|
15
|
-
export
|
|
16
|
-
export
|
|
15
|
+
export type IWebsocketsTransportSendConnection = Pick<IWebsocketsConnectionRegistryData, "connectionId" | "domainName" | "stage">;
|
|
16
|
+
export type IWebsocketsTransportDisconnectConnection = Pick<IWebsocketsConnectionRegistryData, "connectionId" | "domainName" | "stage">;
|
|
17
17
|
export interface IWebsocketsTransport {
|
|
18
18
|
send<T extends GenericRecord = GenericRecord>(connections: IWebsocketsTransportSendConnection[], data: IWebsocketsTransportSendData<T>): Promise<void>;
|
|
19
19
|
disconnect(connections: IWebsocketsTransportDisconnectConnection[]): Promise<void>;
|
package/utils/middleware.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ import { GenericRecord } from "@webiny/api/types";
|
|
|
2
2
|
export interface MiddlewareCallable<I extends GenericRecord = GenericRecord, O extends GenericRecord = GenericRecord> {
|
|
3
3
|
(input: I, next: () => Promise<O>): Promise<O>;
|
|
4
4
|
}
|
|
5
|
-
export declare const middleware: <I extends GenericRecord<
|
|
5
|
+
export declare const middleware: <I extends GenericRecord<PropertyKey, any> = GenericRecord<PropertyKey, any>, O extends GenericRecord<PropertyKey, any> = GenericRecord<PropertyKey, any>>(functions: MiddlewareCallable<I, O>[]) => (input: I) => Promise<O>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IWebsocketsEvent, IWebsocketsEventData, IWebsocketsIncomingEvent } from "../../handler/types";
|
|
2
|
-
export
|
|
2
|
+
export type IWebsocketsEventValidatorValidateParams = IWebsocketsIncomingEvent;
|
|
3
3
|
export interface IWebsocketsEventValidator {
|
|
4
4
|
/**
|
|
5
5
|
* @throws {Error}
|