package cz.moneta.test.dsl.wso2.objects.smallbusiness;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;

/**
 * Response model for NAS GET_SME_PCKG_APP_STATE service
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
@EqualsAndHashCode(callSuper = false)
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
public class GetSmePckgAppStateResponse {

    @JsonProperty("PROD_PCKG_KEY")
    private Long prodPckgKey;

    @JsonProperty("AGGREGATED_STATE")
    private String aggregatedState;

    @JsonProperty("RS_1")
    @Builder.Default
    private List<Rs1> rs1 = new ArrayList<>();

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Rs1 {
        @JsonProperty("APP_KEY")
        private Long appKey;

        @JsonProperty("APP_STATE")
        private String appState;

        @JsonProperty("PROD_CLASS")
        private String prodClass;
    }
}

