71 lines
3.1 KiB
C++
71 lines
3.1 KiB
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <QDate>
|
|
#include <QTime>
|
|
|
|
#include "zeiterfassungcorelib_global.h"
|
|
|
|
class QNetworkAccessManager;
|
|
|
|
class LoginPageReply;
|
|
class LoginReply;
|
|
class GetUserInfoReply;
|
|
class GetBookingsReply;
|
|
class CreateBookingReply;
|
|
class UpdateBookingReply;
|
|
class DeleteBookingReply;
|
|
class GetTimeAssignmentsReply;
|
|
class CreateTimeAssignmentReply;
|
|
class UpdateTimeAssignmentReply;
|
|
class DeleteTimeAssignmentReply;
|
|
class GetProjectsReply;
|
|
class GetReportReply;
|
|
class GetPresenceStatusReply;
|
|
|
|
class ZEITERFASSUNGCORELIBSHARED_EXPORT ZeiterfassungApi : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ZeiterfassungApi(const QString &url, QObject *parent = Q_NULLPTR);
|
|
|
|
const QString &url() const;
|
|
void setUrl(const QString &url);
|
|
|
|
QNetworkAccessManager *manager() const;
|
|
|
|
std::unique_ptr<LoginPageReply> doLoginPage();
|
|
std::unique_ptr<LoginReply> doLogin(const QString &username, const QString &password);
|
|
std::unique_ptr<GetUserInfoReply> doUserInfo();
|
|
|
|
std::unique_ptr<GetBookingsReply> doGetBookings(int userId, const QDate &start, const QDate &end);
|
|
std::unique_ptr<CreateBookingReply> doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime ×pan,
|
|
const QString &type, const QString &text);
|
|
std::unique_ptr<UpdateBookingReply> doUpdateBooking(int bookingId, int userId, const QDate &date, const QTime &time,
|
|
const QTime ×pan, const QString &type, const QString &text);
|
|
std::unique_ptr<DeleteBookingReply> doDeleteBooking(int bookingId);
|
|
|
|
std::unique_ptr<GetTimeAssignmentsReply> doGetTimeAssignments(int userId, const QDate &start, const QDate &end);
|
|
std::unique_ptr<CreateTimeAssignmentReply> doCreateTimeAssignment(int userId, const QDate &date, const QTime &time,
|
|
const QTime ×pan, const QString &project,
|
|
const QString &subproject, const QString &workpackage,
|
|
const QString &text);
|
|
std::unique_ptr<UpdateTimeAssignmentReply> doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date,
|
|
const QTime &time, const QTime ×pan, const QString &project,
|
|
const QString &subproject, const QString &workpackage,
|
|
const QString &text);
|
|
std::unique_ptr<DeleteTimeAssignmentReply> doDeleteTimeAssignment(int timeAssignmentId);
|
|
|
|
std::unique_ptr<GetProjectsReply> doGetProjects(int userId, const QDate &date);
|
|
std::unique_ptr<GetReportReply> doGetReport(int userId, const QDate &date);
|
|
std::unique_ptr<GetPresenceStatusReply> doGetPresenceStatus();
|
|
|
|
private:
|
|
QString m_url;
|
|
QNetworkAccessManager *m_manager;
|
|
};
|