Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
controllerticketfiles.cpp
Zobrazit dokumentaci tohoto souboru.
1
8#include "httprequest.h"
9#include "db.h"
10
11using namespace Httpd;
12
13
14ControllerTicketFiles::ControllerTicketFiles(HobrasoftHttpd::HttpConnection *parent) : AbstractController(parent) {
15}
16
17
18void ControllerTicketFiles::serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) {
19 bool all = QVariant(request->parameter("all")).toBool();
20 serviceOK(request, response, toList(db()->ticketFiles(all)));
21}
22
23
24void ControllerTicketFiles::serviceIdGet (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString& id) {
25 bool all = QVariant(request->parameter("all")).toBool();
26 int ticket = QVariant(request->parameter("ticket")).toInt();
27 auto list = (ticket > 0)
28 ? db()->ticketFiles(ticket, all)
29 : (id.isEmpty())
30 ? db()->ticketFiles(all)
31 : db()->ticketFiles(id.toInt())
32 ;
33 if (list.isEmpty()) {
34 serviceError(request, response, 404, "not-found", "NotFound");
35 return;
36 }
37 serviceOK(request, response, list[0].toMap());
38}
39
40
41void ControllerTicketFiles::serviceIdPut(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap& data) {
42 serviceOK(request, response, putKey(db()->save(Dbt::TicketFiles::fromMap(data))));
43}
44
45
46void ControllerTicketFiles::serviceIdPost(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap& data) {
47 serviceIdPut(request, response, data);
48}
49
50
51void ControllerTicketFiles::serviceIdDelete(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString& id) {
52 db()->remove(Dbt::TicketFiles(id));
53 serviceOK(request, response);
54}
55
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 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 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 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 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 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.