package io.delphiplatform.api.v3.model.ads;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import org.openapitools.jackson.nullable.JsonNullable;

import lombok.Data;


@Data
public class AdMetrics {

    @JsonProperty("finance")
    private AdMetricsFinance finance = new AdMetricsFinance();

    @JsonProperty("finance_by_currency")
    private AdMetricsMcFinance financeByCurrency = new AdMetricsMcFinance();

    @JsonProperty("general")
    private AdMetricsGeneral general = new AdMetricsGeneral();

    @JsonProperty("video")
    private AdMetricsVideo video = new AdMetricsVideo();

    @JsonProperty("linkfire")
    private JsonNullable<AdMetricsLinkfire> linkfire = JsonNullable.undefined();

    @JsonIgnore
    public AdMetricsLinkfire getLinkfireOrInit() {
        if(linkfire == null || !linkfire.isPresent()){
            linkfire = JsonNullable.of(new AdMetricsLinkfire());
        }
        return linkfire.get();
    }
}

