File tree Expand file tree Collapse file tree 8 files changed +36
-26
lines changed
out-persistence/src/main/kotlin/com/pokit/out/persistence/user
out-web/src/main/kotlin/com/pokit/alert
application/src/main/kotlin/com/pokit/user/port Expand file tree Collapse file tree 8 files changed +36
-26
lines changed Original file line number Diff line number Diff line change 4040 run : |
4141 mkdir -p ./adapters/out-persistence/src/main/resources
4242 echo "${{ secrets.OUT_PERSISTENCE_YML }}" > ./adapters/out-persistence/src/main/resources/application-out-persistence.yml
43- mkdir -p ./adapters/out-web/src/main/resources
44- echo "${{ secrets.OUT_WEB_GOOGLE }}" | base64 --decode > ./adapters/out-web/src/main/resources/google-services .json
43+ mkdir -p ./adapters/out-web/src/main/resources/firebase
44+ echo "${{ secrets.OUT_WEB_GOOGLE }}" | base64 --decode > ./adapters/out-web/src/main/resources/firebase/push-account-key .json
4545 echo "${{ secrets.OUT_WEB_YML }}" > ./adapters/out-web/src/main/resources/application-out-web.yml
4646 mkdir -p ./application/src/main/resources
4747 echo "${{ secrets.APPLICATION_CORE }}" > ./application/src/main/resources/application-core.yml
Original file line number Diff line number Diff line change 4545# ## Resources ###
4646** /src /main /resources /application- * .yml
4747** /src /main /resources /google-services.json
48+ ** /src /main /resources /firebase /* .json
4849** /src /main /resources /* .p8
49- ** /src /main /resources /logback.xml
50+ ** /src /main /resources /logback.xml
51+
52+ # ## Logs ###
53+ logs /
54+ * .log
Original file line number Diff line number Diff line change @@ -20,4 +20,8 @@ class FcmTokenAdapter(
2020 return fcmTokenRepository.findByUserId(userId)
2121 .map { it.toDomain() }
2222 }
23+
24+ override fun loadByUserIdAndToken (userId : Long , token : String ): FcmToken ? {
25+ return fcmTokenRepository.findByUserIdAndToken(userId, token)?.toDomain()
26+ }
2327}
Original file line number Diff line number Diff line change @@ -4,4 +4,6 @@ import org.springframework.data.jpa.repository.JpaRepository
44
55interface FcmTokenRepository : JpaRepository <FcmTokenEntity , Long > {
66 fun findByUserId (userId : Long ): List <FcmTokenEntity >
7+
8+ fun findByUserIdAndToken (userId : Long , token : String ): FcmTokenEntity ?
79}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 11package com.pokit.alert.impl
22
3+ import com.google.auth.oauth2.GoogleCredentials
4+ import com.google.firebase.FirebaseApp
5+ import com.google.firebase.FirebaseOptions
36import com.google.firebase.messaging.FirebaseMessaging
47import com.google.firebase.messaging.FirebaseMessagingException
58import com.google.firebase.messaging.Message
69import com.google.firebase.messaging.Notification
710import com.pokit.alert.port.out.AlertSender
811import io.github.oshai.kotlinlogging.KotlinLogging
12+ import jakarta.annotation.PostConstruct
13+ import org.springframework.core.io.ClassPathResource
914import org.springframework.stereotype.Component
1015
1116@Component
1217class FcmSender : AlertSender {
18+ @PostConstruct
19+ fun init () {
20+ if (FirebaseApp .getApps().isEmpty()) {
21+ val firebaseCredentials = ClassPathResource (" /firebase/push-account-key.json" ).inputStream
22+ val options = FirebaseOptions .builder()
23+ .setCredentials(GoogleCredentials .fromStream(firebaseCredentials))
24+ .build()
25+ FirebaseApp .initializeApp(options)
26+ }
27+ }
28+
29+
1330 private val logger = KotlinLogging .logger { }
1431
1532 companion object {
Original file line number Diff line number Diff line change @@ -6,4 +6,6 @@ interface FcmTokenPort {
66 fun persist (fcmToken : FcmToken ): FcmToken
77
88 fun loadByUserId (userId : Long ): List <FcmToken >
9+
10+ fun loadByUserIdAndToken (userId : Long , token : String ): FcmToken ?
911}
Original file line number Diff line number Diff line change @@ -112,6 +112,9 @@ class UserService(
112112 override fun createFcmToken (userId : Long , request : CreateFcmTokenRequest ): FcmToken {
113113 val user = userPort.loadById(userId)
114114 ? : throw NotFoundCustomException (UserErrorCode .NOT_FOUND_USER )
115+ fcmTokenPort.loadByUserIdAndToken(user.id, request.token)
116+ ?.let { return it }
117+
115118 val fcmToken = FcmToken (user.id, request.token)
116119 return fcmTokenPort.persist(fcmToken)
117120 }
You can’t perform that action at this time.
0 commit comments