Timesheets-Server
Timesheets server
|
Nastartování nebo zastavení pracovního výkazu. ...
#include <controllertimesheet.h>
Veřejné metody | |
ControllerTimesheet (HobrasoftHttpd::HttpConnection *parent) | |
![]() | |
AbstractController (HobrasoftHttpd::HttpConnection *parent) | |
Konstruktor. | |
void | setCheckId (bool x) |
Nastavuje kontrolu položky ID v datech při PUT a POST. | |
void | setAuthorizer (RequestAuthorizer *authorizer) |
AuthenticatedUser * | authenticatedUser () const |
bool | checkId () const |
Vrací stav kontroly položky ID v datech při PUT a POST. | |
Db::Database * | db () |
Chráněné metody | |
void | service (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE |
Obsluha požadavku. | |
![]() | |
virtual bool | exists (const QString &id) |
Kontrola existence zadaného ID. | |
virtual bool | exists (HobrasoftHttpd::HttpRequest *request, const QString &id) |
Kontrola existence zadaného ID. | |
virtual void | serviceOK (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data=QVariant()) |
Pošle odpověď 200 OK. | |
virtual void | serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString &error, const QVariantMap &data) |
Pošle chybovou odpověď | |
virtual void | serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) |
Měl by poslat v odpovědi kompletní seznam všech objektů ve třídě a ukončit se. | |
virtual void | serviceEvents (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) |
Pošle v odpovědi kompletní seznam všech objektů ve třídě a následně | |
virtual void | serviceIdEvents (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) |
Pošle v odpovědi proud událostí spojených se všemi objekty ve třídě | |
virtual void | serviceIdGet (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) |
Pošle odpověď na požadavek konkrétního ID metodou GET. | |
virtual void | serviceIdDelete (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) |
Pošle odpověď na požadavek konkrétního ID metodou DELETE - obvykle objekt smaže. | |
virtual void | serviceIdPut (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data) |
Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt. | |
virtual void | serviceIdPost (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data) |
Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt. | |
virtual void | serviceEvent (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data) |
Pošle do otevřeného proudu událostí jednu událost. | |
virtual bool | isAuthorized (Security::Permissions::Permission) |
HobrasoftHttpd::HttpRequest * | request () const |
Vrací ukazatel na aktuální request. | |
HobrasoftHttpd::HttpConnection * | connection () const |
Vrací ukazatel na aktuální connection. | |
Privátní metody | |
void | serviceStart (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int id) |
void | serviceStop (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int id) |
void | serviceToggle (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int id) |
Další zděděné členy | |
![]() | |
static QVariantMap | putKey (const QVariant &key) |
Nastartování nebo zastavení pracovního výkazu.
Na server se posílá příkaz (start, stop, toggle) a id ticketu, který se má spustit:
Běžící výkazy lze zastavit hromadně jediným příkazem. Start a Toggle takto ovládat nelze! Chceme-li zastavit všechny běžící pracovní výkazy, je možné použít příkaz:
Implementuje metody:
Vrací jednoduchou informaci:
Příklady:
Nastartování zastaveného ticketu s id 111 (stejný efekt by měl u zastaveného ticketu příkaz toggle):
/api/v1/timesheet/start/1
Zastavení běžícího ticketu s id 111 (stejný efekt by měl u běžícího ticketu příkaz toggle):
/api/v1/timesheet/stop/1
Další nastartování zastaveného ticketu s id 111, id záznamu v tabulce timesheets má novou hodnotu, tj. v tabulce přibyl nový záznam:
/api/v1/timesheet/start/1
Pokud dojde k pokusu nastartovat běžící záznam, nebo k pokusu ukončit zastavený záznam, vrací chybu, HTTP status 409 Conflict. Chyba může znamenat, že ticket je spuštěný z jiného klienta. U příkazu toggle k chybě nedochází, může ale dojít ke konfliktům mezi různými klienty:
/api/v1/start/1
Definice je uvedena na řádku 117 v souboru controllertimesheet.h.
ControllerTimesheet::ControllerTimesheet | ( | HobrasoftHttpd::HttpConnection * | parent | ) |
Definice je uvedena na řádku 15 v souboru controllertimesheet.cpp.
|
protectedvirtual |
Obsluha požadavku.
Reimplementuje stejnojmenný prvek z Httpd::AbstractController.
Definice je uvedena na řádku 98 v souboru controllertimesheet.cpp.
|
private |
Definice je uvedena na řádku 19 v souboru controllertimesheet.cpp.
|
private |
Definice je uvedena na řádku 46 v souboru controllertimesheet.cpp.
|
private |
Definice je uvedena na řádku 83 v souboru controllertimesheet.cpp.