| 123456789101112131415161718192021222324252627282930313233343536 | from flask import requestfrom flask_login import current_user  # type: ignorefrom flask_restful import Resource, reqparse  # type: ignorefrom libs.helper import extract_remote_ipfrom libs.login import login_requiredfrom services.billing_service import BillingServicefrom .. import apifrom ..wraps import account_initialization_required, only_edition_cloud, setup_requiredclass ComplianceApi(Resource):    @setup_required    @login_required    @account_initialization_required    @only_edition_cloud    def get(self):        parser = reqparse.RequestParser()        parser.add_argument("doc_name", type=str, required=True, location="args")        args = parser.parse_args()        ip_address = extract_remote_ip(request)        device_info = request.headers.get("User-Agent", "Unknown device")        return BillingService.get_compliance_download_link(            doc_name=args.doc_name,            account_id=current_user.id,            tenant_id=current_user.current_tenant_id,            ip=ip_address,            device_info=device_info,        )api.add_resource(ComplianceApi, "/compliance/download")
 |