Požadavek register
Účel a dopady
Zaregistruje obsah požadavku (nebo jiný XML předpis) na serveru pod hexadecimálním ref pro pozdější opakované vyvolání (viz registrované požadavky) – přes HTTP GET, nebo přes perform-register.
Dostupnost, kontext, oprávnění apod.
- Dostupné každému přihlášenému uživateli pro registrace pod vlastním
uid. uidjiného uživatele smí nastavit jenr_admin, a to pouze mimo impersonaci – je-li volající aktuálně impersonovaný, je zamítnut i jako admin.- Registraci typu login (
what="l") smí založit jenr_admin.
XML požadavek (syntax + popis)
<request>
<register
type="{string}"
count="{number}"
till="{datetime}"
uid="{number}"
response="{string}"
deny-resp="{string}"
redirect-resp="{bool}"
redirect-deny="{bool}"
what="{string}"
login="{number}"
opt-roles="{string}"
>
<{libovolný požadavek nebo <request>...</request>}> ?
</register>
</request>
Parametry a pravidla (atributy, potomci)
type- Název registrace - Volný text pro pozdější identifikaci. (typ:string; povinný – chybí-li, požadavek skončí chybou)count- Maximální počet spuštění - Neuveden nebo0= bez omezení. (typ:number; nepovinný)till- Platnost do - FormátYYYY-MM-DD[Thh:mm:ss]. (typ:datetime; nepovinný)uid- ID uživatele, pod kterým požadavek poběží - Neuveden = ID přihlášeného uživatele. (typ:number; nepovinný; viz oprávnění výše)response- Cesta stránky pro úspěšnou odpověď registrace typu GET. (typ:string; nepovinný)deny-resp- Cesta stránky pro neúspěšnou odpověď registrace typu GET. (typ:string; nepovinný)redirect-resp- Přesměrovat naresponsemísto přímého vrácení obsahu. (typ:bool; nepovinný; výchozí:false) – v dosavadní dokumentaci zcela chyběl.redirect-deny- Přesměrovat nadeny-respmísto přímého vrácení obsahu. (typ:bool; nepovinný; výchozí:false) – v dosavadní dokumentaci zcela chyběl.what- Druh registrace -r(běžná),l(login),q(query). (typ:enum:r|l|q; nepovinný; výchozí:r)login- ID uživatele pro přihlášení login registrací - Platí jen prowhat="l". (typ:number; nepovinný)opt-roles- Volitelná role použitá při pozdějším provedení registrace. (typ:string; nepovinný) – dosavadní dokumentace uváděla chybně typnumber, ve skutečnosti je to řetězec (stejná konvence jakoopt-rolesu jiných požadavků).
Potomek: libovolný obsah <register> (volitelně zabalený do <request>) je serializován a uložen jako předpis registrovaného požadavku; prázdný obsah je u what="l" povolen jen pokud je zároveň zadán login.
Závislosti
what="l": musí být zadáno právě jedno zlogin/ obsah těla – obojí zároveň i žádné z obou je chyba. Navícloginrůzné od ID volajícího je zamítnuto, je-li volající impersonovaný.whatmimor/l/qje chyba.
Příklady požadavku
(Zatím bez ověřeného příkladu; viz příklad register.)
Zpracování a vedlejší účinky
Server vygeneruje nový hexadecimální ref a uloží pod ním předpis požadavku. Registrace typu l bez zadaného login při prvním provedení vytvoří uživatele a napříště se k němu přihlašuje (viz perform-register).
XML odpověď (syntax + popis)
<response>
<register
status="ok|error"
ref="{string}"
register-type="{string}"
detail="{string}"
/>
</response>
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
Chybová odpověď má tvar <register status="error" detail="…"/>, s těmito konkrétními texty:
"Nebyl zadan povinny parametr type"– chybítype."Nespravne zadany parametr count"/"…till"/"…uid"/"…login"– neplatná číselná/časová hodnota."Neznamy typ registrace"–whatmimor/l/q."Byl zadan uzivatel pro prihlaseni a zaroven predpis pro jeho vytvoreni"/"Nebyl zadan uzivatel pro prihlaseni ani predpis pro jeho vytvoreni"– porušení pravidlawhat="l"výše."Pri provadeni pozadavku doslo k chybe"– selhání na úrovni uložení registrace; tato větev není sebeuzavírající a může nést vnořené error.- Nedostatečné oprávnění (
uid/loginjiného uživatele) má odpověď<register status="error" detail="Nemate patricna opravneni"/>.