mirror of
https://github.com/zvx-echo6/recon.git
synced 2026-06-10 08:54:34 +02:00
cleanup: drop dead deployment_config references + orphaned deleted_contacts template
Tidies stale references left behind by the navi extraction + decoupling work. - lib/deployment_config.py: the consumer-catalog docstring listed four in-process consumers that were all extracted/removed across cleanups #4/#5/#6/#27 (/api/landclass gate, google_places.py, place_detail.py, offroute/router.py). Replaced the stale 4-bullet list with an accurate note: recon has no remaining caller of get_deployment_config() today; the module is retained per cleanup #1. - lib/api.py: removed the now-dead `from .deployment_config import get_deployment_config` import (its only caller was the /api/landclass handler removed in #5 — zero call sites remain). - templates/knowledge/deleted_contacts.html: deleted — orphaned since cleanup #3 removed the contacts/dashboard routes; zero callers in recon. No functional change (the removed import was unused; the template unrendered). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6365fe6756
commit
e840a119dd
3 changed files with 6 additions and 63 deletions
|
|
@ -24,7 +24,6 @@ from werkzeug.utils import secure_filename
|
||||||
|
|
||||||
from .utils import get_config, content_hash, clean_filename_to_title, derive_source_and_category, generate_download_url, setup_logging
|
from .utils import get_config, content_hash, clean_filename_to_title, derive_source_and_category, generate_download_url, setup_logging
|
||||||
from .status import StatusDB
|
from .status import StatusDB
|
||||||
from .deployment_config import get_deployment_config
|
|
||||||
|
|
||||||
logger = setup_logging('recon.api')
|
logger = setup_logging('recon.api')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,12 @@ Deployment profile loader.
|
||||||
Reads RECON_PROFILE env var (default: "home"), loads the matching YAML
|
Reads RECON_PROFILE env var (default: "home"), loads the matching YAML
|
||||||
from config/profiles/<profile>.yaml, and caches the parsed dict in memory.
|
from config/profiles/<profile>.yaml, and caches the parsed dict in memory.
|
||||||
|
|
||||||
Provides get_deployment_config() for in-process consumers of the profile:
|
Exposes get_deployment_config() as the in-process accessor for the profile.
|
||||||
- lib/api.py:api_landclass — the has_landclass feature-flag gate
|
|
||||||
- lib/google_places.py — Google Places enrichment config
|
Note: its former consumers (the /api/landclass gate, google_places,
|
||||||
- lib/place_detail.py — place-detail enrichment config (×4 call sites)
|
place_detail, offroute/router) were all extracted to navi-* services or removed
|
||||||
- lib/offroute/router.py — profile.offroute.* (osm_pbf_path / postgis_dsn /
|
across cleanups #4–#6/#27 — recon has no remaining caller of
|
||||||
densify_interval_m)
|
get_deployment_config() today; the module is retained per cleanup #1.
|
||||||
(The former /api/config HTTP endpoint that served this dict to the frontend was
|
(The former /api/config HTTP endpoint that served this dict to the frontend was
|
||||||
removed once navi-config (:8422) took over that route.)
|
removed once navi-config (:8422) took over that route.)
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
{% extends "base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
<h3 style="color:#ffa500;margin-bottom:16px;">Deleted Contacts</h3>
|
|
||||||
{% if not contacts %}
|
|
||||||
<p class="text-dim">No deleted contacts.</p>
|
|
||||||
{% else %}
|
|
||||||
<table>
|
|
||||||
<tr><th>Label</th><th>Name</th><th>Category</th><th>Phone</th><th>Deleted At</th><th>Actions</th></tr>
|
|
||||||
{% for c in contacts %}
|
|
||||||
<tr id="row-{{ c.id }}">
|
|
||||||
<td>{{ c.label }}</td>
|
|
||||||
<td>{{ c.name or '' }}</td>
|
|
||||||
<td class="text-dim">{{ c.category or '' }}</td>
|
|
||||||
<td class="text-dim text-xs">{{ c.phone or '' }}</td>
|
|
||||||
<td class="text-dim text-xs">{{ c.deleted_at or '' }}</td>
|
|
||||||
<td>
|
|
||||||
<button class="btn" onclick="restoreContact({{ c.id }})">Restore</button>
|
|
||||||
<button class="btn" style="margin-left:4px;color:#ff4444;" onclick="purgeContact({{ c.id }})">Purge</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
{% block scripts %}
|
|
||||||
<script>
|
|
||||||
async function restoreContact(id) {
|
|
||||||
try {
|
|
||||||
var resp = await fetch('/api/contacts/' + id + '/restore', {method: 'POST'});
|
|
||||||
if (resp.ok) {
|
|
||||||
location.reload();
|
|
||||||
} else {
|
|
||||||
var data = await resp.json();
|
|
||||||
alert(data.error || 'Restore failed');
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
alert('Error: ' + e.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function purgeContact(id) {
|
|
||||||
if (!confirm('Permanently delete this contact? This cannot be undone.')) return;
|
|
||||||
try {
|
|
||||||
var resp = await fetch('/api/contacts/' + id + '/purge', {method: 'DELETE'});
|
|
||||||
if (resp.ok) {
|
|
||||||
location.reload();
|
|
||||||
} else {
|
|
||||||
var data = await resp.json();
|
|
||||||
alert(data.error || 'Purge failed');
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
alert('Error: ' + e.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue