package com.storycove.dto;

import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;

public class AuthorSearchDto {
    
    private UUID id;
    private String name;
    private String notes;
    private Integer authorRating;
    private Double averageStoryRating;
    private Integer storyCount;
    private List<String> urls;
    private String avatarImagePath;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
    
    // Search-specific fields
    private Long searchScore;
    
    public AuthorSearchDto() {}
    
    // Getters and Setters
    public UUID getId() { return id; }
    public void setId(UUID id) { this.id = id; }
    
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    
    public String getNotes() { return notes; }
    public void setNotes(String notes) { this.notes = notes; }
    
    public Integer getAuthorRating() { return authorRating; }
    public void setAuthorRating(Integer authorRating) { this.authorRating = authorRating; }
    
    public Double getAverageStoryRating() { return averageStoryRating; }
    public void setAverageStoryRating(Double averageStoryRating) { this.averageStoryRating = averageStoryRating; }
    
    public Integer getStoryCount() { return storyCount; }
    public void setStoryCount(Integer storyCount) { this.storyCount = storyCount; }
    
    public List<String> getUrls() { return urls; }
    public void setUrls(List<String> urls) { this.urls = urls; }
    
    public String getAvatarImagePath() { return avatarImagePath; }
    public void setAvatarImagePath(String avatarImagePath) { this.avatarImagePath = avatarImagePath; }
    
    public LocalDateTime getCreatedAt() { return createdAt; }
    public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
    
    public LocalDateTime getUpdatedAt() { return updatedAt; }
    public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }
    
    public Long getSearchScore() { return searchScore; }
    public void setSearchScore(Long searchScore) { this.searchScore = searchScore; }
}