@energica-city/shared-amplify-utils
Version:
Shared utilities for AWS Amplify projects
14 lines • 1.67 kB
TypeScript
import type { WebSocketInputWithModels, AuthorizerResponse, WebSocketHandlerReturn, WebSocketMiddlewareChain } from './types';
import type { AmplifyModelType, QueryFactoryResult } from '../../queries/types';
export declare function createWebSocketChain<TTypes extends Record<string, AmplifyModelType>, TReturn = WebSocketHandlerReturn>(config?: {
enableDebugLogging?: boolean;
onError?: (error: unknown, middlewareName: string) => void;
}): WebSocketMiddlewareChain<TTypes, TReturn>;
export declare function wrapWebSocketHandler<TTypes extends Record<string, AmplifyModelType>, TReturn extends WebSocketHandlerReturn = WebSocketHandlerReturn>(chain: WebSocketMiddlewareChain<TTypes, TReturn>, handler: (input: WebSocketInputWithModels<TTypes>) => Promise<TReturn>): (event: WebSocketInputWithModels<TTypes>['event'], context: WebSocketInputWithModels<TTypes>['context']) => Promise<TReturn>;
export declare function createAllowPolicy(principalId: string, resourceArn?: string, action?: string, context?: Record<string, string | number | boolean>): AuthorizerResponse;
export declare function createDenyPolicy(principalId: string, resourceArn?: string, action?: string): AuthorizerResponse;
export declare function getModelsFromInput<TTypes extends Record<string, AmplifyModelType>>(input: WebSocketInputWithModels<TTypes>): {
[K in keyof TTypes]: QueryFactoryResult<K & string, TTypes>;
};
export declare function getModelFromInput<T extends keyof TTypes, TTypes extends Record<string, AmplifyModelType>>(input: WebSocketInputWithModels<TTypes>, modelName: T): QueryFactoryResult<T & string, TTypes>;
//# sourceMappingURL=WebSocketMiddlewareChain.d.ts.map