Unrealzilla/Source/Unrealzilla/Public/UnrealzillaJSON.h

245 lines
4.2 KiB
C++

// ©2022 Batty Bovine Productions, LLC. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UnrealzillaJSON.generated.h"
/**
* JSON structs for POST
*/
USTRUCT()
struct FJSONPostBug
{
GENERATED_BODY()
public:
UPROPERTY()
FString product;
UPROPERTY()
FString version;
UPROPERTY()
FString platform;
UPROPERTY()
FString op_sys;
UPROPERTY()
FString component;
UPROPERTY()
FString severity;
UPROPERTY()
FString cf_mapname;
UPROPERTY()
FString cf_location;
UPROPERTY()
FString summary;
UPROPERTY()
FString description;
UPROPERTY()
FString status;
};
USTRUCT(Blueprintable)
struct FJSONPostResponse
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
int32 id = -1;
UPROPERTY(BlueprintReadOnly)
bool error = false;
UPROPERTY(BlueprintReadOnly)
int32 code = -1;
UPROPERTY(BlueprintReadOnly)
FString message;
UPROPERTY(BlueprintReadOnly)
FString documentation;
};
/**
* END JSON structs for POST
*/
/**
* JSON structs for product data
*/
USTRUCT(Blueprintable)
struct FJSONComponentData
{
GENERATED_BODY()
public:
UPROPERTY()
int32 id = -1;
UPROPERTY()
bool is_active = false;
UPROPERTY()
FString name;
UPROPERTY()
FString description;
UPROPERTY()
FString default_assigned_to;
UPROPERTY()
int32 sort_key = -1;
};
USTRUCT(Blueprintable)
struct FJSONVersionData
{
GENERATED_BODY()
public:
UPROPERTY()
int32 id = -1;
UPROPERTY()
bool is_active = false;
UPROPERTY()
FString name;
UPROPERTY()
int32 sort_key = -1;
};
USTRUCT(Blueprintable)
struct FJSONProductData
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
FString name;
UPROPERTY(BlueprintReadOnly)
FString classification;
UPROPERTY(BlueprintReadOnly)
FString description;
UPROPERTY(BlueprintReadOnly)
TArray<FJSONComponentData> components;
UPROPERTY(BlueprintReadOnly)
TArray<FJSONVersionData> versions;
};
USTRUCT(Blueprintable)
struct FJSONProductResponse
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
TArray<FJSONProductData> products;
UPROPERTY(BlueprintReadOnly)
bool error = false;
UPROPERTY(BlueprintReadOnly)
int32 code = -1;
UPROPERTY(BlueprintReadOnly)
FString message;
UPROPERTY(BlueprintReadOnly)
FString documentation;
};
/**
* END JSON structs for product data
*/
/**
* JSON structs for product data
*/
USTRUCT(Blueprintable)
struct FJSONFieldValueData
{
GENERATED_BODY()
public:
UPROPERTY()
FString name;
UPROPERTY()
int32 sort_key = -1;
};
USTRUCT(Blueprintable)
struct FJSONFieldData
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
int32 id = -1;
UPROPERTY(BlueprintReadOnly)
FString name;
UPROPERTY(BlueprintReadOnly)
FString display_name;
UPROPERTY(BlueprintReadOnly)
bool is_mandatory = false;
UPROPERTY(BlueprintReadOnly)
TArray<FJSONFieldValueData> values;
};
USTRUCT(Blueprintable)
struct FJSONFieldResponse
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
TArray<FJSONFieldData> fields;
UPROPERTY(BlueprintReadOnly)
bool error = false;
UPROPERTY(BlueprintReadOnly)
int32 code = -1;
UPROPERTY(BlueprintReadOnly)
FString message;
UPROPERTY(BlueprintReadOnly)
FString documentation;
};
/**
* END JSON structs for product data
*/
/**
* JSON structs for bug lists
*/
USTRUCT(Blueprintable)
struct FJSONBugData
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
int32 id = -1;
UPROPERTY(BlueprintReadOnly)
FString summary;
UPROPERTY(BlueprintReadOnly)
FString component;
UPROPERTY(BlueprintReadOnly)
FString cf_mapname;
UPROPERTY(BlueprintReadOnly)
FString cf_location;
UPROPERTY(BlueprintReadOnly)
FString platform;
UPROPERTY(BlueprintReadOnly)
FString op_sys;
UPROPERTY(BlueprintReadOnly)
bool is_open = true;
UPROPERTY(BlueprintReadOnly)
FString severity;
UPROPERTY(BlueprintReadOnly)
FString status;
UPROPERTY(BlueprintReadOnly)
FString resolution;
UPROPERTY(BlueprintReadOnly)
int32 dupe_of = -1;
};
USTRUCT(Blueprintable)
struct FJSONBugResponse
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
TArray<FJSONBugData> bugs;
UPROPERTY(BlueprintReadOnly)
bool error = false;
UPROPERTY(BlueprintReadOnly)
int32 code = -1;
UPROPERTY(BlueprintReadOnly)
FString message;
UPROPERTY(BlueprintReadOnly)
FString documentation;
};
/**
* END JSON structs for bug lists
*/