Skip to content

Commit 627e37f

Browse files
committed
feat(repository, global): BaseInitData 생성, Repository - User 연관관계 설정
1 parent fae5ec9 commit 627e37f

File tree

5 files changed

+344
-5
lines changed

5 files changed

+344
-5
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.backend.domain.analysis.repository;
2+
3+
import com.backend.domain.analysis.entity.Score;
4+
import org.springframework.data.jpa.repository.JpaRepository;
5+
6+
public interface ScoreRepository extends JpaRepository<Score, Long> {
7+
}

backend/src/main/java/com/backend/domain/repository/entity/Repositories.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,15 @@ public class Repositories extends BaseEntity {
4444

4545
@Builder
4646
public Repositories(
47+
User user,
4748
String name,
4849
String description,
4950
String htmlUrl,
5051
boolean publicRepository,
5152
String mainBranch,
5253
List<RepositoryLanguage> languages
5354
) {
55+
this.user = user;
5456
this.name = name;
5557
this.description = description;
5658
this.htmlUrl = htmlUrl;
@@ -71,6 +73,9 @@ public void updateFrom(Repositories other) {
7173
this.name = other.name;
7274
this.description = other.description;
7375
this.mainBranch = other.mainBranch;
76+
}
77+
78+
public void updatePublicFrom(Repositories other) {
7479
this.publicRepository = other.publicRepository;
7580
}
7681
}

backend/src/main/java/com/backend/domain/repository/service/RepositoryService.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import com.backend.domain.repository.service.mapper.ReadmeInfoMapper;
1010
import com.backend.domain.repository.service.mapper.RepositoriesMapper;
1111
import com.backend.domain.repository.service.mapper.RepositoryInfoMapper;
12+
import com.backend.domain.user.entity.User;
13+
import com.backend.domain.user.repository.UserRepository;
1214
import com.backend.global.exception.BusinessException;
1315
import com.backend.global.exception.ErrorCode;
1416
import lombok.RequiredArgsConstructor;
@@ -23,6 +25,9 @@
2325
@RequiredArgsConstructor
2426
public class RepositoryService {
2527

28+
// 임시
29+
private final UserRepository userRepository;
30+
2631
private final GitHubDataFetcher gitHubDataFetcher;
2732
private final RepositoriesMapper repositoriesMapper;
2833
private final RepositoryInfoMapper repositoryInfoMapper;
@@ -79,14 +84,21 @@ public RepositoryData fetchCompleteRepositoryData(String owner, String repo) {
7984
}
8085

8186
private void saveRepositoryEntity(RepoResponse repoInfo) {
82-
Repositories entity = repositoriesMapper.toEntity(repoInfo);
87+
User defaultUser = userRepository.findAll().stream()
88+
.findFirst()
89+
.orElseThrow(() -> new BusinessException(ErrorCode.INTERNAL_ERROR));
90+
91+
Repositories entity = repositoriesMapper.toEntity(repoInfo, defaultUser);
8392
repositoryJpaRepository
8493
.findByHtmlUrl(entity.getHtmlUrl())
8594
.map(existing -> {
86-
existing.updateFrom(entity);
95+
existing.updateFrom(repositoriesMapper.toEntity(repoInfo, defaultUser));
8796
return existing;
8897
})
89-
.orElseGet(() -> repositoryJpaRepository.save(entity));
98+
.orElseGet(() -> {
99+
Repositories newEntity = repositoriesMapper.toEntity(repoInfo, defaultUser);
100+
return repositoryJpaRepository.save(newEntity);
101+
});
90102

91103
log.info("✅ Repositories: {}", entity);
92104
}

backend/src/main/java/com/backend/domain/repository/service/mapper/RepositoriesMapper.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22

33
import com.backend.domain.repository.dto.response.github.RepoResponse;
44
import com.backend.domain.repository.entity.Repositories;
5+
import com.backend.domain.user.entity.User;
56
import org.springframework.stereotype.Component;
67

78
@Component
89
public class RepositoriesMapper {
910

10-
public Repositories toEntity(RepoResponse response) {
11+
public Repositories toEntity(RepoResponse response, User user) {
1112
return Repositories.builder()
13+
.user(user)
1214
.name(response.name())
1315
.description(response.description())
1416
.htmlUrl(response.htmlUrl())
15-
.publicRepository(!response._private())
17+
.publicRepository(false)
1618
.mainBranch(response.defaultBranch())
1719
.build();
1820
}

0 commit comments

Comments
 (0)