Poptavka z webu je ticket, prilohy, udaje provozovatele, kolacovy graf
Provozovatel portalu: firma s priznakem portalOperator (jen jedna, zapnuti odebere ostatnim) a novymi poli contactEmail, contactPhone, website vedle ico, dic, adresy a pravni formy. Verejny GET /api/public/brand vraci jeji udaje a web je bere pres useBrand() na kontaktu, v paticce, O nas, prihlaseni i v titulku; brand.ts je jen zaloha. Poptavka z webu zaklada u provozovatele ticket kanalu form: predmet "Poptavka: tema", telo JSON s poli formulare, tag Poptavka plus tema, zakaznik z formulare, poznamka v logu. Bez provozovatele se jen zaloguje. Prilohy ticketu: formular az 3 soubory po 5 MB, ticket az 10; nahrani, seznam, stazeni a smazani (pravo ticket.comment, strop viditelnosti, poznamky v logu, audit). Soubor jde v JSON jako Base64 a lezi v beznem ulozisti, bez nove zavislosti; strop tela jen na techto cestach. Vlastni widget s kreslenim Graf umi i pocet ticketu se seskupenim jako kolac (PieChart.tsx, ciste SVG, osm barev z tokenu, zbytek jako ostatni). OpenAPI rozdelene na mensi soubory (102 cest, 28 schemat overeno shodnych), 28 novych testu (135 celkem), dokumentace aktualizovana.
This commit is contained in:
@@ -126,6 +126,23 @@ Tickety navic slucuji vic zmen v jednom tiku do jednoho zapisu
|
||||
nebo nejvys jednou za minutu. Prvni verze mazala jen radky platformy
|
||||
(`tenantId: null`) a audit firem rostl donekonecna.
|
||||
|
||||
**Prilohy ticketu** (`kind: 'attachment'`, `src/data/attachments.ts`) jdou
|
||||
primo pres `defineStore` bez obalky: nectou se pri kazdem requestu a nemeni
|
||||
se v pameti, kazde volani jde do uloziste. Zaznam nese vedle metadat
|
||||
(`ticketId`, `name`, `mime`, `size`, `uploadedBy`) i **obsah souboru
|
||||
v base64**. V Postgresu je to radek v `records` jako u kazde jine entity,
|
||||
v rezimu `file` soubor `DATA_DIR/attachment.json`.
|
||||
|
||||
Velikost je tu jina nez u ostatnich kolekci: jeden zaznam ma az 5 MB
|
||||
(po base64 skoro 7), ticket jich muze mit deset. V rezimu `file` kazda
|
||||
zmena prepise **cely** `attachment.json`, takze s kazdou prilohou roste
|
||||
cena zapisu vsech ostatnich. Pro jednotky MB v prototypu to staci a zadna
|
||||
nova zavislost nebyla potreba. Dalsi krok je presun obsahu do blob uloziste
|
||||
(S3, nebo tabulka s `bytea`), az to zacne byt znat; rozhrani modulu
|
||||
zustane, zmeni se jen odkud `getAttachment` cte `content`. Seznam priloh
|
||||
obsah nikdy nevraci (`toPublic`), aby se megabajty netahaly pri kazdem
|
||||
otevreni detailu.
|
||||
|
||||
### Klic mimo databazi
|
||||
|
||||
Bez `SECRETS_KEY` si aplikace v rezimu `file` vygeneruje klic do
|
||||
@@ -282,3 +299,4 @@ Proti Postgresu 16 v kontejneru:
|
||||
| Sbernice udalosti pres LISTEN/NOTIFY | dnes `EventEmitter` v pameti jedne instance |
|
||||
| Vymena klice (rotace) | `v` je pripravene, prevod dat napsany neni |
|
||||
| Retence a partitionovani | az u tabulek behu, viz dokument 10 |
|
||||
| Blob uloziste pro prilohy | obsah je base64 v zaznamu, v rezimu `file` se prepisuje cely `attachment.json` |
|
||||
|
||||
Reference in New Issue
Block a user