feat: Refactor endpoint listing into blueprint

- Moved endpoint listing and searching routes (`list_endpoints`, `search_endpoints`) and helper function (`get_routes`) from `app.py` into a new blueprint at `routes/endpoints.py`.
- Added `/endpoints` URL prefix to the blueprint.
- Registered the new `endpoints_bp` blueprint in `app.py`.
- Removed the original endpoint route definitions and helper function from `app.py`.
- Updated `url_for` calls in relevant templates (`endpoints.html`, `base.html`) to reference the new blueprint endpoints (e.g., `endpoints.list_endpoints`).
- Updated `templates/changelog/changelog.html` to document this refactoring.
```
This commit is contained in:
Peter Stockings
2025-03-31 23:15:24 +11:00
parent a8fe28339b
commit b875b49eca
5 changed files with 75 additions and 50 deletions

View File

@@ -172,8 +172,9 @@
</svg>
<span class="ml-3">SQL Explorer</span>
</a>
<a hx-get="{{ url_for('list_endpoints') }}" hx-push-url="true" hx-target="#container"
class="text-base text-gray-900 font-normal rounded-lg hover:bg-gray-100 group transition duration-75 flex items-center p-2 cursor-pointer {{ is_selected_page(url_for('list_endpoints')) }} page-link"
<a hx-get="{{ url_for('endpoints.list_endpoints') }}" hx-push-url="true"
hx-target="#container"
class="text-base text-gray-900 font-normal rounded-lg hover:bg-gray-100 group transition duration-75 flex items-center p-2 cursor-pointer {{ is_selected_page(url_for('endpoints.list_endpoints')) }} page-link"
_="on click add .hidden to #sidebar then remove .ml-64 from #main
on htmx:afterRequest go to the top of the body">
<!-- Server Icon from Heroicons -->

View File

@@ -10,6 +10,15 @@
<div class="prose max-w-none">
<p>Updates and changes to the site will be documented here, with the most recent changes listed first.</p>
<!-- New Entry for Endpoints Refactoring -->
<hr class="my-6">
<h2 class="text-xl font-semibold mb-2">March 31, 2025</h2>
<ul class="list-disc pl-5 space-y-1">
<li>Refactored endpoint listing/searching functionality into its own blueprint (`routes/endpoints.py`
with `/endpoints` prefix).</li>
<li>Updated relevant `url_for` calls in templates to use the new `endpoints.` prefix.</li>
</ul>
<!-- New Entry for SQL Explorer Refactoring -->
<hr class="my-6">
<h2 class="text-xl font-semibold mb-2">March 31, 2025</h2>

View File

@@ -11,7 +11,7 @@
<!-- Optional: Search or Filter functionality with HTMX -->
<div class="mb-4">
<input type="text" id="search" name="search" placeholder="Search endpoints..."
class="w-full p-2 border border-gray-300 rounded" hx-get="{{ url_for('search_endpoints') }}"
class="w-full p-2 border border-gray-300 rounded" hx-get="{{ url_for('endpoints.search_endpoints') }}"
hx-trigger="keyup changed delay:500ms, search" hx-push-url="true" hx-target="#endpoints-table"
hx-include="[name='search']">
</div>