Skip to content

Commit

Permalink
[Refactor] 유효성 검사 정책 수정 반영 (#59)
Browse files Browse the repository at this point in the history
* refactor: 타이틀 특수문자 유효성 검사 제거 (#58)

* feat: 아카이브 개수 제한 유효성 검사 추가 (#58)

* deploy: micrometer-tracing 의존성 추가 (#58)

* refactor: URL 유효성 검사 업데이트 (#58)

* refactor: 제목 길이 제한 유효성 검사 업데이트 (#58)
  • Loading branch information
junseoplee authored Oct 7, 2024
1 parent 1dd85ab commit ef41c87
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 12 deletions.
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ dependencies {
implementation platform("org.springframework.ai:spring-ai-bom:1.0.0-SNAPSHOT")
implementation 'org.springframework.ai:spring-ai-vertex-ai-gemini-spring-boot-starter:1.0.0-SNAPSHOT'

implementation 'io.micrometer:micrometer-tracing:latest.release'
implementation 'io.micrometer:micrometer-tracing-bridge-brave:latest.release'

// Swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0'

Expand Down
7 changes: 3 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
services:
springboot:
container_name: someup # ec2내에서 동작하는 컨테이너명
container_name: someup
image: someupsite/someup:latest
ports:
- 8080:8080
environment:
- SPRING_PROFILES_ACTIVE=dev-env # 사용할 profile
- SPRING_PROFILES_ACTIVE=dev-env
- GOOGLE_APPLICATION_CREDENTIALS=/credentials/application_default_credentials.json
volumes:
- /home/ubuntu/.config/gcloud/application_default_credentials.json:/credentials/application_default_credentials.json
networks:
- my_network


redis:
image: redis
container_name: redis-cache
command: [ "redis-server", "--port", "6379" ] # 비밀번호 설정 제거
command: ["redis-server", "--port", "6379"]
ports:
- 6379:6379
networks:
Expand Down
1 change: 0 additions & 1 deletion src/main/java/project/backend/BackendApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ public class BackendApplication {
public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,12 @@
@RequiredArgsConstructor
public class ArchiveManager {

private static final int MAX_ARCHIVES = 20;

private final ArchiveRepository archiveRepository;

public Archive createArchive(User user, String name) {
validateArchiveCount(user);
Archive newArchive = Archive.createArchive(user, name);
return archiveRepository.save(newArchive);
}
Expand All @@ -34,4 +37,10 @@ public void deleteArchive(Archive archive) {
archive.setActivated(Boolean.FALSE);
archiveRepository.save(archive);
}

private void validateArchiveCount(User user) {
if (archiveRepository.countByUserIdAndActivatedTrue(user.getId()) >= MAX_ARCHIVES) {
throw new CustomException(ErrorCode.BAD_REQUEST);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package project.backend.presentation.archive.request;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import project.backend.business.archive.request.CreateUpdateArchiveServiceRequest;
Expand All @@ -10,8 +9,7 @@
public class CreateUpdateArchiveRequest {

@NotBlank(message = "아카이브 이름은 필수 입력 값입니다.")
@Size(min = 2, max = 30, message = "아카이브 이름은 2자 이상 30자 이하로 입력해야 합니다.")
@Pattern(regexp = "^[a-zA-Z0-9가-힣 ]*$", message = "아카이브 이름에는 특수 문자를 포함할 수 없습니다.")
@Size(max = 30, message = "아카이브 이름은 30자를 초과할 수 없습니다.")
private String name;

public CreateUpdateArchiveServiceRequest toServiceRequest() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
public class SummaryUrlRequest {

@NotBlank(message = "URL은 필수 값입니다.")
@Pattern(regexp = "^(https?|ftp)://[^\\s/$.?#].\\S*$", message = "유효한 URL 형식이어야 합니다.")
@Pattern(regexp = "^(https?|ftp)://[^\\s/$.?#@].*\\S*$", message = "유효한 URL 형식이어야 합니다.")
private String url;

@NotNull(message = "요약 옵션은 필수 값입니다.")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package project.backend.presentation.post.request;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import java.util.List;
import lombok.Getter;
Expand All @@ -11,8 +10,7 @@
public class UpdatePostRequest {

@NotBlank(message = "제목은 필수 입력 값입니다.")
@Size(max = 30, message = "제목은 30자를 초과할 수 없습니다.")
@Pattern(regexp = "^[a-zA-Z0-9가-힣 ]*$", message = "제목에 특수 문자를 사용할 수 없습니다.")
@Size(max = 100, message = "제목은 100자를 초과할 수 없습니다.")
private String title;

@NotBlank(message = "내용은 필수 입력 값입니다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@
public interface ArchiveRepository extends JpaRepository<Archive, Long> {

List<Archive> findByUserIdAndActivatedTrue(Long userId);

Optional<Archive> findByIdAndActivatedTrue(Long archiveId);

int countByUserIdAndActivatedTrue(Long userId);
}

0 comments on commit ef41c87

Please sign in to comment.