package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file;

import lombok.Getter;

public enum FileType {

    UNTOUCHED(".pdf"),
    ORIGIN(".pdf"),
    VIEWER_DOCUMENT(".pdf"),
    REDACTION_LOG(".json"),
    SIMPLIFIED_TEXT(".json"),
    TEXT(".json"), // deprecated file type, only present in legacy migrations
    NER_ENTITIES(".json"),
    LLM_NER_ENTITIES(".json"),
    AZURE_NER_ENTITIES(".json"),
    IMAGE_INFO(".json"),
    IMPORTED_REDACTIONS(".json"),
    IMPORTED_LEGAL_BASES(".json"),
    TEXT_HIGHLIGHTS(".json"),
    FIGURE(".json"),
    TABLES(".json"),

    VISUAL_LAYOUT(".json"),
    COMPONENTS(".json"),
    // document is split into 4 files, all should be overridden/deleted at the same time
    DOCUMENT_TEXT_OLD(".json"),
    DOCUMENT_STRUCTURE_OLD(".json"),
    DOCUMENT_POSITION_OLD(".json"),
    DOCUMENT_PAGES_OLD(".json"),
    DOCUMENT_TEXT(".proto"),
    DOCUMENT_STRUCTURE(".proto"),
    DOCUMENT_POSITION(".proto"),
    DOCUMENT_PAGES(".proto"),
    DOCUMENT_CHUNKS(".json"),
    ENTITY_LOG(".json"),
    ENTITY_LOG_BAK(".json"),
    COMPONENT_LOG(".json"),
    COMPONENT_LOG_BAK(".json"),
    MIGRATED_IDS(".json"),

    // only for export
    @Deprecated(forRemoval = true) // still needed for migration to delete existing ones, can be removed as soon as migration is done
    SECTION_GRID(".json"),
    MARKDOWN(".md");

    @Getter
    private final String extension;


    FileType(String extension) {

        this.extension = extension;
    }

}
