37 lines
1.2 KiB
Python
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)
|