26 lines
771 B
Python
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)
|