def batch_invoice(request):
    provider = ExpresslyProvider()
    body = json.loads(request.body.decode('utf-8'))

    if 'customers' not in body:
        raise GenericError

    return HttpResponse(str(provider.get_customer_invoices(body['customers'])), content_type='application/json')
def migration_user(request, uuid):
    api = request.expressly_api
    provider = ExpresslyProvider()

    customer_response = api.get_migration_customer(uuid)
    email = customer_response.data.email
    customer = customer_response.data.data
    cart = customer_response.data.cart

    if provider.customer_register(customer):
        provider.customer_add_cart(email, cart.product_id, cart.coupon_code)
        provider.customer_send_password_email(email)
        provider.customer_login(email)
        api.send_migration_status(uuid)
    else:
        api.send_migration_status(uuid, True)
        raise GenericError

    return HttpResponseRedirect('/')
def user(request, email):
    provider = ExpresslyProvider()
    customer = provider.get_customer(email)

    return HttpResponse(str(customer), content_type='application/json')