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 "dbt.h"
13#include "authenticateduser.h"
14
15namespace Db {
16namespace Plugins {
17
21class DatabasePlugin : public QObject {
22 Q_OBJECT
23 public:
24 DatabasePlugin(QObject *);
25
26 void setAuthenticatedUser(const AuthenticatedUser *x) { m_authenticatedUser = x; }
27
28 virtual void setDatabaseName(const QString&) = 0;
29 virtual void setHostname(const QString&) = 0;
30 virtual void setPort(int) = 0;
31 virtual void setUserName(const QString&) = 0;
32 virtual void setPassword(const QString&) = 0;
33
34 virtual bool open() = 0;
35 virtual bool close() = 0;
36 virtual void begin() = 0;
37 virtual void commit() = 0;
38 virtual QString connectionName() const;
39
40 virtual void changePassword(const QString& login, const QString& oldpassword, const QString& newpassword) = 0;
41 virtual QList<Dbt::Users> authenticate(const QString& user, const QString& password) = 0;
42 virtual QList<Dbt::Users> users(int id) = 0;
43 virtual QList<Dbt::Categories> categories(const QString& id) = 0;
44 virtual QList<Dbt::Categories> categoriesToRoot(const QString& id) = 0;
45 virtual QList<Dbt::Categories> subcategories(const QString& parent) = 0;
46 virtual QList<Dbt::Categories> siblingcategories(const QString& parent) = 0;
47 virtual QList<Dbt::UsersCategories> usersCategories(int id, int user, const QString& category) = 0;
48 virtual QList<Dbt::CategoriesOverview> categoriesOverview(const QStringList& statuses) = 0;
49 virtual QList<Dbt::StatusOrder> statusOrder(const QString& id) = 0;
50 virtual QList<Dbt::Statuses> statuses(const QString& id) = 0;
51 virtual QList<Dbt::Statuses> statuses(const QString& category, const QString& prevstatus) = 0;
52 virtual QList<Dbt::Statuses> statuses(const QString& category, const QStringList& prevstatuses);
53
54 virtual QList<Dbt::StatusTemplates> statusTemplates(int id) = 0;
55
56 virtual QList<Dbt::Tickets> tickets(bool all) = 0;
57 virtual QList<Dbt::Tickets> tickets(int ticket, bool all) = 0;
58 virtual QList<Dbt::Tickets> tickets(const Dbt::Categories&, bool all) = 0;
59
60 virtual QList<Dbt::TicketsVw> ticketsVw(bool all) = 0;
61 virtual QList<Dbt::TicketsVw> ticketsVw(int ticket, bool all) = 0;
62 virtual QList<Dbt::TicketsVw> ticketsVw(const Dbt::Categories&, bool all) = 0;
63
64 virtual QList<Dbt::TicketStatus> ticketStatus(int id) = 0;
65 virtual QList<Dbt::TicketStatus> ticketStatus(bool all) = 0;
66 virtual QList<Dbt::TicketStatus> ticketStatus(int ticket, bool all) = 0;
67
68 virtual QList<Dbt::TicketValues> ticketValues(int id) = 0;
69 virtual QList<Dbt::TicketValues> ticketValues(bool all) = 0;
70 virtual QList<Dbt::TicketValues> ticketValues(int ticket, bool all) = 0;
71
72 virtual QList<Dbt::TicketFiles> ticketFiles(int id) = 0;
73 virtual QList<Dbt::TicketFiles> ticketFiles(bool all) = 0;
74 virtual QList<Dbt::TicketFiles> ticketFiles(int ticket, bool all) = 0;
75
76 virtual QList<Dbt::TicketTimesheets> ticketTimesheets(int id) = 0;
77 virtual QList<Dbt::TicketTimesheets> ticketTimesheets(bool all) = 0;
78 virtual QList<Dbt::TicketTimesheets> ticketTimesheets(int ticket, bool all) = 0;
79 virtual QList<Dbt::TicketTimesheets> runningTimesheets(int ticket) = 0;
80 virtual QList<Dbt::TicketTimesheets> startTimesheet(int ticket) = 0;
81 virtual QList<Dbt::TicketTimesheets> stopTimesheet(int ticket) = 0;
82 virtual QList<Dbt::TicketTimesheets> toggleTimesheet(int ticket) = 0;
83
84 virtual QList<Dbt::ClientSettings> clientSettings() = 0;
85 virtual QList<Dbt::ServerInfo> serverInfo();
86 virtual QList<Dbt::Overview> overview(const QString& category, const QStringList& statuses) = 0;
87 virtual QList<Dbt::Overview> overview(const QString& overviewId) = 0;
88 virtual QList<Dbt::OverviewList> overviewList() = 0;
89
90 virtual QList<Dbt::Departments> departments(int department) { Q_UNUSED(department); return QList<Dbt::Departments>(); }
91 virtual QList<Dbt::Doors> doors(int door) { Q_UNUSED(door); return QList<Dbt::Doors>(); }
92 virtual QList<Dbt::Employees> employess(int employee) { Q_UNUSED(employee); return QList<Dbt::Employees>(); }
93 virtual QList<Dbt::EventTypes> eventTypes(const QString& eventType) { Q_UNUSED(eventType); return QList<Dbt::EventTypes>(); }
94 virtual QList<Dbt::Events> events(int event) { Q_UNUSED(event); return QList<Dbt::Events>(); }
95 virtual QList<Dbt::DepartmentHasManager> departmentHasManager(const Dbt::DepartmentHasManager&) { return QList<Dbt::DepartmentHasManager>(); }
96 virtual QList<Dbt::DepartmentHasMember> departmentHasMember(const Dbt::DepartmentHasMember&) { return QList<Dbt::DepartmentHasMember>(); }
97 virtual QList<Dbt::EmployeeCanOpenDoor> employeeCanOpenDoor(const Dbt::EmployeeCanOpenDoor&) { return QList<Dbt::EmployeeCanOpenDoor>(); }
98 virtual QList<Dbt::EmployeeHasRfid> employeeHasRfid(const Dbt::EmployeeHasRfid&) { return QList<Dbt::EmployeeHasRfid>(); }
99
100 virtual void remove(const Dbt::Users& data) { Q_UNUSED(data); }
101 virtual void remove(const Dbt::UsersCategories& data) { Q_UNUSED(data); }
102 virtual void remove(const Dbt::Categories& data) { Q_UNUSED(data); }
103 virtual void remove(const Dbt::StatusOrder& data) { Q_UNUSED(data); }
104 virtual void remove(const Dbt::Statuses& data) { Q_UNUSED(data); }
105 virtual void remove(const Dbt::Tickets& data) { Q_UNUSED(data); }
106 virtual void remove(const Dbt::TicketStatus& data) { Q_UNUSED(data); }
107 virtual void remove(const Dbt::TicketValues& data) { Q_UNUSED(data); }
108 virtual void remove(const Dbt::TicketFiles& data) { Q_UNUSED(data); }
109 virtual void remove(const Dbt::TicketTimesheets& data) { Q_UNUSED(data); }
110 virtual void remove(const Dbt::OverviewList& data) { Q_UNUSED(data); }
111
112 virtual void remove(const Dbt::Departments& data) { Q_UNUSED(data); }
113 virtual void remove(const Dbt::Doors& data) { Q_UNUSED(data); }
114 virtual void remove(const Dbt::Employees& data) { Q_UNUSED(data); }
115 virtual void remove(const Dbt::EventTypes& data) { Q_UNUSED(data); }
116 virtual void remove(const Dbt::Events& data) { Q_UNUSED(data); }
117 virtual void remove(const Dbt::DepartmentHasManager& data) { Q_UNUSED(data); }
118 virtual void remove(const Dbt::DepartmentHasMember& data) { Q_UNUSED(data); }
119 virtual void remove(const Dbt::EmployeeCanOpenDoor& data) { Q_UNUSED(data); }
120 virtual void remove(const Dbt::EmployeeHasRfid& data) { Q_UNUSED(data); }
121
122 virtual QVariant save(const Dbt::Users& data) { Q_UNUSED(data); return QVariant(); }
123 virtual QVariant save(const Dbt::UsersCategories& data) { Q_UNUSED(data); return QVariant(); }
124 virtual QVariant save(const Dbt::Categories& data) { Q_UNUSED(data); return QVariant(); }
125 virtual QVariant save(const Dbt::StatusOrder& data) { Q_UNUSED(data); return QVariant(); }
126 virtual QVariant save(const Dbt::Statuses& data) { Q_UNUSED(data); return QVariant(); }
127 virtual QVariant save(const Dbt::Tickets& data) { Q_UNUSED(data); return QVariant(); }
128 virtual QVariant save(const Dbt::TicketsVw& data) { Q_UNUSED(data); return QVariant(); }
129 virtual QVariant save(const Dbt::TicketStatus& data) { Q_UNUSED(data); return QVariant(); }
130 virtual QVariant save(const Dbt::TicketValues& data) { Q_UNUSED(data); return QVariant(); }
131 virtual QVariant save(const Dbt::TicketFiles& data) { Q_UNUSED(data); return QVariant(); }
132 virtual QVariant save(const Dbt::TicketTimesheets& data) { Q_UNUSED(data); return QVariant(); }
133 virtual QVariant save(const Dbt::ServerInfo& data) { Q_UNUSED(data); return QVariant(); }
134 virtual QVariant save(const Dbt::AppendStatuses& data) { Q_UNUSED(data); return QVariant(); }
135
136 virtual QVariant save(const Dbt::Departments& data) { Q_UNUSED(data); return QVariant(); }
137 virtual QVariant save(const Dbt::Doors& data) { Q_UNUSED(data); return QVariant(); }
138 virtual QVariant save(const Dbt::Employees& data) { Q_UNUSED(data); return QVariant(); }
139 virtual QVariant save(const Dbt::EventTypes& data) { Q_UNUSED(data); return QVariant(); }
140 virtual QVariant save(const Dbt::Events& data) { Q_UNUSED(data); return QVariant(); }
141 virtual QVariant save(const Dbt::DepartmentHasManager& data) { Q_UNUSED(data); return QVariant(); }
142 virtual QVariant save(const Dbt::DepartmentHasMember& data) { Q_UNUSED(data); return QVariant(); }
143 virtual QVariant save(const Dbt::EmployeeCanOpenDoor& data) { Q_UNUSED(data); return QVariant(); }
144 virtual QVariant save(const Dbt::EmployeeHasRfid& data) { Q_UNUSED(data); return QVariant(); }
145
146 protected:
147 int userId() const;
148 bool userAuthenticated() const;
149 QString userLogin() const;
150 QString userLang() const;
151
152 protected:
153 // virtual QVariant lastInsertRowId(const QString& sequence_name = QString(), Db::MSqlQuery *q = NULL) = 0;
154 // virtual QString formatLimitOffset(int limit, int offset) const = 0;
155 QSqlDatabase m_db;
156
157 public:
158 const AuthenticatedUser *m_authenticatedUser = nullptr;
159
160
161};
162
163}
164}
165
166#endif
167