library-ts/node/users/requirements/RequestRequirement.ts

30 lines
758 B
TypeScript

import { RequestHandler } from "../RequestHandler";
import { FastifyRequest, FastifyReply } from 'fastify';
import { UserManagementServer } from "../UserManagementServer";
import { Message } from "../../../browser/messages/Message";
export abstract class RequestRequirement
{
_isGlobal:boolean = false;
_ums:UserManagementServer;
_handler:RequestHandler = null;
initialize( handler:RequestHandler ):Promise<void>
{
this._isGlobal = false;
this._handler = handler;
return Promise.resolve();
}
initializeGlobal( ums:UserManagementServer ):Promise<void>
{
this._isGlobal = true;
this._ums = ums;
return Promise.resolve();
}
abstract handle( request:FastifyRequest, reply:FastifyReply ):Promise<Message[]>
}