@clairejs/server 3.10.4 → 3.10.6
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/.prettierrc +8 -8
- package/README.md +737 -732
- package/dist/common/FileOperation.d.ts +5 -5
- package/dist/common/ServerModelMetadata.d.ts +10 -10
- package/dist/common/auth/AbstractPrincipalResolver.d.ts +4 -4
- package/dist/common/auth/IPrincipal.d.ts +4 -4
- package/dist/common/constants.d.ts +1 -1
- package/dist/common/request/EndpointMetadata.d.ts +40 -40
- package/dist/common/request/HttpData.d.ts +1 -1
- package/dist/common/request/HttpEndpoint.d.ts +8 -8
- package/dist/common/request/JobData.d.ts +1 -1
- package/dist/common/request/MountedEndpointInfo.d.ts +6 -6
- package/dist/common/request/RequestOptions.d.ts +6 -6
- package/dist/common/request/SocketData.d.ts +1 -1
- package/dist/common/request/types.d.ts +1 -1
- package/dist/http/auth/AbstractHttpAuthorizationProvider.d.ts +9 -9
- package/dist/http/auth/AbstractRbacAuthProvider.d.ts +18 -18
- package/dist/http/auth/RedisRbacAuthProvider.d.ts +24 -24
- package/dist/http/auth/SocketRbacAuthProvider.d.ts +25 -25
- package/dist/http/auth/rbac.d.ts +34 -34
- package/dist/http/common/HttpRequest.d.ts +37 -37
- package/dist/http/common/HttpResponse.d.ts +21 -21
- package/dist/http/controller/AbstractHttpController.d.ts +9 -9
- package/dist/http/controller/AbstractHttpMiddleware.d.ts +10 -10
- package/dist/http/controller/AbstractHttpRequestHandler.d.ts +16 -16
- package/dist/http/controller/ControllerMetadata.d.ts +6 -6
- package/dist/http/controller/CrudHttpController.d.ts +41 -41
- package/dist/http/controller/DefaultHttpRequestHandler.d.ts +21 -21
- package/dist/http/decorators.d.ts +35 -35
- package/dist/http/file-upload/AbstractFileUploadHandler.d.ts +6 -6
- package/dist/http/file-upload/FileUploadHandler.d.ts +10 -10
- package/dist/http/file-upload/types.d.ts +3 -3
- package/dist/http/repository/AbstractRepository.d.ts +10 -10
- package/dist/http/repository/DtoRepository.d.ts +58 -58
- package/dist/http/repository/ICrudRepository.d.ts +27 -27
- package/dist/http/repository/ModelRepository.d.ts +37 -37
- package/dist/http/security/AbstractAccessCondition.d.ts +7 -7
- package/dist/http/security/access-conditions/DtoFieldValidation.d.ts +4 -4
- package/dist/http/security/access-conditions/FilterModelFieldAccessCondition.d.ts +4 -4
- package/dist/http/security/access-conditions/MaximumQueryLimit.d.ts +8 -8
- package/dist/index.d.ts +56 -56
- package/dist/index.js +1 -1
- package/dist/job/AbstractJobController.d.ts +4 -4
- package/dist/job/AbstractJobRepository.d.ts +17 -17
- package/dist/job/AbstractJobScheduler.d.ts +38 -38
- package/dist/job/AwsJobScheduler.d.ts +48 -48
- package/dist/job/LocalJobScheduler.d.ts +88 -88
- package/dist/job/decorators.d.ts +5 -5
- package/dist/job/interfaces.d.ts +50 -50
- package/dist/logging/FileLogMedium.d.ts +13 -13
- package/dist/service/AbstractCacheService.d.ts +22 -22
- package/dist/service/AbstractFileService.d.ts +11 -11
- package/dist/service/AbstractService.d.ts +7 -7
- package/dist/socket/AbstractServerSocket.d.ts +18 -18
- package/dist/socket/AbstractServerSocketManager.d.ts +46 -46
- package/dist/socket/AbstractSocketConnectionHandler.d.ts +6 -6
- package/dist/socket/AbstractSocketController.d.ts +14 -14
- package/dist/socket/AwsSocketManager.d.ts +30 -30
- package/dist/socket/IServerSocket.d.ts +16 -16
- package/dist/socket/LocalSocketManager.d.ts +47 -47
- package/dist/system/ClaireServer.d.ts +13 -13
- package/dist/system/ExpressWrapper.d.ts +17 -17
- package/dist/system/LambdaWrapper.d.ts +21 -21
- package/dist/system/ServerGlobalStore.d.ts +8 -8
- package/dist/system/errors.d.ts +14 -14
- package/dist/system/lamba-request-mapper.d.ts +2 -2
- package/dist/system/locale/LocaleEntry.d.ts +3 -3
- package/dist/system/locale/LocaleTranslation.d.ts +6 -6
- package/dist/system/locale/decorators.d.ts +2 -2
- package/package.json +61 -61
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { AbstractLogger, SocketMessage } from "@clairejs/core";
|
|
2
|
-
import Client from "ioredis";
|
|
3
|
-
import { SocketData } from "../common/request/SocketData";
|
|
4
|
-
import { AbstractSocketConnectionHandler } from "./AbstractSocketConnectionHandler";
|
|
5
|
-
import { IPrincipal } from "../common/auth/IPrincipal";
|
|
6
|
-
import { AbstractServerSocket } from "./AbstractServerSocket";
|
|
7
|
-
import { MountedEndpointInfo } from "../common/request/MountedEndpointInfo";
|
|
8
|
-
import { AbstractHttpAuthorizationProvider } from "../http/auth/AbstractHttpAuthorizationProvider";
|
|
9
|
-
import { IServerSocket } from "./IServerSocket";
|
|
10
|
-
export interface ChannelInfo {
|
|
11
|
-
name: string;
|
|
12
|
-
clientToServerAllowed: boolean;
|
|
13
|
-
serverToClientAllowed: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface ServerSocketInfo {
|
|
16
|
-
id: string;
|
|
17
|
-
createdAt: number;
|
|
18
|
-
channels: ChannelInfo[];
|
|
19
|
-
authInfo?: IPrincipal;
|
|
20
|
-
}
|
|
21
|
-
export declare abstract class AbstractServerSocketManager {
|
|
22
|
-
protected readonly requireAuthentication: boolean;
|
|
23
|
-
protected readonly logger: AbstractLogger;
|
|
24
|
-
protected readonly redisServerUrl: string;
|
|
25
|
-
protected readonly authProvider: AbstractHttpAuthorizationProvider;
|
|
26
|
-
protected readonly authResolver: (queries?: any) => any;
|
|
27
|
-
private mountedEndpointInfo?;
|
|
28
|
-
private _connectionHandler?;
|
|
29
|
-
protected redisClient: Client;
|
|
30
|
-
protected constructor(requireAuthentication: boolean, logger: AbstractLogger, redisServerUrl: string, authProvider: AbstractHttpAuthorizationProvider, authResolver: (queries?: any) => any);
|
|
31
|
-
abstract configure(data?: any): void;
|
|
32
|
-
protected getUniqueChannelPrefix(): string;
|
|
33
|
-
protected getSocketInfoHashKey(): string;
|
|
34
|
-
protected getConnectionHandler(): Promise<AbstractSocketConnectionHandler | undefined>;
|
|
35
|
-
protected formatBroadcastData(channel: string, data: any): SocketMessage;
|
|
36
|
-
protected getUniqueChannelName(channel: string): string;
|
|
37
|
-
protected getSocketIdsOfChannel(channel: string): Promise<string[]>;
|
|
38
|
-
addSocketToChannel(socketId: string, channelInfos: ChannelInfo[]): Promise<AbstractServerSocket | undefined>;
|
|
39
|
-
removeSocketFromChannel(socketId: string, channels: string[], persist?: boolean): Promise<void>;
|
|
40
|
-
abstract getSocketsByChannel(channel: string): Promise<IServerSocket[]>;
|
|
41
|
-
abstract broadcastToChannel(channel: string, data: any): Promise<void>;
|
|
42
|
-
removeSocket(socketId: string, physicRemove?: boolean): Promise<void>;
|
|
43
|
-
abstract getById(socketId: string): Promise<AbstractServerSocket | undefined>;
|
|
44
|
-
handle(socketData: SocketData): Promise<void>;
|
|
45
|
-
getMountedEndpointInfo(): Promise<MountedEndpointInfo[]>;
|
|
46
|
-
}
|
|
1
|
+
import { AbstractLogger, SocketMessage } from "@clairejs/core";
|
|
2
|
+
import Client from "ioredis";
|
|
3
|
+
import { SocketData } from "../common/request/SocketData";
|
|
4
|
+
import { AbstractSocketConnectionHandler } from "./AbstractSocketConnectionHandler";
|
|
5
|
+
import { IPrincipal } from "../common/auth/IPrincipal";
|
|
6
|
+
import { AbstractServerSocket } from "./AbstractServerSocket";
|
|
7
|
+
import { MountedEndpointInfo } from "../common/request/MountedEndpointInfo";
|
|
8
|
+
import { AbstractHttpAuthorizationProvider } from "../http/auth/AbstractHttpAuthorizationProvider";
|
|
9
|
+
import { IServerSocket } from "./IServerSocket";
|
|
10
|
+
export interface ChannelInfo {
|
|
11
|
+
name: string;
|
|
12
|
+
clientToServerAllowed: boolean;
|
|
13
|
+
serverToClientAllowed: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ServerSocketInfo {
|
|
16
|
+
id: string;
|
|
17
|
+
createdAt: number;
|
|
18
|
+
channels: ChannelInfo[];
|
|
19
|
+
authInfo?: IPrincipal;
|
|
20
|
+
}
|
|
21
|
+
export declare abstract class AbstractServerSocketManager {
|
|
22
|
+
protected readonly requireAuthentication: boolean;
|
|
23
|
+
protected readonly logger: AbstractLogger;
|
|
24
|
+
protected readonly redisServerUrl: string;
|
|
25
|
+
protected readonly authProvider: AbstractHttpAuthorizationProvider;
|
|
26
|
+
protected readonly authResolver: (queries?: any) => any;
|
|
27
|
+
private mountedEndpointInfo?;
|
|
28
|
+
private _connectionHandler?;
|
|
29
|
+
protected redisClient: Client;
|
|
30
|
+
protected constructor(requireAuthentication: boolean, logger: AbstractLogger, redisServerUrl: string, authProvider: AbstractHttpAuthorizationProvider, authResolver: (queries?: any) => any);
|
|
31
|
+
abstract configure(data?: any): void;
|
|
32
|
+
protected getUniqueChannelPrefix(): string;
|
|
33
|
+
protected getSocketInfoHashKey(): string;
|
|
34
|
+
protected getConnectionHandler(): Promise<AbstractSocketConnectionHandler | undefined>;
|
|
35
|
+
protected formatBroadcastData(channel: string, data: any): SocketMessage;
|
|
36
|
+
protected getUniqueChannelName(channel: string): string;
|
|
37
|
+
protected getSocketIdsOfChannel(channel: string): Promise<string[]>;
|
|
38
|
+
addSocketToChannel(socketId: string, channelInfos: ChannelInfo[]): Promise<AbstractServerSocket | undefined>;
|
|
39
|
+
removeSocketFromChannel(socketId: string, channels: string[], persist?: boolean): Promise<void>;
|
|
40
|
+
abstract getSocketsByChannel(channel: string): Promise<IServerSocket[]>;
|
|
41
|
+
abstract broadcastToChannel(channel: string, data: any): Promise<void>;
|
|
42
|
+
removeSocket(socketId: string, physicRemove?: boolean): Promise<void>;
|
|
43
|
+
abstract getById(socketId: string): Promise<AbstractServerSocket | undefined>;
|
|
44
|
+
handle(socketData: SocketData): Promise<void>;
|
|
45
|
+
getMountedEndpointInfo(): Promise<MountedEndpointInfo[]>;
|
|
46
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IServerSocket } from "./IServerSocket";
|
|
2
|
-
export declare abstract class AbstractSocketConnectionHandler {
|
|
3
|
-
abstract onSocketConnect(socket: IServerSocket): Promise<void>;
|
|
4
|
-
abstract onSocketDisconnect(socket: IServerSocket): Promise<void>;
|
|
5
|
-
abstract onMessage(socket: IServerSocket, message: any, channel?: string): Promise<void>;
|
|
6
|
-
}
|
|
1
|
+
import { IServerSocket } from "./IServerSocket";
|
|
2
|
+
export declare abstract class AbstractSocketConnectionHandler {
|
|
3
|
+
abstract onSocketConnect(socket: IServerSocket): Promise<void>;
|
|
4
|
+
abstract onSocketDisconnect(socket: IServerSocket): Promise<void>;
|
|
5
|
+
abstract onMessage(socket: IServerSocket, message: any, channel?: string): Promise<void>;
|
|
6
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { IServerSocket } from "./IServerSocket";
|
|
2
|
-
export declare abstract class AbstractSocketController {
|
|
3
|
-
readonly channel: string;
|
|
4
|
-
constructor(channel: string);
|
|
5
|
-
onChannelJoin(socket: IServerSocket): Promise<void>;
|
|
6
|
-
onChannelLeave(socket: IServerSocket): Promise<void>;
|
|
7
|
-
/**
|
|
8
|
-
* Handle the message sent to this channel
|
|
9
|
-
* @param socket the socket sending message
|
|
10
|
-
* @param data the data payload being sent
|
|
11
|
-
* @returns return false to prevent message broadcast
|
|
12
|
-
*/
|
|
13
|
-
onMessage(socket: IServerSocket, message: any): Promise<boolean | void>;
|
|
14
|
-
}
|
|
1
|
+
import { IServerSocket } from "./IServerSocket";
|
|
2
|
+
export declare abstract class AbstractSocketController {
|
|
3
|
+
readonly channel: string;
|
|
4
|
+
constructor(channel: string);
|
|
5
|
+
onChannelJoin(socket: IServerSocket): Promise<void>;
|
|
6
|
+
onChannelLeave(socket: IServerSocket): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Handle the message sent to this channel
|
|
9
|
+
* @param socket the socket sending message
|
|
10
|
+
* @param data the data payload being sent
|
|
11
|
+
* @returns return false to prevent message broadcast
|
|
12
|
+
*/
|
|
13
|
+
onMessage(socket: IServerSocket, message: any): Promise<boolean | void>;
|
|
14
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { AbstractLogger, IInit } from "@clairejs/core";
|
|
2
|
-
import { AbstractHttpRequestHandler } from "../http/controller/AbstractHttpRequestHandler";
|
|
3
|
-
import { AbstractServerSocketManager, ServerSocketInfo } from "./AbstractServerSocketManager";
|
|
4
|
-
import { AbstractServerSocket } from "./AbstractServerSocket";
|
|
5
|
-
import { AbstractHttpAuthorizationProvider } from "../http/auth/AbstractHttpAuthorizationProvider";
|
|
6
|
-
import { IPrincipal } from "../common/auth/IPrincipal";
|
|
7
|
-
import { IServerSocket } from "./IServerSocket";
|
|
8
|
-
export declare class AwsSocketManager extends AbstractServerSocketManager implements IInit {
|
|
9
|
-
protected readonly authenticationRequired: boolean;
|
|
10
|
-
protected readonly region: string;
|
|
11
|
-
protected readonly socketDomainUrl: string;
|
|
12
|
-
protected readonly redisServerUrl: string;
|
|
13
|
-
protected readonly httpRequestHandler: AbstractHttpRequestHandler;
|
|
14
|
-
protected readonly authorizationProvider: AbstractHttpAuthorizationProvider<IPrincipal>;
|
|
15
|
-
protected readonly authResolver: (queries?: any) => any;
|
|
16
|
-
protected readonly logger: AbstractLogger;
|
|
17
|
-
private readonly apiGatewayManagement;
|
|
18
|
-
constructor(authenticationRequired: boolean, region: string, socketDomainUrl: string, redisServerUrl: string, httpRequestHandler: AbstractHttpRequestHandler, authorizationProvider: AbstractHttpAuthorizationProvider<IPrincipal>, authResolver: (queries?: any) => any, logger: AbstractLogger);
|
|
19
|
-
init(): Promise<void>;
|
|
20
|
-
exit(): void;
|
|
21
|
-
removeSocketFromRedis(socketId: string): Promise<void>;
|
|
22
|
-
physicSend(socketId: string, data: any): Promise<void>;
|
|
23
|
-
configure(data?: any): void;
|
|
24
|
-
getSocketsByChannel(channel: string): Promise<IServerSocket[]>;
|
|
25
|
-
broadcastToChannel(channel: string, data: any): Promise<void>;
|
|
26
|
-
addSocket(socketInfo: ServerSocketInfo, data: any): Promise<AbstractServerSocket>;
|
|
27
|
-
removeSocket(socketId: string, physicRemove?: boolean): Promise<void>;
|
|
28
|
-
private getSocketBySerialized;
|
|
29
|
-
getById(socketId: string): Promise<AbstractServerSocket | undefined>;
|
|
30
|
-
}
|
|
1
|
+
import { AbstractLogger, IInit } from "@clairejs/core";
|
|
2
|
+
import { AbstractHttpRequestHandler } from "../http/controller/AbstractHttpRequestHandler";
|
|
3
|
+
import { AbstractServerSocketManager, ServerSocketInfo } from "./AbstractServerSocketManager";
|
|
4
|
+
import { AbstractServerSocket } from "./AbstractServerSocket";
|
|
5
|
+
import { AbstractHttpAuthorizationProvider } from "../http/auth/AbstractHttpAuthorizationProvider";
|
|
6
|
+
import { IPrincipal } from "../common/auth/IPrincipal";
|
|
7
|
+
import { IServerSocket } from "./IServerSocket";
|
|
8
|
+
export declare class AwsSocketManager extends AbstractServerSocketManager implements IInit {
|
|
9
|
+
protected readonly authenticationRequired: boolean;
|
|
10
|
+
protected readonly region: string;
|
|
11
|
+
protected readonly socketDomainUrl: string;
|
|
12
|
+
protected readonly redisServerUrl: string;
|
|
13
|
+
protected readonly httpRequestHandler: AbstractHttpRequestHandler;
|
|
14
|
+
protected readonly authorizationProvider: AbstractHttpAuthorizationProvider<IPrincipal>;
|
|
15
|
+
protected readonly authResolver: (queries?: any) => any;
|
|
16
|
+
protected readonly logger: AbstractLogger;
|
|
17
|
+
private readonly apiGatewayManagement;
|
|
18
|
+
constructor(authenticationRequired: boolean, region: string, socketDomainUrl: string, redisServerUrl: string, httpRequestHandler: AbstractHttpRequestHandler, authorizationProvider: AbstractHttpAuthorizationProvider<IPrincipal>, authResolver: (queries?: any) => any, logger: AbstractLogger);
|
|
19
|
+
init(): Promise<void>;
|
|
20
|
+
exit(): void;
|
|
21
|
+
removeSocketFromRedis(socketId: string): Promise<void>;
|
|
22
|
+
physicSend(socketId: string, data: any): Promise<void>;
|
|
23
|
+
configure(data?: any): void;
|
|
24
|
+
getSocketsByChannel(channel: string): Promise<IServerSocket[]>;
|
|
25
|
+
broadcastToChannel(channel: string, data: any): Promise<void>;
|
|
26
|
+
addSocket(socketInfo: ServerSocketInfo, data: any): Promise<AbstractServerSocket>;
|
|
27
|
+
removeSocket(socketId: string, physicRemove?: boolean): Promise<void>;
|
|
28
|
+
private getSocketBySerialized;
|
|
29
|
+
getById(socketId: string): Promise<AbstractServerSocket | undefined>;
|
|
30
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { IPrincipal } from "../common/auth/IPrincipal";
|
|
2
|
-
export interface IServerSocket {
|
|
3
|
-
getId(): string;
|
|
4
|
-
getAuthInfo(): IPrincipal | undefined;
|
|
5
|
-
/**
|
|
6
|
-
* Send back data to client
|
|
7
|
-
* @param data The data to send, will be serialized using JSON.stringify
|
|
8
|
-
*/
|
|
9
|
-
send(data: any, channel?: string): Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Disconnect the socket and optionally provide the error which cause the disconnection.
|
|
12
|
-
* The client socket will treat this error as intended reason for socket termination.
|
|
13
|
-
* @param err The error which cause the disconnection
|
|
14
|
-
*/
|
|
15
|
-
disconnect(err?: any): Promise<void>;
|
|
16
|
-
}
|
|
1
|
+
import { IPrincipal } from "../common/auth/IPrincipal";
|
|
2
|
+
export interface IServerSocket {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getAuthInfo(): IPrincipal | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Send back data to client
|
|
7
|
+
* @param data The data to send, will be serialized using JSON.stringify
|
|
8
|
+
*/
|
|
9
|
+
send(data: any, channel?: string): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Disconnect the socket and optionally provide the error which cause the disconnection.
|
|
12
|
+
* The client socket will treat this error as intended reason for socket termination.
|
|
13
|
+
* @param err The error which cause the disconnection
|
|
14
|
+
*/
|
|
15
|
+
disconnect(err?: any): Promise<void>;
|
|
16
|
+
}
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { AbstractLogger, IInit } from "@clairejs/core";
|
|
3
|
-
import WebSocket from "ws";
|
|
4
|
-
import { Server } from "http";
|
|
5
|
-
import { AbstractServerSocketManager, ChannelInfo, ServerSocketInfo } from "./AbstractServerSocketManager";
|
|
6
|
-
import { AbstractServerSocket } from "./AbstractServerSocket";
|
|
7
|
-
import { AbstractHttpAuthorizationProvider } from "../http/auth/AbstractHttpAuthorizationProvider";
|
|
8
|
-
import { IServerSocket } from "./IServerSocket";
|
|
9
|
-
export declare class LocalSocketManager extends AbstractServerSocketManager implements IInit {
|
|
10
|
-
protected readonly authenticationRequired: boolean;
|
|
11
|
-
protected readonly redisServerUrl: string;
|
|
12
|
-
protected readonly logger: AbstractLogger;
|
|
13
|
-
protected readonly authProvider: AbstractHttpAuthorizationProvider;
|
|
14
|
-
protected readonly authResolver: (queries?: any) => any;
|
|
15
|
-
/**
|
|
16
|
-
* Use to subscribe to the socket-self channels
|
|
17
|
-
*/
|
|
18
|
-
private readonly subClient;
|
|
19
|
-
/**
|
|
20
|
-
* Use to subscribe to channels
|
|
21
|
-
*/
|
|
22
|
-
private readonly channelSubClient;
|
|
23
|
-
/**
|
|
24
|
-
* Use to publish data
|
|
25
|
-
*/
|
|
26
|
-
private readonly sendClient;
|
|
27
|
-
private allSockets;
|
|
28
|
-
private subscribedChannels;
|
|
29
|
-
constructor(authenticationRequired: boolean, redisServerUrl: string, logger: AbstractLogger, authProvider: AbstractHttpAuthorizationProvider, authResolver: (queries?: any) => any);
|
|
30
|
-
init(): Promise<void>;
|
|
31
|
-
exit(): void;
|
|
32
|
-
private channelMessageListenner;
|
|
33
|
-
private socketMessageListener;
|
|
34
|
-
protected getUniqueDataChannelName(channel: string): string;
|
|
35
|
-
protected getSocketChannelKeyPrefix(): string;
|
|
36
|
-
protected getSocketChannelKey(socketId: string): string;
|
|
37
|
-
broadcastToChannel(channel: string, data: any): Promise<void>;
|
|
38
|
-
addSocketToChannel(socketId: string, channelInfos: ChannelInfo[]): Promise<AbstractServerSocket | undefined>;
|
|
39
|
-
removeSocketFromChannel(socketId: string, channels: string[], persist?: boolean): Promise<void>;
|
|
40
|
-
addSocket(socketInfo: ServerSocketInfo, { socket }: {
|
|
41
|
-
socket: WebSocket;
|
|
42
|
-
}): Promise<AbstractServerSocket>;
|
|
43
|
-
removeSocket(socketId: string, physicRemove?: boolean): Promise<void>;
|
|
44
|
-
getById(socketId: string): Promise<AbstractServerSocket | undefined>;
|
|
45
|
-
getSocketsByChannel(channel: string): Promise<IServerSocket[]>;
|
|
46
|
-
configure(httpServer?: Server): void;
|
|
47
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { AbstractLogger, IInit } from "@clairejs/core";
|
|
3
|
+
import WebSocket from "ws";
|
|
4
|
+
import { Server } from "http";
|
|
5
|
+
import { AbstractServerSocketManager, ChannelInfo, ServerSocketInfo } from "./AbstractServerSocketManager";
|
|
6
|
+
import { AbstractServerSocket } from "./AbstractServerSocket";
|
|
7
|
+
import { AbstractHttpAuthorizationProvider } from "../http/auth/AbstractHttpAuthorizationProvider";
|
|
8
|
+
import { IServerSocket } from "./IServerSocket";
|
|
9
|
+
export declare class LocalSocketManager extends AbstractServerSocketManager implements IInit {
|
|
10
|
+
protected readonly authenticationRequired: boolean;
|
|
11
|
+
protected readonly redisServerUrl: string;
|
|
12
|
+
protected readonly logger: AbstractLogger;
|
|
13
|
+
protected readonly authProvider: AbstractHttpAuthorizationProvider;
|
|
14
|
+
protected readonly authResolver: (queries?: any) => any;
|
|
15
|
+
/**
|
|
16
|
+
* Use to subscribe to the socket-self channels
|
|
17
|
+
*/
|
|
18
|
+
private readonly subClient;
|
|
19
|
+
/**
|
|
20
|
+
* Use to subscribe to channels
|
|
21
|
+
*/
|
|
22
|
+
private readonly channelSubClient;
|
|
23
|
+
/**
|
|
24
|
+
* Use to publish data
|
|
25
|
+
*/
|
|
26
|
+
private readonly sendClient;
|
|
27
|
+
private allSockets;
|
|
28
|
+
private subscribedChannels;
|
|
29
|
+
constructor(authenticationRequired: boolean, redisServerUrl: string, logger: AbstractLogger, authProvider: AbstractHttpAuthorizationProvider, authResolver: (queries?: any) => any);
|
|
30
|
+
init(): Promise<void>;
|
|
31
|
+
exit(): void;
|
|
32
|
+
private channelMessageListenner;
|
|
33
|
+
private socketMessageListener;
|
|
34
|
+
protected getUniqueDataChannelName(channel: string): string;
|
|
35
|
+
protected getSocketChannelKeyPrefix(): string;
|
|
36
|
+
protected getSocketChannelKey(socketId: string): string;
|
|
37
|
+
broadcastToChannel(channel: string, data: any): Promise<void>;
|
|
38
|
+
addSocketToChannel(socketId: string, channelInfos: ChannelInfo[]): Promise<AbstractServerSocket | undefined>;
|
|
39
|
+
removeSocketFromChannel(socketId: string, channels: string[], persist?: boolean): Promise<void>;
|
|
40
|
+
addSocket(socketInfo: ServerSocketInfo, { socket }: {
|
|
41
|
+
socket: WebSocket;
|
|
42
|
+
}): Promise<AbstractServerSocket>;
|
|
43
|
+
removeSocket(socketId: string, physicRemove?: boolean): Promise<void>;
|
|
44
|
+
getById(socketId: string): Promise<AbstractServerSocket | undefined>;
|
|
45
|
+
getSocketsByChannel(channel: string): Promise<IServerSocket[]>;
|
|
46
|
+
configure(httpServer?: Server): void;
|
|
47
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { AbstractLogger, ClaireApp } from "@clairejs/core";
|
|
2
|
-
import { AbstractHttpRequestHandler } from "../http/controller/AbstractHttpRequestHandler";
|
|
3
|
-
import { AbstractServerSocketManager } from "../socket/AbstractServerSocketManager";
|
|
4
|
-
export declare class ClaireServer extends ClaireApp {
|
|
5
|
-
readonly logger: AbstractLogger;
|
|
6
|
-
readonly httpRequestHandler: AbstractHttpRequestHandler | undefined;
|
|
7
|
-
readonly socketManager: AbstractServerSocketManager | undefined;
|
|
8
|
-
private booted;
|
|
9
|
-
constructor(logger: AbstractLogger, httpRequestHandler: AbstractHttpRequestHandler | undefined, socketManager: AbstractServerSocketManager | undefined);
|
|
10
|
-
init(): Promise<void>;
|
|
11
|
-
exit(): void;
|
|
12
|
-
private stop;
|
|
13
|
-
}
|
|
1
|
+
import { AbstractLogger, ClaireApp } from "@clairejs/core";
|
|
2
|
+
import { AbstractHttpRequestHandler } from "../http/controller/AbstractHttpRequestHandler";
|
|
3
|
+
import { AbstractServerSocketManager } from "../socket/AbstractServerSocketManager";
|
|
4
|
+
export declare class ClaireServer extends ClaireApp {
|
|
5
|
+
readonly logger: AbstractLogger;
|
|
6
|
+
readonly httpRequestHandler: AbstractHttpRequestHandler | undefined;
|
|
7
|
+
readonly socketManager: AbstractServerSocketManager | undefined;
|
|
8
|
+
private booted;
|
|
9
|
+
constructor(logger: AbstractLogger, httpRequestHandler: AbstractHttpRequestHandler | undefined, socketManager: AbstractServerSocketManager | undefined);
|
|
10
|
+
init(): Promise<void>;
|
|
11
|
+
exit(): void;
|
|
12
|
+
private stop;
|
|
13
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { ClaireServer } from "./ClaireServer";
|
|
2
|
-
interface ExpressWrapperConfig {
|
|
3
|
-
maxBodySizeKB?: number;
|
|
4
|
-
}
|
|
5
|
-
export declare class ExpressWrapper {
|
|
6
|
-
private readonly injector;
|
|
7
|
-
private readonly socketManager?;
|
|
8
|
-
private readonly logger;
|
|
9
|
-
private readonly server;
|
|
10
|
-
private readonly config?;
|
|
11
|
-
private readonly httpRequestHandler?;
|
|
12
|
-
private httpServer?;
|
|
13
|
-
constructor(server: ClaireServer, config?: ExpressWrapperConfig);
|
|
14
|
-
close(): void;
|
|
15
|
-
listen(listenPort: number): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
1
|
+
import { ClaireServer } from "./ClaireServer";
|
|
2
|
+
interface ExpressWrapperConfig {
|
|
3
|
+
maxBodySizeKB?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare class ExpressWrapper {
|
|
6
|
+
private readonly injector;
|
|
7
|
+
private readonly socketManager?;
|
|
8
|
+
private readonly logger;
|
|
9
|
+
private readonly server;
|
|
10
|
+
private readonly config?;
|
|
11
|
+
private readonly httpRequestHandler?;
|
|
12
|
+
private httpServer?;
|
|
13
|
+
constructor(server: ClaireServer, config?: ExpressWrapperConfig);
|
|
14
|
+
close(): void;
|
|
15
|
+
listen(listenPort: number): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { RequestOptions } from "../common/request/RequestOptions";
|
|
2
|
-
import { ClaireServer } from "./ClaireServer";
|
|
3
|
-
interface LambdaResponse {
|
|
4
|
-
statusCode: number;
|
|
5
|
-
body: string;
|
|
6
|
-
headers: any;
|
|
7
|
-
}
|
|
8
|
-
export declare class LambdaWrapper {
|
|
9
|
-
readonly serverFactory: () => Promise<ClaireServer>;
|
|
10
|
-
readonly requestMapper: (event: any) => RequestOptions | undefined;
|
|
11
|
-
private readonly injector;
|
|
12
|
-
private readonly logger;
|
|
13
|
-
private readonly httpRequestHandler?;
|
|
14
|
-
private readonly socketManager?;
|
|
15
|
-
private readonly jobScheduler?;
|
|
16
|
-
private _server?;
|
|
17
|
-
constructor(serverFactory: () => Promise<ClaireServer>, requestMapper: (event: any) => RequestOptions | undefined);
|
|
18
|
-
private bootServer;
|
|
19
|
-
handler(event: any): Promise<LambdaResponse>;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
1
|
+
import { RequestOptions } from "../common/request/RequestOptions";
|
|
2
|
+
import { ClaireServer } from "./ClaireServer";
|
|
3
|
+
interface LambdaResponse {
|
|
4
|
+
statusCode: number;
|
|
5
|
+
body: string;
|
|
6
|
+
headers: any;
|
|
7
|
+
}
|
|
8
|
+
export declare class LambdaWrapper {
|
|
9
|
+
readonly serverFactory: () => Promise<ClaireServer>;
|
|
10
|
+
readonly requestMapper: (event: any) => RequestOptions | undefined;
|
|
11
|
+
private readonly injector;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
private readonly httpRequestHandler?;
|
|
14
|
+
private readonly socketManager?;
|
|
15
|
+
private readonly jobScheduler?;
|
|
16
|
+
private _server?;
|
|
17
|
+
constructor(serverFactory: () => Promise<ClaireServer>, requestMapper: (event: any) => RequestOptions | undefined);
|
|
18
|
+
private bootServer;
|
|
19
|
+
handler(event: any): Promise<LambdaResponse>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CoreGlobalStore } from "@clairejs/core";
|
|
2
|
-
import { MountedEndpointInfo } from "../common/request/MountedEndpointInfo";
|
|
3
|
-
export interface ServerGlobalStore extends CoreGlobalStore {
|
|
4
|
-
mountedEndpointInfo?: MountedEndpointInfo[];
|
|
5
|
-
systemLocale?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const setSystemLocale: (locale: string) => void;
|
|
8
|
-
export declare const getSystemLocale: () => string;
|
|
1
|
+
import { CoreGlobalStore } from "@clairejs/core";
|
|
2
|
+
import { MountedEndpointInfo } from "../common/request/MountedEndpointInfo";
|
|
3
|
+
export interface ServerGlobalStore extends CoreGlobalStore {
|
|
4
|
+
mountedEndpointInfo?: MountedEndpointInfo[];
|
|
5
|
+
systemLocale?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const setSystemLocale: (locale: string) => void;
|
|
8
|
+
export declare const getSystemLocale: () => string;
|
package/dist/system/errors.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export declare const Errors: {
|
|
2
|
-
TFA_REQUIRED: string;
|
|
3
|
-
SYSTEM_ERROR: string;
|
|
4
|
-
HTTP_REQUEST_ERROR: string;
|
|
5
|
-
SESSION_EXPIRED: string;
|
|
6
|
-
ACCESS_DENIED: string;
|
|
7
|
-
AUTHENTICATION_ERROR: string;
|
|
8
|
-
NOT_FOUND: string;
|
|
9
|
-
VALIDATION_ERROR: string;
|
|
10
|
-
BAD_STATE: string;
|
|
11
|
-
QUERY_ERROR: string;
|
|
12
|
-
REQUEST_RATE_LIMIT: string;
|
|
13
|
-
CANNOT_LOCK: string;
|
|
14
|
-
};
|
|
1
|
+
export declare const Errors: {
|
|
2
|
+
TFA_REQUIRED: string;
|
|
3
|
+
SYSTEM_ERROR: string;
|
|
4
|
+
HTTP_REQUEST_ERROR: string;
|
|
5
|
+
SESSION_EXPIRED: string;
|
|
6
|
+
ACCESS_DENIED: string;
|
|
7
|
+
AUTHENTICATION_ERROR: string;
|
|
8
|
+
NOT_FOUND: string;
|
|
9
|
+
VALIDATION_ERROR: string;
|
|
10
|
+
BAD_STATE: string;
|
|
11
|
+
QUERY_ERROR: string;
|
|
12
|
+
REQUEST_RATE_LIMIT: string;
|
|
13
|
+
CANNOT_LOCK: string;
|
|
14
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { RequestOptions } from "../common/request/RequestOptions";
|
|
2
|
-
export declare const lambdaRequestMapper: (event: any) => RequestOptions;
|
|
1
|
+
import { RequestOptions } from "../common/request/RequestOptions";
|
|
2
|
+
export declare const lambdaRequestMapper: (event: any) => RequestOptions;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { AbstractModel } from "@clairejs/core";
|
|
2
|
-
export declare class LocaleEntry extends AbstractModel {
|
|
3
|
-
}
|
|
1
|
+
import { AbstractModel } from "@clairejs/core";
|
|
2
|
+
export declare class LocaleEntry extends AbstractModel {
|
|
3
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AbstractModel } from "@clairejs/core";
|
|
2
|
-
export declare class LocaleTranslation extends AbstractModel {
|
|
3
|
-
entryId: number;
|
|
4
|
-
localeCode: string;
|
|
5
|
-
translation: string;
|
|
6
|
-
}
|
|
1
|
+
import { AbstractModel } from "@clairejs/core";
|
|
2
|
+
export declare class LocaleTranslation extends AbstractModel {
|
|
3
|
+
entryId: number;
|
|
4
|
+
localeCode: string;
|
|
5
|
+
translation: string;
|
|
6
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AbstractModel } from "@clairejs/core";
|
|
2
|
-
export declare const LocaleOf: <T>(referenceColumn: keyof T) => <K extends string>(prototype: T & AbstractModel & { [k in K]?: Record<string, string> | undefined; }, propertyKey: K) => void;
|
|
1
|
+
import { AbstractModel } from "@clairejs/core";
|
|
2
|
+
export declare const LocaleOf: <T>(referenceColumn: keyof T) => <K extends string>(prototype: T & AbstractModel & { [k in K]?: Record<string, string> | undefined; }, propertyKey: K) => void;
|