console/cloud-admin-add.py
viacheslav anzhiganov 25444811aa #1 fix
2024-12-11 21:53:54 +03:00

38 lines
969 B
Python
Executable file

#!/usr/bin/env python
# coding: utf-8
import sys
import argparse
import validators
from hashlib import md5
from uuid import uuid4
from SWSCloudCore import models
"""
Утилита добавления администратора
Как использовать:
cloud-admin-add.py --email admin@cloud.com --password qwerty
"""
parser = argparse.ArgumentParser(description='')
parser.add_argument('--email', dest="email")
parser.add_argument('--password', dest="password")
args = parser.parse_args()
# validate admin email
if not validators.email(args.email):
sys.exit('invalid email format')
admin_id = uuid4()
admin_email = args.email
admin_password = md5(args.password.encode()).hexdigest()
models.database.connect()
if models.Admins.select().where(models.Admins.email == args.email).count() == 0:
models.Admins.create(id=admin_id, email=admin_email, password=admin_password, status=1)
else:
print("already exists")
models.database.close()