From f5b6f6c7399ac135af7e55784dfee4356fff2431 Mon Sep 17 00:00:00 2001 From: Marco0300 Date: Sat, 5 Sep 2026 13:45:47 +0200 Subject: [PATCH] deploy complete phase 40 fixed build --- apps/api/app/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/api/app/main.py b/apps/api/app/main.py index c6b2f60..52fd634 100644 --- a/apps/api/app/main.py +++ b/apps/api/app/main.py @@ -1547,6 +1547,8 @@ class ApiHandler(BaseHTTPRequestHandler): if requested == 'google_browser_search' and bool(payload.get('enabled', False)) and os.environ.get('GOOGLE_BROWSER_SEARCH_ENABLED', '').strip().lower() != 'true': return self.send_json(409,{"error":"source_feature_disabled","detail":"GOOGLE_BROWSER_SEARCH_ENABLED=true is required"}) if contains_secret(config):return self.send_json(400,{"error":"secret_not_permitted"}) if any(field in config for field in DISCOVERY_CRITERIA_FIELDS):return self.send_json(400,{"error":"source_configuration_contains_criteria"}) + # The dashboard exposes the human-readable terms status; keep the + # adapter's explicit acceptance gate synchronized with that policy. if config.get('terms_status') == 'approved' and 'terms_accepted' not in config: config = dict(config); config['terms_accepted'] = True policy = payload.get('policy', {}) if isinstance(payload.get('policy', {}), dict) else {}