diff --git a/src/main/java/io/github/depromeet/knockknockbackend/domain/credential/service/CredentialService.java b/src/main/java/io/github/depromeet/knockknockbackend/domain/credential/service/CredentialService.java index 25067688..48696aea 100644 --- a/src/main/java/io/github/depromeet/knockknockbackend/domain/credential/service/CredentialService.java +++ b/src/main/java/io/github/depromeet/knockknockbackend/domain/credential/service/CredentialService.java @@ -64,6 +64,8 @@ public AfterOauthResponse oauthCodeToUser(OauthProvider oauthProvider, String co .email(email) .build(); userRepository.save(newUser); + userOptionService.initializeOption(newUser); + return newUser; }); diff --git a/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/domain/repository/DeviceTokenRepository.java b/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/domain/repository/DeviceTokenRepository.java index dd67b19f..20a4597f 100644 --- a/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/domain/repository/DeviceTokenRepository.java +++ b/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/domain/repository/DeviceTokenRepository.java @@ -2,6 +2,7 @@ import io.github.depromeet.knockknockbackend.domain.notification.domain.DeviceToken; +import io.github.depromeet.knockknockbackend.domain.user.domain.User; import java.util.List; import java.util.Optional; import org.springframework.data.jpa.repository.Query; @@ -26,4 +27,6 @@ List findUserByGroupIdAndNewOption( @Param("groupId") Long groupId, @Param("newOption") Boolean newOption, @Param("nightOption") Boolean nightOption); + + void deleteByUser(User user); } diff --git a/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/event/DeviceTokenEvent.java b/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/event/DeviceTokenEvent.java new file mode 100644 index 00000000..9cf71b84 --- /dev/null +++ b/src/main/java/io/github/depromeet/knockknockbackend/domain/notification/event/DeviceTokenEvent.java @@ -0,0 +1,15 @@ +package io.github.depromeet.knockknockbackend.domain.notification.event; + + +import io.github.depromeet.knockknockbackend.domain.user.domain.User; +import io.github.depromeet.knockknockbackend.global.event.DomainEvent; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public class DeviceTokenEvent implements DomainEvent { + + private final User user; + // private final String deviceId or Fcm Token; +} diff --git a/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/Option.java b/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/Option.java index 134fa8f7..61cac1a1 100644 --- a/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/Option.java +++ b/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/Option.java @@ -8,12 +8,14 @@ import javax.persistence.MapsId; import javax.persistence.OneToOne; import javax.persistence.Table; +import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; +import lombok.NoArgsConstructor; @Getter -@Builder @Table(name = "tbl_option") +@NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Option { @@ -30,6 +32,11 @@ public class Option { private boolean nightOption; + @Builder + public Option(User user) { + this.user = user; + } + public void setNewOption(boolean newOption) { this.newOption = newOption; } diff --git a/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/repository/OptionRepository.java b/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/repository/OptionRepository.java index d818ebb7..5a7a095c 100644 --- a/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/repository/OptionRepository.java +++ b/src/main/java/io/github/depromeet/knockknockbackend/domain/option/domain/repository/OptionRepository.java @@ -2,6 +2,10 @@ import io.github.depromeet.knockknockbackend.domain.option.domain.Option; +import java.util.Optional; import org.springframework.data.repository.CrudRepository; -public interface OptionRepository extends CrudRepository {} +public interface OptionRepository extends CrudRepository { + + Optional