@it_kyryl/arbitrage_admin_schema
Version:
Schema for arbitrage admin panel
23 lines • 890 B
TypeScript
import IPresenter from "../presenters/Presenter.interface";
type SuccessControllerReturn<PresenterOutput> = {
error: false;
message?: string;
data: PresenterOutput;
};
type ErrorControllerReturn = {
error: true;
message?: string;
};
type ControllerReturn<PresenterOutput> = SuccessControllerReturn<PresenterOutput> | ErrorControllerReturn;
export declare abstract class BaseController<ControllerInput, UseCaseOutput, PresenterOutput> {
private readonly dependency;
private logRepository;
constructor(dependency: {
presenter: IPresenter<UseCaseOutput, PresenterOutput>;
});
execute(input: ControllerInput): Promise<ControllerReturn<PresenterOutput>>;
protected handleError(e: any): Promise<void>;
abstract useCasesImplementation(input: ControllerInput): Promise<UseCaseOutput>;
}
export {};
//# sourceMappingURL=BaseController.d.ts.map