feat: Add 'Day Usage' column to user table
This commit is contained in:
@ -9,6 +9,7 @@ class User(BaseModel):
|
||||
traffic_used: str
|
||||
expiry_date: str
|
||||
expiry_days: str
|
||||
day_usage: str
|
||||
enable: bool
|
||||
unlimited_ip: bool
|
||||
online_count: int = 0
|
||||
@ -36,6 +37,7 @@ class User(BaseModel):
|
||||
'traffic_used': 'N/A',
|
||||
'expiry_date': 'N/A',
|
||||
'expiry_days': 'N/A',
|
||||
'day_usage': 'N/A',
|
||||
'enable': False,
|
||||
'unlimited_ip': False,
|
||||
'online_count': 0
|
||||
@ -43,21 +45,26 @@ class User(BaseModel):
|
||||
|
||||
expiration_days = user_data.get('expiration_days', 0)
|
||||
creation_date_str = user_data.get("account_creation_date")
|
||||
|
||||
day_usage = "On-hold"
|
||||
display_expiry_days = "On-hold"
|
||||
display_expiry_date = "On-hold"
|
||||
|
||||
if not creation_date_str:
|
||||
display_expiry_days = "On-hold"
|
||||
display_expiry_date = "On-hold"
|
||||
elif expiration_days <= 0:
|
||||
display_expiry_days = "Unlimited"
|
||||
display_expiry_date = "Unlimited"
|
||||
else:
|
||||
display_expiry_days = str(expiration_days)
|
||||
if creation_date_str:
|
||||
try:
|
||||
creation_date = datetime.strptime(creation_date_str, "%Y-%m-%d")
|
||||
expiry_dt_obj = creation_date + timedelta(days=expiration_days)
|
||||
display_expiry_date = expiry_dt_obj.strftime("%Y-%m-%d")
|
||||
day_usage = str((datetime.now() - creation_date).days)
|
||||
|
||||
if expiration_days <= 0:
|
||||
display_expiry_days = "Unlimited"
|
||||
display_expiry_date = "Unlimited"
|
||||
else:
|
||||
display_expiry_days = str(expiration_days)
|
||||
expiry_dt_obj = creation_date + timedelta(days=expiration_days)
|
||||
display_expiry_date = expiry_dt_obj.strftime("%Y-%m-%d")
|
||||
except (ValueError, TypeError):
|
||||
display_expiry_date = "Error"
|
||||
day_usage = "Error"
|
||||
|
||||
used_bytes = user_data.get("download_bytes", 0) + user_data.get("upload_bytes", 0)
|
||||
quota_bytes = user_data.get('max_download_bytes', 0)
|
||||
@ -78,6 +85,7 @@ class User(BaseModel):
|
||||
'traffic_used': traffic_used_display,
|
||||
'expiry_date': display_expiry_date,
|
||||
'expiry_days': display_expiry_days,
|
||||
'day_usage': day_usage,
|
||||
'enable': not user_data.get('blocked', False),
|
||||
'unlimited_ip': user_data.get('unlimited_user', False),
|
||||
'online_count': user_data.get('online_count', 0)
|
||||
|
||||
Reference in New Issue
Block a user