-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #206 from Open-Eye-Im-Developer/develop
Alpha Update
- Loading branch information
Showing
63 changed files
with
1,005 additions
and
209 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
src/main/java/io/oeid/mogakgo/common/swagger/template/ReviewSwagger.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
package io.oeid.mogakgo.common.swagger.template; | ||
|
||
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; | ||
|
||
import io.oeid.mogakgo.core.properties.swagger.error.SwaggerProjectErrorExamples; | ||
import io.oeid.mogakgo.core.properties.swagger.error.SwaggerReviewErrorExamples; | ||
import io.oeid.mogakgo.core.properties.swagger.error.SwaggerUserErrorExamples; | ||
import io.oeid.mogakgo.domain.review.presentation.dto.req.ReviewCreateApiReq; | ||
import io.oeid.mogakgo.domain.review.presentation.dto.res.ReviewCreateApiRes; | ||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.Parameter; | ||
import io.swagger.v3.oas.annotations.media.Content; | ||
import io.swagger.v3.oas.annotations.media.ExampleObject; | ||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import io.swagger.v3.oas.annotations.responses.ApiResponse; | ||
import io.swagger.v3.oas.annotations.responses.ApiResponses; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import org.springframework.http.ResponseEntity; | ||
|
||
@Tag(name = "Review", description = "리뷰 관련 API") | ||
@SuppressWarnings("unused") | ||
public interface ReviewSwagger { | ||
|
||
@Operation(summary = "리뷰 생성") | ||
@ApiResponses(value = { | ||
@ApiResponse(responseCode = "200", description = "리뷰 생성 성공", | ||
content = @Content(schema = @Schema(implementation = ReviewCreateApiRes.class))), | ||
@ApiResponse(responseCode = "400", description = "요청한 데이터가 유효하지 않음", | ||
content = @Content( | ||
mediaType = APPLICATION_JSON_VALUE, | ||
schema = @Schema(implementation = ResponseEntity.class), | ||
examples = { | ||
@ExampleObject(name = "E120101", value = SwaggerReviewErrorExamples.REVIEW_SENDER_OR_RECEIVER_NOT_FOUND), | ||
@ExampleObject(name = "E120102", value = SwaggerReviewErrorExamples.REVIEW_USER_DUPLICATED), | ||
@ExampleObject(name = "E120103", value = SwaggerReviewErrorExamples.REVIEW_PROJECT_NOT_NULL), | ||
@ExampleObject(name = "E120104", value = SwaggerReviewErrorExamples.REVIEW_ALREADY_EXISTS), | ||
@ExampleObject(name = "E120105", value = SwaggerReviewErrorExamples.REVIEW_USER_NOT_MATCH), | ||
@ExampleObject(name = "E120106", value = SwaggerReviewErrorExamples.REVIEW_RATING_INVALID), | ||
})), | ||
@ApiResponse(responseCode = "404", description = "해당 데이터가 존재하지 않음", | ||
content = @Content( | ||
mediaType = APPLICATION_JSON_VALUE, | ||
schema = @Schema(implementation = ResponseEntity.class), | ||
examples = { | ||
@ExampleObject(name = "E020301", value = SwaggerUserErrorExamples.USER_NOT_FOUND), | ||
@ExampleObject(name = "E030301", value = SwaggerProjectErrorExamples.PROJECT_NOT_FOUND) | ||
} | ||
)), | ||
}) | ||
ResponseEntity<ReviewCreateApiRes> createReviewApi( | ||
@Parameter(hidden = true) Long userId, | ||
ReviewCreateApiReq request); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 22 additions & 9 deletions
31
src/main/java/io/oeid/mogakgo/core/configuration/WebSocketConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,34 @@ | ||
package io.oeid.mogakgo.core.configuration; | ||
|
||
import io.oeid.mogakgo.domain.chat.interceptor.ChatInterceptor; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.context.annotation.Configuration; | ||
import org.springframework.web.socket.WebSocketHandler; | ||
import org.springframework.web.socket.config.annotation.EnableWebSocket; | ||
import org.springframework.web.socket.config.annotation.WebSocketConfigurer; | ||
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; | ||
import org.springframework.messaging.simp.config.ChannelRegistration; | ||
import org.springframework.messaging.simp.config.MessageBrokerRegistry; | ||
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; | ||
import org.springframework.web.socket.config.annotation.StompEndpointRegistry; | ||
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; | ||
|
||
@Configuration | ||
@RequiredArgsConstructor | ||
@EnableWebSocket | ||
public class WebSocketConfig implements WebSocketConfigurer { | ||
@EnableWebSocketMessageBroker | ||
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { | ||
|
||
private final WebSocketHandler webSocketHandler; | ||
private final ChatInterceptor chatInterceptor; | ||
|
||
@Override | ||
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { | ||
registry.addHandler(webSocketHandler, "/ws/chat").setAllowedOrigins("*"); | ||
public void configureMessageBroker(MessageBrokerRegistry registry) { | ||
registry.setApplicationDestinationPrefixes("/app"); | ||
registry.enableSimpleBroker("/topic", "/queue"); | ||
} | ||
|
||
@Override | ||
public void registerStompEndpoints(StompEndpointRegistry registry) { | ||
registry.addEndpoint("/chat").setAllowedOriginPatterns("*"); | ||
} | ||
|
||
@Override | ||
public void configureClientInboundChannel(ChannelRegistration registration) { | ||
registration.interceptors(chatInterceptor); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
...n/java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerAchievementErrorExamples.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package io.oeid.mogakgo.core.properties.swagger.error; | ||
|
||
public class SwaggerAchievementErrorExamples { | ||
|
||
public static final String ACHIEVEMENT_NOT_FOUND = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":404,\"code\":\"E130301\",\"message\":\"해당 업적이 존재하지 않습니다.\"}"; | ||
private SwaggerAchievementErrorExamples() { | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
.../java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerNotificationErrorExamples.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package io.oeid.mogakgo.core.properties.swagger.error; | ||
|
||
public class SwaggerNotificationErrorExamples { | ||
|
||
public static final String NOTIFICATION_FCM_TOKEN_NOT_FOUND = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":404,\"code\":\"E060301\",\"message\":\"해당 유저의 FCM 토큰이 존재하지 않습니다.\"}"; | ||
public static final String NOTIFICATION_NOT_FOUND = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":404,\"code\":\"E060302\",\"message\":\"해당 알림이 존재하지 않습니다.\"}"; | ||
private SwaggerNotificationErrorExamples() { | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
src/main/java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerReviewErrorExamples.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package io.oeid.mogakgo.core.properties.swagger.error; | ||
|
||
public class SwaggerReviewErrorExamples { | ||
|
||
public static final String REVIEW_SENDER_OR_RECEIVER_NOT_FOUND = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E120101\",\"message\":\"리뷰를 작성하기 위한 유저 정보가 존재하지 않습니다.\"}"; | ||
public static final String REVIEW_USER_DUPLICATED = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E120102\",\"message\":\"자신에 대한 리뷰는 작성할 수 없습니다.\"}"; | ||
public static final String REVIEW_PROJECT_NOT_NULL = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E120103\",\"message\":\"리뷰를 작성하기 위한 프로젝트 정보가 존재하지 않습니다.\"}"; | ||
public static final String REVIEW_ALREADY_EXISTS = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E120104\",\"message\":\"이미 작성된 리뷰가 존재합니다.\"}"; | ||
public static final String REVIEW_USER_NOT_MATCH = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E120105\",\"message\":\"리뷰 작성자와 리뷰 대상자가 일치하지 않습니다.\"}"; | ||
public static final String REVIEW_RATING_INVALID = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E120106\",\"message\":\"유효하지 않은 리뷰 평점입니다.\"}"; | ||
|
||
private SwaggerReviewErrorExamples() { | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
...va/io/oeid/mogakgo/core/properties/swagger/error/SwaggerUserAchievementErrorExamples.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package io.oeid.mogakgo.core.properties.swagger.error; | ||
|
||
public class SwaggerUserAchievementErrorExamples { | ||
|
||
public static final String NON_ACHIEVED_USER_ACHIEVEMENT = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E140101\",\"message\":\"대표 업적으로 미달성 업적을 사용할 수 없습니다.\"}"; | ||
public static final String ACHIEVEMENT_SHOULD_BE_DIFFERENT = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E140102\",\"message\":\"해당 업적을 이미 대표 업적으로 사용하고 있습니다.\"}"; | ||
|
||
private SwaggerUserAchievementErrorExamples() { | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
src/main/java/io/oeid/mogakgo/domain/achievement/exception/AchievementException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package io.oeid.mogakgo.domain.achievement.exception; | ||
|
||
import io.oeid.mogakgo.exception.code.ErrorCode; | ||
import io.oeid.mogakgo.exception.exception_class.CustomException; | ||
|
||
public class AchievementException extends CustomException { | ||
|
||
public AchievementException(ErrorCode errorCode) { | ||
super(errorCode); | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
src/main/java/io/oeid/mogakgo/domain/achievement/exception/UserAchievementException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package io.oeid.mogakgo.domain.achievement.exception; | ||
|
||
import io.oeid.mogakgo.exception.code.ErrorCode; | ||
import io.oeid.mogakgo.exception.exception_class.CustomException; | ||
|
||
public class UserAchievementException extends CustomException { | ||
|
||
public UserAchievementException(ErrorCode errorCode) { | ||
super(errorCode); | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
.../java/io/oeid/mogakgo/domain/achievement/infrastructure/UserAchievementJpaRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package io.oeid.mogakgo.domain.achievement.infrastructure; | ||
|
||
import io.oeid.mogakgo.domain.achievement.domain.entity.UserAchievement; | ||
import java.util.Optional; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.data.jpa.repository.Query; | ||
|
||
public interface UserAchievementJpaRepository extends JpaRepository<UserAchievement, Long> { | ||
|
||
@Query("SELECT ua FROM UserAchievement ua WHERE ua.user.id = :userId AND ua.achievement.id = :achievementId") | ||
Optional<UserAchievement> findByUserAndAchievementId(Long userId, Long achievementId); | ||
} |
Oops, something went wrong.