Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy Httpd::ControllerStatuses

Manipulace se stavy ticketů ...

#include <controllerstatuses.h>

Diagram dědičnosti pro třídu Httpd::ControllerStatuses:
Httpd::AbstractController

Veřejné metody

 ControllerStatuses (HobrasoftHttpd::HttpConnection *parent)
 
- Veřejné metody dědí se z Httpd::AbstractController
 AbstractController (HobrasoftHttpd::HttpConnection *parent)
 Konstruktor.
 
virtual void service (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response)
 Obsluha požadavku.
 
void setCheckId (bool x)
 Nastavuje kontrolu položky ID v datech při PUT a POST.
 
void setAuthorizer (RequestAuthorizer *authorizer)
 
AuthenticatedUserauthenticatedUser () const
 
bool checkId () const
 Vrací stav kontroly položky ID v datech při PUT a POST.
 
Db::Databasedb ()
 

Chráněné metody

void serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
 Měl by poslat v odpovědi kompletní seznam všech objektů ve třídě a ukončit se.
 
void serviceIdGet (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) Q_DECL_OVERRIDE
 Pošle odpověď na požadavek konkrétního ID metodou GET.
 
void serviceIdPut (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data) Q_DECL_OVERRIDE
 Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt.
 
void serviceIdPost (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data) Q_DECL_OVERRIDE
 Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt.
 
void serviceIdDelete (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) Q_DECL_OVERRIDE
 Pošle odpověď na požadavek konkrétního ID metodou DELETE - obvykle objekt smaže.
 
- 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 serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString &error, const QVariantMap &data)
 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 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.
 

Další zděděné členy

- Statické chráněné metody dědí se z Httpd::AbstractController
static QVariantMap putKey (const QVariant &key)
 

Detailní popis

Manipulace se stavy ticketů

Primární klíč (položka status) negeneruje databáze, identifikátor musí být nastavený. Jako identifikátor může být použitý libovolný řetězec, vhodné je například NEW, CLOSED atd.

Implementuje metody:

  • get
  • post, put
  • delete

Struktura jednoho záznamu

{
"abbreviation": "NEW", // Zkratka
"color": "transparent", // Barva, kterou se má zobrazovat v GUI
"description": "Nový", // Popis stavu
"status": "NEW" // Primární klíč, identifikátor stavu
}

Definice je uvedena na řádku 50 v souboru controllerstatuses.h.

Dokumentace konstruktoru a destruktoru

◆ ControllerStatuses()

ControllerStatuses::ControllerStatuses ( HobrasoftHttpd::HttpConnection * parent)

Definice je uvedena na řádku 14 v souboru controllerstatuses.cpp.

14 : AbstractController(parent) {
15}
AbstractController(HobrasoftHttpd::HttpConnection *parent)
Konstruktor.

Dokumentace členských funkcí

◆ serviceIdDelete()

void ControllerStatuses::serviceIdDelete ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
const QString & id )
protectedvirtual

Pošle odpověď na požadavek konkrétního ID metodou DELETE - obvykle objekt smaže.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 62 v souboru controllerstatuses.cpp.

62 {
63 db()->remove(Dbt::Statuses(id));
64 serviceOK(request, response);
65}
virtual void serviceOK(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data=QVariant())
Pošle odpověď 200 OK.
HobrasoftHttpd::HttpRequest * request() const
Vrací ukazatel na aktuální request.

◆ serviceIdGet()

void ControllerStatuses::serviceIdGet ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
const QString & id )
protectedvirtual

Pošle odpověď na požadavek konkrétního ID metodou GET.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 43 v souboru controllerstatuses.cpp.

43 {
44 auto list = db()->statuses(id);
45 if (list.isEmpty()) {
46 serviceError(request, response, 404, "not-found", "NotFound");
47 return;
48 }
49 serviceOK(request, response, list[0].toMap());
50}
virtual void serviceError(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString &error, const QVariantMap &data)
Pošle chybovou odpověď

◆ serviceIdPost()

void ControllerStatuses::serviceIdPost ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
const QVariantMap & data )
protectedvirtual

Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 57 v souboru controllerstatuses.cpp.

57 {
58 serviceIdPut(request, response, data);
59}
void serviceIdPut(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data) Q_DECL_OVERRIDE
Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existu...

◆ serviceIdPut()

void ControllerStatuses::serviceIdPut ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
const QVariantMap & data )
protectedvirtual

Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 52 v souboru controllerstatuses.cpp.

52 {
53 serviceOK(request, response, putKey(db()->save(Dbt::Statuses::fromMap(data))));
54}

◆ serviceList()

void ControllerStatuses::serviceList ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response )
protectedvirtual

Měl by poslat v odpovědi kompletní seznam všech objektů ve třídě a ukončit se.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 18 v souboru controllerstatuses.cpp.

18 {
19 QString category = request->parameter("category");
20 QString status = request->parameter("previousStatus");
21 QString statuses = request->parameter("previousStatuses");
22 if (status == "" && statuses == "") {
23 serviceOK(request, response, toList(db()->statuses(category, status)));
24 return;
25 }
26 if (status != "" && statuses == "") {
27 serviceOK(request, response, toList(db()->statuses(category, status)));
28 return;
29 }
30 if (status == "" && statuses != "") {
31 QStringList statusesList;
32 QVariantList list1 = JSON::data(statuses.toUtf8()).toList();
33 for (int i=0; i<list1.size(); i++) {
34 statusesList << list1[i].toString();
35 }
36 serviceOK(request, response, toList(db()->statuses(category, statusesList)));
37 return;
38 }
39 serviceError(request, response, 400, "bad-parameterers", "Bad parameters: previousStatus=<int> or previousStatuses=<JSON array> must be sent");
40}
static QVariant data(const QByteArray &json)
Converts json to data.
Definition json.cpp:69

Dokumentace pro tuto třídu byla vygenerována z následujících souborů: