mirror of
https://mirror.skon.top/github.com/langgenius/dify.git
synced 2026-04-22 01:11:02 +08:00
Some checks failed
autofix.ci / autofix (push) Has been cancelled
Build and Push API & Web / build (api, {{defaultContext}}:api, Dockerfile, DIFY_API_IMAGE_NAME, linux/amd64, ubuntu-latest, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, {{defaultContext}}:api, Dockerfile, DIFY_API_IMAGE_NAME, linux/arm64, ubuntu-24.04-arm, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, {{defaultContext}}, web/Dockerfile, DIFY_WEB_IMAGE_NAME, linux/amd64, ubuntu-latest, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, {{defaultContext}}, web/Dockerfile, DIFY_WEB_IMAGE_NAME, linux/arm64, ubuntu-24.04-arm, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
Main CI Pipeline / Skip Duplicate Checks (push) Has been cancelled
Main CI Pipeline / Check Changed Files (push) Has been cancelled
Main CI Pipeline / Run API Tests (push) Has been cancelled
Main CI Pipeline / Skip API Tests (push) Has been cancelled
Main CI Pipeline / API Tests (push) Has been cancelled
Main CI Pipeline / Run Web Tests (push) Has been cancelled
Main CI Pipeline / Skip Web Tests (push) Has been cancelled
Main CI Pipeline / Web Tests (push) Has been cancelled
Main CI Pipeline / Run Web Full-Stack E2E (push) Has been cancelled
Main CI Pipeline / Skip Web Full-Stack E2E (push) Has been cancelled
Main CI Pipeline / Web Full-Stack E2E (push) Has been cancelled
Main CI Pipeline / Style Check (push) Has been cancelled
Main CI Pipeline / Run VDB Tests (push) Has been cancelled
Main CI Pipeline / Skip VDB Tests (push) Has been cancelled
Main CI Pipeline / VDB Tests (push) Has been cancelled
Main CI Pipeline / Run DB Migration Test (push) Has been cancelled
Main CI Pipeline / Skip DB Migration Test (push) Has been cancelled
Main CI Pipeline / DB Migration Test (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
from flask import request
|
|
from flask_restx import Resource
|
|
from pydantic import BaseModel, Field
|
|
|
|
from libs.helper import extract_remote_ip
|
|
from libs.login import current_account_with_tenant, login_required
|
|
from services.billing_service import BillingService
|
|
|
|
from .. import console_ns
|
|
from ..wraps import account_initialization_required, only_edition_cloud, setup_required
|
|
|
|
|
|
class ComplianceDownloadQuery(BaseModel):
|
|
doc_name: str = Field(..., description="Compliance document name")
|
|
|
|
|
|
console_ns.schema_model(
|
|
ComplianceDownloadQuery.__name__,
|
|
ComplianceDownloadQuery.model_json_schema(ref_template="#/definitions/{model}"),
|
|
)
|
|
|
|
|
|
@console_ns.route("/compliance/download")
|
|
class ComplianceApi(Resource):
|
|
@console_ns.expect(console_ns.models[ComplianceDownloadQuery.__name__])
|
|
@console_ns.doc("download_compliance_document")
|
|
@console_ns.doc(description="Get compliance document download link")
|
|
@setup_required
|
|
@login_required
|
|
@account_initialization_required
|
|
@only_edition_cloud
|
|
def get(self):
|
|
current_user, current_tenant_id = current_account_with_tenant()
|
|
args = ComplianceDownloadQuery.model_validate(request.args.to_dict(flat=True))
|
|
|
|
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_tenant_id,
|
|
ip=ip_address,
|
|
device_info=device_info,
|
|
)
|