Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
c61ef85
Deployment 1
gnidinger Nov 6, 2022
d9a28bf
Merge pull request #211 from codestates-seb/server/fix/gnidinger/depl…
gnidinger Nov 6, 2022
6417551
Deployment 3
gnidinger Nov 6, 2022
7fbe06c
Merge pull request #212 from codestates-seb/server/fix/gnidinger/depl…
gnidinger Nov 6, 2022
936f98f
[BE] fix: change origin
JinhuiKim Nov 7, 2022
5144ec0
[BE] fix: change origin
JinhuiKim Nov 7, 2022
fa49db2
Merge branch 'dev' of https://github.com/codestates-seb/seb40_pre_038…
hayoung10 Nov 7, 2022
0ad45f3
[BE] style: 주석 수정
hayoung10 Nov 7, 2022
3db0e9a
[BE] fix: User refactoring
JadeMK Nov 7, 2022
c48953d
Merge pull request #217 from codestates-seb/server/fix/jademk/refactor
JadeMK Nov 7, 2022
125cada
[BE] refactor: 쓰지 않는 코드 제거
hayoung10 Nov 7, 2022
aea0a1a
[BE] fix: Search 기능변경- userId로 검색 -> NickName으로 검색
hayoung10 Nov 7, 2022
01294d0
Merge pull request #220 from codestates-seb/server/fix/hayoung/functions
hayoung10 Nov 7, 2022
5c3060d
Deployment 3
gnidinger Nov 7, 2022
fcf5a1a
Merge pull request #221 from codestates-seb/server/fix/gnidinger/refa…
gnidinger Nov 7, 2022
e0e6076
Merge branch 'server/test-deploy' into server/test
JinhuiKim Nov 7, 2022
a4fcec9
주석처리
gnidinger Nov 7, 2022
8490907
Merge pull request #223 from codestates-seb/server/fix/gnidinger/test
gnidinger Nov 7, 2022
b3db74e
[BE] fix: response fix
JadeMK Nov 7, 2022
8d679e9
Merge pull request #225 from codestates-seb/server/fix/jademk/join
JadeMK Nov 7, 2022
88de7d0
[BE] refactor: 주석 제거
hayoung10 Nov 7, 2022
9eb3cbf
[BE] fix: auth setting
JinhuiKim Nov 7, 2022
a7da322
Merge pull request #230 from codestates-seb/server/auth
gnidinger Nov 7, 2022
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
4 changes: 4 additions & 0 deletions server/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,7 @@ bootJar { // Spring Rest Docs
into 'static/docs'
}
}

test {
exclude '**/*'
}
1 change: 0 additions & 1 deletion server/src/main/java/com/codestates/Pre038Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;

