Přejít na obsah
Skip to main content

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.
  • uid jiného uživatele smí nastavit jen r_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 jen r_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 nebo 0 = bez omezení. (typ: number; nepovinný)
  • till - Platnost do - Formát YYYY-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 na response místo přímého vrácení obsahu. (typ: bool; nepovinný; výchozí: false) – v dosavadní dokumentaci zcela chyběl.
  • redirect-deny - Přesměrovat na deny-resp mí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 pro what="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ě typ number, ve skutečnosti je to řetězec (stejná konvence jako opt-roles u 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 z login / obsah těla – obojí zároveň i žádné z obou je chyba. Navíc login různé od ID volajícího je zamítnuto, je-li volající impersonovaný.
  • what mimo r/l/q je 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" – what mimo r/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í pravidla what="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/login jiného uživatele) má odpověď <register status="error" detail="Nemate patricna opravneni"/>.

Související požadavky​