/**
 * OpenAPI Petstore
 * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
 *
 * OpenAPI spec version: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator
 * https://github.com/OpenAPITools/openapi-generator
 * Do not edit the class manually.
 */

#pragma once

#include "OpenAPIBaseModel.h"
#include "OpenAPICategory.h"
#include "OpenAPITag.h"

namespace OpenAPI
{

/*
 * OpenAPIPet
 *
 * A pet for sale in the pet store
 */
class OPENAPI_API OpenAPIPet : public Model
{
public:
    virtual ~OpenAPIPet() {}
	bool FromJson(const TSharedPtr<FJsonValue>& JsonValue) final;
	void WriteJson(JsonWriter& Writer) const final;

	TOptional<int64> Id;
	TOptional<OpenAPICategory> Category;
	FString Name;
	TArray<FString> PhotoUrls;
	TOptional<TArray<OpenAPITag>> Tags;
	enum class StatusEnum
	{
		Available,
		Pending,
		Sold,
  	};

	static FString EnumToString(const StatusEnum& EnumValue);
	static bool EnumFromString(const FString& EnumAsString, StatusEnum& EnumValue);
	/* pet status in the store */
	TOptional<StatusEnum> Status;
};

}
