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

Manipuluje s informacemi o zaměstnancích v docházce. ...

#include <controlleremployees.h>

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

Veřejné metody

 ControllerEmployees (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
 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.
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

Manipuluje s informacemi o zaměstnancích v docházce.

Vrací seznam oddělení v docházce.

Implementované metody:

  • get
  • put, post
  • delete

Struktura jednoho záznamu:

{
"employee": 1234,
"firstname": "Petr",
"surname": "Hobrasoft",
"active": true,
"user": 1,
"work_hours_mode": "full",
"rounding_interval": "15m",
"saturdays_paid": true,
"sundays_paid": false,
"auto_breaks": false,
"overtime_paid": true,
// Připojeno z jiných tabulek
"departments": [
{"department":23, "abbr":"VY", "description":"Výroba"}, ...
],
"rfids": [
{"rfid":12, "rfid_id":"ABCD1234", "valid":true, "note":"Poznámka"}, ...
],
"doors": [
{"door":1, "description":"Výrobní dílna"}, ...
],
"manages_departments": [
{"department":23, "abbr":"VY", "description":"Výroba"}, ...
]
}

Definice je uvedena na řádku 67 v souboru controlleremployees.h.

Dokumentace konstruktoru a destruktoru

◆ ControllerEmployees()

ControllerEmployees::ControllerEmployees ( HobrasoftHttpd::HttpConnection * parent)

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

15 : AbstractController(parent) {
16 PDEBUG;
17}
AbstractController(HobrasoftHttpd::HttpConnection *parent)
Konstruktor.

Dokumentace členských funkcí

◆ serviceIdDelete()

void ControllerEmployees::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 52 v souboru controlleremployees.cpp.

52 {
53 db()->remove(Dbt::Employees(id.toInt()));
54 serviceOK(request, response);
55}
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 ControllerEmployees::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 26 v souboru controlleremployees.cpp.

26 {
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}

◆ serviceIdPost()

void ControllerEmployees::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 47 v souboru controlleremployees.cpp.

47 {
48 serviceIdPut(request, response, data);
49}
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 ControllerEmployees::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 42 v souboru controlleremployees.cpp.

42 {
43 serviceOK(request, response, putKey(db()->save(Dbt::Employees::fromMap(data))));
44}

◆ serviceList()

void ControllerEmployees::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 20 v souboru controlleremployees.cpp.

20 {
21 PDEBUG;
22 serviceOK(request, response, toList(db()->employees()));
23}

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