Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Step2 진짜 어렵네요 #10

Open
wants to merge 80 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
ff4f19d
feat: remove web dependency
woowahan-neo Mar 13, 2023
1bab9ff
feat: add example for functional programming api example
woowahan-neo Mar 13, 2023
98598c0
chore: change package
woowahan-neo Mar 13, 2023
c187e53
[1, 2단계 - 체스] 누누(송은우) 미션 제출합니다. (#462)
be-student Mar 22, 2023
a35d036
refactor: domain 만을 보고, 실행할 수 있도록 변경
be-student Mar 23, 2023
6bb1785
chore: 안 쓰이는 코드 제거
be-student Mar 23, 2023
9558e71
feat: pieceType 에 기본 점수를 추가했습니다
be-student Mar 23, 2023
aaaca1b
feat: 각 클래스마다 기본 점수를 반환하는 기능 추가
be-student Mar 23, 2023
1db36ca
refactor: factory 에서 생성하는 책임을 넘김
be-student Mar 23, 2023
3b091c2
fix: pieceType 에서 양방향 의존 관계를 갖던 부분 수정
be-student Mar 23, 2023
60d2e98
test: 빠진 gameState 테스트 추가
be-student Mar 23, 2023
dda31f7
feat: piece 에서 점수를 가져오는 기능 추가
be-student Mar 23, 2023
75f2301
feat: 출력 기능 구현
be-student Mar 23, 2023
ee0f955
feat: 체스판 기물 점수 계산 기능 추가
be-student Mar 23, 2023
1b30a1f
feat: board 점수 계산 기능 추가
be-student Mar 23, 2023
0b11ba6
feat: controller 에서 현재 점수 계산 기능 추가
be-student Mar 23, 2023
b8f93cc
test: mapper 테스트 추가
be-student Mar 23, 2023
afac2ef
test: pieceResponse 테스트 추가
be-student Mar 23, 2023
a0571fd
test: file, rank 테스트 추가
be-student Mar 23, 2023
37b9a7c
feat: frontcontroller 적용
be-student Mar 24, 2023
058efda
Revert "feat: frontcontroller 적용"
be-student Mar 24, 2023
7b649c2
feat: turn 기능 추가
be-student Mar 24, 2023
bf94ef8
feat: 같은 팀 말 연속 2번 움직임 검증 추가
be-student Mar 24, 2023
d36ad59
feat: 킹인지 여부를 체크하는 값 추가
be-student Mar 24, 2023
d8ad0fe
feat: 킹이 죽은 여부 체크 추가
be-student Mar 24, 2023
4877465
test: 빠진 테스트 추가
be-student Mar 24, 2023
055328b
feat: 킹이 죽으면 종료하는 기능 추가
be-student Mar 24, 2023
9078e43
test: 빠진 테스트 추가
be-student Mar 24, 2023
81ee7fb
feat: connectionGenerator 작성
be-student Mar 24, 2023
dd8439c
refactor: 패키지 변경
be-student Mar 24, 2023
ed0cd10
docs: readme 작성
be-student Mar 24, 2023
2e55d44
feat: userDao jdbc 템플릿으로 개선
be-student Mar 25, 2023
6e0fb4c
refactor: ! 가 앞에 있던 부분 긍정형으로 변경
be-student Mar 25, 2023
6cd7fc3
feat: userDao 테스트용 script 작성
be-student Mar 25, 2023
ea85e01
chore: 사용되지 않는 System.out.println 제거
be-student Mar 25, 2023
2aae9c8
refactor: board 에서 출력하는 로직 리팩토링
be-student Mar 25, 2023
3becd43
feat: 테이블 설계 작성
be-student Mar 25, 2023
d5cfadb
refactor: 의존성 역전 제거
be-student Mar 25, 2023
1e523e8
refactor: PieceMapper 로 black, white 한꺼번에 변경
be-student Mar 25, 2023
9facb95
feat: input 에서 request 객체를 반환하도록 변경
be-student Mar 25, 2023
e870575
feat: chessGameDao 작성
be-student Mar 25, 2023
e7e539d
feat: userDao 제작
be-student Mar 25, 2023
6bb215c
feat: 움직임을 저장하는 moveDao 추가
be-student Mar 25, 2023
1272093
feat: 현재 턴을 구하는 기능 추가
be-student Mar 25, 2023
20fe495
feat: sql 테이블에 게임 status 추가
be-student Mar 25, 2023
0050bce
feat: 인증 검사를 하는 필터 추가
be-student Mar 25, 2023
30347e2
chore: turn 의 필드 이름 변경
be-student Mar 25, 2023
b83d4de
feat: state 마다 이름 추가
be-student Mar 25, 2023
2868af1
feat: user 추가시 같은 닉네임은 2번 생성 안되도록 변경
be-student Mar 25, 2023
4e45eba
feat: 출력 메시지 추가
be-student Mar 25, 2023
3dae8ab
feat: request 에 getter 추가
be-student Mar 25, 2023
407caaf
feat: input 에 boardId, userID 설정 기능 추가
be-student Mar 25, 2023
8478b11
feat: 움직임을 바탕으로 게임 생성 기능 추가
be-student Mar 25, 2023
99cccd2
chore: T 타입 대신 Object 타입으로 변경
be-student Mar 25, 2023
809e70d
feat: controller 기능 추가
be-student Mar 25, 2023
0471a42
feat: 진행중인 유저가 본인인지 검증하는 기능 추가
be-student Mar 25, 2023
e26d6d3
feat: 종료된 게임에도 출력 가능하도록 변경
be-student Mar 25, 2023
ca3dac6
refactor: notStarted 추가
be-student Mar 25, 2023
e5556a4
refactor: 메서드 분리
be-student Mar 25, 2023
74c71c8
chore: 안 쓰이는 warning 제거
be-student Mar 25, 2023
70e7ed3
fix: 깨진 테스트 수정
be-student Mar 25, 2023
b887b77
feat: 멀티 쓰레드 적용
be-student Mar 25, 2023
953841c
feat: gitignore 작성
be-student Mar 31, 2023
706cae7
feat: docker 환경에서 sql 작성
be-student Mar 31, 2023
da8577e
feat: 안 쓰이는 코드 제거
be-student Mar 31, 2023
6b4e122
chore: 안 쓰이는 suppression 제거
be-student Mar 31, 2023
51191da
feat: dao 도커 환경에 맞게 변경
be-student Mar 31, 2023
9ce034d
feat: 발생할 수 있는 예외 커스텀으로 정의
be-student Mar 31, 2023
5097c93
feat: view 작성
be-student Mar 31, 2023
5b098cb
feat: mysql 패키지 이동
be-student Mar 31, 2023
3c04991
feat: service 작성
be-student Mar 31, 2023
484a1a4
feat: StatusType 으로 String 모아서 관리
be-student Mar 31, 2023
337fb98
refactor: 2번 사용되는 get 부분 변수로 분리
be-student Mar 31, 2023
edfcfe4
feat: 안 쓰이는 query 제거
be-student Mar 31, 2023
efea5ba
feat: controller 작성
be-student Mar 31, 2023
51b9ff1
refactor: turn 의 색을 계산하도록 변경
be-student Mar 31, 2023
8b11bd9
chore: 메서드명 변경
be-student Mar 31, 2023
a75623e
chore: static 변수와, 인스턴스 변수 사이에 개행 추가
be-student Mar 31, 2023
a64d29a
refactor: conroller 인터페이스를 통해 map 에서 한번에 관리하도록 변경
be-student Mar 31, 2023
9f40d23
fix: 리드미 최신화하기
be-student Mar 31, 2023
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
Prev Previous commit
Next Next commit
feat: 인증 검사를 하는 필터 추가
be-student committed Mar 25, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 0050bce1e7c5df1eb15a48d325bd08bbc5533ffd
37 changes: 37 additions & 0 deletions src/main/java/chess/controller/Filter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package chess.controller;

import chess.view.request.Request;
import java.util.List;

public class Filter {

private static final int UNSET_BOARD_ID = -1;
private static final int COMMAND_TYPE = 0;
private final List<String> requiresUserId;
private final List<String> requiresBoardId;

public Filter(List<String> requiresUserId, List<String> requiresBoardId) {
this.requiresUserId = requiresUserId;
this.requiresBoardId = requiresBoardId;
}

public void validateRequest(Request request) {
if (isRequiresUserId(request.getCommands().get(COMMAND_TYPE)) && request.getUserId() == null) {
throw new IllegalArgumentException("유저 아이디가 필요합니다.");
}
if (isRequiresBoardId(request.getCommands().get(COMMAND_TYPE)) && request.getBoardId() == UNSET_BOARD_ID) {
throw new IllegalArgumentException("게임 아이디가 필요합니다.");
}
}


private boolean isRequiresUserId(String path) {
return requiresUserId.stream()
.anyMatch(path::contains);
}

private boolean isRequiresBoardId(String path) {
return requiresBoardId.stream()
.anyMatch(path::contains);
}
}