Požadavek save-settings
Účel a dopady
Uloží (nebo smaže) blok XML dat pod daným typem nastavení, případně konkrétním tb-id/user, do databáze.
Dostupnost, kontext, oprávnění apod.
- Dostupné každému přihlášenému uživateli pro vlastní nastavení (
userneuveden nebo roven vlastnímu ID). - Je-li uveden cizí
user, smí požadavek provést jen uživatel sr_adminnebor_power. - Bez ohledu na
uservyžadujír_adminnebor_poweri typy nastavenípublic-root,corporate-root,public-table,corporate-tablea jakýkoli typ začínajícícomexkromě přesněcomex.user– tato ochrana chráněných typů v dosavadní dokumentaci chyběla.
XML požadavek (syntax + popis)
<request>
<save-settings
type="{string}"
tb-id="{number}"
user="{number}"
delete="{bool}"
>
{libovolný XML obsah}
</save-settings>
</request>
Parametry a pravidla (atributy, potomci)
type- Typ nastavení - Název oblasti nastavení předávaný beze změny uložené proceduře; aplikační vrstva serveru hodnotu nijak neomezuje ani nevaliduje, ale řídí oprávnění (viz výše). (typ:string; nepovinný – chybí-li, předává se prázdný řetězec)tb-id- Identifikátor položky - Rozlišuje více položek téhož typu nastavení. (typ:number; nepovinný)user- Číslo uživatele - Uloží nastavení pod konkrétního uživatele. (typ:number; nepovinný)delete- Výmaz - Je-li"true", jde o požadavek na výmaz existující položky nastavení místo jejího zápisu. (typ:bool; nepovinný; výchozí:false)
Potomek: libovolný vnořený XML obsah uzlu <save-settings> je serverem vzat doslovně (bez validace struktury) a uložen jako obsah nastavení.
Význam prázdné a chybějící hodnoty
Je-li <save-settings> prázdný nebo sebeuzavírající (<save-settings .../>), předává se do databáze SQL NULL jako obsah nastavení – ne prázdný řetězec. Obsahuje-li uzel jakýkoli vnořený text/XML, předává se přesně tento obsah.
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
- Obsahem k uložení je přesně to, co server najde mezi otevírací a uzavírací značkou
<save-settings>po serializaci celého uzlu – žádná konkrétní vnitřní struktura (např.document-set) není serverem vyžadována ani kontrolována. - Volá se uložená procedura pro zápis/výmaz nastavení; výsledný stav (
type="ok"/"error") určuje jen návratová hodnota procedury, obsah samotný server jinak neinterpretuje.
XML odpověď (syntax + popis)
<response>
<save-settings
type="ok|error"
setting-type="{string}"
tb-id="{number}"
user="{number}"
descr="{string}"
/>
</response>
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
type="error" descr="Nemate opravneni ke zmene tohoto nastaveni"– oprávnění nesplněna, viz sekce Dostupnost.type="error" descr="Zapis nastaveni se nezdaril"– uložená procedura vrátila neúspěch.type="error" descr="Pri provadeni doslo k chybe"– selhání při volání databáze nebo procedury.
Atribut chybové odpovědi je descr (ne detail). Odpověď na rozdíl od get-settings nemá volitelnou obálku (envelope) – tvar <save-settings .../> je vždy stejný, sebeuzavírající, bez vloženého obsahu.
Související požadavky
- get-settings – čtení stejného typu dat.
- sql-query – další způsob práce s daty ve stejné skupině požadavků.