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 { this._isGlobal = false; this._handler = handler; return Promise.resolve(); } initializeGlobal( ums:UserManagementServer ):Promise { this._isGlobal = true; this._ums = ums; return Promise.resolve(); } abstract handle( request:FastifyRequest, reply:FastifyReply ):Promise }