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)] 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: if note:
final_password = password if password else generate_password() if not unlimited: command.append('false')
final_creation_date = creation_date if creation_date else datetime.now().strftime('%Y-%m-%d') command.append(note)
unlimited_str = 'true' if unlimited else 'false'
command.extend([final_password, final_creation_date, unlimited_str, note]) if creation_date:
elif unlimited: if not unlimited: command.append('false')
final_password = password if password else generate_password() if not note: command.append('')
final_creation_date = creation_date if creation_date else datetime.now().strftime('%Y-%m-%d') command.append(creation_date)
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)
run_cmd(command) run_cmd(command)

View File

@ -8,9 +8,9 @@ import re
from datetime import datetime from datetime import datetime
from db.database import db 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: 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 return 1
if db is None: if db is None:
@ -84,17 +84,17 @@ def add_user(username, traffic_gb, expiration_days, password=None, creation_date
if __name__ == "__main__": if __name__ == "__main__":
if len(sys.argv) < 4 or len(sys.argv) > 8: 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) sys.exit(1)
username = sys.argv[1] username = sys.argv[1]
traffic_gb = sys.argv[2] traffic_gb = sys.argv[2]
expiration_days = sys.argv[3] expiration_days = sys.argv[3]
password = sys.argv[4] if len(sys.argv) > 4 else None password = sys.argv[4] if len(sys.argv) > 4 and sys.argv[4] else None
creation_date = sys.argv[5] if len(sys.argv) > 5 else None unlimited_user_str = sys.argv[5] if len(sys.argv) > 5 else "false"
unlimited_user_str = sys.argv[6] if len(sys.argv) > 6 else "false"
unlimited_user = unlimited_user_str.lower() == 'true' 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) sys.exit(exit_code)