Files
qt-creator/plugins/axivion/axivionresultparser.h
Christian Stenger 5fb06bdeb9 Add possibility to fetch rule details for issues
Allows to fetch further information of an issue and display
it inside the output pane.

Change-Id: I94ec27b9c060dca9f9523d763b8628a2fce7ca59
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-01-17 07:02:57 +00:00

102 lines
1.7 KiB
C++

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#pragma once
#include <QList>
namespace Axivion::Internal {
class BaseResult
{
public:
QString error;
};
class Project : public BaseResult
{
public:
QString name;
QString url;
};
class DashboardInfo : public BaseResult
{
public:
QString mainUrl;
QList<Project> projects;
};
class User : public BaseResult
{
public:
QString name;
QString displayName;
enum UserType { Dashboard, Virtual, Unknown } type;
};
class IssueKind : public BaseResult
{
public:
QString prefix;
QString niceSingular;
QString nicePlural;
};
class IssueCount : public BaseResult
{
public:
QString issueKind;
int total = 0;
int added = 0;
int removed = 0;
};
class ResultVersion : public BaseResult
{
public:
QString name;
QString timeStamp;
QList<IssueCount> issueCounts;
int linesOfCode = 0;
};
class ProjectInfo : public BaseResult
{
public:
QString name;
QList<User> users;
QList<ResultVersion> versions;
QList<IssueKind> issueKinds;
};
class ShortIssue : public BaseResult
{
public:
QString id;
QString state;
QString errorNumber;
QString message;
QString entity;
QString filePath;
QString severity;
int lineNumber = 0;
};
class IssuesList : public BaseResult
{
public:
QList<ShortIssue> issues;
};
namespace ResultParser {
DashboardInfo parseDashboardInfo(const QByteArray &input);
ProjectInfo parseProjectInfo(const QByteArray &input);
IssuesList parseIssuesList(const QByteArray &input);
QString parseRuleInfo(const QByteArray &input);
} // ResultParser
} // Axivion::Internal