forked from qt-creator/qt-creator
GitLab: Allow browsing and cloning projects
Change-Id: I1cc877ea6b5a55ae7bdb8e7a529afeb08d09e0c0 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -25,6 +25,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QList>
|
||||
#include <QMetaType>
|
||||
#include <QString>
|
||||
|
||||
namespace GitLab {
|
||||
@@ -35,6 +37,26 @@ struct Error
|
||||
QString message;
|
||||
};
|
||||
|
||||
class PageInformation
|
||||
{
|
||||
public:
|
||||
int currentPage = -1;
|
||||
int totalPages = -1;
|
||||
int perPage = -1;
|
||||
int total = -1;
|
||||
};
|
||||
|
||||
class User
|
||||
{
|
||||
public:
|
||||
QString name;
|
||||
QString realname;
|
||||
QString email;
|
||||
Error error;
|
||||
int id = -1;
|
||||
bool bot = false;
|
||||
};
|
||||
|
||||
class Project
|
||||
{
|
||||
public:
|
||||
@@ -42,18 +64,32 @@ public:
|
||||
QString displayName;
|
||||
QString pathName;
|
||||
QString visibility;
|
||||
QString httpUrl;
|
||||
QString sshUrl;
|
||||
Error error;
|
||||
int id = -1;
|
||||
int starCount = -1;
|
||||
int forkCount = -1;
|
||||
int issuesCount = -1;
|
||||
int accessLevel = -1; // 40 maintainer, 30 developer, 20 reporter, 10 guest
|
||||
int accessLevel = -1; // 50 owner, 40 maintainer, 30 developer, 20 reporter, 10 guest
|
||||
};
|
||||
|
||||
class Projects
|
||||
{
|
||||
public:
|
||||
QList<Project> projects;
|
||||
Error error;
|
||||
PageInformation pageInfo;
|
||||
};
|
||||
|
||||
namespace ResultParser {
|
||||
|
||||
User parseUser(const QByteArray &input);
|
||||
Project parseProject(const QByteArray &input);
|
||||
Projects parseProjects(const QByteArray &input);
|
||||
Error parseErrorMessage(const QString &message);
|
||||
|
||||
} // namespace ResultParser
|
||||
} // namespace GitLab
|
||||
|
||||
Q_DECLARE_METATYPE(GitLab::Project)
|
||||
|
||||
Reference in New Issue
Block a user