File: OAIGroupApi.h

package info (click to toggle)
libre-graph-api-cpp-qt-client 1.0.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,480 kB
  • sloc: cpp: 244; makefile: 8
file content (173 lines) | stat: -rw-r--r-- 7,137 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
// api-header.mustache

// licenseInfo.mustache

/**
 * Libre Graph API
 * Libre Graph is a free API for cloud collaboration inspired by the MS Graph API.
 *
 * The version of the OpenAPI document: v1.0.4
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

#ifndef OAI_OAIGroupApi_H
#define OAI_OAIGroupApi_H

#include "OAIHelpers.h"
#include "OAIHttpRequest.h"
#include "OAIServerConfiguration.h"
#include "OAIOauth.h"

#include "OAICollection_of_users.h"
#include "OAIGroup.h"
#include "OAIMember_Reference.h"
#include "OAIOdata_error.h"
#include <QSet>
#include <QString>

#include <QObject>
#include <QByteArray>
#include <QStringList>
#include <QList>
#include <QNetworkAccessManager>

namespace OpenAPI {

class OAIGroupApi : public QObject {
    Q_OBJECT

public:
    OAIGroupApi(const int timeOut = 0);
    ~OAIGroupApi();

    void initializeServerConfigs();
    int setDefaultServerValue(int serverIndex,const QString &operation, const QString &variable,const QString &val);
    void setServerIndex(const QString &operation, int serverIndex);
    void setApiKey(const QString &apiKeyName, const QString &apiKey);
    void setBearerToken(const QString &token);
    void setUsername(const QString &username);
    void setPassword(const QString &password);
    void setTimeOut(const int timeOut);
    void setWorkingDirectory(const QString &path);
    void setNetworkAccessManager(QNetworkAccessManager* manager);
    int addServerConfiguration(const QString &operation, const QUrl &url, const QString &description = "", const QMap<QString, OAIServerVariable> &variables = QMap<QString, OAIServerVariable>());
    void setNewServerForAllOperations(const QUrl &url, const QString &description = "", const QMap<QString, OAIServerVariable> &variables =  QMap<QString, OAIServerVariable>());
    void setNewServer(const QString &operation, const QUrl &url, const QString &description = "", const QMap<QString, OAIServerVariable> &variables =  QMap<QString, OAIServerVariable>());
    void addHeaders(const QString &key, const QString &value);
    void enableRequestCompression();
    void enableResponseCompression();
    void abortRequests();
    QString getParamStylePrefix(const QString &style);
    QString getParamStyleSuffix(const QString &style);
    QString getParamStyleDelimiter(const QString &style, const QString &name, bool isExplode);

    /**
    * @param[in]  group_id QString [required]
    * @param[in]  oai_member_reference OAIMember_Reference [required]
    */
    void addMember(const QString &group_id, const OAIMember_Reference &oai_member_reference);

    /**
    * @param[in]  group_id QString [required]
    * @param[in]  if_match QString [optional]
    */
    void deleteGroup(const QString &group_id, const ::OpenAPI::OptionalParam<QString> &if_match = ::OpenAPI::OptionalParam<QString>());

    /**
    * @param[in]  group_id QString [required]
    * @param[in]  directory_object_id QString [required]
    * @param[in]  if_match QString [optional]
    */
    void deleteMember(const QString &group_id, const QString &directory_object_id, const ::OpenAPI::OptionalParam<QString> &if_match = ::OpenAPI::OptionalParam<QString>());

    /**
    * @param[in]  group_id QString [required]
    * @param[in]  select QSet<QString> [optional]
    * @param[in]  expand QSet<QString> [optional]
    */
    void getGroup(const QString &group_id, const ::OpenAPI::OptionalParam<QSet<QString>> &select = ::OpenAPI::OptionalParam<QSet<QString>>(), const ::OpenAPI::OptionalParam<QSet<QString>> &expand = ::OpenAPI::OptionalParam<QSet<QString>>());

    /**
    * @param[in]  group_id QString [required]
    */
    void listMembers(const QString &group_id);

    /**
    * @param[in]  group_id QString [required]
    * @param[in]  oai_group OAIGroup [required]
    */
    void updateGroup(const QString &group_id, const OAIGroup &oai_group);


private:
    QMap<QString,int> _serverIndices;
    QMap<QString,QList<OAIServerConfiguration>> _serverConfigs;
    QMap<QString, QString> _apiKeys;
    QString _bearerToken;
    QString _username;
    QString _password;
    int _timeOut;
    QString _workingDirectory;
    QNetworkAccessManager* _manager;
    QMap<QString, QString> _defaultHeaders;
    bool _isResponseCompressionEnabled;
    bool _isRequestCompressionEnabled;
    OAIHttpRequestInput _latestInput;
    OAIHttpRequestWorker *_latestWorker;
    QStringList _latestScope;
    OauthCode _authFlow;
    OauthImplicit _implicitFlow;
    OauthCredentials _credentialFlow;
    OauthPassword _passwordFlow;
    int _OauthMethod = 0;

    void addMemberCallback(OAIHttpRequestWorker *worker);
    void deleteGroupCallback(OAIHttpRequestWorker *worker);
    void deleteMemberCallback(OAIHttpRequestWorker *worker);
    void getGroupCallback(OAIHttpRequestWorker *worker);
    void listMembersCallback(OAIHttpRequestWorker *worker);
    void updateGroupCallback(OAIHttpRequestWorker *worker);

signals:

    void addMemberSignal();
    void deleteGroupSignal();
    void deleteMemberSignal();
    void getGroupSignal(OAIGroup summary);
    void listMembersSignal(OAICollection_of_users summary);
    void updateGroupSignal();

    void addMemberSignalFull(OAIHttpRequestWorker *worker);
    void deleteGroupSignalFull(OAIHttpRequestWorker *worker);
    void deleteMemberSignalFull(OAIHttpRequestWorker *worker);
    void getGroupSignalFull(OAIHttpRequestWorker *worker, OAIGroup summary);
    void listMembersSignalFull(OAIHttpRequestWorker *worker, OAICollection_of_users summary);
    void updateGroupSignalFull(OAIHttpRequestWorker *worker);

    void addMemberSignalE(QNetworkReply::NetworkError error_type, QString error_str);
    void deleteGroupSignalE(QNetworkReply::NetworkError error_type, QString error_str);
    void deleteMemberSignalE(QNetworkReply::NetworkError error_type, QString error_str);
    void getGroupSignalE(OAIGroup summary, QNetworkReply::NetworkError error_type, QString error_str);
    void listMembersSignalE(OAICollection_of_users summary, QNetworkReply::NetworkError error_type, QString error_str);
    void updateGroupSignalE(QNetworkReply::NetworkError error_type, QString error_str);

    void addMemberSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void deleteGroupSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void deleteMemberSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void getGroupSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void listMembersSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void updateGroupSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);

    void abortRequestsSignal();
    void allPendingRequestsCompleted();

public slots:
    void tokenAvailable();
    
};

} // namespace OpenAPI
#endif