Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
database_plugin.h
Zobrazit dokumentaci tohoto souboru.
1
6#ifndef _DatabasePlugin_H_
7#define _DatabasePlugin_H_
8
9#include <QSqlDatabase>
10#include <QObject>
11#include <QStringList>
12#include <QDate>
13#include "dbt.h"
14#include "authenticateduser.h"
15
16namespace Db {
17namespace Plugins {
18
22class DatabasePlugin : public QObject {
23 Q_OBJECT
24 public:
25 DatabasePlugin(QObject *);
26
27 void setAuthenticatedUser(const AuthenticatedUser *x) { m_authenticatedUser = x; }
28
29 virtual void setDatabaseName(const QString&) = 0;
30 virtual void setHostname(const QString&) = 0;
31 virtual void setPort(int) = 0;
32 virtual void setUserName(const QString&) = 0;
33 virtual void setPassword(const QString&) = 0;
34
35 virtual bool open() = 0;
36 virtual bool close() = 0;
37 virtual void begin() = 0;
38 virtual void commit() = 0;
39 virtual QString connectionName() const;
40
41 virtual void changePassword(const QString& login, const QString& oldpassword, const QString& newpassword) = 0;
42 virtual QList<Dbt::Users> authenticate(const QString& user, const QString& password) = 0;
43 virtual QList<Dbt::Users> users(int id) = 0;
44 virtual QList<Dbt::Categories> categories(const QString& id) = 0;
45 virtual QList<Dbt::Categories> categoriesToRoot(const QString& id) = 0;
46 virtual QList<Dbt::Categories> subcategories(const QString& parent) = 0;
47 virtual QList<Dbt::Categories> siblingcategories(const QString& parent) = 0;
48 virtual QList<Dbt::UsersCategories> usersCategories(int id, int user, const QString& category) = 0;
49 virtual QList<Dbt::CategoriesOverview> categoriesOverview(const QStringList& statuses) = 0;
50 virtual QList<Dbt::StatusOrder> statusOrder(const QString& id) = 0;
51 virtual QList<Dbt::Statuses> statuses(const QString& id) = 0;
52 virtual QList<Dbt::Statuses> statuses(const QString& category, const QString& prevstatus) = 0;
53 virtual QList<Dbt::Statuses> statuses(const QString& category, const QStringList& prevstatuses);
54
55 virtual QList<Dbt::StatusTemplates> statusTemplates(int id) = 0;
56
57 virtual QList<Dbt::Tickets> tickets(bool all) = 0;
58 virtual QList<Dbt::Tickets> tickets(int ticket, bool all) = 0;
59 virtual QList<Dbt::Tickets> tickets(const Dbt::Categories&, bool all) = 0;
60
61 virtual QList<Dbt::TicketsVw> ticketsVw(bool all) = 0;
62 virtual QList<Dbt::TicketsVw> ticketsVw(int ticket, bool all) = 0;
63 virtual QList<Dbt::TicketsVw> ticketsVw(const Dbt::Categories&, bool all) = 0;
64
65 virtual QList<Dbt::TicketStatus> ticketStatus(int id) = 0;
66 virtual QList<Dbt::TicketStatus> ticketStatus(bool all) = 0;
67 virtual QList<Dbt::TicketStatus> ticketStatus(int ticket, bool all) = 0;
68
69 virtual QList<Dbt::TicketValues> ticketValues(int id) = 0;
70 virtual QList<Dbt::TicketValues> ticketValues(bool all) = 0;
71 virtual QList<Dbt::TicketValues> ticketValues(int ticket, bool all) = 0;
72
73 virtual QList<Dbt::TicketFiles> ticketFiles(int id) = 0;
74 virtual QList<Dbt::TicketFiles> ticketFiles(bool all) = 0;
75 virtual QList<Dbt::TicketFiles> ticketFiles(int ticket, bool all) = 0;
76
77 virtual QList<Dbt::TicketTimesheets> ticketTimesheets(int id) = 0;
78 virtual QList<Dbt::TicketTimesheets> ticketTimesheets(bool all) = 0;
79 virtual QList<Dbt::TicketTimesheets> ticketTimesheets(int ticket, bool all) = 0;
80 virtual QList<Dbt::TicketTimesheets> runningTimesheets(int ticket) = 0;
81 virtual QList<Dbt::TicketTimesheets> startTimesheet(int ticket) = 0;
82 virtual QList<Dbt::TicketTimesheets> stopTimesheet(int ticket) = 0;
83 virtual QList<Dbt::TicketTimesheets> toggleTimesheet(int ticket) = 0;
84
85 virtual QList<Dbt::ClientSettings> clientSettings() = 0;
86 virtual QList<Dbt::ServerInfo> serverInfo();
87 virtual QList<Dbt::Overview> overview(const QString& category, const QStringList& statuses) = 0;
88 virtual QList<Dbt::Overview> overview(const QString& overviewId) = 0;
89 virtual QList<Dbt::OverviewList> overviewList() = 0;
90
91 virtual QList<Dbt::Departments> departments(int department) { Q_UNUSED(department); return QList<Dbt::Departments>(); }
92 virtual QList<Dbt::Doors> doors(int door) { Q_UNUSED(door); return QList<Dbt::Doors>(); }
93 virtual QList<Dbt::Employees> employees(int employee) { Q_UNUSED(employee); return QList<Dbt::Employees>(); }
94 virtual QList<Dbt::EventTypes> eventTypes(const QString& eventType) { Q_UNUSED(eventType); return QList<Dbt::EventTypes>(); }
95 virtual QList<Dbt::Events> events(int event,
96 int employee = -1,
97 const QDate& month = QDate(),
98 int limit = -1,
99 int offset = -1)
100 { Q_UNUSED(event); Q_UNUSED(employee); Q_UNUSED(month); Q_UNUSED(limit); Q_UNUSED(offset); return QList<Dbt::Events>(); }
101 virtual QList<Dbt::DepartmentHasManager> departmentHasManager(const Dbt::DepartmentHasManager&) { return QList<Dbt::DepartmentHasManager>(); }
102 virtual QList<Dbt::DepartmentHasMember> departmentHasMember(const Dbt::DepartmentHasMember&) { return QList<Dbt::DepartmentHasMember>(); }
103 virtual QList<Dbt::EmployeeCanOpenDoor> employeeCanOpenDoor(const Dbt::EmployeeCanOpenDoor&) { return QList<Dbt::EmployeeCanOpenDoor>(); }
104 virtual QList<Dbt::EmployeeHasRfid> employeeHasRfid(const Dbt::EmployeeHasRfid&) { return QList<Dbt::EmployeeHasRfid>(); }
105 virtual QList<Dbt::Rfids> rfids(int rfid) = 0;
106 virtual QList<Dbt::Rfids> rfidsById(const QString& rfidId) = 0;
107 virtual QList<Dbt::Holidays> holidays(const QDate& date) { Q_UNUSED(date); return QList<Dbt::Holidays>(); }
108 virtual QList<Dbt::WorkCalendar> workCalendar(const QDate& period) { Q_UNUSED(period); return QList<Dbt::WorkCalendar>(); }
109 virtual void generateWorkCalendar(int year) { Q_UNUSED(year); }
110 virtual void copyHolidays(int fromYear, int toYear) { Q_UNUSED(fromYear); Q_UNUSED(toYear); }
111 virtual QList<Dbt::AttendanceChecklist> attendanceChecklist(int employee, const QDate& month) { Q_UNUSED(employee); Q_UNUSED(month); return QList<Dbt::AttendanceChecklist>(); }
112 virtual QList<Dbt::Employees> attendanceChecklist(const QDate& month) { Q_UNUSED(month); return QList<Dbt::Employees>(); }
113 virtual QList<Dbt::AttendanceSummary> attendanceSummary(int employee, const QDate& month) { Q_UNUSED(employee); Q_UNUSED(month); return QList<Dbt::AttendanceSummary>(); }
114 virtual QList<Dbt::AttendancePresent> attendancePresent() { return QList<Dbt::AttendancePresent>(); }
115 virtual QList<Dbt::AttendanceRecent> attendanceRecent(int employee) { Q_UNUSED(employee); return QList<Dbt::AttendanceRecent>(); }
116 virtual Dbt::UserEmployeeAccess canAccessAttendance(int employee) { Q_UNUSED(employee); return Dbt::UserEmployeeAccess(); }
117
118 virtual void remove(const Dbt::Users& data) { Q_UNUSED(data); }
119 virtual void remove(const Dbt::UsersCategories& data) { Q_UNUSED(data); }
120 virtual void remove(const Dbt::Categories& data) { Q_UNUSED(data); }
121 virtual void remove(const Dbt::StatusOrder& data) { Q_UNUSED(data); }
122 virtual void remove(const Dbt::Statuses& data) { Q_UNUSED(data); }
123 virtual void remove(const Dbt::Tickets& data) { Q_UNUSED(data); }
124 virtual void remove(const Dbt::TicketStatus& data) { Q_UNUSED(data); }
125 virtual void remove(const Dbt::TicketValues& data) { Q_UNUSED(data); }
126 virtual void remove(const Dbt::TicketFiles& data) { Q_UNUSED(data); }
127 virtual void remove(const Dbt::TicketTimesheets& data) { Q_UNUSED(data); }
128 virtual void remove(const Dbt::OverviewList& data) { Q_UNUSED(data); }
129
130 virtual void remove(const Dbt::Departments& data) { Q_UNUSED(data); }
131 virtual void remove(const Dbt::Doors& data) { Q_UNUSED(data); }
132 virtual void remove(const Dbt::Employees& data) { Q_UNUSED(data); }
133 virtual void remove(const Dbt::EventTypes& data) { Q_UNUSED(data); }
134 virtual void remove(const Dbt::Events& data) { Q_UNUSED(data); }
135 virtual void remove(const Dbt::DepartmentHasManager& data) { Q_UNUSED(data); }
136 virtual void remove(const Dbt::DepartmentHasMember& data) { Q_UNUSED(data); }
137 virtual void remove(const Dbt::EmployeeCanOpenDoor& data) { Q_UNUSED(data); }
138 virtual void remove(const Dbt::EmployeeHasRfid& data) { Q_UNUSED(data); }
139 virtual void remove(const Dbt::Rfids& data) { Q_UNUSED(data); }
140 virtual void remove(const Dbt::Holidays& data) { Q_UNUSED(data); }
141 virtual void remove(const Dbt::WorkCalendar& data) { Q_UNUSED(data); }
142 virtual void remove(const Dbt::AttendanceSummary& data) { Q_UNUSED(data); }
143
144 virtual QVariant save(const Dbt::Users& data) { Q_UNUSED(data); return QVariant(); }
145 virtual QVariant save(const Dbt::UsersCategories& data) { Q_UNUSED(data); return QVariant(); }
146 virtual QVariant save(const Dbt::Categories& data) { Q_UNUSED(data); return QVariant(); }
147 virtual QVariant save(const Dbt::StatusOrder& data) { Q_UNUSED(data); return QVariant(); }
148 virtual QVariant save(const Dbt::Statuses& data) { Q_UNUSED(data); return QVariant(); }
149 virtual QVariant save(const Dbt::Tickets& data) { Q_UNUSED(data); return QVariant(); }
150 virtual QVariant save(const Dbt::TicketsVw& data) { Q_UNUSED(data); return QVariant(); }
151 virtual QVariant save(const Dbt::TicketStatus& data) { Q_UNUSED(data); return QVariant(); }
152 virtual QVariant save(const Dbt::TicketValues& data) { Q_UNUSED(data); return QVariant(); }
153 virtual QVariant save(const Dbt::TicketFiles& data) { Q_UNUSED(data); return QVariant(); }
154 virtual QVariant save(const Dbt::TicketTimesheets& data) { Q_UNUSED(data); return QVariant(); }
155 virtual QVariant save(const Dbt::ServerInfo& data) { Q_UNUSED(data); return QVariant(); }
156 virtual QVariant save(const Dbt::AppendStatuses& data) { Q_UNUSED(data); return QVariant(); }
157
158 virtual QVariant save(const Dbt::Departments& data) { Q_UNUSED(data); return QVariant(); }
159 virtual QVariant save(const Dbt::Doors& data) { Q_UNUSED(data); return QVariant(); }
160 virtual QVariant save(const Dbt::Employees& data) { Q_UNUSED(data); return QVariant(); }
161 virtual QVariant save(const Dbt::EventTypes& data) { Q_UNUSED(data); return QVariant(); }
162 virtual QVariant save(const Dbt::Events& data) { Q_UNUSED(data); return QVariant(); }
163 virtual QVariant save(const Dbt::DepartmentHasManager& data) { Q_UNUSED(data); return QVariant(); }
164 virtual QVariant save(const Dbt::DepartmentHasMember& data) { Q_UNUSED(data); return QVariant(); }
165 virtual QVariant save(const Dbt::EmployeeCanOpenDoor& data) { Q_UNUSED(data); return QVariant(); }
166 virtual QVariant save(const Dbt::EmployeeHasRfid& data) { Q_UNUSED(data); return QVariant(); }
167 virtual QVariant save(const Dbt::Rfids& data) { Q_UNUSED(data); return QVariant(); }
168 virtual QVariant save(const Dbt::Holidays& data) { Q_UNUSED(data); return QVariant(); }
169 virtual QVariant save(const Dbt::WorkCalendar& data) { Q_UNUSED(data); return QVariant(); }
170 virtual QVariant save(const Dbt::AttendanceSummary& data) { Q_UNUSED(data); return QVariant(); }
171
172 protected:
173 int userId() const;
174 bool userAuthenticated() const;
175 QString userLogin() const;
176 QString userLang() const;
177
178 protected:
179 // virtual QVariant lastInsertRowId(const QString& sequence_name = QString(), Db::MSqlQuery *q = NULL) = 0;
180 // virtual QString formatLimitOffset(int limit, int offset) const = 0;
181 QSqlDatabase m_db;
182
183 public:
184 const AuthenticatedUser *m_authenticatedUser = nullptr;
185
186
187};
188
189}
190}
191
192#endif
Zaměstnanec používaný v REST API.
Definition dbt.h:507