Skip to content

Commit e9d4fb0

Browse files
committed
Refactor EmailDataInitializer to use ApplicationReadyEvent and improve error handling; update application.properties for default values
1 parent cff84e5 commit e9d4fb0

3 files changed

Lines changed: 23 additions & 24 deletions

File tree

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ target/
1616
*.iws
1717
*.iml
1818
*.ipr
19-
*.application.properties
2019

2120
/nbproject/private/
2221
/nbbuild/

src/main/java/com/syncora/email/config/EmailDataInitializer.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
import com.syncora.user.repository.UserRepository;
88
import lombok.RequiredArgsConstructor;
99
import lombok.extern.slf4j.Slf4j;
10-
import org.springframework.boot.CommandLineRunner;
11-
import org.springframework.context.annotation.Bean;
10+
import org.springframework.boot.context.event.ApplicationReadyEvent;
1211
import org.springframework.context.annotation.Configuration;
12+
import org.springframework.context.event.EventListener;
1313

1414
import java.time.LocalDateTime;
1515
import java.util.ArrayList;
@@ -20,9 +20,12 @@
2020
@Slf4j
2121
public class EmailDataInitializer {
2222

23-
@Bean
24-
public CommandLineRunner initializeEmailData(EmailRepository emailRepository, UserRepository userRepository) {
25-
return args -> {
23+
private final EmailRepository emailRepository;
24+
private final UserRepository userRepository;
25+
26+
@EventListener(ApplicationReadyEvent.class)
27+
public void initializeEmailData() {
28+
try {
2629
if (emailRepository.count() > 0) {
2730
log.info("Email data already exists, skipping initialization");
2831
return;
@@ -146,6 +149,8 @@ public CommandLineRunner initializeEmailData(EmailRepository emailRepository, Us
146149

147150
emailRepository.saveAll(sampleEmails);
148151
log.info("Created {} sample emails for user: {}", sampleEmails.size(), userEmail);
149-
};
152+
} catch (Exception e) {
153+
log.error("Failed to initialize email data", e);
154+
}
150155
}
151156
}

src/main/resources/application.properties

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ spring.servlet.multipart.max-request-size=20MB
2929
# ===========================
3030
# JWT Configuration
3131
# ===========================
32-
jwt.secret=${JWT_SECRET}
32+
jwt.secret=${JWT_SECRET:jZa6xxwm97/ssrtvgqe0UAH03ULb+KdDmp/a8pKL+IkOdqCz9aRUPP+Axix2HuVLQqxd1k1U9pXudyx9TAUtYA==}
3333
jwt.algorithm=HS384
34-
jwt.expiration=${JWT_EXPIRATION:86400000} # 1 day
35-
jwt.refresh-expiration=${JWT_REFRESH_EXPIRATION:604800000} # 7 days
34+
# 1 day in milliseconds
35+
jwt.expiration=${JWT_EXPIRATION:86400000}
36+
# 7 days in milliseconds
37+
jwt.refresh-expiration=${JWT_REFRESH_EXPIRATION:604800000}
3638

3739
# ===========================
3840
# Storage Configuration
@@ -56,28 +58,21 @@ spring.output.ansi.enabled=never
5658
# ===========================
5759
# Ably Configuration
5860
# ===========================
59-
ably.api.key=${ABLY_API_KEY}
61+
ably.api.key=${ABLY_API_KEY:your-ably-key-here}
6062

6163
# ===========================
6264
# OAuth2 Configuration
6365
# ===========================
6466
# GitHub OAuth
65-
spring.security.oauth2.client.registration.github.client-id=${GITHUB_CLIENT_ID}
66-
spring.security.oauth2.client.registration.github.client-secret=${GITHUB_CLIENT_SECRET}
67+
spring.security.oauth2.client.registration.github.client-id=${GITHUB_CLIENT_ID:your-github-client-id}
68+
spring.security.oauth2.client.registration.github.client-secret=${GITHUB_CLIENT_SECRET:your-github-client-secret}
6769
spring.security.oauth2.client.registration.github.scope=read:user,user:email
6870
spring.security.oauth2.client.registration.github.redirect-uri=${GITHUB_REDIRECT_URI:http://localhost:8081/login/oauth2/code/github}
6971

7072
# Google OAuth
71-
spring.security.oauth2.client.registration.google.client-id=${GOOGLE_CLIENT_ID}
72-
spring.security.oauth2.client.registration.google.client-secret=${GOOGLE_CLIENT_SECRET}
73+
spring.security.oauth2.client.registration.google.client-id=${GOOGLE_CLIENT_ID:your-google-client-id}
74+
spring.security.oauth2.client.registration.google.client-secret=${GOOGLE_CLIENT_SECRET:your-google-client-secret}
7375
spring.security.oauth2.client.registration.google.scope=profile,email
74-
spring.security.oauth2.client.registration.google.redirect-uri=${GOOGLE_REDIRECT_URI:http://localhost:8080/login/oauth2/code/google}
75-
oauth2.frontend.redirect-url=${OAUTH2_FRONTEND_REDIRECT_URL:http://localhost:8080/auth/callback}
76+
spring.security.oauth2.client.registration.google.redirect-uri=http://localhost:8081/login/oauth2/code/google
77+
oauth2.frontend.redirect-url=http://localhost:8080/auth/callback
7678

77-
# ===========================
78-
# ZegoCloud Configuration
79-
# ===========================
80-
zego.app-id=${ZEGO_APP_ID}
81-
zego.server-secret=${ZEGO_SERVER_SECRET}
82-
zego.ws-url=${ZEGO_WS_URL}
83-
zego.token-expiry=${ZEGO_TOKEN_EXPIRY:3600}

0 commit comments

Comments
 (0)