def login(request, email, password): ip = get_client_ip(request) admin = ZilAdmin.login(email=email, password=password, expire_secs=10 * 60, ext_data=ip) return admin
async def admin_login(request, email: str, password: str): ip = get_client_ip(request) admin = login(request, email, password) assert admin, "wrong email/password" return { "email": admin.email, "visa": admin.visa_without_ext_data, "login_ip": ip, "expire_at": iso_format(admin.visa_expire_time), }
def get_admin_from_visa(request, visa: str): ip = get_client_ip(request) admin = ZilAdmin.check_visa(visa=visa, ext_data=ip) assert admin, "invalid auth visa" return admin