Skip to content

Commit

Permalink
Merge pull request #830 from peer-42seoul/release-1.0.2
Browse files Browse the repository at this point in the history
Release 1.0.2
  • Loading branch information
Paul2021-R authored Feb 7, 2024
2 parents 9c27947 + 69a4cff commit bef3d09
Show file tree
Hide file tree
Showing 30 changed files with 137 additions and 43 deletions.
2 changes: 1 addition & 1 deletion private-resources
9 changes: 8 additions & 1 deletion src/main/java/peer/backend/config/jwt/JwtFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,14 @@ public class JwtFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {
String token = tokenProvider.resolveAccessToken(request);
String requestURI = request.getRequestURI();
String token;
// TODO: 일반 JwtFilter와 어드민 JwtFilter를 나누도록 리팩토링 하는게 좋을 것 같음.
if (requestURI.startsWith("/api/v1/admin")) {
token = this.tokenProvider.resolveAdminToken(request);
} else {
token = this.tokenProvider.resolveAccessToken(request);
}
if (token == null) {
filterChain.doFilter(request, response);
return;
Expand Down
9 changes: 6 additions & 3 deletions src/main/java/peer/backend/config/jwt/TokenProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,16 @@ public String resolveAccessToken(HttpServletRequest req) {
if (Objects.nonNull(bearerToken)) {
return bearerToken;
}
return bearerToken;
}

public String resolveAdminToken(HttpServletRequest req) {
Cookie[] cookies = req.getCookies();
Cookie cookie = this.utilService.getCookieByName(cookies, "adminToken");
if (Objects.nonNull(cookie)) {
log.info("cookie??");
bearerToken = cookie.getValue();
return cookie.getValue();
}
return bearerToken;
return null;
}

public boolean validateToken(String accessToken) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public void deleteRecruit(@PathVariable Long recruit_id) {
@ApiOperation(value = "", notes = "모집에 지원한다.")
@PostMapping("/interview/{recruit_id}")
public void applyRecruit(@PathVariable Long recruit_id,
@RequestBody ApplyRecruitRequest request, Authentication auth) {
@RequestBody @Valid ApplyRecruitRequest request, Authentication auth) {
recruitService.applyRecruit(recruit_id, request, auth);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import javax.persistence.LockModeType;
import javax.validation.Valid;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.NoSuchElementException;

Expand Down Expand Up @@ -133,9 +134,15 @@ public ResponseEntity<Object> editProfile(Authentication auth,
@GetMapping("/skill/search")
public ResponseEntity<?> getSkilsList(Authentication auth,
@RequestParam("keyword") String keyword) {
if (keyword.length() > 15 || keyword.length() < 2)
return new ResponseEntity<>("검색 가능한 글자 수는 최소 2자부터 최대 15자까지 입니다.", HttpStatus.BAD_REQUEST);
if (keyword.length() > 15)
return new ResponseEntity<>("검색 가능한 글자 수는 최소 1자부터 최대 15자까지 입니다.", HttpStatus.BAD_REQUEST);

// TODO ; skill tag searching keyword converter
try {
keyword = this.profileService.convertSearchingKeyword(keyword);
} catch ( UnsupportedEncodingException e) {
return new ResponseEntity<>(e, HttpStatus.BAD_REQUEST);
}
List<SkillDTO> result = this.profileService.searchTagsWithKeyword(keyword);
if (result.isEmpty())
return new ResponseEntity<>("태그가 존재하지 않습니다.", HttpStatus.BAD_REQUEST);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Getter;
import peer.backend.annotation.ValidEnum;
import peer.backend.entity.announcement.AnnouncementNoticeStatus;
Expand All @@ -12,12 +13,15 @@
public class CreateAnnouncementRequest {

@NotBlank(message = "제목은 필수입니다.")
@Size(max = 30, message = "길이는 30 이하여야합니다.")
private String title;

@NotBlank(message = "작성자는 필수입니다.")
@Size(max = 10, message = "길이는 10 이하여야합니다.")
private String writer;

@NotBlank(message = "내용은 필수입니다.")
@Size(max = 10000, message = "길이는 10000 이하여야합니다.")
private String content;

@NotBlank(message = "이미지는 필수입니다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Getter;
import peer.backend.annotation.ValidEnum;
import peer.backend.entity.announcement.AnnouncementNoticeStatus;
Expand All @@ -13,12 +14,15 @@
public class UpdateAnnouncementRequest {

@NotBlank(message = "제목은 필수입니다.")
@Size(max = 30, message = "길이는 30 이하여야합니다.")
private String title;

@NotBlank(message = "작성자는 필수입니다.")
@Size(max = 10, message = "길이는 10 이하여야합니다.")
private String writer;

@NotBlank(message = "내용은 필수입니다.")
@Size(max = 10000, message = "길이는 10000 이하여야합니다.")
private String content;

private String image;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Getter;
import peer.backend.annotation.ValidEnum;
import peer.backend.entity.banner.BannerReservationType;
Expand All @@ -16,6 +17,7 @@ public class CreateBannerRequest {
private BannerType bannerType;

@NotBlank(message = "배너 제목을 필수입니다.")
@Size(max = 30, message = "길이는 30 이하여야합니다.")
private String title;

@NotBlank(message = "이미지는 필수입니다.")
Expand All @@ -27,5 +29,6 @@ public class CreateBannerRequest {
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm", timezone = "Asia/Seoul")
private LocalDateTime reservationDate;

@Size(max = 1000, message = "길이는 1000 이하여야합니다.")
private String announcementUrl;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Getter;
import peer.backend.annotation.ValidEnum;
import peer.backend.entity.banner.BannerReservationType;
Expand All @@ -20,6 +21,7 @@ public class UpdateBannerRequest {
private BannerType bannerType;

@NotBlank(message = "배너 제목을 필수입니다.")
@Size(max = 30, message = "길이는 30 이하여야합니다.")
private String title;

private String image;
Expand All @@ -30,5 +32,6 @@ public class UpdateBannerRequest {
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm", timezone = "Asia/Seoul")
private LocalDateTime reservationDate;

@Size(max = 1000, message = "길이는 1000 이하여야합니다.")
private String announcementUrl;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.util.List;

@Getter
@AllArgsConstructor
@NoArgsConstructor
public class ApplyRecruitRequest {
@NotNull
private String role;
private List<String> answerList;
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class RecruitCreateRequest {
@NotNull
private String image;
@NotNull
@Size(min = 2, max = 30, message = "팀이름은 2글자 이상 30글자 이하로 작성해주세요.")
@Size(min = 2, max = 40, message = "팀이름은 2글자 이상 30글자 이하로 작성해주세요.")
private String name;
@NotNull(message = "제목이 반드시 필요합니다.")
@Size(min = 1, max = 100, message = "제목은 1~100글자로 작성해주세요.")
Expand All @@ -36,7 +36,7 @@ public class RecruitCreateRequest {
private String place;
@NotNull
private String type;
@Size(min = 1, max = 1000, message = "")
@Size(min = 1, max = 20000, message = "")
@NotNull
@Lob
private String content;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
@NoArgsConstructor
public class RecruitUpdateRequestDTO {
@NotNull
@Size(min = 2, max = 30, message = "팀 이름은 2글자 이상 30글자 이하로 작성해 주세요.")
@Size(min = 2, max = 40, message = "팀 이름은 2글자 이상 30글자 이하로 작성해 주세요.")
private String name;
@NotNull(message = "제목이 반드시 필요합니다.")
@Size(min = 1, max = 100, message = "제목은 1~100글자로 작성해주세요.")
Expand Down
1 change: 1 addition & 0 deletions src/main/java/peer/backend/dto/security/UserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public User convertUser() {
.messageAlarm(true)
.nightAlarm(true)
.teamAlarm(true)
.activated(true)
.build();
}
}
3 changes: 3 additions & 0 deletions src/main/java/peer/backend/dto/tag/CreateTagRequest.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package peer.backend.dto.tag;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Getter;

@Getter
public class CreateTagRequest {

@NotBlank
@Size(max = 10, message = "길이는 10 이하여야 합니다.")
private String name;

@NotBlank
@Size(max = 7, message = "길이는 10 이하여야 합니다.")
private String color;
}
2 changes: 2 additions & 0 deletions src/main/java/peer/backend/dto/user/UserShowcaseResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@
@Getter
@RequiredArgsConstructor
public class UserShowcaseResponse {
private Long id;
private String image;
private String nickname;
private String role;

public UserShowcaseResponse(TeamUser teamUser){
User user = teamUser.getUser();
this.id = user.getId();
this.image = user.getImageUrl();
this.nickname = user.getNickname();
this.role = teamUser.getTeamUserJobs().get(0).getTeamJob().getName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ public class Announcement extends BaseEntity {
@Column(nullable = false)
private String writer;

@Column(nullable = false)
@Column(nullable = false, columnDefinition = "LONGTEXT")
private String content;

@Column(nullable = false)
@Column(nullable = false, columnDefinition = "TEXT")
private String image;

@Column(nullable = false)
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/peer/backend/entity/banner/Banner.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class Banner extends BaseEntity {
@Column(nullable = false)
private String title;

@Column(nullable = false)
@Column(nullable = false, columnDefinition = "TEXT")
private String imageUrl;

@Column(nullable = false)
Expand All @@ -48,7 +48,7 @@ public class Banner extends BaseEntity {
@Column
private LocalDateTime reservationDate;

@Column
@Column(columnDefinition = "TEXT")
private String announcementUrl;

public void setBannerStatus(BannerStatus bannerStatus) {
Expand Down
9 changes: 8 additions & 1 deletion src/main/java/peer/backend/entity/board/recruit/Recruit.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
import peer.backend.entity.board.recruit.enums.RecruitStatus;
import peer.backend.entity.tag.RecruitTag;
import peer.backend.entity.team.Team;
import peer.backend.entity.team.enums.TeamType;
import peer.backend.entity.user.User;
import peer.backend.entity.user.UserPortfolio;

import javax.persistence.*;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -52,18 +54,23 @@ public class Recruit extends BaseEntity {
@Column
private Long hit = 0L;
@Column(nullable = false)
@Size(max=100)
private String title;

@Column(nullable = false)
@Lob
private String content;

@Column
private String link;

@Column(nullable = false)
@Enumerated(EnumType.STRING)
private RecruitStatus status;
@Column

@Column(columnDefinition = "TEXT")
private String thumbnailUrl;

@OneToMany(mappedBy = "recruit", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private List<RecruitTag> recruitTags = new ArrayList<>();
@Column
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ public class RecruitFile {
@JoinColumn(name = "recruit_id")
private Recruit recruit;

@Column(nullable = false)
@Column(nullable = false, columnDefinition = "TEXT")
private String url;
}
5 changes: 5 additions & 0 deletions src/main/java/peer/backend/entity/board/team/Post.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
Expand Down Expand Up @@ -42,6 +43,7 @@ public class Post extends BaseEntity{
private List<PostLike> postLike = new ArrayList<>();

@Column(nullable = false)
@Size(max=100)
private String title;

@Column
Expand All @@ -53,8 +55,11 @@ public class Post extends BaseEntity{
@Lob
@NotNull
private String content;
@Column
private int hit;
@Column(columnDefinition = "TEXT")
private String image;
@Column
private int liked;

@OneToMany(mappedBy = "post", cascade = CascadeType.PERSIST, orphanRemoval = true)
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/peer/backend/entity/board/team/PostFile.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class PostFile {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
@Column(nullable = false, columnDefinition = "TEXT")
private String url;

@ManyToOne(fetch = FetchType.LAZY)
Expand Down
Loading

0 comments on commit bef3d09

Please sign in to comment.