Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package org.slams.server.user.dto.response;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.slams.server.user.entity.Position;
import org.slams.server.user.entity.Proficiency;
import org.slams.server.user.entity.Role;
import org.slams.server.user.entity.User;

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

@Getter
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class DefaultUserDto {

private Long id;
private String email;
private String nickname;
private String profileImage;
private String description;
private Role role;
private Proficiency proficiency;
private List<Position> positions = new ArrayList<>();
private LocalDateTime createdAt;
private LocalDateTime updatedAt;

private DefaultUserDto(Long id, String email, String nickname, String profileImage,
String description, Role role, Proficiency proficiency, List<Position> positions,
LocalDateTime createdAt, LocalDateTime updatedAt) {
this.id = id;
this.email = email;
this.nickname = nickname;
this.profileImage = profileImage;
this.description = description;
this.role = role;
this.proficiency = proficiency;
this.positions = positions;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}

public static DefaultUserDto toDto(User user){
return new DefaultUserDto(user.getId(), user.getEmail(), user.getNickname(), user.getProfileImage(),
user.getDescription(), user.getRole(), user.getProficiency(), user.getPositions(),
user.getCreatedAt(), user.getUpdateAt());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,40 +18,16 @@
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class DefaultUserInfoResponse {

private Long userId;
private String email;
private String nickname;
private String profileImage;
private String description;
private Role role;
private Proficiency proficiency;
private List<Position> positions;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private DefaultUserDto user;
private List<NotificationResponse> notifications;

public DefaultUserInfoResponse(Long userId, String email, String nickname,
String profileImage, String description, Role role,
Proficiency proficiency, List<Position> positions,
LocalDateTime createdAt, LocalDateTime updatedAt,
List<NotificationResponse> notifications) {
this.userId = userId;
this.email = email;
this.nickname = nickname;
this.profileImage = profileImage;
this.description = description;
this.role = role;
this.proficiency = proficiency;
this.positions = positions;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
private DefaultUserInfoResponse(DefaultUserDto user, List<NotificationResponse> notifications) {
this.user = user;
this.notifications = notifications;
}

public static DefaultUserInfoResponse toResponse(User user, List<NotificationResponse> notifications) {
return new DefaultUserInfoResponse(user.getId(), user.getEmail(), user.getNickname(), user.getProfileImage(),
user.getDescription(), user.getRole(), user.getProficiency(), user.getPositions(),
user.getCreatedAt(), user.getUpdateAt(), notifications);
return new DefaultUserInfoResponse(DefaultUserDto.toDto(user), notifications);
}

}
54 changes: 54 additions & 0 deletions src/main/java/org/slams/server/user/dto/response/UserResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package org.slams.server.user.dto.response;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.slams.server.user.entity.Position;
import org.slams.server.user.entity.Proficiency;
import org.slams.server.user.entity.Role;
import org.slams.server.user.entity.User;

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

@Getter
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class UserResponse {

private Long id;
private String socialId;
private String email;
private String nickname;
private String profileImage;
private String description;
private Role role;
private Proficiency proficiency;
private List<Position> positions = new ArrayList<>();
private LocalDateTime createdAt;
private LocalDateTime updatedAt;

private UserResponse(Long id, String socialId, String email, String nickname,
String profileImage, String description,
Role role, Proficiency proficiency, List<Position> positions,
LocalDateTime createdAt, LocalDateTime updatedAt) {
this.id = id;
this.socialId = socialId;
this.email = email;
this.nickname = nickname;
this.profileImage = profileImage;
this.description = description;
this.role = role;
this.proficiency = proficiency;
this.positions = positions;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}

public static UserResponse toResponse(User user){
return new UserResponse(user.getId(), user.getSocialId(), user.getEmail(), user.getNickname(),
user.getProfileImage(), user.getDescription(), user.getRole(), user.getProficiency(), user.getPositions(),
user.getCreatedAt(), user.getUpdateAt());
}

}