Files
api/src/main/java/com/kospo/talk/payload/FavoriteDto.java
2025-07-02 21:55:07 +09:00

43 lines
1.4 KiB
Java

package com.kospo.talk.payload;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.kospo.talk.model.Favorite;
import com.kospo.talk.model.WorkLogo;
import com.kospo.talk.model.WorkS;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.io.Serializable;
/**
* DTO for {@link com.kospo.talk.model.Favorite}
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@JsonIgnoreProperties(ignoreUnknown = true)
@Schema(name = "FavoriteDto", description = "즐겨찾기")
public class FavoriteDto implements Serializable {
@Schema(name = "sabun", description = "사번")
String sabun;
@Schema(name = "workId", description = "업무아이디")
String workId;
@Schema(name = "workNm", description = "업무명")
String workNm;
@Schema(name = "url", description = "url")
String url;
WorkLogoDto workLogo;
public static FavoriteDto to(Favorite favorite) {
WorkS workS = favorite.getWork().getWorkS();
WorkLogo workLogo = favorite.getWork().getWorkLogo();
return FavoriteDto.builder()
.workId(favorite.getId().getWorkId())
.sabun(favorite.getId().getSabun())
.url(workS.getWorkUrl())
.workLogo(workLogo == null ? null : WorkLogoDto.to(workLogo))
.workNm(favorite.getWork().getWorkNm()).build();
}
}