sdk/ts/sdk.classes.aghandler.ts
2020-07-04 14:38:25 +00:00

24 lines
672 B
TypeScript

import * as plugins from './sdk.plugins';
import { AuthInfo } from './sdk.classes.authinfo';
export interface IRequirementResult {
allOk: boolean;
reason: string;
}
export abstract class AAgHandler<TClaim> {
/**
* a slug that separates the handler from other handlers
*/
public abstract slug: string;
public abstract handleRequest (authInfoArg: AuthInfo<TClaim>, request: plugins.tsclass.network.ISimpleRequest): Promise<plugins.tsclass.network.ISimpleResponse>;
public abstract checkReqirements (): Promise<IRequirementResult>;
/**
* start the ag-handler
*/
public abstract start(): Promise<any>;
public abstract stop(): Promise<any>;
}