HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux mail.btech-izolacje.pl 5.15.0-140-generic #150-Ubuntu SMP Sat Apr 12 06:00:09 UTC 2025 x86_64
User: pewna6876 (1017)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/postfixSenderPolicy/policyConstraint.py
from emailPremium.models import DomainLimits, EmailLimits, EmailLogs
from mailServer.models import Domains, EUsers

class emailConstraints:
    def __init__(self, emailAddress, monthlyLimits, monthlyUsed, hourlyLimits, hourlyUsed, limitStatus, logStatus):
        self.emailAddress = emailAddress
        self.monthlyLimits = monthlyLimits
        self.monthlyUsed = monthlyUsed
        self.hourlyLimits = hourlyLimits
        self.hourlyUsed = hourlyUsed
        self.limitStatus = limitStatus
        self.logStatus = logStatus

class policyConstraints:
    def __init__(self, domain, monthlyLimits, monthlyUsed, limitStatus):
        self.domain = domain
        self.emails = {}
        self.monthlyLimits = monthlyLimits
        self.monthlyUsed = monthlyUsed
        self.limitStatus = limitStatus


    def findEmailOBJ(self, emailAddress):
        if emailAddress in self.emails:
            return self.emails[emailAddress]
        else:
            email = EUsers.objects.get(email=emailAddress)
            emailLTS = EmailLimits.objects.get(email=email)
            newEmail = emailConstraints(emailAddress, emailLTS.monthlyLimits, emailLTS.monthlyUsed, emailLTS.hourlyLimit,
                                        emailLTS.hourlyUsed, emailLTS.limitStatus, emailLTS.emailLogs)
            self.emails[emailAddress] = newEmail
            return newEmail