11package org .clokey .domain .auth .service ;
22
33import lombok .RequiredArgsConstructor ;
4+ import lombok .extern .slf4j .Slf4j ;
45import org .clokey .domain .auth .util .UniqueUtil ;
56import org .clokey .domain .member .repository .MemberRepository ;
7+ import org .clokey .domain .search .event .MeiliSearchSyncEvent ;
68import org .clokey .global .security .CustomPrincipal ;
79import org .clokey .member .entity .Member ;
810import org .clokey .member .entity .OauthInfo ;
911import org .clokey .member .enums .OauthProvider ;
12+ import org .springframework .context .ApplicationEventPublisher ;
1013import org .springframework .security .oauth2 .client .oidc .userinfo .OidcUserRequest ;
1114import org .springframework .security .oauth2 .client .oidc .userinfo .OidcUserService ;
1215import org .springframework .security .oauth2 .core .OAuth2AuthenticationException ;
1316import org .springframework .security .oauth2 .core .oidc .user .OidcUser ;
1417import org .springframework .stereotype .Service ;
18+ import org .springframework .transaction .annotation .Transactional ;
1519
20+ @ Slf4j
1621@ Service
1722@ RequiredArgsConstructor
1823public class CustomOAuth2UserService extends OidcUserService {
1924
2025 private final MemberRepository memberRepository ;
2126 private final UniqueUtil uniqueUtil ;
27+ private final ApplicationEventPublisher eventPublisher ;
2228
2329 @ Override
30+ @ Transactional
2431 public OidcUser loadUser (OidcUserRequest userRequest ) throws OAuth2AuthenticationException {
2532 OidcUser oidcUser = super .loadUser (userRequest );
2633
@@ -42,7 +49,12 @@ public OidcUser loadUser(OidcUserRequest userRequest) throws OAuth2Authenticatio
4249 uniqueUtil .generateRandomId (),
4350 uniqueUtil .generateRandomNickname (),
4451 oauthInfo );
45- return memberRepository .save (newMember );
52+ memberRepository .save (newMember );
53+ eventPublisher .publishEvent (
54+ MeiliSearchSyncEvent .of (
55+ MeiliSearchSyncEvent .EntityType .MEMBER ,
56+ newMember .getId ()));
57+ return newMember ;
4658 });
4759
4860 return new CustomPrincipal (member , oidcUser .getAttributes (), oidcUser .getIdToken ());
0 commit comments