-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgithub.h
More file actions
65 lines (40 loc) · 1.59 KB
/
github.h
File metadata and controls
65 lines (40 loc) · 1.59 KB
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
// Copyright (c) 2025-2025 Manuel Schneider
#pragma once
#include <albert/oauth.h>
class QJsonDocument;
class QNetworkReply;
class QNetworkRequest;
class QString;
class QUrlQuery;
namespace github
{
class RestApi
{
public:
RestApi();
uint rateLimit() const;
/// Requiress ``user`` scope
[[nodiscard]] QNetworkReply *user() const;
/// Requires the ``notifications`` or ``repo`` scopes.
[[nodiscard]] QNetworkReply *notifications() const;
/// Requires no scopes (if public data is sufficient)
[[nodiscard]] QNetworkReply* searchUsers(const QString &query,
int per_page,
int page) const;
/// Requires no scopes (if public data is sufficient)
[[nodiscard]] QNetworkReply* searchRepositories(const QString &query,
int per_page,
int page) const;
/// Requires ``repo`` scope
[[nodiscard]] QNetworkReply* starredRepositories(int per_page, int page) const;
/// Requires no scopes (if public data is sufficient)
[[nodiscard]] QNetworkReply* searchIssues(const QString &query,
int per_page,
int page) const;
[[nodiscard]] QNetworkReply *getLinkData(const QString & url) const;
static std::variant<QJsonDocument, QString> parseJson(QNetworkReply &reply);
albert::OAuth2 oauth;
private:
QNetworkRequest request(const QString &, const QUrlQuery &) const;
};
}