8#include "httprequest.h"
14ControllerTicketStatus::ControllerTicketStatus(HobrasoftHttpd::HttpConnection *parent) :
AbstractController(parent) {
19 bool all = QVariant(
request->parameter(
"all")).toBool();
25 bool all = QVariant(
request->parameter(
"all")).toBool();
26 int ticket = QVariant(
request->parameter(
"ticket")).toInt();
27 auto list = (ticket > 0)
28 ? db()->ticketStatus(ticket, all)
30 ? db()->ticketStatus(all)
31 : db()->ticketStatus(
id.toInt())
42 if (data.contains(
"ticket")) {
43 serviceOK(
request, response, putKey(db()->save(Dbt::TicketStatus::fromMap(data))));
47 if (data.contains(
"categories")) {
48 serviceOK(
request, response, putKey(db()->save(Dbt::AppendStatuses::fromMap(data))));
52 serviceError(
request, response, 400,
"bad-format",
"JSON has bad format, it must contain 'ticket' or 'categories' fields");
Virtuální třída pro vyřizování unifikovaných Http požadavků na server API.
virtual void serviceError(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString &error, const QVariantMap &data)
Pošle chybovou odpověď
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.
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...
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 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 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 existu...
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.
Jmenný prostor pro obsluhu konkrétních HTTP požadavků aplikace.