event-service 초기 구현 및 JWT 토큰 매장 ID 추가

- JWT 토큰에 매장 ID(storeId) 필드 추가
- event-service 구현 (이벤트 생성/조회 API)
- hibernate-types 의존성 추가 (UUID 지원)
- API 매핑 문서 추가
- IntelliJ 실행 프로파일 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
merrycoral
2025-10-24 10:17:45 +09:00
parent ea82ff4748
commit 5476fe9388
26 changed files with 1937 additions and 2 deletions
@@ -49,17 +49,19 @@ public class JwtTokenProvider {
* Access Token 생성
*
* @param userId 사용자 ID
* @param storeId 매장 ID
* @param email 이메일
* @param name 이름
* @param roles 역할 목록
* @return Access Token
*/
public String createAccessToken(Long userId, String email, String name, List<String> roles) {
public String createAccessToken(Long userId, Long storeId, String email, String name, List<String> roles) {
Date now = new Date();
Date expiryDate = new Date(now.getTime() + accessTokenValidityMs);
return Jwts.builder()
.subject(userId.toString())
.claim("storeId", storeId)
.claim("email", email)
.claim("name", name)
.claim("roles", roles)
@@ -110,12 +112,13 @@ public class JwtTokenProvider {
Claims claims = parseToken(token);
Long userId = Long.parseLong(claims.getSubject());
Long storeId = claims.get("storeId", Long.class);
String email = claims.get("email", String.class);
String name = claims.get("name", String.class);
@SuppressWarnings("unchecked")
List<String> roles = claims.get("roles", List.class);
return new UserPrincipal(userId, email, name, roles);
return new UserPrincipal(userId, storeId, email, name, roles);
}
/**
@@ -23,6 +23,11 @@ public class UserPrincipal implements UserDetails {
*/
private final Long userId;
/**
* 매장 ID
*/
private final Long storeId;
/**
* 사용자 이메일
*/