2025-11-10 17:41:48 +00:00
|
|
|
import { RequestHandler } from "../RequestHandler";
|
|
|
|
|
import { FastifyRequest, FastifyReply } from 'fastify';
|
|
|
|
|
import { UserManagementServer } from "../UserManagementServer";
|
2025-11-11 21:46:18 +00:00
|
|
|
import { Message } from "../../../browser/messages/Message";
|
2025-11-15 18:58:30 +00:00
|
|
|
import { ErrorInfo } from "../ErrorInfo";
|
|
|
|
|
import { MessageTypes } from "../../../browser/messages/MessageType";
|
2025-11-10 17:41:48 +00:00
|
|
|
|
|
|
|
|
export abstract class RequestRequirement
|
|
|
|
|
{
|
2025-11-15 18:58:30 +00:00
|
|
|
private _isGlobal:boolean = false;
|
|
|
|
|
private _ums:UserManagementServer;
|
|
|
|
|
private _handler:RequestHandler = null;
|
|
|
|
|
get handler(){ return this._handler; }
|
|
|
|
|
get ums() { return this._isGlobal ? this._ums : this._handler._ums };
|
2025-11-10 17:41:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-11-15 18:58:30 +00:00
|
|
|
sendError( message:string, errorInfo:ErrorInfo = undefined ):Promise<Message[]>
|
|
|
|
|
{
|
|
|
|
|
let messages = [ Message.Error( message ) ];
|
|
|
|
|
return Promise.resolve( messages );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
giveOK():Promise<Message[]>
|
|
|
|
|
{
|
|
|
|
|
return Promise.resolve( [] );
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-11 21:46:18 +00:00
|
|
|
abstract handle( request:FastifyRequest, reply:FastifyReply ):Promise<Message[]>
|
2025-11-10 17:41:48 +00:00
|
|
|
|
|
|
|
|
}
|