package com.iqser.red.service.persistence.service.v1.api.shared.model.image;

import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.Scope;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.ToString;

@Data
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "Image Similiarity Search request containing information about centroId, distance and scope")
public class ImageSimilaritySearchRequest {

    @NonNull
    @Schema(description = "id of the central image")
    private String annotationId;
    @NonNull
    @Schema(description = "the manhattan distance used in the similiarity search")
    private double distance;
    @NonNull
    @Schema(description = "the scope for the similiarity search")
    private Scope scope;

}
