-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9981d2c
commit 270c2c9
Showing
5 changed files
with
84 additions
and
1 deletion.
There are no files selected for viewing
41 changes: 41 additions & 0 deletions
41
src/main/java/com/seong/shoutlink/domain/domain/repository/DomainEntity.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package com.seong.shoutlink.domain.domain.repository; | ||
|
||
import com.seong.shoutlink.domain.common.BaseEntity; | ||
import com.seong.shoutlink.domain.domain.Domain; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.Table; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Getter | ||
@Entity | ||
@Table(name = "domain") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class DomainEntity extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long domainId; | ||
private String rootDomain; | ||
|
||
public DomainEntity(String rootDomain) { | ||
this(null, rootDomain); | ||
} | ||
|
||
public DomainEntity(Long domainId, String rootDomain) { | ||
this.domainId = domainId; | ||
this.rootDomain = rootDomain; | ||
} | ||
|
||
public static DomainEntity create(Domain domain) { | ||
return new DomainEntity(domain.getRootDomain()); | ||
} | ||
|
||
public Domain toDomain() { | ||
return new Domain(domainId, rootDomain); | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
src/main/java/com/seong/shoutlink/domain/domain/repository/DomainJpaRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package com.seong.shoutlink.domain.domain.repository; | ||
|
||
import java.util.Optional; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
|
||
public interface DomainJpaRepository extends JpaRepository<DomainEntity, Long> { | ||
|
||
Optional<DomainEntity> findByRootDomain(String rootDomain); | ||
} |
26 changes: 26 additions & 0 deletions
26
src/main/java/com/seong/shoutlink/domain/domain/repository/DomainRepositoryImpl.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package com.seong.shoutlink.domain.domain.repository; | ||
|
||
import com.seong.shoutlink.domain.domain.Domain; | ||
import com.seong.shoutlink.domain.domain.service.DomainRepository; | ||
import java.util.Optional; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.stereotype.Repository; | ||
|
||
@Repository | ||
@RequiredArgsConstructor | ||
public class DomainRepositoryImpl implements DomainRepository { | ||
|
||
private final DomainJpaRepository domainJpaRepository; | ||
|
||
@Override | ||
public Optional<Domain> findByRootDomain(String rootDomain) { | ||
return domainJpaRepository.findByRootDomain(rootDomain) | ||
.map(DomainEntity::toDomain); | ||
} | ||
|
||
@Override | ||
public Domain save(Domain domain) { | ||
return domainJpaRepository.save(DomainEntity.create(domain)) | ||
.toDomain(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters