diff --git a/meeting/bin/main/application.yml b/meeting/bin/main/application.yml index 965323f..5fa5bf6 100644 --- a/meeting/bin/main/application.yml +++ b/meeting/bin/main/application.yml @@ -8,7 +8,7 @@ spring: datasource: url: jdbc:${DB_KIND:postgresql}://${DB_HOST:4.230.48.72}:${DB_PORT:5432}/${DB_NAME:meetingdb} username: ${DB_USERNAME:hgzerouser} - password: ${DB_PASSWORD:} + password: ${DB_PASSWORD:Hi5Jessica!} driver-class-name: org.postgresql.Driver hikari: maximum-pool-size: 20 @@ -35,7 +35,7 @@ spring: redis: host: ${REDIS_HOST:20.249.177.114} port: ${REDIS_PORT:6379} - password: ${REDIS_PASSWORD:} + password: ${REDIS_PASSWORD:Hi5Jessica!} timeout: 2000ms lettuce: pool: @@ -51,7 +51,7 @@ server: # JWT Configuration jwt: - secret: ${JWT_SECRET:} + secret: ${JWT_SECRET:hgzero-jwt-secret-key-for-dev-environment-only-do-not-use-in-production-minimum-256-bits} access-token-validity: ${JWT_ACCESS_TOKEN_VALIDITY:3600} refresh-token-validity: ${JWT_REFRESH_TOKEN_VALIDITY:604800} @@ -125,5 +125,11 @@ api: # Azure EventHub Configuration eventhub: connection-string: ${EVENTHUB_CONNECTION_STRING:} - name: ${EVENTHUB_NAME:hgzero-eventhub-name} + name: ${EVENTHUB_NAME:hgzero-events} consumer-group: ${EVENTHUB_CONSUMER_GROUP:$Default} + +# Azure Storage Configuration (for EventHub checkpoints) +azure: + storage: + connection-string: ${AZURE_STORAGE_CONNECTION_STRING:} + container: ${AZURE_STORAGE_CONTAINER:hgzero-checkpoints} diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting$MeetingBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting$MeetingBuilder.class index 427963b..77c76af 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting$MeetingBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting$MeetingBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting.class index c9b6bed..72fcfe6 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Meeting.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$AgendaAnalysis$AgendaAnalysisBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$AgendaAnalysis$AgendaAnalysisBuilder.class new file mode 100644 index 0000000..f908f87 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$AgendaAnalysis$AgendaAnalysisBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$AgendaAnalysis.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$AgendaAnalysis.class new file mode 100644 index 0000000..4ea0f0c Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$AgendaAnalysis.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$MeetingAnalysisBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$MeetingAnalysisBuilder.class new file mode 100644 index 0000000..40fc474 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis$MeetingAnalysisBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis.class new file mode 100644 index 0000000..bdea834 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/MeetingAnalysis.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Session$SessionBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Session$SessionBuilder.class new file mode 100644 index 0000000..dbc167a Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Session$SessionBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Session.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Session.class new file mode 100644 index 0000000..b5ab739 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Session.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingDTO.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingDTO.class index c5174fe..0de22e3 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingDTO.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingDTO.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaDetailsDTO$AgendaDetailsDTOBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaDetailsDTO$AgendaDetailsDTOBuilder.class new file mode 100644 index 0000000..2e122d3 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaDetailsDTO$AgendaDetailsDTOBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaDetailsDTO.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaDetailsDTO.class new file mode 100644 index 0000000..5537d7d Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaDetailsDTO.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaSummaryDTO$AgendaSummaryDTOBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaSummaryDTO$AgendaSummaryDTOBuilder.class new file mode 100644 index 0000000..3a67873 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaSummaryDTO$AgendaSummaryDTOBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaSummaryDTO.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaSummaryDTO.class new file mode 100644 index 0000000..5d18f86 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$AgendaSummaryDTO.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$MeetingEndDTOBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$MeetingEndDTOBuilder.class new file mode 100644 index 0000000..6fe24ed Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$MeetingEndDTOBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$TodoSummaryDTO$TodoSummaryDTOBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$TodoSummaryDTO$TodoSummaryDTOBuilder.class new file mode 100644 index 0000000..5502a48 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$TodoSummaryDTO$TodoSummaryDTOBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$TodoSummaryDTO.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$TodoSummaryDTO.class new file mode 100644 index 0000000..8c84c3f Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO$TodoSummaryDTO.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO.class new file mode 100644 index 0000000..fed0d5f Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/dto/MeetingEndDTO.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/ApplyTemplateService.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/ApplyTemplateService.class new file mode 100644 index 0000000..41e5bd1 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/ApplyTemplateService.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class index af138b0..aad9142 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/ApplyTemplateUseCase$ApplyTemplateCommand.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/ApplyTemplateUseCase$ApplyTemplateCommand.class new file mode 100644 index 0000000..93f2038 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/ApplyTemplateUseCase$ApplyTemplateCommand.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/ApplyTemplateUseCase.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/ApplyTemplateUseCase.class new file mode 100644 index 0000000..548a9be Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/ApplyTemplateUseCase.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/CreateMeetingUseCase$CreateMeetingCommand.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/CreateMeetingUseCase$CreateMeetingCommand.class index 0ddb7a2..6da11b0 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/CreateMeetingUseCase$CreateMeetingCommand.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/CreateMeetingUseCase$CreateMeetingCommand.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/EndMeetingUseCase.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/EndMeetingUseCase.class index efde2c1..ca7800f 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/EndMeetingUseCase.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/EndMeetingUseCase.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/InviteParticipantUseCase$InviteParticipantCommand.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/InviteParticipantUseCase$InviteParticipantCommand.class new file mode 100644 index 0000000..d696561 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/InviteParticipantUseCase$InviteParticipantCommand.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/InviteParticipantUseCase.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/InviteParticipantUseCase.class new file mode 100644 index 0000000..300ebe2 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/InviteParticipantUseCase.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/StartMeetingUseCase.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/StartMeetingUseCase.class index 8f5a5c2..c242a14 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/StartMeetingUseCase.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/in/meeting/StartMeetingUseCase.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingAnalysisReader.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingAnalysisReader.class new file mode 100644 index 0000000..b9809c3 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingAnalysisReader.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingAnalysisWriter.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingAnalysisWriter.class new file mode 100644 index 0000000..e87ff99 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingAnalysisWriter.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingReader.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingReader.class index e727a1e..b1cbe26 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingReader.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/MeetingReader.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/ParticipantReader.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/ParticipantReader.class new file mode 100644 index 0000000..39bccf4 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/ParticipantReader.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/ParticipantWriter.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/ParticipantWriter.class new file mode 100644 index 0000000..d6d0d73 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/ParticipantWriter.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/SessionReader.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/SessionReader.class new file mode 100644 index 0000000..8ce9590 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/SessionReader.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/SessionWriter.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/SessionWriter.class new file mode 100644 index 0000000..5c61854 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/usecase/out/SessionWriter.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/EventHubConfig.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/EventHubConfig.class index b0cff59..7e6f741 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/EventHubConfig.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/EventHubConfig.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/SecurityConfig.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/SecurityConfig.class index 787429a..538c78a 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/SecurityConfig.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/SecurityConfig.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtAuthenticationFilter.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtAuthenticationFilter.class index 60d181b..fd56adc 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtAuthenticationFilter.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtAuthenticationFilter.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtTokenProvider.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtTokenProvider.class deleted file mode 100644 index df860a5..0000000 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/JwtTokenProvider.class and /dev/null differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal$UserPrincipalBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal$UserPrincipalBuilder.class index ad1959f..f806f10 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal$UserPrincipalBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal$UserPrincipalBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal.class index 6d30873..02da6c3 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/jwt/UserPrincipal.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/DashboardController.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/DashboardController.class index 79b7d38..e374030 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/DashboardController.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/DashboardController.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MeetingController.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MeetingController.class index 1a0af43..cf7558f 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MeetingController.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MeetingController.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MinutesController.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MinutesController.class index c99e5da..22d5185 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MinutesController.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/controller/MinutesController.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/CreateMeetingRequest.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/CreateMeetingRequest.class index fe33c4e..348d21c 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/CreateMeetingRequest.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/CreateMeetingRequest.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/InviteParticipantRequest.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/InviteParticipantRequest.class new file mode 100644 index 0000000..e906f30 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/InviteParticipantRequest.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/SelectTemplateRequest.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/SelectTemplateRequest.class index 0ebbe94..40ed226 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/SelectTemplateRequest.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/request/SelectTemplateRequest.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$ActiveTodoResponse$ActiveTodoResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$ActiveTodoResponse$ActiveTodoResponseBuilder.class deleted file mode 100644 index 503bbf1..0000000 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$ActiveTodoResponse$ActiveTodoResponseBuilder.class and /dev/null differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$ActiveTodoResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$ActiveTodoResponse.class deleted file mode 100644 index 3841539..0000000 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$ActiveTodoResponse.class and /dev/null differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$DashboardResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$DashboardResponseBuilder.class index 4f4aae9..5efb96c 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$DashboardResponseBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$DashboardResponseBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse$RecentMinutesResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse$RecentMinutesResponseBuilder.class index af3adce..8a64e72 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse$RecentMinutesResponseBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse$RecentMinutesResponseBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse.class index 196342d..06c85f3 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$RecentMinutesResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse$StatisticsResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse$StatisticsResponseBuilder.class index 3b0d6e4..ae11b74 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse$StatisticsResponseBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse$StatisticsResponseBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse.class index def39e9..54812bc 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$StatisticsResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse$UpcomingMeetingResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse$UpcomingMeetingResponseBuilder.class index 3f67c00..ce3ebcd 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse$UpcomingMeetingResponseBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse$UpcomingMeetingResponseBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse.class index 1461a8c..bc03fc2 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse$UpcomingMeetingResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.class index e0a5416..278c33f 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/InviteParticipantResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/InviteParticipantResponse.class new file mode 100644 index 0000000..2040f0a Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/InviteParticipantResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaDetails$AgendaDetailsBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaDetails$AgendaDetailsBuilder.class new file mode 100644 index 0000000..c7bc0d5 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaDetails$AgendaDetailsBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaDetails.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaDetails.class new file mode 100644 index 0000000..64ddf0a Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaDetails.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaSummary$AgendaSummaryBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaSummary$AgendaSummaryBuilder.class new file mode 100644 index 0000000..da75be2 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaSummary$AgendaSummaryBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaSummary.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaSummary.class new file mode 100644 index 0000000..396b184 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$AgendaSummary.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$MeetingEndResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$MeetingEndResponseBuilder.class new file mode 100644 index 0000000..78e1154 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$MeetingEndResponseBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$TodoSummary$TodoSummaryBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$TodoSummary$TodoSummaryBuilder.class new file mode 100644 index 0000000..6694511 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$TodoSummary$TodoSummaryBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$TodoSummary.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$TodoSummary.class new file mode 100644 index 0000000..8a0f70c Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse$TodoSummary.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse.class new file mode 100644 index 0000000..3313d4d Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/MeetingEndResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse$SessionResponseBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse$SessionResponseBuilder.class index 6779b1d..e2728ea 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse$SessionResponseBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse$SessionResponseBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse.class index 5015a78..7d01741 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/dto/response/SessionResponse.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/constant/EventHubConstants.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/constant/EventHubConstants.class new file mode 100644 index 0000000..a1c72f7 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/constant/EventHubConstants.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent$MeetingStartedEventBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent$MeetingStartedEventBuilder.class index 34cd2b3..f2d104d 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent$MeetingStartedEventBuilder.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent$MeetingStartedEventBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent.class index 9c6442f..fc69a4a 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/dto/MeetingStartedEvent.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventHubPublisher.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventHubPublisher.class index 897c327..8cf86c9 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventHubPublisher.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventHubPublisher.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventPublisher.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventPublisher.class index 18b9ce3..5b24260 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventPublisher.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/EventPublisher.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class index 0d63331..ab38794 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.class index 24725c9..2c50b60 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingAnalysisGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingAnalysisGateway.class new file mode 100644 index 0000000..cc0989c Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingAnalysisGateway.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingGateway.class index 3258e48..4e11399 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingGateway.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MeetingGateway.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/ParticipantGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/ParticipantGateway.class index 991f75c..e109f8b 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/ParticipantGateway.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/ParticipantGateway.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/SessionGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/SessionGateway.class new file mode 100644 index 0000000..f0c3af6 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/SessionGateway.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingAnalysisEntity$MeetingAnalysisEntityBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingAnalysisEntity$MeetingAnalysisEntityBuilder.class new file mode 100644 index 0000000..ea3c00a Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingAnalysisEntity$MeetingAnalysisEntityBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingAnalysisEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingAnalysisEntity.class new file mode 100644 index 0000000..1fde838 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingAnalysisEntity.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class index 59497c3..4700fee 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.class index 98630b2..f32073c 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/SessionEntity$SessionEntityBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/SessionEntity$SessionEntityBuilder.class new file mode 100644 index 0000000..445873f Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/SessionEntity$SessionEntityBuilder.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/SessionEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/SessionEntity.class new file mode 100644 index 0000000..d12b50d Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/SessionEntity.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.class index 16119ad..8a535b9 100644 Binary files a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.class and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingAnalysisJpaRepository.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingAnalysisJpaRepository.class new file mode 100644 index 0000000..000b58d Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingAnalysisJpaRepository.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/SessionJpaRepository.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/SessionJpaRepository.class new file mode 100644 index 0000000..cb31308 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/SessionJpaRepository.class differ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/mapper/DashboardResponseMapper.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/mapper/DashboardResponseMapper.class new file mode 100644 index 0000000..6ec3cd9 Binary files /dev/null and b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/mapper/DashboardResponseMapper.class differ diff --git a/meeting/bin/main/db/migration/V2__create_meeting_participants_table.sql b/meeting/bin/main/db/migration/V2__create_meeting_participants_table.sql new file mode 100644 index 0000000..95e3cde --- /dev/null +++ b/meeting/bin/main/db/migration/V2__create_meeting_participants_table.sql @@ -0,0 +1,41 @@ +-- 회의 참석자 테이블 생성 +CREATE TABLE IF NOT EXISTS meeting_participants ( + meeting_id VARCHAR(50) NOT NULL, + user_id VARCHAR(100) NOT NULL, + invitation_status VARCHAR(20) DEFAULT 'PENDING', + attended BOOLEAN DEFAULT FALSE, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (meeting_id, user_id), + CONSTRAINT fk_meeting_participants_meeting + FOREIGN KEY (meeting_id) REFERENCES meetings(meeting_id) + ON DELETE CASCADE +); + +-- 기존 meetings 테이블의 participants 데이터를 meeting_participants 테이블로 마이그레이션 +INSERT INTO meeting_participants (meeting_id, user_id, invitation_status, attended, created_at, updated_at) +SELECT + m.meeting_id, + TRIM(participant) as user_id, + 'PENDING' as invitation_status, + FALSE as attended, + m.created_at, + m.updated_at +FROM meetings m +CROSS JOIN LATERAL unnest(string_to_array(m.participants, ',')) AS participant +WHERE m.participants IS NOT NULL AND m.participants != ''; + +-- meetings 테이블에서 participants 컬럼 삭제 +ALTER TABLE meetings DROP COLUMN IF EXISTS participants; + +-- 인덱스 생성 +CREATE INDEX idx_meeting_participants_user_id ON meeting_participants(user_id); +CREATE INDEX idx_meeting_participants_invitation_status ON meeting_participants(invitation_status); +CREATE INDEX idx_meeting_participants_meeting_id_status ON meeting_participants(meeting_id, invitation_status); + +-- 코멘트 추가 +COMMENT ON TABLE meeting_participants IS '회의 참석자 정보'; +COMMENT ON COLUMN meeting_participants.meeting_id IS '회의 ID'; +COMMENT ON COLUMN meeting_participants.user_id IS '사용자 ID (이메일)'; +COMMENT ON COLUMN meeting_participants.invitation_status IS '초대 상태 (PENDING, ACCEPTED, DECLINED)'; +COMMENT ON COLUMN meeting_participants.attended IS '참석 여부'; diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index daa8059..494a116 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -2648,3 +2648,2929 @@ com.unicorn.hgzero.common.exception.BusinessException: 요청한 리소스를 (?, ?, ?, ?, ?, ?) 2025-10-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MeetingController - 참석자 초대 완료 - meetingId: meeting-scheduled-2, email: newparticipant@example.com 2025-10-27 14:34:15 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.inviteParticipant 완료 - 실행시간: 638ms +2025-10-27 14:52:14 [parallel-10] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"} +2025-10-27 14:54:42 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:54:42 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_34d98e_1761542771420","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 14:54:42 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 14:54:42 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 14:54:42 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@440d45c5] for TypeConfiguration +2025-10-27 14:54:42 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@61085954] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@440d45c5] +2025-10-27 14:54:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_34d98e_1761542771420","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"} +2025-10-27 14:54:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_34d98e_1761542771420","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"} +2025-10-27 14:54:42 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 14:54:42 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 15:02:08 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 69860 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 15:02:08 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 15:02:08 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 68 ms. Found 8 JPA repository interfaces. +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:02:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces. +2025-10-27 15:02:10 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 15:02:10 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 15:02:10 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 15:02:10 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 15:02:10 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1211 ms +2025-10-27 15:02:10 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 15:02:10 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 15:02:10 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@684a802a +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@22ee7fdc +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@22ee7fdc +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@470f0637 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@4203529f +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@7d82ca56 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@2aaa89c2 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@5a58db42 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@217fd3c +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@69ac5752 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@1736273c +2025-10-27 15:02:10 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 15:02:10 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 15:02:10 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2b409174 +2025-10-27 15:02:10 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 15:02:10 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-27 15:02:10 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@29ae2517) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7a78d2aa) +2025-10-27 15:02:10 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@254d8ef6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@2a9e7b4d) +2025-10-27 15:02:10 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 15:02:10 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@32f45e15 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@32f45e15 +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@22ee7fdc` +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:02:10 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:02:10 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@2ad6aeb8] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@4e35a219] +2025-10-27 15:02:11 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-27 15:02:11 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@2ad6aeb8] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@6e21b6f8] +2025-10-27 15:02:11 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 15:02:11 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 15:02:11 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 15:02:11 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 15:02:11 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 15:02:11 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 15:02:11 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@6e21b6f8] for TypeConfiguration +2025-10-27 15:02:11 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 15:02:11 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 15:02:12 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 15:02:12 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_f3b192_1761544932653"} +2025-10-27 15:02:12 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:02:12 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-27 15:02:12 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 2fe059f0-a77d-46de-89c1-6c1fcb7dacdc + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 15:02:12 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 15:02:12 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 15:02:13 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 15:02:13 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-27 15:02:13 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-27 15:02:13 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 15:02:13 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.096 seconds (process running for 5.272) +2025-10-27 15:02:24 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 15:02:24 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 15:02:24 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 14 ms +2025-10-27 15:02:24 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 15:02:24 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 15:02:24 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 15:02:24 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 15:02:24 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 15:02:24 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 15:02:24 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 15:02:24 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:02:24 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:02:24 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:02:24 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 15:02:24 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:02:24 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 15:02:24 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 15:02:24 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 15:02:24 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 15:02:24 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@4e3c61d2]] +2025-10-27 15:02:24 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 15:02:24 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 15:02:24 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:02:24 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 15:02:24 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@1aa6425c], /v3/api-docs, ko_KR] +2025-10-27 15:02:24 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 451 ms +2025-10-27 15:02:24 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 461ms +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/dashboard +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-001) +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/dashboard +2025-10-27 15:03:15 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 호출 - 파라미터: [user-001, 1, 1] +2025-10-27 15:03:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 요청 - userId: user-001 +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.DashboardService - Getting dashboard for user: user-001 +2025-10-27 15:03:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 시작 - userId: user-001 +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.assignee_id=? + and te1_0.status=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.organizer_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:03:15 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.assignee_id=? +2025-10-27 15:03:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 완료 - userId: user-001, 예정 회의: 0개, 최근 회의록: 5개, 할당 Todo: 2개 +2025-10-27 15:03:15 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 완료 - userId: user-001 +2025-10-27 15:03:15 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 완료 - 실행시간: 504ms +2025-10-27 15:05:04 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:05:04 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_f3b192_1761544932653","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 15:05:04 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:05:04 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 15:05:04 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@6e21b6f8] for TypeConfiguration +2025-10-27 15:05:04 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@6dd64ba7] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@6e21b6f8] +2025-10-27 15:05:04 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 15:05:04 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 15:10:39 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 71044 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 15:10:39 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 15:10:39 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 72 ms. Found 8 JPA repository interfaces. +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:10:39 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. +2025-10-27 15:10:40 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 15:10:40 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 15:10:40 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 15:10:40 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 15:10:40 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1146 ms +2025-10-27 15:10:40 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 15:10:40 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 15:10:40 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@684a802a +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@1a88d194 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@1a88d194 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@6b278b17 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@2ae5580 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@7d82ca56 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@2aaa89c2 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@5a58db42 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@217fd3c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@69ac5752 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@1736273c +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@ba86c53 +2025-10-27 15:10:40 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 15:10:40 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 15:10:40 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@11939a9f +2025-10-27 15:10:40 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 15:10:40 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-27 15:10:40 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7a78d2aa) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@254d8ef6) +2025-10-27 15:10:40 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@2a9e7b4d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@72406594) +2025-10-27 15:10:40 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 15:10:40 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@4e7151b3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4e7151b3 +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@1a88d194` +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:10:40 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:10:40 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@4e35a219] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@7772ec28] +2025-10-27 15:10:41 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-27 15:10:41 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@4e35a219] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@4bd7e0b6] +2025-10-27 15:10:41 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 15:10:41 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 15:10:41 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 15:10:41 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 15:10:41 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 15:10:41 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 15:10:41 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@4bd7e0b6] for TypeConfiguration +2025-10-27 15:10:41 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 15:10:41 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 15:10:42 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 15:10:42 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_0ee099_1761545442532"} +2025-10-27 15:10:42 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:10:42 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-27 15:10:42 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: fa96bf0e-d1bc-4e74-8adb-934fb333eee7 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 15:10:42 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 15:10:42 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 15:10:43 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 15:10:43 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-27 15:10:43 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-27 15:10:43 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 15:10:43 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.637 seconds (process running for 4.796) +2025-10-27 15:10:48 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 15:10:48 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 15:10:48 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-10-27 15:10:48 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 15:10:48 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 15:10:48 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 15:10:48 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 15:10:48 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:10:48 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 15:10:48 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:10:48 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:10:48 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 15:10:48 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 15:10:48 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:10:48 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 15:10:48 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 15:10:48 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 15:10:48 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 15:10:48 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 15:10:48 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@79a6fc20]] +2025-10-27 15:10:48 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 15:10:48 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 15:10:48 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:10:48 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 15:10:48 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@7f4ff65], /v3/api-docs, ko_KR] +2025-10-27 15:10:49 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 419 ms +2025-10-27 15:10:49 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 429ms +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/dashboard +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-003) +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/dashboard +2025-10-27 15:10:59 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 호출 - 파라미터: [user-003, 1, 1] +2025-10-27 15:10:59 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 요청 - userId: user-003 +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.DashboardService - Getting dashboard for user: user-003 +2025-10-27 15:10:59 [http-nio-8082-exec-4] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 시작 - userId: user-003 +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.organizer_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:10:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:11:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:11:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:11:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:11:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:11:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.assignee_id=? +2025-10-27 15:11:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 완료 - userId: user-003, 예정 회의: 0개, 최근 회의록: 5개 +2025-10-27 15:11:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 완료 - userId: user-003 +2025-10-27 15:11:00 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 완료 - 실행시간: 442ms +2025-10-27 15:13:51 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:13:51 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_0ee099_1761545442532","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 15:13:51 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:13:51 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 15:13:51 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@4bd7e0b6] for TypeConfiguration +2025-10-27 15:13:51 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@4807d51c] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@4bd7e0b6] +2025-10-27 15:13:51 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 15:13:51 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 15:22:13 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 72762 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 15:22:13 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 15:22:13 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 15:22:13 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 15:22:13 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 15:22:13 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 88 ms. Found 8 JPA repository interfaces. +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-27 15:22:14 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. +2025-10-27 15:22:14 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 15:22:14 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 15:22:14 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 15:22:14 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 15:22:14 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1426 ms +2025-10-27 15:22:14 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 15:22:15 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 15:22:15 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@533d7c61 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@533d7c61 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@780a91d0 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@470f0637 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@2ae5580 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@4203529f +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@7d82ca56 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@2aaa89c2 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@5a58db42 +2025-10-27 15:22:15 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 15:22:15 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 15:22:15 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2cd2c764 +2025-10-27 15:22:15 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 15:22:15 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-27 15:22:15 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7fa8fff) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@4423692a) +2025-10-27 15:22:15 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@2175d53f) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@29ae2517) +2025-10-27 15:22:15 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 15:22:15 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@15fd3088 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@15fd3088 +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@533d7c61` +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:22:15 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 15:22:15 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@6130a6f5] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@3fb0d9de] +2025-10-27 15:22:15 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-27 15:22:15 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@6130a6f5] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@6d0d5147] +2025-10-27 15:22:16 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 15:22:16 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 15:22:16 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 15:22:16 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 15:22:16 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 15:22:16 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 15:22:16 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@6d0d5147] for TypeConfiguration +2025-10-27 15:22:16 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 15:22:16 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 15:22:16 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 15:22:16 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 15:22:17 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-27 15:22:17 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 15:22:17 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 15:22:17 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 15:22:17 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 15:22:17 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_26cb8e_1761546137214"} +2025-10-27 15:22:17 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:22:17 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-27 15:22:17 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 79930bb8-f461-4257-ab53-825850992133 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 15:22:17 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 15:22:17 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 15:22:17 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 15:22:17 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-27 15:22:18 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-27 15:22:18 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 15:22:18 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 5.457 seconds (process running for 5.791) +2025-10-27 15:22:24 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 15:22:24 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 15:22:24 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms +2025-10-27 15:22:25 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 15:22:25 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 15:22:25 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 15:22:25 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 15:22:25 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 15:22:25 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 15:22:25 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:22:25 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 15:22:25 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:22:25 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:22:25 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:22:25 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 15:22:25 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 15:22:25 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 15:22:25 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 15:22:25 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 15:22:25 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@2227e355]] +2025-10-27 15:22:25 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 15:22:25 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 15:22:25 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:22:25 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 15:22:25 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@7df094d4], /v3/api-docs, ko_KR] +2025-10-27 15:22:25 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 420 ms +2025-10-27 15:22:25 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 429ms +2025-10-27 15:22:35 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/dashboard +2025-10-27 15:22:35 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-001) +2025-10-27 15:22:35 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/dashboard +2025-10-27 15:22:35 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 호출 - 파라미터: [user-001, 1, 1] +2025-10-27 15:22:35 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 요청 - userId: user-001 +2025-10-27 15:22:35 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.DashboardService - Getting dashboard for user: user-001 +2025-10-27 15:22:35 [http-nio-8082-exec-4] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 시작 - userId: user-001 +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.organizer_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:22:36 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.assignee_id=? +2025-10-27 15:22:36 [http-nio-8082-exec-4] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 완료 - userId: user-001, 예정 회의: 3개, 최근 회의록: 5개 +2025-10-27 15:22:36 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 완료 - userId: user-001 +2025-10-27 15:22:36 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 완료 - 실행시간: 558ms +2025-10-27 15:26:09 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 15:26:09 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 15:26:09 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 15:26:09 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 15:26:09 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 15:26:09 [http-nio-8082-exec-10] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 15:26:09 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-10] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:26:09 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:26:09 [http-nio-8082-exec-10] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 15:26:09 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 15:26:09 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 15:26:09 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 15:26:09 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 15:26:09 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 15:26:09 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 15:26:09 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 15:26:09 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@3587e0e7]] +2025-10-27 15:26:09 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 15:26:09 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 15:26:09 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 15:26:09 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 15:26:09 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@2008994c], /v3/api-docs, ko_KR] +2025-10-27 15:26:09 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 7ms +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/dashboard +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-001) +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/dashboard +2025-10-27 15:26:18 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 호출 - 파라미터: [user-001, 1, 1] +2025-10-27 15:26:18 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 요청 - userId: user-001 +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.DashboardService - Getting dashboard for user: user-001 +2025-10-27 15:26:18 [http-nio-8082-exec-1] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 시작 - userId: user-001 +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:26:18 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + s1_0.minutes_id, + s1_0.section_id, + s1_0.content, + s1_0.created_at, + s1_0.locked, + s1_0.locked_by, + s1_0."order", + s1_0.title, + s1_0.type, + s1_0.updated_at, + s1_0.verified + from + minutes_sections s1_0 + where + s1_0.minutes_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.organizer_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.version + from + minutes me1_0 +2025-10-27 15:26:19 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.assignee_id=? +2025-10-27 15:26:19 [http-nio-8082-exec-1] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 완료 - userId: user-001, 예정 회의: 3개, 최근 회의록: 5개 +2025-10-27 15:26:19 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 완료 - userId: user-001 +2025-10-27 15:26:19 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 완료 - 실행시간: 459ms +2025-10-27 15:26:45 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:26:45 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_26cb8e_1761546137214","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 15:26:45 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 15:26:45 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 15:26:45 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@6d0d5147] for TypeConfiguration +2025-10-27 15:26:45 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@5f831dd0] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@6d0d5147] +2025-10-27 15:26:45 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 15:26:45 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/DashboardController.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/DashboardController.java index c223763..9c9c488 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/DashboardController.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/DashboardController.java @@ -1,7 +1,10 @@ package com.unicorn.hgzero.meeting.infra.controller; import com.unicorn.hgzero.common.dto.ApiResponse; +import com.unicorn.hgzero.meeting.biz.domain.Dashboard; +import com.unicorn.hgzero.meeting.biz.usecase.in.dashboard.GetDashboardUseCase; import com.unicorn.hgzero.meeting.infra.dto.response.DashboardResponse; +import com.unicorn.hgzero.meeting.infra.mapper.DashboardResponseMapper; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -9,7 +12,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; @@ -28,8 +30,11 @@ import java.util.List; @Slf4j public class DashboardController { + private final GetDashboardUseCase getDashboardUseCase; + private final DashboardResponseMapper dashboardResponseMapper; + /** - * 대시보드 데이터 조회 (목 데이터) + * 대시보드 데이터 조회 * * @param userId 사용자 ID * @return 대시보드 데이터 @@ -50,80 +55,61 @@ public class DashboardController { log.info("대시보드 데이터 조회 요청 - userId: {}", userId); - // 목 데이터 생성 - DashboardResponse mockResponse = createMockDashboardData(); + try { + // 실제 데이터 조회 + Dashboard dashboard = getDashboardUseCase.getDashboard(userId); + + // 도메인 객체를 응답 DTO로 변환 + DashboardResponse response = dashboardResponseMapper.toResponse(dashboard); + + log.info("대시보드 데이터 조회 완료 - userId: {}", userId); + + return ResponseEntity.ok(ApiResponse.success(response)); + } catch (Exception e) { + log.error("대시보드 데이터 조회 실패 - userId: {}", userId, e); + throw e; + } + } + + /** + * 기간별 대시보드 데이터 조회 + * + * @param userId 사용자 ID + * @param period 조회 기간 (1day, 3days, 7days, 30days, 90days) + * @return 기간별 대시보드 데이터 + */ + @Operation( + summary = "기간별 대시보드 데이터 조회", + description = "사용자별 맞춤 대시보드 정보를 기간 필터로 조회합니다.", + security = @SecurityRequirement(name = "bearerAuth") + ) + @GetMapping("/period/{period}") + public ResponseEntity> getDashboardByPeriod( + @Parameter(description = "사용자 ID", required = true) + @RequestHeader("X-User-Id") String userId, + @Parameter(description = "사용자명", required = true) + @RequestHeader("X-User-Name") String userName, + @Parameter(description = "사용자 이메일", required = true) + @RequestHeader("X-User-Email") String userEmail, + @Parameter(description = "조회 기간", required = true) + @PathVariable String period) { - log.info("대시보드 데이터 조회 완료 - userId: {}", userId); + log.info("기간별 대시보드 데이터 조회 요청 - userId: {}, period: {}", userId, period); - return ResponseEntity.ok(ApiResponse.success(mockResponse)); + try { + // 실제 데이터 조회 + Dashboard dashboard = getDashboardUseCase.getDashboardByPeriod(userId, period); + + // 도메인 객체를 응답 DTO로 변환 + DashboardResponse response = dashboardResponseMapper.toResponse(dashboard); + + log.info("기간별 대시보드 데이터 조회 완료 - userId: {}, period: {}", userId, period); + + return ResponseEntity.ok(ApiResponse.success(response)); + } catch (Exception e) { + log.error("기간별 대시보드 데이터 조회 실패 - userId: {}, period: {}", userId, period, e); + throw e; + } } - /** - * 목 데이터 생성 - */ - private DashboardResponse createMockDashboardData() { - // 예정된 회의 목 데이터 - List upcomingMeetings = Arrays.asList( - DashboardResponse.UpcomingMeetingResponse.builder() - .meetingId("550e8400-e29b-41d4-a716-446655440001") - .title("Q1 전략 회의") - .startTime(LocalDateTime.now().plusDays(2).withHour(14).withMinute(0)) - .endTime(LocalDateTime.now().plusDays(2).withHour(16).withMinute(0)) - .location("회의실 A") - .participantCount(5) - .status("SCHEDULED") - .build(), - DashboardResponse.UpcomingMeetingResponse.builder() - .meetingId("550e8400-e29b-41d4-a716-446655440002") - .title("개발팀 스프린트 계획") - .startTime(LocalDateTime.now().plusDays(3).withHour(10).withMinute(0)) - .endTime(LocalDateTime.now().plusDays(3).withHour(12).withMinute(0)) - .location("회의실 B") - .participantCount(8) - .status("SCHEDULED") - .build() - ); - - // 최근 회의록 목 데이터 - List recentMinutes = Arrays.asList( - DashboardResponse.RecentMinutesResponse.builder() - .minutesId("770e8400-e29b-41d4-a716-446655440001") - .title("아키텍처 설계 회의") - .meetingDate(LocalDateTime.now().minusDays(1).withHour(14).withMinute(0)) - .status("FINALIZED") - .participantCount(6) - .lastModified(LocalDateTime.now().minusDays(1).withHour(16).withMinute(30)) - .build(), - DashboardResponse.RecentMinutesResponse.builder() - .minutesId("770e8400-e29b-41d4-a716-446655440002") - .title("UI/UX 검토 회의") - .meetingDate(LocalDateTime.now().minusDays(3).withHour(11).withMinute(0)) - .status("FINALIZED") - .participantCount(4) - .lastModified(LocalDateTime.now().minusDays(3).withHour(12).withMinute(45)) - .build(), - DashboardResponse.RecentMinutesResponse.builder() - .minutesId("770e8400-e29b-41d4-a716-446655440003") - .title("API 설계 검토") - .meetingDate(LocalDateTime.now().minusDays(5).withHour(15).withMinute(0)) - .status("DRAFT") - .participantCount(3) - .lastModified(LocalDateTime.now().minusDays(5).withHour(16).withMinute(15)) - .build() - ); - - // 통계 정보 목 데이터 - DashboardResponse.StatisticsResponse statistics = DashboardResponse.StatisticsResponse.builder() - .upcomingMeetingsCount(2) - .activeTodosCount(0) // activeTodos 제거로 0으로 설정 - .todoCompletionRate(0.0) // activeTodos 제거로 0으로 설정 - .build(); - - return DashboardResponse.builder() - .upcomingMeetings(upcomingMeetings) - .activeTodos(Collections.emptyList()) // activeTodos 빈 리스트로 설정 - .myMinutes(recentMinutes) - .statistics(statistics) - .build(); - } } \ No newline at end of file diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.java index bf80762..b8931a8 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/DashboardResponse.java @@ -19,8 +19,6 @@ public class DashboardResponse { @Schema(description = "예정된 회의 목록") private final List upcomingMeetings; - @Schema(description = "진행 중 Todo 목록") - private final List activeTodos; @Schema(description = "최근 회의록 목록") private final List myMinutes; @@ -36,9 +34,6 @@ public class DashboardResponse { .upcomingMeetings(dto.getUpcomingMeetings().stream() .map(UpcomingMeetingResponse::from) .toList()) - .activeTodos(dto.getActiveTodos().stream() - .map(ActiveTodoResponse::from) - .toList()) .myMinutes(dto.getMyMinutes().stream() .map(RecentMinutesResponse::from) .toList()) @@ -84,39 +79,6 @@ public class DashboardResponse { } } - @Getter - @Builder - @Schema(description = "진행 중 Todo 정보") - public static class ActiveTodoResponse { - @Schema(description = "Todo ID", example = "660e8400-e29b-41d4-a716-446655440000") - private final String todoId; - - @Schema(description = "Todo 내용", example = "API 설계 문서 작성") - private final String content; - - @Schema(description = "마감일", example = "2025-01-30") - private final String dueDate; - - @Schema(description = "우선순위", example = "HIGH") - private final String priority; - - @Schema(description = "Todo 상태", example = "IN_PROGRESS") - private final String status; - - @Schema(description = "회의록 ID", example = "770e8400-e29b-41d4-a716-446655440000") - private final String minutesId; - - public static ActiveTodoResponse from(DashboardDTO.ActiveTodoDTO dto) { - return ActiveTodoResponse.builder() - .todoId(dto.getTodoId()) - .content(dto.getContent()) - .dueDate(dto.getDueDate()) - .priority(dto.getPriority()) - .status(dto.getStatus()) - .minutesId(dto.getMinutesId()) - .build(); - } - } @Getter @Builder @@ -159,8 +121,6 @@ public class DashboardResponse { @Schema(description = "예정된 회의 수", example = "2") private final Integer upcomingMeetingsCount; - @Schema(description = "진행 중 Todo 수", example = "5") - private final Integer activeTodosCount; @Schema(description = "Todo 완료율", example = "68.5") private final Double todoCompletionRate; @@ -168,7 +128,6 @@ public class DashboardResponse { public static StatisticsResponse from(DashboardDTO.StatisticsDTO dto) { return StatisticsResponse.builder() .upcomingMeetingsCount(dto.getUpcomingMeetingsCount()) - .activeTodosCount(dto.getActiveTodosCount()) .todoCompletionRate(dto.getTodoCompletionRate()) .build(); } diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.java index 7ab63bb..d67145c 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/DashboardGateway.java @@ -1,8 +1,14 @@ package com.unicorn.hgzero.meeting.infra.gateway; import com.unicorn.hgzero.meeting.biz.domain.Dashboard; +import com.unicorn.hgzero.meeting.biz.domain.Meeting; +import com.unicorn.hgzero.meeting.biz.domain.Minutes; import com.unicorn.hgzero.meeting.biz.usecase.out.DashboardReader; +import com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity; +import com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity; +import com.unicorn.hgzero.meeting.infra.gateway.entity.TodoEntity; import com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; +import com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; import com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; import com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; import lombok.RequiredArgsConstructor; @@ -11,6 +17,11 @@ import org.springframework.stereotype.Component; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * 대시보드 Gateway 구현체 @@ -22,106 +33,227 @@ import java.time.LocalDateTime; public class DashboardGateway implements DashboardReader { private final MeetingJpaRepository meetingJpaRepository; + private final MeetingParticipantJpaRepository meetingParticipantJpaRepository; private final MinutesJpaRepository minutesJpaRepository; private final TodoJpaRepository todoJpaRepository; @Override public Dashboard getDashboardByUserId(String userId) { - log.debug("Getting dashboard for user: {}", userId); + log.info("대시보드 데이터 조회 시작 - userId: {}", userId); - // 회의 통계 조회 - long totalMeetings = meetingJpaRepository.findByOrganizerId(userId).size(); - long scheduledMeetings = meetingJpaRepository.findByOrganizerIdAndStatus(userId, "SCHEDULED").size(); - long inProgressMeetings = meetingJpaRepository.findByOrganizerIdAndStatus(userId, "IN_PROGRESS").size(); - long completedMeetings = meetingJpaRepository.findByOrganizerIdAndStatus(userId, "COMPLETED").size(); + // 1. 다가오는 회의 목록 조회 (향후 30일, 최대 10개) + List upcomingMeetings = getUpcomingMeetings(userId); + + // 2. 최근 회의록 목록 조회 (최근 7일, 최대 10개) + List recentMinutes = getRecentMinutes(userId); + + // 3. 통계 정보 계산 (최근 30일 기준) + Dashboard.Statistics statistics = calculateStatistics(userId); - // 회의록 통계 조회 - long totalMinutes = minutesJpaRepository.findByCreatedBy(userId).size(); - long draftMinutes = minutesJpaRepository.findByCreatedBy(userId).stream() - .filter(m -> "DRAFT".equals(m.getStatus())) - .count(); - long finalizedMinutes = minutesJpaRepository.findByCreatedBy(userId).stream() - .filter(m -> "FINALIZED".equals(m.getStatus())) - .count(); - - // Todo 통계 조회 - long totalTodos = todoJpaRepository.findByAssigneeId(userId).size(); - long pendingTodos = todoJpaRepository.findByAssigneeIdAndStatus(userId, "PENDING").size(); - long completedTodos = todoJpaRepository.findByAssigneeIdAndStatus(userId, "COMPLETED").size(); - long overdueTodos = todoJpaRepository.findByAssigneeId(userId).stream() - .filter(todo -> todo.getDueDate() != null - && LocalDate.now().isAfter(todo.getDueDate()) - && !"COMPLETED".equals(todo.getStatus())) - .count(); - - // 통계 객체 생성 - Dashboard.Statistics statistics = Dashboard.Statistics.builder() - .totalMeetings((int) totalMeetings) - .scheduledMeetings((int) scheduledMeetings) - .inProgressMeetings((int) inProgressMeetings) - .completedMeetings((int) completedMeetings) - .totalMinutes((int) totalMinutes) - .draftMinutes((int) draftMinutes) - .finalizedMinutes((int) finalizedMinutes) - .totalTodos((int) totalTodos) - .pendingTodos((int) pendingTodos) - .completedTodos((int) completedTodos) - .overdueTodos((int) overdueTodos) - .build(); - - // 대시보드 생성 - return Dashboard.builder() + Dashboard dashboard = Dashboard.builder() .userId(userId) + .period("7days") + .upcomingMeetings(upcomingMeetings) + .recentMinutes(recentMinutes) + .assignedTodos(new ArrayList<>()) .statistics(statistics) .build(); + + log.info("대시보드 데이터 조회 완료 - userId: {}, 예정 회의: {}개, 최근 회의록: {}개", + userId, upcomingMeetings.size(), recentMinutes.size()); + + return dashboard; } @Override public Dashboard getDashboardByUserIdAndPeriod(String userId, String period) { - log.debug("Getting dashboard for user: {} with period: {}", userId, period); + log.info("기간별 대시보드 데이터 조회 시작 - userId: {}, period: {}", userId, period); - // 기간 계산 + // 기간에 따른 조회 범위 계산 LocalDateTime startTime = calculateStartTime(period); LocalDateTime endTime = LocalDateTime.now(); - // 기간 내 회의 통계 조회 - long totalMeetings = meetingJpaRepository.findByOrganizerId(userId).stream() - .filter(m -> m.getScheduledAt().isAfter(startTime) && m.getScheduledAt().isBefore(endTime)) + // 1. 기간 내 다가오는 회의 목록 조회 + List upcomingMeetings = getUpcomingMeetingsByPeriod(userId, startTime, endTime); + + // 2. 기간 내 최근 회의록 목록 조회 + List recentMinutes = getRecentMinutesByPeriod(userId, startTime, endTime); + + // 3. 기간별 통계 정보 계산 + Dashboard.Statistics statistics = calculateStatisticsByPeriod(userId, startTime, endTime); + + Dashboard dashboard = Dashboard.builder() + .userId(userId) + .period(period) + .upcomingMeetings(upcomingMeetings) + .recentMinutes(recentMinutes) + .assignedTodos(new ArrayList<>()) + .statistics(statistics) + .build(); + + log.info("기간별 대시보드 데이터 조회 완료 - userId: {}, period: {}", userId, period); + return dashboard; + } + + /** + * 다가오는 회의 목록 조회 + */ + private List getUpcomingMeetings(String userId) { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime endTime = now.plusDays(30); // 향후 30일 + + return getUpcomingMeetingsByPeriod(userId, now, endTime); + } + + /** + * 기간별 다가오는 회의 목록 조회 + */ + private List getUpcomingMeetingsByPeriod(String userId, LocalDateTime startTime, LocalDateTime endTime) { + Set userMeetingIds = new HashSet<>(); + + // 주최자로 참여하는 예정/진행중 회의 조회 + List organizerMeetings = meetingJpaRepository.findByScheduledAtBetween(startTime, endTime).stream() + .filter(m -> userId.equals(m.getOrganizerId())) + .filter(m -> "SCHEDULED".equals(m.getStatus()) || "IN_PROGRESS".equals(m.getStatus())) + .toList(); + + organizerMeetings.forEach(m -> userMeetingIds.add(m.getMeetingId())); + + // 참석자로 참여하는 예정/진행중 회의 조회 + List participantMeetingIds = meetingParticipantJpaRepository.findByUserId(userId).stream() + .map(p -> p.getMeetingId()) + .toList(); + + List participantMeetings = meetingJpaRepository.findByScheduledAtBetween(startTime, endTime).stream() + .filter(m -> participantMeetingIds.contains(m.getMeetingId())) + .filter(m -> "SCHEDULED".equals(m.getStatus()) || "IN_PROGRESS".equals(m.getStatus())) + .toList(); + + participantMeetings.forEach(m -> userMeetingIds.add(m.getMeetingId())); + + // 중복 제거된 회의 목록을 시간순 정렬하여 최대 10개만 반환 + return meetingJpaRepository.findByScheduledAtBetween(startTime, endTime).stream() + .filter(m -> userMeetingIds.contains(m.getMeetingId())) + .filter(m -> "SCHEDULED".equals(m.getStatus()) || "IN_PROGRESS".equals(m.getStatus())) + .sorted((m1, m2) -> m1.getScheduledAt().compareTo(m2.getScheduledAt())) + .limit(10) + .map(MeetingEntity::toDomain) + .collect(Collectors.toList()); + } + + /** + * 최근 회의록 목록 조회 + */ + private List getRecentMinutes(String userId) { + LocalDateTime startTime = LocalDateTime.now().minusDays(7); + return getRecentMinutesByPeriod(userId, startTime, LocalDateTime.now()); + } + + /** + * 기간별 최근 회의록 목록 조회 + */ + private List getRecentMinutesByPeriod(String userId, LocalDateTime startTime, LocalDateTime endTime) { + Set userMinutesIds = new HashSet<>(); + + // 작성자로 참여한 회의록 조회 + List createdMinutes = minutesJpaRepository.findByCreatedBy(userId).stream() + .filter(m -> m.getCreatedAt().isAfter(startTime) && m.getCreatedAt().isBefore(endTime)) + .toList(); + + createdMinutes.forEach(m -> userMinutesIds.add(m.getMinutesId())); + + // 참석한 회의의 회의록 조회 + List participantMeetingIds = meetingParticipantJpaRepository.findByUserId(userId).stream() + .map(p -> p.getMeetingId()) + .toList(); + + List participatedMinutes = minutesJpaRepository.findAll().stream() + .filter(m -> participantMeetingIds.contains(m.getMeetingId())) + .filter(m -> m.getCreatedAt().isAfter(startTime) && m.getCreatedAt().isBefore(endTime)) + .toList(); + + participatedMinutes.forEach(m -> userMinutesIds.add(m.getMinutesId())); + + // 중복 제거 후 최종 수정 시간순 정렬하여 최대 10개만 반환 + return minutesJpaRepository.findAll().stream() + .filter(m -> userMinutesIds.contains(m.getMinutesId())) + .sorted((m1, m2) -> { + LocalDateTime time1 = m1.getUpdatedAt() != null ? m1.getUpdatedAt() : m1.getCreatedAt(); + LocalDateTime time2 = m2.getUpdatedAt() != null ? m2.getUpdatedAt() : m2.getCreatedAt(); + return time2.compareTo(time1); // 최신순 + }) + .limit(10) + .map(MinutesEntity::toDomain) + .collect(Collectors.toList()); + } + + + /** + * 통계 정보 계산 + */ + private Dashboard.Statistics calculateStatistics(String userId) { + LocalDateTime startTime = LocalDateTime.now().minusDays(30); // 최근 30일 + LocalDateTime endTime = LocalDateTime.now(); + + return calculateStatisticsByPeriod(userId, startTime, endTime); + } + + /** + * 기간별 통계 정보 계산 + */ + private Dashboard.Statistics calculateStatisticsByPeriod(String userId, LocalDateTime startTime, LocalDateTime endTime) { + // 사용자가 관련된 모든 회의 ID 수집 + Set userMeetingIds = new HashSet<>(); + + // 주최자로 참여한 회의 + meetingJpaRepository.findByOrganizerId(userId).forEach(m -> userMeetingIds.add(m.getMeetingId())); + + // 참석자로 참여한 회의 + meetingParticipantJpaRepository.findByUserId(userId).stream() + .map(p -> p.getMeetingId()) + .forEach(userMeetingIds::add); + + // 기간 내 회의 통계 + List periodMeetings = meetingJpaRepository.findByScheduledAtBetween(startTime, endTime).stream() + .filter(m -> userMeetingIds.contains(m.getMeetingId())) + .toList(); + + long totalMeetings = periodMeetings.size(); + long scheduledMeetings = periodMeetings.stream().filter(m -> "SCHEDULED".equals(m.getStatus())).count(); + long inProgressMeetings = periodMeetings.stream().filter(m -> "IN_PROGRESS".equals(m.getStatus())).count(); + long completedMeetings = periodMeetings.stream().filter(m -> "COMPLETED".equals(m.getStatus())).count(); + + // 회의록 통계 (사용자가 관련된 모든 회의록) + Set userMinutesIds = new HashSet<>(); + + // 작성자로 참여한 회의록 + minutesJpaRepository.findByCreatedBy(userId).forEach(m -> userMinutesIds.add(m.getMinutesId())); + + // 참석한 회의의 회의록 + userMeetingIds.forEach(meetingId -> { + minutesJpaRepository.findByMeetingId(meetingId).forEach(m -> userMinutesIds.add(m.getMinutesId())); + }); + + List userMinutes = minutesJpaRepository.findAll().stream() + .filter(m -> userMinutesIds.contains(m.getMinutesId())) + .toList(); + + long totalMinutes = userMinutes.size(); + long draftMinutes = userMinutes.stream().filter(m -> "DRAFT".equals(m.getStatus())).count(); + long finalizedMinutes = userMinutes.stream().filter(m -> "FINALIZED".equals(m.getStatus())).count(); + + // Todo 통계 + List userTodos = todoJpaRepository.findByAssigneeId(userId); + long totalTodos = userTodos.size(); + long pendingTodos = userTodos.stream().filter(t -> "PENDING".equals(t.getStatus())).count(); + long completedTodos = userTodos.stream().filter(t -> "COMPLETED".equals(t.getStatus())).count(); + long overdueTodos = userTodos.stream() + .filter(t -> t.getDueDate() != null + && LocalDate.now().isAfter(t.getDueDate()) + && !"COMPLETED".equals(t.getStatus())) .count(); - long scheduledMeetings = meetingJpaRepository.findByOrganizerIdAndStatus(userId, "SCHEDULED").stream() - .filter(m -> m.getScheduledAt().isAfter(startTime) && m.getScheduledAt().isBefore(endTime)) - .count(); - - long inProgressMeetings = meetingJpaRepository.findByOrganizerIdAndStatus(userId, "IN_PROGRESS").stream() - .filter(m -> m.getScheduledAt().isAfter(startTime) && m.getScheduledAt().isBefore(endTime)) - .count(); - - long completedMeetings = meetingJpaRepository.findByOrganizerIdAndStatus(userId, "COMPLETED").stream() - .filter(m -> m.getScheduledAt().isAfter(startTime) && m.getScheduledAt().isBefore(endTime)) - .count(); - - // 회의록 통계 조회 (전체 기간) - long totalMinutes = minutesJpaRepository.findByCreatedBy(userId).size(); - long draftMinutes = minutesJpaRepository.findByCreatedBy(userId).stream() - .filter(m -> "DRAFT".equals(m.getStatus())) - .count(); - long finalizedMinutes = minutesJpaRepository.findByCreatedBy(userId).stream() - .filter(m -> "FINALIZED".equals(m.getStatus())) - .count(); - - // Todo 통계 조회 (전체 기간) - long totalTodos = todoJpaRepository.findByAssigneeId(userId).size(); - long pendingTodos = todoJpaRepository.findByAssigneeIdAndStatus(userId, "PENDING").size(); - long completedTodos = todoJpaRepository.findByAssigneeIdAndStatus(userId, "COMPLETED").size(); - long overdueTodos = todoJpaRepository.findByAssigneeId(userId).stream() - .filter(todo -> todo.getDueDate() != null - && LocalDate.now().isAfter(todo.getDueDate()) - && !"COMPLETED".equals(todo.getStatus())) - .count(); - - // 통계 객체 생성 - Dashboard.Statistics statistics = Dashboard.Statistics.builder() + return Dashboard.Statistics.builder() .totalMeetings((int) totalMeetings) .scheduledMeetings((int) scheduledMeetings) .inProgressMeetings((int) inProgressMeetings) @@ -134,13 +266,6 @@ public class DashboardGateway implements DashboardReader { .completedTodos((int) completedTodos) .overdueTodos((int) overdueTodos) .build(); - - // 대시보드 생성 - return Dashboard.builder() - .userId(userId) - .period(period) - .statistics(statistics) - .build(); } /** @@ -149,12 +274,17 @@ public class DashboardGateway implements DashboardReader { private LocalDateTime calculateStartTime(String period) { LocalDateTime now = LocalDateTime.now(); - return switch (period.toUpperCase()) { - case "WEEK" -> now.minusWeeks(1); - case "MONTH" -> now.minusMonths(1); - case "QUARTER" -> now.minusMonths(3); - case "YEAR" -> now.minusYears(1); - default -> now.minusMonths(1); // 기본값: 1개월 + return switch (period.toLowerCase()) { + case "1day" -> now.minusDays(1); + case "3days" -> now.minusDays(3); + case "7days" -> now.minusDays(7); + case "30days" -> now.minusDays(30); + case "90days" -> now.minusDays(90); + case "week" -> now.minusWeeks(1); + case "month" -> now.minusMonths(1); + case "quarter" -> now.minusMonths(3); + case "year" -> now.minusYears(1); + default -> now.minusDays(7); // 기본값: 7일 }; } } diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.java index d5961f2..21fc6c6 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesEntity.java @@ -66,6 +66,8 @@ public class MinutesEntity extends BaseTimeEntity { .status(this.status) .version(this.version) .createdBy(this.createdBy) + .createdAt(this.getCreatedAt()) + .lastModifiedAt(this.getUpdatedAt()) .finalizedBy(this.finalizedBy) .finalizedAt(this.finalizedAt) .build(); diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.java index ea4beb4..a161834 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/TodoEntity.java @@ -66,6 +66,8 @@ public class TodoEntity extends BaseTimeEntity { .dueDate(this.dueDate) .status(this.status) .priority(this.priority) + .createdAt(this.getCreatedAt()) + .lastModifiedAt(this.getUpdatedAt()) .completedAt(this.completedAt) .build(); } diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/mapper/DashboardResponseMapper.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/mapper/DashboardResponseMapper.java new file mode 100644 index 0000000..08c2c91 --- /dev/null +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/mapper/DashboardResponseMapper.java @@ -0,0 +1,117 @@ +package com.unicorn.hgzero.meeting.infra.mapper; + +import com.unicorn.hgzero.meeting.biz.domain.Dashboard; +import com.unicorn.hgzero.meeting.biz.domain.Meeting; +import com.unicorn.hgzero.meeting.biz.domain.Minutes; +import com.unicorn.hgzero.meeting.infra.dto.response.DashboardResponse; +import org.springframework.stereotype.Component; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Dashboard 도메인 객체를 Response DTO로 변환하는 매퍼 + */ +@Component +public class DashboardResponseMapper { + + /** + * Dashboard 도메인 객체를 DashboardResponse로 변환 + */ + public DashboardResponse toResponse(Dashboard dashboard) { + if (dashboard == null) { + return null; + } + + return DashboardResponse.builder() + .upcomingMeetings(toUpcomingMeetingResponses(dashboard.getUpcomingMeetings())) + .myMinutes(toRecentMinutesResponses(dashboard.getRecentMinutes())) + .statistics(toStatisticsResponse(dashboard.getStatistics())) + .build(); + } + + /** + * Meeting 목록을 UpcomingMeetingResponse 목록으로 변환 + */ + private List toUpcomingMeetingResponses(List meetings) { + if (meetings == null || meetings.isEmpty()) { + return Collections.emptyList(); + } + + return meetings.stream() + .map(this::toUpcomingMeetingResponse) + .collect(Collectors.toList()); + } + + /** + * Meeting을 UpcomingMeetingResponse로 변환 + */ + private DashboardResponse.UpcomingMeetingResponse toUpcomingMeetingResponse(Meeting meeting) { + return DashboardResponse.UpcomingMeetingResponse.builder() + .meetingId(meeting.getMeetingId()) + .title(meeting.getTitle()) + .startTime(meeting.getScheduledAt()) + .endTime(meeting.getEndTime()) + .location(meeting.getLocation()) + .participantCount(meeting.getParticipants() != null ? meeting.getParticipants().size() : 0) + .status(meeting.getStatus()) + .build(); + } + + + /** + * Minutes 목록을 RecentMinutesResponse 목록으로 변환 + */ + private List toRecentMinutesResponses(List minutesList) { + if (minutesList == null || minutesList.isEmpty()) { + return Collections.emptyList(); + } + + return minutesList.stream() + .map(this::toRecentMinutesResponse) + .collect(Collectors.toList()); + } + + /** + * Minutes를 RecentMinutesResponse로 변환 + */ + private DashboardResponse.RecentMinutesResponse toRecentMinutesResponse(Minutes minutes) { + return DashboardResponse.RecentMinutesResponse.builder() + .minutesId(minutes.getMinutesId()) + .title(minutes.getTitle()) + .meetingDate(minutes.getCreatedAt()) + .status(minutes.getStatus()) + .participantCount(0) // Meeting 정보가 필요한데 현재 Minutes에 직접적인 참석자 정보가 없음 + .lastModified(minutes.getLastModifiedAt() != null ? + minutes.getLastModifiedAt() : minutes.getCreatedAt()) + .build(); + } + + /** + * Dashboard.Statistics를 StatisticsResponse로 변환 + */ + private DashboardResponse.StatisticsResponse toStatisticsResponse(Dashboard.Statistics statistics) { + if (statistics == null) { + return DashboardResponse.StatisticsResponse.builder() + .upcomingMeetingsCount(0) + .todoCompletionRate(0.0) + .build(); + } + + // Todo 완료율 계산 + double todoCompletionRate = 0.0; + int totalTodos = statistics.getTotalTodos() != null ? statistics.getTotalTodos() : 0; + int completedTodos = statistics.getCompletedTodos() != null ? statistics.getCompletedTodos() : 0; + + if (totalTodos > 0) { + todoCompletionRate = (double) completedTodos / totalTodos * 100.0; + } + + return DashboardResponse.StatisticsResponse.builder() + .upcomingMeetingsCount(statistics.getScheduledMeetings() != null ? + statistics.getScheduledMeetings() : 0) + .todoCompletionRate(todoCompletionRate) + .build(); + } +} \ No newline at end of file