#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Self, Any, Callable from Interfaces.Application.NucelarMonitorInterface import NucelarMonitorInterface from Models.RequestModel import RequestModel from Models.ResponseModel import ResponseModel class ControllerAbstract: def __init__(self:Self, nucelar_monitor:NucelarMonitorInterface) -> None: self.nucelar_monitor:NucelarMonitorInterface = nucelar_monitor def get_action(self:Self, action:str) -> Callable[[RequestModel, ResponseModel], None]|None: method:Any|None = getattr(self, action, None) return method if method is not None and callable(method) else None