package com.yimeng.okr.dto;

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

@Data
public class OkrWorkbenchDto {
    private List<ObjectiveDto> myObjectives;
    private List<ObjectiveDto> superiorObjectives;
    private List<ObjectiveDto> pendingReviews;
    private List<MustAlignItem> mustAlignItems;
    private String workflowState;
    private List<WorkflowActionDto> allowedActions;
    private Long version;

    @Data
    public static class ObjectiveDto {
        private Long id;
        private String title;
        private String status;
        private Double progress;
        private List<KrDto> keyResults;
        private Integer totalWeight;
    }

    @Data
    public static class KrDto {
        private Long id;
        private String title;
        private Double targetValue;
        private Double currentValue;
        private Integer weight;
        private String status;
        private Long sourceKrId;
        private String assignedToName;
    }

    @Data
    public static class MustAlignItem {
        private Long krId;
        private String krTitle;
        private Long sourceObjectiveId;
        private String sourceObjectiveTitle;
        private String sourceUserName;
    }
}
