diff --git a/package.json b/package.json index 94d8dac..ce6330d 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,8 @@ "author": "Lossless GmbH", "license": "MIT", "scripts": { - "test": "(tstest test/)", - "build": "(tsbuild)", - "format": "(gitzone format)" + "test": "(tstest test/ --web)", + "build": "(tsbuild --web)" }, "devDependencies": { "@gitzone/tsbuild": "^2.0.22", diff --git a/test/test.ts b/test/test.ts index d2b9aeb..b546024 100644 --- a/test/test.ts +++ b/test/test.ts @@ -10,6 +10,16 @@ tap.test('should create a valid Handler', async () => { let response: any; return response; } + public async checkReqirements() { + return { + allOk: true, + reason: '' + } + } + + public async start() {} + + public async stop() {} } const myHandlerInstance = new MyHandler(); diff --git a/ts/sdk.classes.aghandler.ts b/ts/sdk.classes.aghandler.ts index c272b05..6668a4b 100644 --- a/ts/sdk.classes.aghandler.ts +++ b/ts/sdk.classes.aghandler.ts @@ -1,14 +1,24 @@ import * as plugins from './sdk.plugins'; import { AuthInfo } from './sdk.classes.authinfo'; +export interface IRequirementResult { + allOk: boolean; + reason: string; +} + export abstract class AAgHandler { /** * a slug that separates the handler from other handlers */ public abstract slug: string; - public abstract handleRequest (authInfoArg: AuthInfo, request: plugins.tsclass.network.ISimpleRequest): Promise; + public abstract handleRequest (authInfoArg: AuthInfo, request: plugins.tsclass.network.ISimpleRequest): Promise; + public abstract checkReqirements (): Promise; + + /** + * start the ag-handler + */ public abstract start(): Promise; public abstract stop(): Promise; } \ No newline at end of file