package com.loremind.infrastructure.web.dto.campaigncontext;

import lombok.Data;
import java.util.ArrayList;
import java.util.List;

/**
 * DTO pour l'entité Arc.
 * Objet de transfert de données pour l'API REST.
 */
@Data
public class ArcDTO {

    private String id;
    private String name;
    private String description;
    private String campaignId;
    private int order;

    /** Type structurel : "LINEAR" (défaut) | "HUB". Sérialisé comme String pour faciliter le front. */
    private String type;

    /** Cle d'icone (cf. CAMPAIGN_ICON_OPTIONS cote front). */
    private String icon;

    // Champs narratifs enrichis
    private String themes;
    private String stakes;
    private String gmNotes;
    private String rewards;
    private String resolution;

    /** IDs des pages du Lore liées à cet arc (weak cross-context references). */
    private List<String> relatedPageIds = new ArrayList<>();

    /** IDs des images (Shared Kernel) illustrant cet arc (ambiance). */
    private List<String> illustrationImageIds = new ArrayList<>();

    /** IDs des images utilisees comme cartes / plans. */
    private List<String> mapImageIds = new ArrayList<>();
}
