Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy Httpd::ControllerHolidays
Diagram dědičnosti pro třídu Httpd::ControllerHolidays:
Httpd::AbstractController

Veřejné metody

 ControllerHolidays (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)
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 service (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
 Obsluha požadavku.
void serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
 Pošle chybovou odpověď
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.
void serviceCopy (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int fromYear, int toYear)
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 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

Definice je uvedena na řádku 22 v souboru controllerholidays.h.

Dokumentace konstruktoru a destruktoru

◆ ControllerHolidays()

ControllerHolidays::ControllerHolidays ( HobrasoftHttpd::HttpConnection * parent)

Definice je uvedena na řádku 13 v souboru controllerholidays.cpp.

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

Dokumentace členských funkcí

◆ service()

void ControllerHolidays::service ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response )
protectedvirtual

Obsluha požadavku.

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 15 v souboru controllerholidays.cpp.

15 {
16 QStringList parts = request->path().split("/");
17 parts.removeFirst();
18 parts.removeFirst();
19 parts.removeFirst();
20
21 if (parts.size() == 4 && parts[0] == "holidays" && parts[1] == "copy") {
22 bool ok1 = false; bool ok2 = false;
23 int fromYear = parts[2].toInt(&ok1);
24 int toYear = parts[3].toInt(&ok2);
25 if (!ok1 || !ok2) {
26 serviceError(request, response, 400, "bad-request", "Invalid year");
27 return;
28 }
29 serviceCopy(request, response, fromYear, toYear);
30 return;
31 }
32
34}
virtual void service(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response)
Obsluha požadavku.
HobrasoftHttpd::HttpRequest * request() const
Vrací ukazatel na aktuální request.

◆ serviceCopy()

void ControllerHolidays::serviceCopy ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
int fromYear,
int toYear )
protected

Definice je uvedena na řádku 64 v souboru controllerholidays.cpp.

64 {
65 Q_UNUSED(request);
66 db()->copyHolidays(fromYear, toYear);
67 serviceOK(request, response);
68}
virtual void serviceOK(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data=QVariant())
Pošle odpověď 200 OK.

◆ serviceIdDelete()

void ControllerHolidays::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 58 v souboru controllerholidays.cpp.

58 {
59 QDate date = QDate::fromString(id, "yyyy-MM-dd");
60 db()->remove(Dbt::Holidays(date));
61 serviceOK(request, response);
62}

◆ serviceIdGet()

void ControllerHolidays::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 41 v souboru controllerholidays.cpp.

41 {
42 QDate date = QDate::fromString(id, "yyyy-MM-dd");
43 if (!date.isValid()) { serviceError(request, response, 404, "not-found", "NotFound"); return; }
44 auto list = db()->holidays(date);
45 if (list.isEmpty()) { serviceError(request, response, 404, "not-found", "NotFound"); return; }
46 serviceOK(request, response, list.first().toMap());
47}

◆ serviceIdPost()

void ControllerHolidays::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 54 v souboru controllerholidays.cpp.

54 {
55 serviceIdPut(request, response, data);
56}
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 ControllerHolidays::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 49 v souboru controllerholidays.cpp.

49 {
50 Q_UNUSED(request);
51 serviceOK(request, response, putKey(db()->save(Dbt::Holidays::fromMap(data))));
52}

◆ serviceList()

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

Pošle chybovou odpověď

Parametry
code- chybový kód (například 404)
error- chybový textový kód
reason- vysvětlení chyby

Posílá odpověď zformátovanou takto:

Content-Type: application/json
Cache-Control: no-cache,public
404 not-found
{ "error" : "not-found", "reason" : "Not found" }

*/ virtual void serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString& error, const QString& reason);

/**

Pošle chybovou odpověď

Parametry
code- chybový kód (například 404)
error- chybový textový kód, píše se do HTTP statutu
reason- vysvětlení chyby

Posílá odpověď zformátovanou takto:

Content-Type: application/json
Cache-Control: no-cache,public
404 text v parametru error
{ ..... }

*/ virtual void serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString& error, const QVariantMap& data);

/**

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 36 v souboru controllerholidays.cpp.

36 {
37 Q_UNUSED(request);
38 serviceOK(request, response, toList(db()->holidays()));
39}

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