feat: przegląd baz na udziale + globalne włączanie/wyłączanie (DAN-15/PRE-09) #55

Merged
gitea merged 1 commits from feat/pre09-base-toggles into master 2026-08-04 09:59:48 +00:00
Owner

Ostatnia pozycja z koszyka „czysto". Wymaganie przedefiniowane pod model
serwerowy (#47): nie wybiera się folderu — pliki leżą na stałym NFS. Potrzeba za to
widzieć, jakie bazy są dostępne, i móc zdecydować, które biorą udział w
interpretacji
.

Warstwa danych

  • bases.py + endpoint /bases: lista plików z metaopisem (nazwa, ścieżka,
    rozmiar, data, stan włączenia).
  • Wyłączone bazy są odsiewane z kandydatów przy wyszukiwaniu — naprawdę nie
    biorą udziału w interpretacji, nie tylko znikają z listy.
  • Lista wyłączonych wchodzi do klucza cache zapytań: bez tego zmiana ustawień
    oddawałaby wynik sprzed zmiany, czyli treść bazy uznanej za wyłączoną.
  • list_bases() w interfejsie dostawcy jako opcjonalne (SQL nie operuje na
    plikach → pusto, zamiast wywrotki).

Prezentacja

Ekran „Ustawienia" z tabelą baz. Przez łącze idą same metadane — podgląd
listy nie jest kolejną drogą do wyniesienia treści.

Świadoma decyzja: przełączniki deklaratywne, nie klikalne

Stan trzyma DISABLED_BASES, bo warstwa danych nie ma gdzie trwale zapisać:
udział z bazami montujemy readOnly, a katalog cache to emptyDir. Zapisany
przełącznik ginąłby przy restarcie poda i po cichu włączał z powrotem wyłączoną
bazę
— a ciche przywrócenie jest gorsze niż konieczność edycji konfiguracji.
Ekran mówi wprost, jak wyłączyć bazę i dlaczego nie klikaniem.

Tryb klikalny wymagałby dołożenia trwałego wolumenu dla usługi data — do
Twojej decyzji, jeśli chcesz przełączać z UI.

Weryfikacja (żywy łańcuch)

/bases przechodzi przez szyfrowane łącze (logic→data) i pokazuje 3 bazy
z metaopisem oraz stanem; wyszukiwanie daje 3 → 2 → 0 wierszy w miarę wyłączania
baz. Testy: dane +6, prezentacja +6. Dane 13, logika 277,
prezentacja 249.

Domyka DAN-15 + PRE-09 — i cały koszyk „czysto".

Ostatnia pozycja z koszyka **„czysto"**. Wymaganie przedefiniowane pod model serwerowy (#47): nie wybiera się folderu — pliki leżą na stałym NFS. Potrzeba za to **widzieć**, jakie bazy są dostępne, i móc zdecydować, **które biorą udział w interpretacji**. ## Warstwa danych - `bases.py` + endpoint `/bases`: lista plików z metaopisem (nazwa, ścieżka, rozmiar, data, stan włączenia). - **Wyłączone bazy są odsiewane z kandydatów przy wyszukiwaniu** — naprawdę nie biorą udziału w interpretacji, nie tylko znikają z listy. - Lista wyłączonych wchodzi do **klucza cache** zapytań: bez tego zmiana ustawień oddawałaby wynik sprzed zmiany, czyli treść bazy uznanej za wyłączoną. - `list_bases()` w interfejsie dostawcy jako **opcjonalne** (SQL nie operuje na plikach → pusto, zamiast wywrotki). ## Prezentacja Ekran **„Ustawienia"** z tabelą baz. Przez łącze idą **same metadane** — podgląd listy nie jest kolejną drogą do wyniesienia treści. ## Świadoma decyzja: przełączniki deklaratywne, nie klikalne Stan trzyma `DISABLED_BASES`, bo warstwa danych **nie ma gdzie trwale zapisać**: udział z bazami montujemy `readOnly`, a katalog cache to `emptyDir`. Zapisany przełącznik **ginąłby przy restarcie poda i po cichu włączał z powrotem wyłączoną bazę** — a ciche przywrócenie jest gorsze niż konieczność edycji konfiguracji. Ekran mówi wprost, jak wyłączyć bazę i dlaczego nie klikaniem. > Tryb klikalny wymagałby dołożenia **trwałego wolumenu** dla usługi `data` — do > Twojej decyzji, jeśli chcesz przełączać z UI. ## Weryfikacja (żywy łańcuch) `/bases` przechodzi przez **szyfrowane** łącze (logic→data) i pokazuje 3 bazy z metaopisem oraz stanem; wyszukiwanie daje **3 → 2 → 0** wierszy w miarę wyłączania baz. Testy: dane **+6**, prezentacja **+6**. Dane **13**, logika **277**, prezentacja **249**. Domyka **DAN-15 + PRE-09** — i cały koszyk „czysto".
gitea added 1 commit 2026-08-03 20:09:50 +00:00
feat: przegląd baz na udziale + globalne włączanie/wyłączanie (DAN-15/PRE-09)
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m30s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 9m29s
Testy / Testy warstwy bazodanowej (ochrona baz) (pull_request) Successful in 9m28s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 12s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 8s
build / build (push) Successful in 40s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 11m3s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m35s
Testy / Testy warstwy bazodanowej (ochrona baz) (push) Successful in 9m29s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 14s
Testy / Kontrola składni wszystkich warstw (push) Successful in 10s
4c1e7f8808
Wymaganie przedefiniowane pod model serwerowy (#47): nie wybiera się folderu —
pliki leżą na stałym NFS. Potrzeba za to WIDZIEĆ, jakie bazy są dostępne i móc
zdecydować, które biorą udział w interpretacji.

Warstwa danych: `bases.py` (lista plików + metaopis: nazwa, ścieżka, rozmiar,
data, stan) i endpoint `/bases`. Wyłączone bazy są ODSIEWANE z kandydatów przy
wyszukiwaniu, więc naprawdę nie biorą udziału w interpretacji — nie tylko znikają
z listy. Lista wyłączonych wchodzi do klucza cache zapytań: bez tego zmiana
ustawień oddawałaby wynik sprzed zmiany, czyli treść bazy uznanej za wyłączoną.
`list_bases()` doszło do interfejsu dostawcy jako OPCJONALNE (SQL nie operuje na
plikach → pusto, zamiast wywrotki).

Przelot logika → prezentacja i ekran „Ustawienia" z tabelą baz. Przez łącze idą
SAME METADANE — podgląd listy nie jest kolejną drogą do wyniesienia treści.

Stan przełączników jest DEKLARATYWNY (`DISABLED_BASES`), nie klikalny — i to jest
świadome: udział z bazami montujemy read-only, a katalog cache to `emptyDir`, więc
zapisany przełącznik ginąłby przy restarcie poda i po cichu włączał z powrotem
wyłączoną bazę. Ekran mówi wprost, jak wyłączyć bazę i dlaczego nie klikaniem.
Tryb klikalny wymagałby dołożenia trwałego wolumenu.

Weryfikacja na żywym łańcuchu: `/bases` przechodzi przez SZYFROWANE łącze
(logic→data), pokazuje 3 bazy z metaopisem i stanem; wyszukiwanie daje 3 → 2 → 0
wierszy w miarę wyłączania baz. Testy: dane +6, prezentacja +6. Dane 13,
logika 277, prezentacja 249.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit 4c1e7f8808 into master 2026-08-04 09:59:48 +00:00
gitea deleted branch feat/pre09-base-toggles 2026-08-04 09:59:48 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/astrololo#55