chain-service/chain_service/services/progress_action/factory.py
2024-02-28 18:33:25 +07:00

26 lines
771 B
Python

from chain_service.database.models.progress_chain import BaseProgressAction
from .base import BaseProgressActionService
from .wait_progress_action import WaitProgressActionService
from .comment_progress_action import CommentProgressActionService
from planfix_client import PlanfixClient
class ProgressActionServiceFactory:
def __init__(self, planfix_client: PlanfixClient):
self.planfix_client = planfix_client
def __call__(
self, progress_action: BaseProgressAction
) -> BaseProgressActionService:
match progress_action.action_type:
case "wait":
return WaitProgressActionService()
case "comment":
return CommentProgressActionService(planfix_client=self.planfix_client)