Skip to content

Commit 3aff771

Browse files
committed
feat: 기본 어드민 사용자 추가
1 parent d2968be commit 3aff771

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package org.example.gridgestagram.data;
2+
3+
import java.time.LocalDate;
4+
import lombok.RequiredArgsConstructor;
5+
import lombok.extern.slf4j.Slf4j;
6+
import org.example.gridgestagram.repository.subscription.entity.vo.SubscriptionStatus;
7+
import org.example.gridgestagram.repository.user.UserRepository;
8+
import org.example.gridgestagram.repository.user.entity.User;
9+
import org.example.gridgestagram.repository.user.entity.vo.Role;
10+
import org.example.gridgestagram.repository.user.entity.vo.UserStatus;
11+
import org.springframework.boot.ApplicationArguments;
12+
import org.springframework.boot.ApplicationRunner;
13+
import org.springframework.core.annotation.Order;
14+
import org.springframework.security.crypto.password.PasswordEncoder;
15+
import org.springframework.stereotype.Component;
16+
17+
@Component
18+
@RequiredArgsConstructor
19+
@Slf4j
20+
@Order(3)
21+
public class TestDataInitializer implements ApplicationRunner {
22+
23+
private final UserRepository userRepository;
24+
private final PasswordEncoder passwordEncoder; // 비밀번호 암호화 필요
25+
26+
@Override
27+
public void run(ApplicationArguments args) throws Exception {
28+
// 어드민 사용자
29+
if (!userRepository.findByUsername("admin").isPresent()) {
30+
User adminUser = User.builder()
31+
.username("admin")
32+
.name("관리자")
33+
.password(passwordEncoder.encode("admin1234")) // 임시 비번
34+
.phone("01011112222")
35+
.provider(null)
36+
.providerId(null)
37+
.status(UserStatus.ACTIVE)
38+
.subscriptionStatus(SubscriptionStatus.INACTIVE)
39+
.birthdate(LocalDate.of(1980, 1, 1))
40+
.profileImageUrl("")
41+
.role(Role.ADMIN)
42+
.createdAt(java.time.LocalDateTime.now())
43+
.updatedAt(java.time.LocalDateTime.now())
44+
.build();
45+
46+
userRepository.save(adminUser);
47+
log.info("어드민 사용자 생성됨: {}", adminUser.getUsername());
48+
}
49+
}
50+
}

0 commit comments

Comments
 (0)