package com.iqser.red.service.persistence.service.v1.api.shared.mongo.document;

import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntryValue;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
@FieldDefaults(level = AccessLevel.PRIVATE)
@Document(collection = "old-component-log-entries")
//@Deprecated(forRemoval = true)
public class OldComponentLogEntryDocument {

    @Id
    @EqualsAndHashCode.Include
    String id; // componentLogId/name = componentOverrideId

    String componentLogId;

    String name;

    List<ComponentLogEntryValue> overrideValues = new ArrayList<>();

    List<ComponentLogEntryValue> values = new ArrayList<>();

    boolean overridden;

    OffsetDateTime softDeletedTime;

}
