Skip to content

Commit 7165057

Browse files
authored
♻️ refactor: firebase 모듈 분리 (#256)
* ♻️ refactor: firebase 모듈 분리 * 🐛 fix: db.yml local profile 주석 처리
1 parent ee5020a commit 7165057

File tree

12 files changed

+38
-23
lines changed

12 files changed

+38
-23
lines changed

.github/workflows/ci_gradle.yml

+12-6
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ jobs:
2424
echo "spring:" > application.yml
2525
echo " profiles:" >> application.yml
2626
echo " group:" >> application.yml
27-
echo " "local": "db, s3, email, portone, secret"" >> application.yml
28-
echo " "prod": "db, s3, redis, email, portone"" >> application.yml
27+
echo " "local": "db, s3, email, portone, firebase, secret"" >> application.yml
28+
echo " "prod": "db, s3, redis, email, portone, firebase"" >> application.yml
2929
echo " default: prod" >> application.yml
3030
3131
echo " servlet:" >> application.yml
@@ -38,8 +38,8 @@ jobs:
3838
env:
3939
DATA: ${{ secrets.FIREBASE_KEY }}
4040
run: |
41-
mkdir -p ./api/src/main/resources/firebase
42-
echo $DATA > ./api/src/main/resources/firebase/firebase-key.json
41+
mkdir -p ./core/core-infra-firebase/src/main/resources/firebase
42+
echo $DATA > ./core/core-infra-firebase/src/main/resources/firebase/firebase-key.json
4343
4444
- name: 3) Set prod.yml
4545
uses: microsoft/variable-substitution@v1
@@ -49,8 +49,6 @@ jobs:
4949
spring.jwt.secret: ${{ secrets.JWT_SECRET }}
5050
spring.jwt.token.access-expiration-time: ${{ secrets.JWT_ACCESS_EXPIRATION_TIME }}
5151
spring.jwt.token.refresh-expiration-time: ${{ secrets.JWT_REFRESH_EXPIRATION_TIME }}
52-
firebase.fcmUrl: ${{ secrets.FIREBASE_URL}}
53-
firebase.firebaseConfigPath: ${{ secrets.FIREBASE_PATH}}
5452

5553
- name: 4) Set application-db.yml
5654
uses: microsoft/variable-substitution@v1
@@ -96,6 +94,14 @@ jobs:
9694
PORT_ONE_KEY: ${{ secrets.PORT_ONE_KEY}}
9795
PORT_ONE_SECRET: ${{ secrets.PORT_ONE_SECRET}}
9896

97+
- name: 9) Set application-firebase.yml
98+
uses: microsoft/variable-substitution@v1
99+
with:
100+
files: ./core/core-infra-firebase/src/main/resources/application-firebase.yml
101+
env:
102+
firebase.fcmUrl: ${{ secrets.FIREBASE_URL}}
103+
firebase.firebaseConfigPath: ${{ secrets.FIREBASE_PATH}}
104+
99105
- name: Grant execute permission for gradlew and build
100106
run: |
101107
chmod +x ./gradlew

api/build.gradle

