add enums

This commit is contained in:
Beverly Nguyen
2025-10-16 14:41:13 -07:00
parent fb528f03a8
commit a8400c1881
2 changed files with 13 additions and 9 deletions

View File

@@ -106,3 +106,9 @@ class VerificationStatus(StrEnum):
class AuthType(StrEnum): class AuthType(StrEnum):
EMAIL_AUTH = "email_auth" EMAIL_AUTH = "email_auth"
SMS_AUTH = "sms_auth" SMS_AUTH = "sms_auth"
class ServiceStatus(StrEnum):
LIVE = "live"
TRIAL = "trial"
SUSPENDED = "suspended"

View File

@@ -11,6 +11,7 @@ from app import (
organizations_client, organizations_client,
service_api_client, service_api_client,
) )
from app.enums import ServiceStatus
from app.main import main from app.main import main
from app.main.forms import ( from app.main.forms import (
AdminBillingDetailsForm, AdminBillingDetailsForm,
@@ -35,23 +36,20 @@ from notifications_python_client.errors import HTTPError
def get_service_counts_by_status(services): def get_service_counts_by_status(services):
"""
Calculate service counts by status.
"""
def get_status(service): def get_status(service):
if not service.get("active"): if not service.get("active"):
return "suspended" return ServiceStatus.SUSPENDED
elif service.get("restricted"): elif service.get("restricted"):
return "trial" return ServiceStatus.TRIAL
else: else:
return "live" return ServiceStatus.LIVE
status_counts = Counter(get_status(service) for service in services) status_counts = Counter(get_status(service) for service in services)
return { return {
"live": status_counts["live"], "live": status_counts[ServiceStatus.LIVE],
"trial": status_counts["trial"], "trial": status_counts[ServiceStatus.TRIAL],
"suspended": status_counts["suspended"], "suspended": status_counts[ServiceStatus.SUSPENDED],
"total": len(services), "total": len(services),
} }