fix: filter inactive extensions from dashboard API responses
/api/extensions and customer extension list now only return is_active extensions, preventing deleted extensions from showing in the dashboard and causing deploy errors with null versions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -788,7 +788,7 @@ class APIHandler(BaseHTTPRequestHandler):
|
||||
self._respond(200, query("""
|
||||
SELECT e.*, (SELECT COUNT(*) FROM extension_versions ev WHERE ev.extension_id = e.id) as version_count,
|
||||
(SELECT COUNT(*) FROM customer_extensions ce WHERE ce.extension_id = e.id AND ce.license_status = 'active') as customer_count
|
||||
FROM extensions e ORDER BY e.name"""))
|
||||
FROM extensions e WHERE e.is_active ORDER BY e.name"""))
|
||||
|
||||
def _get_extension_versions(self, ext_id):
|
||||
self._respond(200, query("SELECT * FROM extension_versions WHERE extension_id = %s ORDER BY released_at DESC", (ext_id,)))
|
||||
@@ -808,7 +808,7 @@ class APIHandler(BaseHTTPRequestHandler):
|
||||
self._respond(404, {'error': 'Not found'}); return
|
||||
customer['extensions'] = query("""
|
||||
SELECT e.id, e.name, e.composer_name, e.latest_version, ce.installed_version, ce.license_status, ce.auto_update, ce.installed_at
|
||||
FROM customer_extensions ce JOIN extensions e ON ce.extension_id = e.id WHERE ce.customer_id = %s ORDER BY e.name""", (cid,))
|
||||
FROM customer_extensions ce JOIN extensions e ON ce.extension_id = e.id WHERE ce.customer_id = %s AND e.is_active ORDER BY e.name""", (cid,))
|
||||
customer['dependencies'] = DEPENDENCIES
|
||||
customer['install_order'] = _compute_install_order()
|
||||
self._respond(200, customer)
|
||||
|
||||
Reference in New Issue
Block a user