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

45 lines
1.2 KiB
TypeScript
Raw Normal View History

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
}