+1-4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ dependencies {
66
implementation project(':core:core-infra-redis');
77
implementation project(':core:core-infra-email');
88
implementation project(':core:core-infra-portone');
9+
implementation project(':core:core-infra-firebase');
910

1011
// Core
1112
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
@@ -32,10 +33,6 @@ dependencies {
3233

3334
// Validation
3435
implementation 'org.springframework.boot:spring-boot-starter-validation'
35-
36-
// FCM
37-
implementation 'com.google.firebase:firebase-admin:9.1.1'
38-
implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.2.2'
3936
}
4037
bootJar { enabled = true }
4138
jar { enabled = false }

api/src/main/java/com/sponus/sponusbe/domain/notification/controller/FirebaseTestController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import org.springframework.web.bind.annotation.RestController;
99

1010
import com.sponus.coredomain.domain.organization.Organization;
11+
import com.sponus.coreinfrafirebase.FirebaseService;
1112
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
1213
import com.sponus.sponusbe.domain.notification.dto.request.NotificationTestRequest;
13-
import com.sponus.sponusbe.domain.notification.service.FirebaseService;
1414

1515
import lombok.RequiredArgsConstructor;
1616
import lombok.extern.slf4j.Slf4j;

api/src/main/java/com/sponus/sponusbe/domain/propose/service/ProposeService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
import com.sponus.coredomain.domain.propose.ProposeAttachment;
1515
import com.sponus.coredomain.domain.propose.ProposeStatus;
1616
import com.sponus.coredomain.domain.propose.repository.ProposeRepository;
17+
import com.sponus.coreinfrafirebase.FirebaseService;
1718
import com.sponus.coreinfras3.S3Util;
1819
import com.sponus.sponusbe.domain.announcement.exception.AnnouncementErrorCode;
1920
import com.sponus.sponusbe.domain.announcement.exception.AnnouncementException;
20-
import com.sponus.sponusbe.domain.notification.service.FirebaseService;
2121
import com.sponus.sponusbe.domain.propose.dto.request.ProposeCreateRequest;
2222
import com.sponus.sponusbe.domain.propose.dto.request.ProposeStatusUpdateRequest;
2323
import com.sponus.sponusbe.domain.propose.dto.request.ProposeUpdateRequest;

api/src/main/java/com/sponus/sponusbe/domain/report/service/ReportService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
import com.sponus.coredomain.domain.report.ReportAttachment;
1515
import com.sponus.coredomain.domain.report.ReportImage;
1616
import com.sponus.coredomain.domain.report.repository.ReportRepository;
17+
import com.sponus.coreinfrafirebase.FirebaseService;
1718
import com.sponus.coreinfras3.S3Util;
18-
import com.sponus.sponusbe.domain.notification.service.FirebaseService;
1919
import com.sponus.sponusbe.domain.propose.exception.ProposeErrorCode;
2020
import com.sponus.sponusbe.domain.report.dto.request.ReportCreateRequest;
2121
import com.sponus.sponusbe.domain.report.dto.request.ReportUpdateRequest;

api/src/main/resources/application-prod.yml

-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,3 @@ spring:
77
token:
88
access-expiration-time: ${JWT_ACCESS_EXPIRATION_TIME}
99
refresh-expiration-time: ${JWT_REFRESH_EXPIRATION_TIME}
10-
11-
firebase:
12-
fcmUrl: ${FIREBASE_URL}
13-
firebaseConfigPath: ${FIREBASE_PATH}
14-
scope: https://www.googleapis.com/auth/cloud-platform

api/src/main/resources/application.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ server:
44
spring:
55
profiles:
66
group:
7-
"local": "db, s3, email, portone, secret"
8-
"prod": "db, s3, redis, email, portone"
7+
"local": "db, s3, email, portone, firebase, secret"
8+
"prod": "db, s3, redis, email, portone, firebase"
99
default: local
1010

1111
servlet:

core/core-infra-firebase/build.gradle

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
dependencies {
2+
implementation project(':core:core-domain');
3+
implementation project(':core:core-infra-redis');
4+
5+
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
6+
7+
// FCM
8+
implementation 'com.google.firebase:firebase-admin:9.1.1'
9+
implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.2.2'
10+
}
11+
12+
bootJar { enabled = false }
13+
jar { enabled = true }

api/src/main/java/com/sponus/sponusbe/domain/notification/dto/request/FcmMessage.java core/core-infra-firebase/src/main/java/com/sponus/coreinfrafirebase/FcmMessage.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.domain.notification.dto.request;
1+
package com.sponus.coreinfrafirebase;
22

33
import com.sponus.coredomain.domain.notification.Notification;
44

api/src/main/java/com/sponus/sponusbe/domain/notification/service/FirebaseService.java core/core-infra-firebase/src/main/java/com/sponus/coreinfrafirebase/FirebaseService.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.sponus.sponusbe.domain.notification.service;
1+
package com.sponus.coreinfrafirebase;
22

33
import java.io.IOException;
44
import java.util.List;
@@ -18,7 +18,6 @@
1818
import com.sponus.coredomain.domain.propose.Propose;
1919
import com.sponus.coredomain.domain.report.Report;
2020
import com.sponus.coreinfraredis.util.RedisUtil;
21-
import com.sponus.sponusbe.domain.notification.dto.request.FcmMessage;
2221

2322
import lombok.RequiredArgsConstructor;
2423
import lombok.extern.slf4j.Slf4j;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
firebase:
2+
fcmUrl: ${FIREBASE_URL}
3+
firebaseConfigPath: ${FIREBASE_PATH}
4+
scope: https://www.googleapis.com/auth/cloud-platform

settings.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ include 'core:core-infra-s3'
66
include 'core:core-infra-redis'
77
include 'core:core-infra-email'
88
include 'core:core-infra-portone'
9+
include 'core:core-infra-firebase'

0 commit comments

Comments
 (0)