File indexing completed on 2024-04-28 16:44:07

0001 /*
0002     SPDX-FileCopyrightText: 2019 Harald Sitter <sitter@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include "bugzilla.h"
0008 
0009 namespace Bugzilla
0010 {
0011 QString version(KJob *kjob)
0012 {
0013     const APIJob *job = qobject_cast<APIJob *>(kjob);
0014     const QString version = job->object().value(QLatin1String("version")).toString();
0015     return version;
0016 }
0017 
0018 APIJob *version(const Connection &connection)
0019 {
0020     return connection.get(QStringLiteral("/version"));
0021 }
0022 
0023 LoginDetails login(KJob *kjob)
0024 {
0025     const APIJob *job = qobject_cast<APIJob *>(kjob);
0026     const auto obj = job->object();
0027     const QString token = obj.value(QLatin1String("token")).toString();
0028     const int id = obj.value(QLatin1String("id")).toInt(-1);
0029     return LoginDetails{id, token};
0030 }
0031 
0032 APIJob *login(const QString &username, const QString &password, const Connection &connection)
0033 {
0034     Query query;
0035     query.addQueryItem(QStringLiteral("login"), username);
0036     query.addQueryItem(QStringLiteral("password"), password);
0037     query.addQueryItem(QStringLiteral("restrict_login"), QStringLiteral("true"));
0038     return connection.get(QStringLiteral("/login"), query);
0039 }
0040 
0041 } // namespace Bugzilla