@EnableJpaAuditing
@SpringBootApplication
public class Pre038Application {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@
import javax.validation.constraints.Positive;
import java.util.List;

@CrossOrigin(origins = {"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"})
@CrossOrigin(origins = {"http://localhost:3000",
"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://seb40-pre-038.vercel.app",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"}, allowCredentials = "true")
@RestController
@Validated
@RequestMapping("/api")
Expand Down Expand Up @@ -69,18 +71,6 @@ public ResponseEntity voteAnswer(@PathVariable("answer-id") @Positive long answe
HttpStatus.OK);
}

/*@PatchMapping("/{answer-id}/best") // QuestionController에서 동작
public ResponseEntity patchStatus(@PathVariable("answer-id") @Positive long answerId,
@Valid @RequestBody AnswerBestDto answerBestDto) {
answerBestDto.setAnswerId(answerId);

Answer answer = answerService.updateStatus(mapper.answerBestDtoToAnswer(answerBestDto));

return new ResponseEntity<>(
new SingleResponseDto<>(mapper.answerToAnswerResponseDto(answer)),
HttpStatus.OK);
}*/

@GetMapping("/questions/{question-id}/answers")
public ResponseEntity getAnswers(@PathVariable("question-id") @Positive long questionId) {
List<Answer> answers = answerService.findAnswers(questionId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Positive;
import javax.validation.constraints.Size;


Expand All @@ -16,7 +15,4 @@ public class AnswerPostDto {
@NotEmpty(message = "내용을 입력하셔야 합니다.")
@Size(min = 20, message = "20자 이상 입력하셔야 합니다.")
private String body;

/*@Positive
private long userId;*/
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.codestates.answer.entity.Answer;
import com.codestates.comment.CommentDto;
import com.codestates.comment.entity.Comment;
import com.codestates.user.dto.UserDto;
import lombok.*;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,10 @@

import lombok.Getter;

import javax.validation.constraints.Positive;

@Getter
public class AnswerVoteDto {
private long answerId;

/* @Positive
private long userId;*/

private int vote;

public void setAnswerId(long answerId) {
Expand Down
3 changes: 0 additions & 3 deletions server/src/main/java/com/codestates/answer/entity/Answer.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.codestates.answer.entity;

import com.codestates.audit.Auditable;
import com.codestates.user.entity.User;
import com.codestates.question.Question;
import com.codestates.comment.entity.Comment;
Expand All @@ -10,8 +9,6 @@
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;

import javax.persistence.*;
import java.time.LocalDateTime;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import com.codestates.user.dto.UserDto;
import com.codestates.user.entity.User;
import com.codestates.question.Question;
import com.codestates.user.service.UserService;
import org.mapstruct.Mapper;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.codestates.answer.repository;

import com.codestates.answer.entity.Answer;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
import com.codestates.question.Question;
import com.codestates.user.entity.User;
import com.codestates.user.service.UserService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand Down
24 changes: 0 additions & 24 deletions server/src/main/java/com/codestates/audit/Auditable.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.web.bind.annotation.CrossOrigin;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
Expand All @@ -28,6 +29,7 @@ public JwtAuthenticationFilter(AuthenticationManager authenticationManager, JwtT
this.jwtTokenizer = jwtTokenizer;
}

@CrossOrigin(exposedHeaders = "Authorization")
@SneakyThrows
@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@
import javax.validation.constraints.Positive;
import java.util.List;

@CrossOrigin(origins = {"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"})
@CrossOrigin(origins = {"http://localhost:3000",
"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://seb40-pre-038.vercel.app",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"}, allowCredentials = "true")
@Validated
@RestController
@RequestMapping("/api")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.codestates.comment.entity;

import com.codestates.answer.entity.Answer;
import com.codestates.audit.Auditable;
import com.codestates.user.entity.User;
import com.codestates.question.Question;
import com.fasterxml.jackson.annotation.JsonBackReference;
Expand All @@ -20,7 +19,7 @@
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class Comment extends Auditable {
public class Comment {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,22 @@ public PasswordEncoder passwordEncoder() {
return PasswordEncoderFactories.createDelegatingPasswordEncoder();
}

// @Bean
// CorsConfigurationSource corsConfigurationSource() {
// CorsConfiguration configuration = new CorsConfiguration();
// configuration.addAllowedOrigin("*");
// configuration.addAllowedMethod("*");
// configuration.addAllowedHeader("*");
// configuration.setAllowCredentials(true);
//// configuration.setAllowedOrigins(Arrays.asList("*"));
//// configuration.setAllowedMethods(Arrays.asList("GET","POST", "PATCH", "DELETE"));
// UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
// source.registerCorsConfiguration("/**", configuration);
// return source;
// }
@Bean
CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("http://localhost:3000",
"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://seb40-pre-038.vercel.app"));
configuration.addAllowedMethod("*");
configuration.addAllowedHeader("*");
configuration.setExposedHeaders(Arrays.asList("Authorization"));
configuration.setAllowCredentials(true);
// configuration.setAllowedOrigins(Arrays.asList("*"));
// configuration.setAllowedMethods(Arrays.asList("GET","POST", "PATCH", "DELETE"));
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}

public class CustomFilterConfigurer extends AbstractHttpConfigurer<CustomFilterConfigurer, HttpSecurity> {
@Override
Expand Down
5 changes: 0 additions & 5 deletions server/src/main/java/com/codestates/question/Question.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
package com.codestates.question;

import com.codestates.answer.entity.Answer;
import com.codestates.audit.Auditable;
import com.codestates.user.entity.User;
import com.codestates.comment.entity.Comment;
import com.codestates.vote.QuestionVote.QuestionVote;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import lombok.*;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;

import javax.persistence.*;
import java.time.LocalDateTime;
Expand Down Expand Up @@ -77,11 +74,9 @@ public void addComment(Comment comment) {
comments.add(comment);
}

//@CreatedDate
@Column(nullable = false, updatable = false, name = "CREATED_AT")
private LocalDateTime createdAt = LocalDateTime.now();

//@LastModifiedDate
@Column(nullable = false, name = "LAST_MODIFIED_AT")
private LocalDateTime modifiedAt = LocalDateTime.now();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@
import java.util.Objects;
import java.util.stream.Collectors;

@CrossOrigin(origins = {"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"})
@CrossOrigin(origins = {"http://localhost:3000",
"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://seb40-pre-038.vercel.app",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"}, allowCredentials = "true")
@Validated
@RestController
@RequestMapping("/api/questions")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Positive;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.List;

@CrossOrigin(origins = {"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"})
@CrossOrigin(origins = {"http://localhost:3000",
"http://pre-project-038-client.s3-website.ap-northeast-2.amazonaws.com",
"http://seb40-pre-038.vercel.app",
"http://ec2-13-125-208-244.ap-northeast-2.compute.amazonaws.com:8080"}, allowCredentials = "true")
@RestController
@Validated
@RequestMapping("/api/search")
Expand Down
14 changes: 0 additions & 14 deletions server/src/main/java/com/codestates/search/SearchRepository.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,9 @@
package com.codestates.search;

//import com.codestates.user.entity.user;
import com.codestates.question.Question;
import com.codestates.user.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

public interface SearchRepository extends JpaRepository<Question, Long>, JpaSpecificationExecutor<Question> {

/*@Query(nativeQuery = true,
value = "select * from Answer a where a.status > 0 and a.question_id = :questionId"
+ " order by status asc, vote desc, answer_id desc"
)*/
/*Page<Question> findAllByTitleContainingOrProblemContainingOrExpectContaining(String title, String problem, String expect, Pageable pageable);

Page<Question> findAllByUser(User user, Pageable pageable);

Page<Question> findAllByTagList(String tagBody, Pageable pageable);*/
}
18 changes: 9 additions & 9 deletions server/src/main/java/com/codestates/search/SearchService.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.codestates.search;

import com.codestates.user.entity.User;
import com.codestates.user.service.UserService;
import com.codestates.question.Question;
import org.springframework.data.domain.Page;
Expand All @@ -10,7 +9,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.lang.annotation.Target;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
Expand All @@ -28,32 +26,34 @@ public SearchService(SearchRepository searchRepository, UserService userService)

public Page<Question> findContent(String all, String tab, int page, int size) {
String tag = null;
long userId = 0;
String userNickName = null;
List<String> contents = new ArrayList<>();

//all = all.replaceAll( "[^\uAC00-\uD7A30-9a-zA-Z\\[\\]\\s]", ""); // 특수문자 제거
//all = all.replaceAll( "[^\uAC00-\uD7A30-9a-zA-Z\\[\\]\\s]", ""); // 특수문자 제거 ([,] 빼고)

List<String> findAll = Arrays.asList(all.split(" "));
for(String find : findAll) {
System.out.println("find:"+find);
if(find.length() >= 3 && find.charAt(0) == '[' && find.charAt(find.length() - 1) == ']') // 태그 검색일 경우
tag = find.substring(1, find.length() - 1);
else if (find.length() >= 6 && find.substring(0,5).equals("user:")) // 유저 검색일 경우
userId = Long.parseLong(find.substring(5));
userNickName = find.substring(5);
else
contents.add(find); // 일반 검색일 경우 keyword로 나누기
}
System.out.println("TAG:"+tag + ",USER:"+userNickName);

return findTagUserContent(tag, userId, contents, tab, page, size); // 검색
return findTagUserContent(tag, userNickName, contents, tab, page, size); // 검색
}

private Page<Question> findTagUserContent(String tag, long userId, List<String> contents, String tab, int page, int size) { // 질문 내용 검색
private Page<Question> findTagUserContent(String tag, String userNickName, List<String> contents, String tab, int page, int size) { // 질문 내용 검색
Specification<Question> spec = null;
if(tag != null) // tag 검색이 있을 경우
spec = (spec == null? SearchSpecification.containsTag(tag) : spec.and(SearchSpecification.containsTag(tag)));

if(userId != 0) { // user 검색이 있을 경우
if(userNickName != null) { // user 검색이 있을 경우
//User user = userService.findVerifiedUser(userId);
spec = (spec == null ? SearchSpecification.equalToUser(userId) : spec.and(SearchSpecification.equalToUser(userId)));
spec = (spec == null ? SearchSpecification.equalToUser(userNickName) : spec.and(SearchSpecification.equalToUser(userNickName)));
}

if(contents != null) { // 검색어가 있을 경우
Expand Down
Loading