fix(cli): Prevent unwanted creation_date in add_user command

This commit is contained in:
ReturnFI
2025-11-09 12:22:50 +00:00
parent 7535efad1e
commit 8a10e6b789
2 changed files with 21 additions and 21 deletions

View File

@ -275,20 +275,20 @@ def add_user(username: str, traffic_limit: int, expiration_days: int, password:
'''
command = ['python3', Command.ADD_USER.value, username, str(traffic_limit), str(expiration_days)]
final_password = password if password else generate_password()
command.append(final_password)
if unlimited:
command.append('true')
if note:
final_password = password if password else generate_password()
final_creation_date = creation_date if creation_date else datetime.now().strftime('%Y-%m-%d')
unlimited_str = 'true' if unlimited else 'false'
command.extend([final_password, final_creation_date, unlimited_str, note])
elif unlimited:
final_password = password if password else generate_password()
final_creation_date = creation_date if creation_date else datetime.now().strftime('%Y-%m-%d')
command.extend([final_password, final_creation_date, 'true'])
elif creation_date:
final_password = password if password else generate_password()
command.extend([final_password, creation_date])
elif password:
command.append(password)
if not unlimited: command.append('false')
command.append(note)
if creation_date:
if not unlimited: command.append('false')
if not note: command.append('')
command.append(creation_date)
run_cmd(command)

View File

@ -8,9 +8,9 @@ import re
from datetime import datetime
from db.database import db
def add_user(username, traffic_gb, expiration_days, password=None, creation_date=None, unlimited_user=False, note=None):
def add_user(username, traffic_gb, expiration_days, password=None, unlimited_user=False, note=None, creation_date=None):
if not username or not traffic_gb or not expiration_days:
print(f"Usage: {sys.argv[0]} <username> <traffic_limit_GB> <expiration_days> [password] [creation_date] [unlimited_user (true/false)] [note]")
print(f"Usage: {sys.argv[0]} <username> <traffic_limit_GB> <expiration_days> [password] [unlimited_user (true/false)] [note] [creation_date]")
return 1
if db is None:
@ -84,17 +84,17 @@ def add_user(username, traffic_gb, expiration_days, password=None, creation_date
if __name__ == "__main__":
if len(sys.argv) < 4 or len(sys.argv) > 8:
print(f"Usage: {sys.argv[0]} <username> <traffic_limit_GB> <expiration_days> [password] [creation_date] [unlimited_user (true/false)] [note]")
print(f"Usage: {sys.argv[0]} <username> <traffic_limit_GB> <expiration_days> [password] [unlimited_user (true/false)] [note] [creation_date]")
sys.exit(1)
username = sys.argv[1]
traffic_gb = sys.argv[2]
expiration_days = sys.argv[3]
password = sys.argv[4] if len(sys.argv) > 4 else None
creation_date = sys.argv[5] if len(sys.argv) > 5 else None
unlimited_user_str = sys.argv[6] if len(sys.argv) > 6 else "false"
password = sys.argv[4] if len(sys.argv) > 4 and sys.argv[4] else None
unlimited_user_str = sys.argv[5] if len(sys.argv) > 5 else "false"
unlimited_user = unlimited_user_str.lower() == 'true'
note = sys.argv[7] if len(sys.argv) > 7 else None
note = sys.argv[6] if len(sys.argv) > 6 and sys.argv[6] else None
creation_date = sys.argv[7] if len(sys.argv) > 7 and sys.argv[7] else None
exit_code = add_user(username, traffic_gb, expiration_days, password, creation_date, unlimited_user, note)
exit_code = add_user(username, traffic_gb, expiration_days, password, unlimited_user, note, creation_date)
sys.exit(exit_code)