Builder nabizi jen to, co jde zavolat

V nabidce kroku byly vsechny sluzby katalogu, i ty, ke kterym firma nema
napojeni. Slo tedy vybrat Raynet CRM bez konektoru a postavit strom, ktery pri
prvnim behu spadne na chybejicich udajich - a to se pozna az za tyden, kdyz
prijde prvni ostra udalost.

Nabizi se sluzba, ktera je obecna, nebo k ni firma ma napojeni. Obecne jsou ty,
co se bez konektoru obejdou: webhook, casovac, rucni spusteni, formular,
incident, ticket, HTTP, transformace, pauza a log. Priznak general uz existoval,
jen ho nikdo nepouzil na filtrovani nabidky.

Katalog se kvuli tomu nefiltruje, jen se oznacuje: GET /api/dashboard/services
prida ke kazde sluzbe connected. Sluzba z odpovedi nemizi, protoze log ticketu
a detail akce podle katalogu prekladaji ID operaci na jmena - kdyby zmizela,
zustalo by v uz zapsanem radku hole ID. Filtruje az builder. Pod nabidkou je
veta, kolik sluzeb ceka na napojeni, aby to nevypadalo, ze neexistuji.

Soukroma sluzba uz neni videt cizi firme. canSeeService vracelo spravci
platformy true driv, nez se vubec podivalo na viditelnost, takze zakazkova
integrace omezena na jednoho klienta se ukazovala i po prepnuti do jine firmy
a spravce si ji mohl vybrat do jeji automatizace. Nove rozhoduje firma, ne
clovek: kdyz je vybrana, plati jeji seznam, bez ni spravce platformy spravuje
katalog a vidi vsechno. Zaroven se konecne pouziva tenantHasService, tedy
zpristupneni sluzby firme pres nastaveni - dosud to bylo pole, ktere nikdo
necetl.

Overeno na bezici instanci: Polstryn SAP je pro tnt_logitrans v katalogu, pro
tnt_automia uz ne, a to i pro spravce platformy. V nabidce builderu pro
tnt_automia zbylo deset obecnych sluzeb plus iDoklad, na ktery firma napojeni
ma.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-09-02 13:04:54 +02:00
co-authored by Claude Opus 5
parent e701bc0e2c
commit 79c9a729f6
6 changed files with 136 additions and 8 deletions
+23
View File
@@ -364,3 +364,26 @@ tim mysli i uzivatel.
| Historie zmen konektoru | kdo kdy prepsal udaje, se nikde neuklada |
| OAuth toky | zatim jen hlavicky, obnovovani tokenu resi sluzba |
| Vyber konektoru v builderu | krok uz `connectorId` nese, UI ho zatim nenabizi |
## Co se nabizi v builderu
Krok automatizace jde postavit jen nad sluzbou, kterou je **cim zavolat**:
- je `general`, tedy obejde se bez konektoru (webhook, casovac, rucni
spusteni, formular, incident, ticket, HTTP, transformace, pauza, log),
- nebo k ni firma ma aspon jedno napojeni.
Katalog se kvuli tomu **nefiltruje**. `GET /api/dashboard/services` jen prida
ke kazde sluzbe `connected` a vybira az builder. Duvod: log ticketu a detail
akce podle katalogu prekladaji ID operaci na jmena, a sluzba, ktera by
z odpovedi zmizela, by v uz zapsanem radku zustala jako hole ID.
## Kdo vidi soukromou sluzbu
U `visibility: restricted` **rozhoduje firma, ne clovek**. Spravce platformy
driv videl vsechny sluzby vzdycky, i po prepnuti do firmy, ktera je nema -
takze si mohl do jeji automatizace vybrat zakazkovou integraci jineho klienta.
Kdyz je firma vybrana, plati jeji seznam: `visibility.tenantIds` nebo
zpristupneni pres `tenantHasService`. Bez vybrane firmy spravce platformy
spravuje katalog a vidi vsechno.
+41
View File
@@ -2,6 +2,47 @@
Nejnovejsi nahore.
## 2026-09-02 - Builder nabizi jen to, co jde zavolat
V nabidce kroku byly vsechny sluzby katalogu, i ty, ke kterym firma nema
napojeni. Slo tedy vybrat Raynet CRM bez konektoru a postavit strom, ktery pri
prvnim behu spadne na chybejicich udajich - a to se pozna az za tyden, kdyz
prijde prvni ostra udalost.
### Pravidlo
Nabizi se sluzba, ktera je **obecna, nebo k ni firma ma napojeni**.
Obecne jsou ty, co se bez konektoru obejdou: webhook, casovac, rucni spusteni,
formular, incident, ticket, HTTP, transformace, pauza a zapis do logu. Ma to uz
priznak `general`, jen ho nikdo nepouzil na filtrovani nabidky.
### Katalog se nefiltruje, jen se oznacuje
`GET /api/dashboard/services` prida ke kazde sluzbe `connected`, tedy jestli
k ni firma ma aspon jedno napojeni. Sluzba z odpovedi **nemizi**: log ticketu
a detail akce podle katalogu prekladaji ID operaci na jmena, a kdyby zmizela,
zustalo by v uz zapsanem radku hole ID. Filtruje az builder.
Aby nabidka nevypadala jako cely katalog, je pod ni veta, kolik sluzeb ceka na
napojeni. Bez ni to vypada, ze sluzba neexistuje, misto ze k ni chybi udaje.
### Soukroma sluzba uz neni videt cizi firme
`canSeeService` vracelo spravci platformy `true` driv, nez se vubec podivalo na
viditelnost sluzby. Zakazkova integrace omezena na jednoho klienta se tak
ukazovala i po prepnuti do jine firmy - spravce si ji mohl vybrat do jeji
automatizace.
**Rozhoduje firma, ne clovek.** Kdyz je firma vybrana, plati jeji seznam; bez
vybrane firmy spravce platformy spravuje katalog a vidi vsechno. Zaroven se
konecne pouziva `tenantHasService`, tedy zpristupneni sluzby firme pres
nastaveni - dosud to bylo pole, ktere nikdo necetl.
Overeno: Polstryn SAP je pro `tnt_logitrans` v katalogu, pro `tnt_automia` uz
ne, a to i pro spravce platformy. V nabidce builderu pro `tnt_automia` zbylo
deset obecnych sluzeb plus iDoklad, na ktery firma napojeni ma.
## 2026-09-02 - Tickety maji zalozky, fronta umi prirazovat
Seznam ticketu mel dva prepinace, "Moje tickety" a "Ve fronte", schovane mezi