Skip to content

Commit eb8f89e

Browse files
committed
Merge branch 'dev' of https://github.com/CommitField/commitField into feat/#20
2 parents 5eae4d8 + c86ad58 commit eb8f89e

33 files changed

+708
-82
lines changed

โ€Ž.DS_Storeโ€Ž

6 KB
Binary file not shown.

โ€Žbuild.gradle.ktsโ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ dependencies {
4646
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
4747

4848
//redis
49+
implementation("org.springframework.boot:spring-boot-starter-actuator")
4950
implementation("org.springframework.boot:spring-boot-starter-data-redis")
51+
implementation("org.springframework.session:spring-session-data-redis")
5052

5153
// Security
5254
implementation("org.springframework.boot:spring-boot-starter-security")

โ€Žsrc/.DS_Storeโ€Ž

6 KB
Binary file not shown.

โ€Žsrc/main/.DS_Storeโ€Ž

6 KB
Binary file not shown.

โ€Žsrc/main/java/.DS_Storeโ€Ž

6 KB
Binary file not shown.
6 KB
Binary file not shown.
6 KB
Binary file not shown.
6 KB
Binary file not shown.
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
package cmf.commitField.domain.commit.sinceCommit.controller;
2+
3+
import cmf.commitField.domain.commit.sinceCommit.dto.SinceCommitResponseDto;
4+
import cmf.commitField.domain.commit.sinceCommit.service.SinceCommitService;
5+
import lombok.RequiredArgsConstructor;
6+
import org.springframework.format.annotation.DateTimeFormat;
7+
import org.springframework.http.ResponseEntity;
8+
import org.springframework.web.bind.annotation.GetMapping;
9+
import org.springframework.web.bind.annotation.RequestParam;
10+
import org.springframework.web.bind.annotation.RestController;
11+
12+
import java.time.LocalDateTime;
13+
import java.time.temporal.TemporalAdjusters;
14+
import java.util.List;
15+
16+
@RestController
17+
@RequiredArgsConstructor
18+
public class SinceCommitController {
19+
private final SinceCommitService sinceCommitService;
20+
21+
@GetMapping("/api/github/commits-since")
22+
public ResponseEntity<List<SinceCommitResponseDto>> getCommits(
23+
@RequestParam String owner,
24+
@RequestParam String repo,
25+
@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime since,
26+
@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime until
27+
) {
28+
List<SinceCommitResponseDto> sinceCommits = sinceCommitService.getSinceCommits(owner, repo, since, until);
29+
30+
return ResponseEntity.ok(sinceCommits);
31+
}
32+
33+
// ์‹œ์ฆŒ ๋ณ„ ์ปค๋ฐ‹ ์ˆ˜ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
34+
35+
// ๋ด„ ์‹œ์ฆŒ
36+
@GetMapping("/api/github/commits-spring")
37+
public ResponseEntity<List<SinceCommitResponseDto>> getSpringSeasonCommits(
38+
@RequestParam String owner,
39+
@RequestParam String repo
40+
) {
41+
int currentYear = LocalDateTime.now().getYear();
42+
LocalDateTime since = LocalDateTime.of(2024, 3, 1, 0, 0);
43+
LocalDateTime until = LocalDateTime.of(2024, 5, 31, 23, 59, 59);
44+
45+
List<SinceCommitResponseDto> sinceCommits = sinceCommitService.getSinceCommits(owner, repo, since, until);
46+
47+
return ResponseEntity.ok(sinceCommits);
48+
}
49+
50+
// ์—ฌ๋ฆ„ ์‹œ์ฆŒ
51+
@GetMapping("/api/github/commits-summer")
52+
public ResponseEntity<List<SinceCommitResponseDto>> getSummerSeasonCommits(
53+
@RequestParam String owner,
54+
@RequestParam String repo
55+
) {
56+
int currentYear = LocalDateTime.now().getYear();
57+
LocalDateTime since = LocalDateTime.of(currentYear, 6, 1, 0, 0);
58+
LocalDateTime until = LocalDateTime.of(currentYear, 8, 31, 23, 59, 59);
59+
60+
List<SinceCommitResponseDto> sinceCommits = sinceCommitService.getSinceCommits(owner, repo, since, until);
61+
62+
return ResponseEntity.ok(sinceCommits);
63+
}
64+
65+
// ๊ฐ€์„ ์‹œ์ฆŒ
66+
@GetMapping("/api/github/commits-fall")
67+
public ResponseEntity<List<SinceCommitResponseDto>> getFallSeasonCommits(
68+
@RequestParam String owner,
69+
@RequestParam String repo
70+
) {
71+
int currentYear = LocalDateTime.now().getYear();
72+
LocalDateTime since = LocalDateTime.of(currentYear, 9, 1, 0, 0);
73+
LocalDateTime until = LocalDateTime.of(currentYear, 11, 30, 23, 59, 59);
74+
75+
List<SinceCommitResponseDto> sinceCommits = sinceCommitService.getSinceCommits(owner, repo, since, until);
76+
77+
return ResponseEntity.ok(sinceCommits);
78+
}
79+
80+
// ๊ฒจ์šธ ์‹œ์ฆŒ
81+
@GetMapping("/api/github/commits-winter")
82+
public ResponseEntity<List<SinceCommitResponseDto>> getWinterSeasonCommits(
83+
@RequestParam String owner,
84+
@RequestParam String repo
85+
) {
86+
int currentYear = LocalDateTime.now().getYear();
87+
LocalDateTime since = LocalDateTime.of(currentYear, 12, 1, 0, 0);
88+
LocalDateTime until = LocalDateTime.of(currentYear + 1, 2, 1, 23, 59, 59)
89+
.with(TemporalAdjusters.lastDayOfMonth()); // ์œค๋…„ ๊ณ ๋ ค
90+
91+
List<SinceCommitResponseDto> sinceCommits = sinceCommitService.getSinceCommits(owner, repo, since, until);
92+
93+
return ResponseEntity.ok(sinceCommits);
94+
}
95+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package cmf.commitField.domain.commit.sinceCommit.dto;
2+
3+
import lombok.Getter;
4+
import lombok.NoArgsConstructor;
5+
6+
@Getter
7+
@NoArgsConstructor
8+
public class SinceCommitResponseDto {
9+
private String sha;
10+
private Commit commit;
11+
private Author author;
12+
private String html_url;
13+
14+
15+
@Getter
16+
@NoArgsConstructor
17+
public static class Commit {
18+
private CommitAuthor author; // ์›๋ž˜ ์ฝ”๋“œ ์ž‘์„ฑ์ž
19+
private String message;
20+
21+
@Getter
22+
@NoArgsConstructor
23+
public static class CommitAuthor {
24+
private String name; // ์ปค๋ฐ‹ํ•œ ์‚ฌ๋žŒ์˜ ๊นƒํ—ˆ๋ธŒ ์ด๋ฆ„
25+
private String email;
26+
private String date;
27+
}
28+
}
29+
30+
@Getter
31+
@NoArgsConstructor
32+
public static class Author {
33+
private String login; // ์ปค๋ฐ‹ํ•œ ์‚ฌ๋žŒ์˜ ๊นƒํ—ˆ๋ธŒ id
34+
private String avatar_url;
35+
private String html_url; // ์‚ฌ์šฉ์ž์˜ ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ
36+
}
37+
}

0 commit comments

Comments
ย (0)