Skip to content

Commit

Permalink
Merge pull request #12 from readme-generator/feature/fixed_requirement
Browse files Browse the repository at this point in the history
백엔드 코드 최종 리팩토링
  • Loading branch information
npole0103 authored Oct 20, 2022
2 parents 5962855 + 8942763 commit 5845d0d
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.Create;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.Request;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.ObjectUrl;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.Download;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.PullRequest;
import kr.markdown.alreadyme.domain.model.ReadmeItem;
import kr.markdown.alreadyme.service.AppService;
Expand All @@ -19,15 +19,15 @@
public class AppController {
public final AppService service;

@PostMapping
@PostMapping("readme")
@ResponseStatus(HttpStatus.OK)
public ReadmeItem post(@Valid @RequestBody Create createDto) throws Exception {
return service.create(createDto);
}

@PostMapping("download")
@ResponseStatus(HttpStatus.OK)
public ObjectUrl download(@Valid @RequestBody Request requestDto) throws Exception {
public Download download(@Valid @RequestBody Request requestDto) throws Exception {
return service.download(requestDto);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public ResponseEntity<?> badRequestHandler(NoRemoteRepositoryException e) {
Map<String, Object> error = new HashMap<>();
error.put("timestamp", new Date());
error.put("code", "400");
error.put("message", "Error occured while cloning the repository. Check your github url.");
error.put("message", "Error occurred while cloning the repository. Check your github url.");
return ResponseEntity.badRequest().body(error);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class Request {
@Builder
@AllArgsConstructor
@NoArgsConstructor
class ObjectUrl {
class Download {
@NotBlank
private String objectUrl;
}
Expand Down Expand Up @@ -64,25 +64,4 @@ class PullRequest {
private String pullRequestUrl;
}

@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
class Result {
@NotNull
private Long id;

@NotBlank
@Pattern(regexp = "(?:https://)github.com[:/](.*).git")
private String githubOriginalUrl;

@NotBlank
private String readmeText;

private String objectUrl;

@DateTimeFormat
private LocalDateTime createdTime;
}
}
28 changes: 14 additions & 14 deletions src/main/java/kr/markdown/alreadyme/service/AppService.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.Create;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.Request;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.ObjectUrl;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.Download;
import kr.markdown.alreadyme.domain.dto.ReadmeItemDto.PullRequest;
import kr.markdown.alreadyme.domain.model.ReadmeItem;
import kr.markdown.alreadyme.repository.ReadmeItemRepository;
Expand Down Expand Up @@ -88,25 +88,25 @@ public ReadmeItem create(Create createDto) throws Exception {
}

@Transactional
public ObjectUrl download(Request requestDto) throws Exception {
public Download download(Request requestDto) throws Exception {

ObjectUrl objectUrlDto;
Download downloadDto;
ReadmeItem readmeItem = findReadmeItemThrowException(requestDto.getId());

//If S3 link already exists
if(readmeItem.getObjectUrl() != null) {
objectUrlDto = ObjectUrl.builder()
downloadDto = Download.builder()
.objectUrl(readmeItem.getObjectUrl())
.build();
return objectUrlDto;
return downloadDto;
}

//Create README.md
File uploadFile = createDownloadReadme(readmeItem.getReadmeText());
//Create README.md File
File uploadFile = createReadmeInDownload(readmeItem.getReadmeText());

//Upload README.md to S3-bucket
String objectUrl = s3Service.upload(uploadFile, uploadFile.getParentFile().getName());
objectUrlDto = ObjectUrl.builder()
downloadDto = Download.builder()
.objectUrl(objectUrl)
.build();

Expand All @@ -116,7 +116,7 @@ public ObjectUrl download(Request requestDto) throws Exception {
//Delete Folder
FileUtils.deleteDirectory(new File(uploadFile.getParentFile().getPath()));

return objectUrlDto;
return downloadDto;
}

public PullRequest pullRequest(Request requestDto) throws Exception {
Expand All @@ -130,7 +130,7 @@ public PullRequest pullRequest(Request requestDto) throws Exception {
Git git = JGitUtil.cloneRepository(githubBotUrl);

//Create README.md
createPullRequestReadme(
createReadmeInPullRequest(
git.getRepository().getDirectory().getPath() + File.separator + "..",
readmeItem.getReadmeText()
);
Expand All @@ -155,8 +155,8 @@ public PullRequest pullRequest(Request requestDto) throws Exception {
return pullRequestDto;
}

//create README.md
private void createPullRequestReadme(String localDirPath, String text) throws Exception {
//create README.md in pull-request
private void createReadmeInPullRequest(String localDirPath, String text) throws Exception {
try {
FileWriter output = new FileWriter(localDirPath + File.separator +"README.md");
output.write(text);
Expand All @@ -166,8 +166,8 @@ private void createPullRequestReadme(String localDirPath, String text) throws Ex
}
}

//create download README.md
private File createDownloadReadme(String text) throws Exception {
//create README.md in download
private File createReadmeInDownload(String text) throws Exception {
File file = new File(System.getProperty("user.dir") + File.separator + UUID.randomUUID() + File.separator + "README.md");
try {
file.getParentFile().mkdirs();
Expand Down

0 comments on commit 5845d0d

Please sign in to comment.