Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
database.cpp
Zobrazit dokumentaci tohoto souboru.
1
7#include "database.h"
8#include "database_plugin.h"
11#include "msettings.h"
12#include "pdebug.h"
13
14using namespace Db;
15
16Database *Database::m_instance = nullptr;
17
18
19Database::~Database() {
20 m_instance = nullptr;
21}
22
23
24Database::Database(QObject *parent) : QObject(parent) {
25 if (m_instance == nullptr) {
26 m_instance = this;
27 }
28
29 m_isOpen = false;
30 m_dbplugin = nullptr;;
31 setObjectName(QString("Database %1").arg((quint64)QThread::currentThread()));
32 m_isOpen = open();
33
34}
35
36
37bool Database::open() {
38 QString plugin = MSETTINGS->dbPlugin();
39
40 if (m_isOpen) {
41 close();
42 }
43
44 if (m_dbplugin != nullptr) {
45 m_dbplugin->deleteLater();
46 }
47
48 if (plugin == "fotomon") {
49 m_dbplugin = new Db::Plugins::DatabasePluginFotomon(this);
50 }
51
52 if (plugin == "postgres") {
53 m_dbplugin = new Db::Plugins::DatabasePluginPostgres(this);
54 }
55
56 if (m_dbplugin == nullptr) {
57 PDEBUG << "m_dbplugin == nullptr";
58 emit opened(false);
59 return false;
60 }
61
62 m_dbplugin->setDatabaseName ( MSETTINGS->dbName() );
63 m_dbplugin->setHostname ( MSETTINGS->dbServer() );
64 m_dbplugin->setPort ( MSETTINGS->dbPort() );
65 m_dbplugin->setUserName ( MSETTINGS->dbUser() );
66 m_dbplugin->setPassword ( MSETTINGS->dbPassword() );
67 bool rc = m_dbplugin->open();
68 m_isOpen = rc;
69 emit opened(rc);
70 return rc;
71}
72
73
74Database *Database::instance(QObject *parent) {
75 if (m_instance == nullptr) {
76 Q_ASSERT(parent != nullptr);
77 new Database(parent);
78 return m_instance;
79 }
80
81 return m_instance;
82}
83
84
85Database *Database::create(QObject *parent) {
86 Database *db = new Database(parent);
87 return db;
88}
89
90
91Database *Database::create(QObject *parent, const AuthenticatedUser *user) {
92 Database *db = new Database(parent);
93 db->m_dbplugin->setAuthenticatedUser(user);
94 return db;
95}
96
97
98void Database::close() {
99 if (m_dbplugin != nullptr) {
100 m_dbplugin->close();
101 }
102 m_isOpen = false;
103}
104
105
106QString Database::connectionName() const {
107 return m_dbplugin->connectionName();
108}
109
110
111void Database::begin() {
112 return m_dbplugin->begin();
113}
114
115
116void Database::commit() {
117 return m_dbplugin->commit();
118}
119
120
121void Database::changePassword(const QString& login, const QString& oldpassword, const QString& newpassword) {
122 m_dbplugin->changePassword(login, oldpassword, newpassword);
123}
124
125
126QList<Dbt::Users> Database::authenticate(const QString& user, const QString& password) {
127 return m_dbplugin->authenticate(user,password);
128}
129
130
131QList<Dbt::Users> Database::users(int id){
132 return m_dbplugin->users(id);
133}
134
135
136QList<Dbt::UsersCategories> Database::usersCategories(int id, int user, const QString& category){
137 return m_dbplugin->usersCategories(id, user, category);
138}
139
140
141QList<Dbt::Categories> Database::categories(const QString& id) {
142 return m_dbplugin->categories(id);
143}
144
145
146QList<Dbt::Categories> Database::subcategories(const QString& id) {
147 return m_dbplugin->subcategories(id);
148}
149
150
151QList<Dbt::Categories> Database::siblingcategories(const QString& id) {
152 return m_dbplugin->siblingcategories(id);
153}
154
155
156QList<Dbt::Categories> Database::categoriesToRoot(const QString& id) {
157 return m_dbplugin->categoriesToRoot(id);
158}
159
160
161QList<Dbt::Statuses> Database::statuses(const QString& id) {
162 return m_dbplugin->statuses(id);
163}
164
165
166QList<Dbt::Statuses> Database::statuses(const QString& category, const QString& prevStatus) {
167 return m_dbplugin->statuses(category, prevStatus);
168}
169
170
171QList<Dbt::Statuses> Database::statuses(const QString& category, const QStringList& prevStatuses) {
172 return m_dbplugin->statuses(category, prevStatuses);
173}
174
175
176QList<Dbt::StatusTemplates> Database::statusTemplates(int id) {
177 return m_dbplugin->statusTemplates(id);
178}
179
180
181QList<Dbt::StatusOrder> Database::statusOrder(const QString& id) {
182 return m_dbplugin->statusOrder(id);
183}
184
185
186QList<Dbt::Tickets> Database::tickets(int ticket, bool all) {
187 return m_dbplugin->tickets(ticket, all);
188}
189
190
191QList<Dbt::Tickets> Database::tickets(bool all) {
192 return m_dbplugin->tickets(all);
193}
194
195
196QList<Dbt::Tickets> Database::tickets(const Dbt::Categories& category, bool all) {
197 return m_dbplugin->tickets(category, all);
198}
199
200
201QList<Dbt::TicketsVw> Database::ticketsVw(int ticket, bool all) {
202 return m_dbplugin->ticketsVw(ticket, all);
203}
204
205
206QList<Dbt::TicketsVw> Database::ticketsVw(bool all) {
207 return m_dbplugin->ticketsVw(all);
208}
209
210
211QList<Dbt::TicketsVw> Database::ticketsVw(const Dbt::Categories& category, bool all) {
212 return m_dbplugin->ticketsVw(category, all);
213}
214
215
216QList<Dbt::TicketStatus> Database::ticketStatus(int ticket, bool all) {
217 return m_dbplugin->ticketStatus(ticket, all);
218}
219
220
221QList<Dbt::TicketStatus> Database::ticketStatus(int id) {
222 return m_dbplugin->ticketStatus(id);
223}
224
225
226QList<Dbt::TicketStatus> Database::ticketStatus(bool all) {
227 return m_dbplugin->ticketStatus(all);
228}
229
230
231QList<Dbt::TicketValues> Database::ticketValues(int id) {
232 return m_dbplugin->ticketValues(id);
233}
234
235
236QList<Dbt::TicketValues> Database::ticketValues(bool all) {
237 return m_dbplugin->ticketValues(all);
238}
239
240
241QList<Dbt::TicketValues> Database::ticketValues(int ticket, bool all) {
242 return m_dbplugin->ticketValues(ticket, all);
243}
244
245
246QList<Dbt::TicketFiles> Database::ticketFiles(int id) {
247 return m_dbplugin->ticketFiles(id);
248}
249
250
251QList<Dbt::TicketFiles> Database::ticketFiles(bool all) {
252 return m_dbplugin->ticketFiles(all);
253}
254
255
256QList<Dbt::TicketFiles> Database::ticketFiles(int ticket, bool all) {
257 return m_dbplugin->ticketFiles(ticket, all);
258}
259
260
261QList<Dbt::TicketTimesheets> Database::ticketTimesheets(int id) {
262 return m_dbplugin->ticketTimesheets(id);
263}
264
265
266QList<Dbt::TicketTimesheets> Database::ticketTimesheets(bool all) {
267 return m_dbplugin->ticketTimesheets(all);
268}
269
270
271QList<Dbt::TicketTimesheets> Database::ticketTimesheets(int ticket, bool all) {
272 return m_dbplugin->ticketTimesheets(ticket, all);
273}
274
275
276QList<Dbt::TicketTimesheets> Database::runningTimesheets(int ticket) {
277 return m_dbplugin->runningTimesheets(ticket);
278}
279
280
281QList<Dbt::TicketTimesheets> Database::startTimesheet(int ticket) {
282 return m_dbplugin->startTimesheet(ticket);
283}
284
285
286QList<Dbt::TicketTimesheets> Database::stopTimesheet(int ticket) {
287 return m_dbplugin->stopTimesheet(ticket);
288}
289
290
291QList<Dbt::TicketTimesheets> Database::toggleTimesheet(int ticket) {
292 return m_dbplugin->toggleTimesheet(ticket);
293}
294
295
296QList<Dbt::ClientSettings> Database::clientSettings() {
297 return m_dbplugin->clientSettings();
298}
299
300
301QList<Dbt::ServerInfo> Database::serverInfo() {
302 return m_dbplugin->serverInfo();
303}
304
305
306QList<Dbt::Overview> Database::overview(const QString& category, const QStringList& statuses) {
307 return m_dbplugin->overview(category, statuses);
308}
309
310
311QList<Dbt::Overview> Database::overview(const QString& overviewId) {
312 return m_dbplugin->overview(overviewId);
313}
314
315
316QList<Dbt::OverviewList> Database::overviewList() {
317 return m_dbplugin->overviewList();
318}
319
320
321QList<Dbt::CategoriesOverview> Database::categoriesOverview(const QStringList& statuses) {
322 return m_dbplugin->categoriesOverview(statuses);
323}
324