Skip to content

Commit 6ee55b4

Browse files
authored
Merge pull request #398 from woowacourse-teams/develop
v.1.1.0
2 parents 8565053 + d7d6e93 commit 6ee55b4

629 files changed

Lines changed: 33886 additions & 27771 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy-backend-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
paths:
1414
- 'backend/**'
1515
workflow_dispatch:
16-
16+
1717
defaults:
1818
run:
1919
working-directory: backend

.github/workflows/devploy-frontend-prod.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
name: Deploy Frontend Prod
22

33
on:
4-
push:
5-
branches: [ "main" ]
6-
paths:
7-
- 'frontend/**'
84
workflow_dispatch:
95

106
defaults:

backend/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,4 @@ out/
3939
/src/main/resources/application-security.yml
4040
/src/test/resources/application-security.yml
4141
/src/main/resources/static/docs/index.html
42+
/src/docs/asciidoc/index.html

backend/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ dependencies {
4343
testImplementation 'org.springframework.restdocs:spring-restdocs-restassured'
4444

4545
implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
46+
47+
implementation 'org.springframework.boot:spring-boot-starter-actuator'
48+
implementation 'io.micrometer:micrometer-registry-prometheus'
4649
}
4750

4851
ext {

backend/src/docs/asciidoc/index.adoc

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@
1212
=== Github 로그인
1313
operation::auth/login[snippets='http-request,request-parameters,http-response,response-fields']
1414

15-
=== 리프래시 토큰
16-
operation::auth/refresh[snippets='http-request,http-response']
17-
18-
=== 로그아웃
19-
operation::auth/logout[snippets='http-request,http-response']
20-
2115
[[Member]]
2216
== 회원
2317

@@ -75,6 +69,23 @@ operation::article/update[snippets='http-request,request-headers,http-response']
7569
=== 커뮤니티 삭제
7670
operation::article/delete[snippets='http-request,request-headers,http-response']
7771

72+
[[Notice]]
73+
== 공지 게시글
74+
=== 공지 생성
75+
operation::write/notice[snippets='http-request,request-headers,request-fields,http-response']
76+
77+
=== 공지 단건 조회
78+
operation::get/notice[snippets='http-request,request-headers,http-response,response-fields']
79+
80+
=== 공지 전체 조회
81+
operation::get/notices[snippets='http-request,request-headers,http-response,response-fields']
82+
83+
=== 공지 수정
84+
operation::update/notice[snippets='http-request,request-headers,http-response']
85+
86+
=== 공지 삭제
87+
operation::delete/notice[snippets='http-request,request-headers,http-response']
88+
7889
[[Reference-Room]]
7990
== 링크 공유
8091

backend/src/docs/asciidoc/index.html

Lines changed: 0 additions & 893 deletions
This file was deleted.

backend/src/main/java/com/woowacourse/moamoa/auth/config/AuthConfig.java

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,55 @@
11
package com.woowacourse.moamoa.auth.config;
22

33
import com.woowacourse.moamoa.auth.controller.AuthenticatedMemberResolver;
4-
import com.woowacourse.moamoa.auth.controller.AuthenticatedRefreshArgumentResolver;
5-
import com.woowacourse.moamoa.auth.controller.AuthenticationArgumentResolver;
6-
import com.woowacourse.moamoa.auth.controller.AuthenticationInterceptor;
7-
4+
import com.woowacourse.moamoa.auth.controller.interceptor.AuthenticationInterceptor;
5+
import com.woowacourse.moamoa.auth.controller.interceptor.PathMatcherContainer;
6+
import com.woowacourse.moamoa.auth.controller.interceptor.PathMatcherInterceptor;
7+
import com.woowacourse.moamoa.auth.infrastructure.TokenProvider;
88
import java.util.List;
9-
109
import lombok.RequiredArgsConstructor;
1110
import org.springframework.context.annotation.Bean;
1211
import org.springframework.context.annotation.Configuration;
12+
import org.springframework.http.HttpMethod;
1313
import org.springframework.web.client.RestTemplate;
1414
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
15+
import org.springframework.web.servlet.HandlerInterceptor;
1516
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
1617
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
1718

1819
@Configuration
1920
@RequiredArgsConstructor
2021
public class AuthConfig implements WebMvcConfigurer {
2122

22-
private final AuthenticatedRefreshArgumentResolver authenticatedRefreshArgumentResolver;
23-
private final AuthenticationInterceptor authenticationInterceptor;
24-
private final AuthenticationArgumentResolver authenticationArgumentResolver;
2523
private final AuthenticatedMemberResolver authenticatedMemberResolver;
2624

25+
private final PathMatcherContainer pathMatcherContainer;
26+
private final TokenProvider jwtTokenProvider;
27+
2728
@Override
2829
public void addArgumentResolvers(final List<HandlerMethodArgumentResolver> resolvers) {
29-
resolvers.add(authenticationArgumentResolver);
3030
resolvers.add(authenticatedMemberResolver);
31-
resolvers.add(authenticatedRefreshArgumentResolver);
3231
}
3332

3433
@Override
3534
public void addInterceptors(final InterceptorRegistry registry) {
36-
registry.addInterceptor(authenticationInterceptor)
35+
registry.addInterceptor(loginInterceptor())
3736
.addPathPatterns("/**");
3837
}
3938

39+
private HandlerInterceptor loginInterceptor() {
40+
return new PathMatcherInterceptor(new AuthenticationInterceptor(jwtTokenProvider), pathMatcherContainer)
41+
.excludePathPattern("/**", HttpMethod.OPTIONS)
42+
.includePathPattern("/api/studies/**", HttpMethod.POST)
43+
.includePathPattern("/api/studies/**", HttpMethod.PUT)
44+
.includePathPattern("/api/study/\\d+", HttpMethod.PUT)
45+
.includePathPattern("/api/studies/**", HttpMethod.DELETE)
46+
.includePathPattern("/api/members/me/**", HttpMethod.GET)
47+
.includePathPattern("/api/auth/refresh", HttpMethod.GET)
48+
.includePathPattern("/api/my/studies", HttpMethod.GET)
49+
.includePathPattern("/api/studies/\\w+/community/articles/**", HttpMethod.GET)
50+
.includePathPattern("/api/studies/\\d+/reference-room/links", HttpMethod.GET);
51+
}
52+
4053
@Bean
4154
public RestTemplate restTemplate() {
4255
return new RestTemplate();

backend/src/main/java/com/woowacourse/moamoa/auth/config/AuthRequestMatchConfig.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

backend/src/main/java/com/woowacourse/moamoa/auth/config/AuthenticatedMember.java renamed to backend/src/main/java/com/woowacourse/moamoa/auth/config/AuthenticatedMemberId.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77

88
@Target(ElementType.PARAMETER)
99
@Retention(RetentionPolicy.RUNTIME)
10-
public @interface AuthenticatedMember {
10+
public @interface AuthenticatedMemberId {
1111
}

backend/src/main/java/com/woowacourse/moamoa/auth/config/AuthenticatedRefresh.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)