Uloziste pro vsechna data, oprava .gitignore, dodelany navrh rozsireni
.gitignore mel vzorec `data/`, ktery se shodl i se `src/data/`. Sestnact zdrojovych souboru tim tise chybelo v gitu vcetne cele slozky `src/data/store/`. Opraveno na `/data/`, stejne v .dockerignore. Tickety vcetne logu, automatizace, incidenty a rozlozeni dashboardu se po kazde zmene ukladaji. Pomocnik `withMirror` je opak `withCache`: data se meni v pameti a zapisuji cela, misto aby se po zapisu znovu nacitala. Citace ID se pri startu dopocitaji z ulozenych zaznamu, takze novy ticket neprepise stary. Detail ticketu umi typ, tagy, vlastni pole typu a prehozeni na skupinu. Nastaveni ma prepnuti spravce na jiny ucet, vychozi jen pro cteni. Skupiny resitelu chodi spolu s lidmi jednim requestem. Dokumentace: rejstrik znovupouzitelnych funkci (15), navrh monetizace a ceny za krok (16), popis nastaveni a prav (17). Doplneny endpointy do openapi.ts, petice CRUD rout se generuje jednou funkci. Overeno v rezimu souboru: zmeny prezily tvrde ukonceni procesu a po restartu byly zpatky vcetne logu ticketu. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e7cf499a0b
commit
afbe948da3
@@ -2,6 +2,60 @@
|
||||
|
||||
Nejnovejsi nahore.
|
||||
|
||||
## 2026-08-13 - firmy, prava, typy ticketu, akce, widgety a uloziste pro vsechno
|
||||
|
||||
Dodelany cely [navrh rozsireni](09-navrh-rozsireni.md) a vsechna data se
|
||||
ukladaji. Rejstrik novych funkci a komponent je v
|
||||
[15-rejstrik-funkci.md](15-rejstrik-funkci.md).
|
||||
|
||||
### Pridano - obecne vrstvy
|
||||
|
||||
- `src/data/store/`: jedno rozhrani `EntityStore<T>` a dve implementace, soubor
|
||||
nebo pamet (`local.ts`) a Postgres nad tabulkou `records` (`postgres.ts`).
|
||||
Volajici nepozna, ktera bezi. Nova entita znamena jeden `defineStore` a jeden
|
||||
radek v `bootstrap.ts`.
|
||||
- `store/cached.ts` (`withCache`) pro konfiguracni entity ctene pri kazdem
|
||||
requestu a `store/mirror.ts` (`withMirror`) pro provozni data, ktera se meni
|
||||
v pameti a po zmene se cela zapisuji. Dva pomocniky, ne osm skoro stejnych
|
||||
souboru.
|
||||
- `put` v rozhrani uloziste: zapis celeho zaznamu bez skladani patche.
|
||||
- `src/routes/crud.ts`: fabrika CRUD rout. Seznam, detail, zapis, mazani, pravo
|
||||
a audit na jednom miste.
|
||||
- `components/dashboard/EntityAdmin.tsx`: obecna sprava zaznamu na klientovi.
|
||||
Nova zalozka nastaveni je popis sloupcu a poli, ne nova stranka.
|
||||
|
||||
### Pridano - funkce
|
||||
|
||||
- Firmy, uzivatele, clenstvi, osoby a skupiny resitelu se spravuji z portalu.
|
||||
- Role a prava jsou **data**, ne pevny seznam v kodu: katalog 26 prav, vlastni
|
||||
role za firmu, systemove role nejde menit. Navigace chodi ze serveru jako
|
||||
prunik toho, co firma ma, a toho, na co ma clovek pravo.
|
||||
- Typy ticketu s vlastnimi poli, tagy a vlastni workflow stavu.
|
||||
- Vydefinovane akce na ticketu: vazba na **typ nebo tag**, telo je jedna
|
||||
operace, vlastni strom, nebo skript. Server posila jen akce, ktere v dane
|
||||
situaci projdou podminkami a pravy - klient si nepocita, co ukazat.
|
||||
- Vlastni widgety dashboardu vcetne dat na jeden request a seskupeni.
|
||||
- Audit a prepnuti spravce na jiny ucet. Prepnuti je **vychozi jen pro cteni**,
|
||||
zapis se musi zapnout vedome a je videt v auditu.
|
||||
- Detail ticketu: CTA akci, typ, tagy, vlastni pole a prehozeni na skupinu.
|
||||
|
||||
### Pridano - uloziste pro provozni data
|
||||
|
||||
Tickety vcetne logu, automatizace, incidenty a rozlozeni dashboardu se po kazde
|
||||
zmene zapisuji. Citace ID se pri startu dopocitaji z ulozenych zaznamu, takze
|
||||
novy ticket nikdy neprepise stary.
|
||||
|
||||
### Overeno
|
||||
|
||||
V rezimu `file`: zmena typu, tagu, vlastnich poli, stavu, komentare, nova
|
||||
automatizace, novy incident a upravene rozlozeni dashboardu prezily **tvrde
|
||||
ukonceni procesu** a po restartu byly zpatky vcetne logu ticketu. Novy ticket
|
||||
dostal dalsi cislo, ne cislo existujiciho. Agent bez prav dostane 403 na spravu
|
||||
roli a uzsi navigaci. `passwordHash` se nikdy nevraci.
|
||||
|
||||
Databaze se v tomhle kole neoverovala, nebylo na cem - kod pro ni je stejny
|
||||
a psany soucasne, ale nebezel.
|
||||
|
||||
## 2026-08-12 - soubor jako uloziste bez databaze
|
||||
|
||||
Mockup se k databazi nedostane, takze pribyl treti rezim: JSON soubor.
|
||||
|
||||
Reference in New Issue
Block a user