Fix: Profilfotos — breeder status liefert jetzt id, s.profile.id korrekt (SW by-v903)

This commit is contained in:
rene 2026-05-13 19:13:34 +02:00
parent f7a2a3861e
commit 38e7ad99ae
6 changed files with 9 additions and 9 deletions

View file

@ -406,7 +406,7 @@ async def serve_media(path: str, request: _Request):
raise _HE(404, "Nicht gefunden.") raise _HE(404, "Nicht gefunden.")
return _media_response(filepath) return _media_response(filepath)
APP_VER = "902" # muss mit APP_VER in app.js übereinstimmen APP_VER = "903" # muss mit APP_VER in app.js übereinstimmen
@app.get("/.well-known/assetlinks.json") @app.get("/.well-known/assetlinks.json")
async def assetlinks(): async def assetlinks():

View file

@ -54,7 +54,7 @@ async def breeder_status(user=Depends(get_current_user)):
profile = None profile = None
if row["rolle"] in ("breeder", "admin"): if row["rolle"] in ("breeder", "admin"):
profile = conn.execute( profile = conn.execute(
"SELECT zwingername, rasse_text, verein, vdh_mitglied, stadt, website, beschreibung, verified_at " "SELECT id, zwingername, rasse_text, verein, vdh_mitglied, stadt, website, beschreibung, verified_at "
"FROM breeder_profiles WHERE user_id=?", "FROM breeder_profiles WHERE user_id=?",
(user["id"],) (user["id"],)
).fetchone() ).fetchone()

View file

@ -591,10 +591,10 @@
<div id="modal-container"></div> <div id="modal-container"></div>
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features --> <!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
<script src="/js/api.js?v=902"></script> <script src="/js/api.js?v=903"></script>
<script src="/js/ui.js?v=902"></script> <script src="/js/ui.js?v=903"></script>
<script src="/js/app.js?v=902"></script> <script src="/js/app.js?v=903"></script>
<script src="/js/worlds.js?v=902"></script> <script src="/js/worlds.js?v=903"></script>
<!-- Feature-Seiten werden lazy geladen --> <!-- Feature-Seiten werden lazy geladen -->

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung. Router, State-Management, Navigation, Initialisierung.
============================================================ */ ============================================================ */
const APP_VER = '902'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VER = '903'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.5.1'; // ← semantische Version, wird bei make release gesetzt const APP_VERSION = '1.5.1'; // ← semantische Version, wird bei make release gesetzt
const IS_STAGING = location.hostname === 'staging.banyaro.app'; const IS_STAGING = location.hostname === 'staging.banyaro.app';
// Cache-Bust-Parameter nach Update-Reload sofort entfernen // Cache-Bust-Parameter nach Update-Reload sofort entfernen

View file

@ -159,7 +159,7 @@ window.Page_zuchthunde = (() => {
try { try {
[_hunde] = await Promise.all([ [_hunde] = await Promise.all([
API.zuchthunde.list(), API.zuchthunde.list(),
API.breeder.status().then(s => { _breederId = s?.id || null; }).catch(() => {}), API.breeder.status().then(s => { _breederId = s?.profile?.id || null; }).catch(() => {}),
]); ]);
_renderList(); _renderList();
} catch (err) { } catch (err) {

View file

@ -3,7 +3,7 @@
Offline-Cache + Push Notifications + Tile-Cache Offline-Cache + Push Notifications + Tile-Cache
============================================================ */ ============================================================ */
const CACHE_VERSION = 'by-v902'; const CACHE_VERSION = 'by-v903';
const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache