Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
controlleremployees.cpp
Zobrazit dokumentaci tohoto souboru.
1
6
8#include "httprequest.h"
9#include "db.h"
10#include "pdebug.h"
11
12using namespace Httpd;
13
14
15ControllerEmployees::ControllerEmployees(HobrasoftHttpd::HttpConnection *parent) : AbstractController(parent) {
16 PDEBUG;
17}
18
19
20void ControllerEmployees::serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) {
21 PDEBUG;
22 serviceOK(request, response, toList(db()->employees()));
23}
24
25
26void ControllerEmployees::serviceIdGet (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString& id) {
27 PDEBUG;
28 int employee = id.toInt();
29 if (employee <= 0) {
30 serviceError(request, response, 404, "not-found", "NotFound");
31 return;
32 }
33 auto list = db()->employees(employee);
34 if (list.isEmpty()) {
35 serviceError(request, response, 404, "not-found", "NotFound");
36 return;
37 }
38 serviceOK(request, response, list[0].toMap());
39}
40
41
42void ControllerEmployees::serviceIdPut(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap& data) {
43 serviceOK(request, response, putKey(db()->save(Dbt::Employees::fromMap(data))));
44}
45
46
47void ControllerEmployees::serviceIdPost(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap& data) {
48 serviceIdPut(request, response, data);
49}
50
51
52void ControllerEmployees::serviceIdDelete(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString& id) {
53 db()->remove(Dbt::Employees(id.toInt()));
54 serviceOK(request, response);
55}
56
57
58
59
Virtuální třída pro vyřizování unifikovaných Http požadavků na server API.
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 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 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 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 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 serviceList(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
Pošle chybovou odpověď
Jmenný prostor pro obsluhu konkrétních HTTP požadavků aplikace.
Zaměstnanec používaný v REST API.
Definition dbt.h:507