Mercurial > minori
comparison src/services/anilist.cpp @ 36:2743011a6042
*: mass update
formatted all source files, converted ALL instances of setStyleSheet() to
palettes and fonts (stylesheets suck), and I changed the clang-format file because
it wasn't working on my laptop for some reason.
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Thu, 21 Sep 2023 15:17:47 -0400 |
| parents | cde8f67a7c7d |
| children | 619cbd6e69f9 |
comparison
equal
deleted
inserted
replaced
| 35:329b7921a6be | 36:2743011a6042 |
|---|---|
| 12 #include <QMessageBox> | 12 #include <QMessageBox> |
| 13 #include <QUrl> | 13 #include <QUrl> |
| 14 #include <chrono> | 14 #include <chrono> |
| 15 #include <curl/curl.h> | 15 #include <curl/curl.h> |
| 16 #include <exception> | 16 #include <exception> |
| 17 #include <format> | |
| 18 #define CLIENT_ID "13706" | 17 #define CLIENT_ID "13706" |
| 19 | 18 |
| 20 using nlohmann::literals::operator"" _json_pointer; | 19 using nlohmann::literals::operator"" _json_pointer; |
| 21 | 20 |
| 22 namespace Services::AniList { | 21 namespace Services::AniList { |
| 23 | 22 |
| 24 class Account { | 23 class Account { |
| 25 public: | 24 public: |
| 26 std::string Username() const { return session.config.anilist.username; } | 25 std::string Username() const { return session.config.anilist.username; } |
| 27 void SetUsername(std::string const& username) { | 26 void SetUsername(std::string const& username) { session.config.anilist.username = username; } |
| 28 session.config.anilist.username = username; | |
| 29 } | |
| 30 | 27 |
| 31 int UserId() const { return session.config.anilist.user_id; } | 28 int UserId() const { return session.config.anilist.user_id; } |
| 32 void SetUserId(const int id) { session.config.anilist.user_id = id; } | 29 void SetUserId(const int id) { session.config.anilist.user_id = id; } |
| 33 | 30 |
| 34 std::string AuthToken() const { return session.config.anilist.auth_token; } | 31 std::string AuthToken() const { return session.config.anilist.auth_token; } |
| 35 void SetAuthToken(std::string const& auth_token) { | 32 void SetAuthToken(std::string const& auth_token) { session.config.anilist.auth_token = auth_token; } |
| 36 session.config.anilist.auth_token = auth_token; | |
| 37 } | |
| 38 | 33 |
| 39 bool Authenticated() const { return !AuthToken().empty(); } | 34 bool Authenticated() const { return !AuthToken().empty(); } |
| 40 }; | 35 }; |
| 41 | 36 |
| 42 static Account account; | 37 static Account account; |
| 66 CURLcode res = curl_easy_perform(curl); | 61 CURLcode res = curl_easy_perform(curl); |
| 67 curl_slist_free_all(list); | 62 curl_slist_free_all(list); |
| 68 curl_easy_cleanup(curl); | 63 curl_easy_cleanup(curl); |
| 69 if (res != CURLE_OK) { | 64 if (res != CURLE_OK) { |
| 70 QMessageBox box(QMessageBox::Icon::Critical, "", | 65 QMessageBox box(QMessageBox::Icon::Critical, "", |
| 71 QString("curl_easy_perform(curl) failed!: ") + | 66 QString("curl_easy_perform(curl) failed!: ") + QString(curl_easy_strerror(res))); |
| 72 QString(curl_easy_strerror(res))); | |
| 73 box.exec(); | 67 box.exec(); |
| 74 return ""; | 68 return ""; |
| 75 } | 69 } |
| 76 return userdata; | 70 return userdata; |
| 77 } | 71 } |
| 315 return account.UserId(); | 309 return account.UserId(); |
| 316 } | 310 } |
| 317 | 311 |
| 318 int AuthorizeUser() { | 312 int AuthorizeUser() { |
| 319 /* Prompt for PIN */ | 313 /* Prompt for PIN */ |
| 320 QDesktopServices::openUrl(QUrl("https://anilist.co/api/v2/oauth/authorize?client_id=" CLIENT_ID | 314 QDesktopServices::openUrl( |
| 321 "&response_type=token")); | 315 QUrl("https://anilist.co/api/v2/oauth/authorize?client_id=" CLIENT_ID "&response_type=token")); |
| 322 bool ok; | 316 bool ok; |
| 323 QString token = QInputDialog::getText( | 317 QString token = QInputDialog::getText( |
| 324 0, "Credentials needed!", | 318 0, "Credentials needed!", "Please enter the code given to you after logging in to AniList:", QLineEdit::Normal, |
| 325 "Please enter the code given to you after logging in to AniList:", QLineEdit::Normal, "", | 319 "", &ok); |
| 326 &ok); | |
| 327 if (ok && !token.isEmpty()) | 320 if (ok && !token.isEmpty()) |
| 328 account.SetAuthToken(token.toStdString()); | 321 account.SetAuthToken(token.toStdString()); |
| 329 else // fail | 322 else // fail |
| 330 return 0; | 323 return 0; |
| 331 const std::string query = "query {\n" | 324 const std::string query = "query {\n" |
