using Newtonsoft.Json;

namespace Pilz.Net.CloudProviders.Nextcloud.OCS.Responses;

public class OcsResponse<TMeta, TData> : IOcsResponse where TMeta : IOcsResponseMeta where TData : IOcsResponseData
{
    [JsonProperty("meta")]
    public TMeta? Meta { get; set; }

    [JsonProperty("data")]
    public TData? Data { get; set; }
}

public class OcsResponse<TData> : OcsResponse<OcsResponseMeta, TData> where TData : IOcsResponseData
{
}

public class OcsResponse : OcsResponse<OcsResponseMeta, OcsResponseData>
{
}
