역할


필드 설명

필드 타입 설명 null 허용 / 기본값
title String 업무 제목 필수, null 가능하지만 생성 시 검증 필요
description String 업무 상세 내용 선택 입력, null 가능
priority TaskPriority 우선순위 null 시 MEDIUM 기본값
visibility TaskVisibility 공개 범위 null 시 DEPARTMENT 기본값
assigneeId Long 담당자 ID null 가능
dueDate LocalDate 마감일 null 가능

편의 메서드

// 제목 앞뒤 공백 제거
public String titleTrimmed() {
    return title == null ? null : title.trim();
}

// 우선순위가 null이면 MEDIUM 반환
public TaskPriority priorityOrDefault() {
    return priority != null ? priority : TaskPriority.MEDIUM;
}

// 공개 범위가 null이면 DEPARTMENT 반환
public TaskVisibility visibilityOrDefault() {
    return visibility != null ? visibility : TaskVisibility.DEPARTMENT;
}

설명:


활용 예시 (Service 레이어)

TaskCreateRequest req = ... // 컨트롤러에서 전달받음

TaskEntity entity = TaskEntity.builder()
    .title(req.titleTrimmed())
    .description(req.description)
    .priority(req.priorityOrDefault())
    .visibility(req.visibilityOrDefault())
    .assigneeId(req.assigneeId)
    .dueDate(req.dueDate)
    .build();