Skip to content

Commit

Permalink
feat: 고정 확장자 차단 해제 구현
Browse files Browse the repository at this point in the history
  • Loading branch information
sa46lll committed Dec 23, 2023
1 parent e5526b1 commit a03ff0a
Show file tree
Hide file tree
Showing 11 changed files with 65 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
import com.flow.sa46lll.fileshield.application.port.in.BlockCustomExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.BlockFixedExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.GetExtensionQuery;
import com.flow.sa46lll.fileshield.application.port.in.UnBlockCustomExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.UnblockCustomExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.UnblockFixedExtensionUseCase;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
Expand All @@ -21,17 +22,20 @@
public class ExtensionController {

private final BlockCustomExtensionUseCase blockCustomExtensionUseCase;
private final UnBlockCustomExtensionUseCase unBlockCustomExtensionUseCase;
private final UnblockCustomExtensionUseCase unblockCustomExtensionUseCase;
private final BlockFixedExtensionUseCase blockFixedExtensionUseCase;
private final UnblockFixedExtensionUseCase unblockFixedExtensionUseCase;
private final GetExtensionQuery getExtensionQuery;

public ExtensionController(final BlockCustomExtensionUseCase blockCustomExtensionUseCase,
final UnBlockCustomExtensionUseCase unBlockCustomExtensionUseCase,
final BlockFixedExtensionUseCase blockFixedExtensionUseCase,
final UnblockCustomExtensionUseCase unblockCustomExtensionUseCase,
final BlockFixedExtensionUseCase blockFixedExtensionUseCase,
final UnblockFixedExtensionUseCase unblockFixedExtensionUseCase,
final GetExtensionQuery getExtensionQuery) {
this.blockCustomExtensionUseCase = blockCustomExtensionUseCase;
this.unBlockCustomExtensionUseCase = unBlockCustomExtensionUseCase;
this.unblockCustomExtensionUseCase = unblockCustomExtensionUseCase;
this.blockFixedExtensionUseCase = blockFixedExtensionUseCase;
this.unblockFixedExtensionUseCase = unblockFixedExtensionUseCase;
this.getExtensionQuery = getExtensionQuery;
}

Expand All @@ -41,8 +45,17 @@ public ExtensionController(final BlockCustomExtensionUseCase blockCustomExtensio
* @param extensionId 차단할 고정 확장자 식별자
*/
@PatchMapping("/{extensionId}/fixed-block")
public ApiResponse<Void> block(@PathVariable("extensionId") final Long extensionId) {
blockFixedExtensionUseCase.blockFixedExtension(extensionId);
public ApiResponse<Void> blockFixed(@PathVariable("extensionId") final Long extensionId) {
blockFixedExtensionUseCase.blockFixed(extensionId);
return ApiResponse.ok();
}

/**
* 고정 확장자 차단 해제
*/
@PatchMapping("/{extensionId}/fixed-unblock")
public ApiResponse<Void> unblockFixed(@PathVariable("extensionId") final Long extensionId) {
unblockFixedExtensionUseCase.unblockFixed(extensionId);
return ApiResponse.ok();
}

Expand All @@ -52,8 +65,8 @@ public ApiResponse<Void> block(@PathVariable("extensionId") final Long extension
* @param blockCustomExtensionCommand 차단할 커스텀 확장자
*/
@PostMapping("/custom-block")
public ApiResponse<Void> block(@RequestBody final BlockCustomExtensionCommand blockCustomExtensionCommand) {
blockCustomExtensionUseCase.blockCustomExtension(blockCustomExtensionCommand);
public ApiResponse<Void> blockCustom(@RequestBody final BlockCustomExtensionCommand blockCustomExtensionCommand) {
blockCustomExtensionUseCase.blockCustom(blockCustomExtensionCommand);
return ApiResponse.ok();
}

Expand All @@ -63,8 +76,8 @@ public ApiResponse<Void> block(@RequestBody final BlockCustomExtensionCommand bl
* @param extensionId 차단 해제할 확장자 식별자
*/
@DeleteMapping("/{extensionId}/custom-unblock")
public ApiResponse<Void> unblock(@PathVariable("extensionId") final Long extensionId) {
unBlockCustomExtensionUseCase.unblockCustomExtension(extensionId);
public ApiResponse<Void> unblockCustom(@PathVariable("extensionId") final Long extensionId) {
unblockCustomExtensionUseCase.unblockCustom(extensionId);
return ApiResponse.ok();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@

public interface BlockCustomExtensionUseCase {

void blockCustomExtension(final BlockCustomExtensionCommand blockCustomExtensionCommand);
void blockCustom(final BlockCustomExtensionCommand blockCustomExtensionCommand);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

public interface BlockFixedExtensionUseCase {

void blockFixedExtension(final Long extensionId);
void blockFixed(final Long extensionId);
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.flow.sa46lll.fileshield.application.port.in;

public interface UnblockCustomExtensionUseCase {

void unblockCustom(Long extensionId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.flow.sa46lll.fileshield.application.port.in;

public interface UnblockFixedExtensionUseCase {

void unblockFixed(final Long extensionId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ public interface ExtensionPersistencePort {
void deleteCustomExtensionById(Long extensionId);

void blockFixedExtension(Long extensionId);

void unblockFixedExtension(Long extensionId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@
import com.flow.sa46lll.fileshield.application.dto.BlockCustomExtensionCommand;
import com.flow.sa46lll.fileshield.application.port.in.BlockCustomExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.BlockFixedExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.UnBlockCustomExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.UnblockCustomExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.in.UnblockFixedExtensionUseCase;
import com.flow.sa46lll.fileshield.application.port.out.ExtensionPersistencePort;
import org.springframework.stereotype.Service;

@Service
public class ExtensionBlockService implements BlockCustomExtensionUseCase,
UnBlockCustomExtensionUseCase, BlockFixedExtensionUseCase {
UnblockCustomExtensionUseCase, BlockFixedExtensionUseCase, UnblockFixedExtensionUseCase {

private final ExtensionPersistencePort extensionPersistencePort;

Expand All @@ -19,18 +20,23 @@ public ExtensionBlockService(final ExtensionPersistencePort extensionPersistence
}

@Override
public void blockCustomExtension(final BlockCustomExtensionCommand blockCustomExtensionCommand) {
public void blockCustom(final BlockCustomExtensionCommand blockCustomExtensionCommand) {
BlockedExtension blockedExtension = blockCustomExtensionCommand.toDomain();
extensionPersistencePort.blockCustomExtension(blockedExtension);
}

@Override
public void unblockCustomExtension(Long extensionId) {
public void unblockCustom(Long extensionId) {
extensionPersistencePort.deleteCustomExtensionById(extensionId);
}

@Override
public void blockFixedExtension(Long extensionId) {
public void blockFixed(Long extensionId) {
extensionPersistencePort.blockFixedExtension(extensionId);
}

@Override
public void unblockFixed(Long extensionId) {
extensionPersistencePort.unblockFixedExtension(extensionId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

public class Extension {

String extension;
private String extension;

public Extension(final String extension) {
this.extension = extension;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,13 @@ public void blockFixedExtension(Long extensionId) {

blockedExtension.block(); // 개선 필요
}

@Override
public void unblockFixedExtension(Long extensionId) {
BlockedExtensionEntity blockedExtension =
blockedExtensionRepository.findByExtensionTypeAndId(ExtensionTypeEntity.FIXED, extensionId)
.orElseThrow(() -> new IllegalArgumentException("확장자를 찾을 수 없습니다"));

blockedExtension.unblock();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,8 @@ public boolean isBlocked() {
public void block() {
isBlocked = true;
}

public void unblock() {
isBlocked = false;
}
}

0 comments on commit a03ff0a

Please sign in to comment.