sp-hydra-veil-core/core/controllers/SubscriptionPlanController.py

37 lines
1.2 KiB
Python

from core.models.SubscriptionPlan import SubscriptionPlan
from core.models.session.SessionConnection import SessionConnection
from core.models.system.SystemConnection import SystemConnection
from core.services.WebServiceApiService import WebServiceApiService
from typing import Union, Optional
class SubscriptionPlanController:
@staticmethod
def get(connection: Union[SessionConnection, SystemConnection], duration: int):
"""
Called by:
GUI in worker.py
Purpose:
confirm the subscription's length is valid
"""
return SubscriptionPlan.find(connection, duration)
@staticmethod
def get_all(connection: Optional[Union[SessionConnection, SystemConnection]] = None):
"""
Not used. Good candidate to be cut.
GUI's create_interface_elements
inside duration selection page actually has hardcoded amounts
"""
return SubscriptionPlan.all(connection)
@staticmethod
def _sync(proxies: Optional[dict] = None):
subscription_plans = WebServiceApiService.get_subscription_plans(proxies)
SubscriptionPlan.truncate()
SubscriptionPlan.save_many(subscription_plans)