opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
defence360agent
/
myimunify
➕ New
📤 Upload
✎ Editing:
billing.py
← Back
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
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel