package com.storycove.dto;

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

import java.util.List;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class AudioCoveIngestRequest {

    @JsonProperty("schema_version")
    private final int schemaVersion = 1;

    @JsonProperty("story_id")
    private String storyId;

    @JsonProperty("content_hash")
    private String contentHash;

    @JsonProperty("title")
    private String title;

    @JsonProperty("author")
    private String author;

    @JsonProperty("content_html")
    private String contentHtml;

    @JsonProperty("language")
    private String language = "en";

    @JsonProperty("collection")
    private String collection;

    @JsonProperty("series")
    private String series;

    @JsonProperty("series_part")
    private String seriesPart;

    @JsonProperty("tags")
    private List<String> tags;

    @JsonProperty("cover_image")
    private String coverImage;

    public int getSchemaVersion() { return schemaVersion; }

    public String getStoryId() { return storyId; }
    public void setStoryId(String storyId) { this.storyId = storyId; }

    public String getContentHash() { return contentHash; }
    public void setContentHash(String contentHash) { this.contentHash = contentHash; }

    public String getTitle() { return title; }
    public void setTitle(String title) { this.title = title; }

    public String getAuthor() { return author; }
    public void setAuthor(String author) { this.author = author; }

    public String getContentHtml() { return contentHtml; }
    public void setContentHtml(String contentHtml) { this.contentHtml = contentHtml; }

    public String getLanguage() { return language; }
    public void setLanguage(String language) { this.language = language; }

    public String getCollection() { return collection; }
    public void setCollection(String collection) { this.collection = collection; }

    public String getSeries() { return series; }
    public void setSeries(String series) { this.series = series; }

    public String getSeriesPart() { return seriesPart; }
    public void setSeriesPart(String seriesPart) { this.seriesPart = seriesPart; }

    public List<String> getTags() { return tags; }
    public void setTags(List<String> tags) { this.tags = tags; }

    public String getCoverImage() { return coverImage; }
    public void setCoverImage(String coverImage) { this.coverImage = coverImage; }
}
