|
Timesheets-Server
Timesheets server
|
Nastartování nebo zastavení pracovního výkazu. ...
#include <controllertimesheet.h>
Veřejné metody | |
| ControllerTimesheet (HobrasoftHttpd::HttpConnection *parent) | |
| Veřejné metody dědí se z Httpd::AbstractController | |
| 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. | |
| Chráněné metody dědí se z Httpd::AbstractController | |
| 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 | serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) |
| Pošle chybovou odpověď | |
| 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 | |
| Statické chráněné metody dědí se z Httpd::AbstractController | |
| 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.