Conversation
* [chore] .gitignore 파일 수정 * [feat] restructure project with multi-module setup and add application profiles * [feat] add edukit-global-utils dependency and update entity scan and repository base packages * [refac] delete unused file
* [refac] refactor project structure and add initial application files * [feat] implement multi-module structure for Edukit project * [feat] update dependencies for internal module references * [refac] update module dependencies and add core/external modules * [feat] add common module and implement global exception handling * [feat] add ApiResponse class for standardized API responses * [feat] enhance global exception handling to return standardized ApiResponse * [feat] implement standardized status codes and enhance success/error code interfaces * [feat] implement ApiResponseAdvice for standardized HTTP response handling * [refac] delete unused directory * [refac] refactor package structure for ApiResponse and related classes * [feat] enhance ApiResponse and GlobalExceptionHandler with additional fail methods and exception handling * [fix] correct parameter order in ApiResponse constructors and methods * [refac] update ApiResponse to use final data field and add constructor for null data * [fix] improve generic exception handling in GlobalExceptionHandler
* [feat] add Spring Data JPA dependency for database integration * [feat] add domain models for auth * [feat] add domain models for member * [feat] add domain models for notice * [feat] add domain models for post * [feat] add domain models for student record * [feat] add JpaAuditingConfig * [fix] change package name domain to entity
* [feat] Add Spring AI and AWS SES dependencies; implement ChatService and ChatConfig * [feat] add OpenAiProperties and configure HTTP client * [feat] refactor ChatService and SpringAiConfig; add timeout handling and logging * [dependency] update build.gradle; add Spring Boot starter and external module dependency * [feat] simplify ApiResponse and error code handling; remove status field and update constructors * [refac] rename ChatService to AIClient; update package structure and change service annotation to component * [refac] update logging messages in SpringAiConfig to Korean for better localization * [feat] add OpenAiCallException for handling internal errors; update error codes and exception handling in AIClient * [refac] rename AIClient to OpenAiClient for clarity and consistency * [refac] rename TimeOutException to OpenAiException; update exception handling in OpenAiClient * [refac] replace hardcoded "FAIL" string with a constant in GlobalExceptionHandler for consistency
* [refac] Refactor package structure for OpenAI integration * [dependency] Add MySQL and JWT dependencies to build.gradle * [feat] Implement JWT authentication components including generator, parser, validator, and properties * [refac] Refactor package structure to centralize auth and member entities under core * [feat] Set default timezone to Asia/Seoul on application startup * [feat] Configure JPA settings and update application package scanning * [fix] Update JWT token claims handling and improve error management in parser * [refac] Extract JWT key generation logic into JwtKeyProvider for better code organization * [refac] Enhance exception handling by adding cause parameter to custom exceptions
* [dependency] Add Spring Boot Security dependencies * [feat] Implement JWT authentication filter and member authentication logic * [refac] Update GlobalExceptionHandler to use specific failure codes for exceptions * [feat] Add ExceptionHandlerFilter to manage authentication and general exceptions * [feat] Add CustomPasswordEncoder for password hashing and verification * [refac] Improve parameter declarations in CustomPasswordEncoder methods * [feat] Add JwtAuthenticationEntryPoint for handling unauthorized access and update exception handling logic * [refac] Refactor SecurityWhitelist to use a static array for whitelist paths * [feat] Implement CORS configuration and enhance security settings with new SecurityConfig * [feat] Update authentication error codes and add JwtAccessDeniedHandler for handling access denied scenarios * [feat] Enhance SecurityConfig with JwtAccessDeniedHandler and refined authorization rules * [feat] Add MemberId annotation and MemberIdArgumentResolver for custom parameter resolution * [refac] Update AuthErrorCode with new error codes and add MemberErrorCode for member-related exceptions * [feat] Implement Member service and repository for user management * [feat] Update JwtAuthenticationFilter to use MemberDetailReader and modify MemberAuthentication creation * [refac] Refactor security package structure and update imports for better organization * [refac] refactor JwtAuthenticationFilter and SecurityWhitelist to use List instead of arrays for improved type safety and readability * [refac] Remove unused imports in Member.java for cleaner code * [refac] Remove unused imports in Member.java for cleaner code * [refac] Add final modifier to method parameter in loadUserByUsername for clarity
* [dependency] Add Jackson and Spring Boot configuration processor dependencies * [refac] Refactor subject entity and add exception handling * [feat] Implement member restoration and add email existence check * [feat] add random code generator for authorization * [feat] Implement authentication services and member sign-up process * [feat] Add MemberSignedUpEvent and publish event on member sign-up * [feat] Add AuthController and MemberSignUpRequest for member sign-up process * [feat] Enhance member sign-up process with JWT token generation and response structure * [feat] Add refresh token handling in sign-up process with cookie support * [fix] fix security whitelist handling error * [feat] Implement password format validation during member sign-up process * [docs] sign-up validation to include nickname check * [refac] Refactor sign-up process to use new token service and response structure * [refac] Refactor token handling by renaming and reorganizing Token and TokenType classes * [feat] Enhance member restoration process to include nickname * [refac] Refactor security whitelist to use arrays instead of lists for improved performance * [feat] Implement expiration logic for pending authorization codes * [refac] Rename TokenService to JwtTokenService and update references in AuthFacade and JwtAuthenticationFilter * [refac] Remove unused method and query from AuthCodeRepository and simplify code in AuthCodeService * [feat] Refactor sign-up process to use ResponseEntity and enhance cookie handling * [refac] Rename ApiResponse to EduKitResponse and update references across the codebase * [refac] Rename EduKitResponse to EdukitResponse and update references across the codebase * [refac] Update exception handling by removing code references and simplifying response structure * [refac] Refactor authentication code to use static methods for token generation and simplify member creation * [refac] Rename AuthCode to VerificationCode and update related services and references * [refac] Rename AuthCode to VerificationCode and related types, updating references across the codebase
* [feat] add notice management features * [feat] add AWS S3 integration for presigned URL generation * [feat] add file upload support to notices with AWS S3 integration * [fix] error code format in S3ErrorCode enum * [fix] refactor and streamline S3 presigned URL generation * [EDMT-319] 회원가입 로직 구현 (#7) * [dependency] Add Jackson and Spring Boot configuration processor dependencies * [refac] Refactor subject entity and add exception handling * [feat] Implement member restoration and add email existence check * [feat] add random code generator for authorization * [feat] Implement authentication services and member sign-up process * [feat] Add MemberSignedUpEvent and publish event on member sign-up * [feat] Add AuthController and MemberSignUpRequest for member sign-up process * [feat] Enhance member sign-up process with JWT token generation and response structure * [feat] Add refresh token handling in sign-up process with cookie support * [fix] fix security whitelist handling error * [feat] Implement password format validation during member sign-up process * [docs] sign-up validation to include nickname check * [refac] Refactor sign-up process to use new token service and response structure * [refac] Refactor token handling by renaming and reorganizing Token and TokenType classes * [feat] Enhance member restoration process to include nickname * [refac] Refactor security whitelist to use arrays instead of lists for improved performance * [feat] Implement expiration logic for pending authorization codes * [refac] Rename TokenService to JwtTokenService and update references in AuthFacade and JwtAuthenticationFilter * [refac] Remove unused method and query from AuthCodeRepository and simplify code in AuthCodeService * [feat] Refactor sign-up process to use ResponseEntity and enhance cookie handling * [refac] Rename ApiResponse to EduKitResponse and update references across the codebase * [refac] Rename EduKitResponse to EdukitResponse and update references across the codebase * [refac] Update exception handling by removing code references and simplifying response structure * [refac] Refactor authentication code to use static methods for token generation and simplify member creation * [refac] Rename AuthCode to VerificationCode and update related services and references * [refac] Rename AuthCode to VerificationCode and related types, updating references across the codebase * [refac] remove dto package * [refac] move controller package to top * [fix] add final keyword method parameter * [feat] add notice management features * [feat] add AWS S3 integration for presigned URL generation * [feat] add file upload support to notices with AWS S3 integration * [fix] error code format in S3ErrorCode enum * [fix] refactor and streamline S3 presigned URL generation * [refac] remove dto package * [refac] move controller package to top * [fix] add final keyword method parameter * [refac] change response type to ResponseEntity<EdukitResponse> * [refac] fix ErrorCode package --------- Co-authored-by: Jian Kim <gayeon1008@g.skku.edu>
* [refac] Update column name for student record ID in StudentRecord.java * [feat] Add AITaskStatus enum and StudentRecordAITask entity * [feat] Add StudentRecordAIResult entity for storing AI task results * [feat] Implement AIPromptGenerator for generating structured student record prompts * [feat] Add AI generation functionality for student records * [feat] update AI generation logic for student records * [refac] update OpenAiProperties configuration and format aiGenerateStudentRecord method * [refac] rename SpringAiConfig to SpringAIConfig and remove unused imports * [feat] enhance user authentication and add custom argument resolver * [dependency] add spring-boot-starter-webflux dependency to build.gradle * [feat] implement streaming AI student record generation * [feat] update AIPromptGenerator for streaming prompt generation and refactor related methods * [feat] implement versioned streaming response for AI student record generation * [feat] refine version handling in streaming response for AI student record generation * [feat] update security configuration to support versioned student record access * [feat] add OpenAI client configuration and properties for API integration * [fix] fix OpenAI WebClient configuration to use customizer pattern and enhance logging * [fix] enhance permission checks for AI student record generation and update error messages * [feat] add error handling for streaming response in StudentRecordAIController * [refac] update password handling in MemberDetailReader and remove unused MemberService from StudentRecordAIFacade; enhance validation in StudentRecordPromptRequest * [feat] add method to find member by ID and deletion status; update retrieval logic in MemberService * [refac] update byte buffer constants in createStreamingPrompt for improved clarity and maintainability * [feat] add error handling for empty version response in OpenAIService
* [feat] add member get profile functionality * [feat] add member update profile functionality * [feat] add member validate nickname functionality * [feat] add member withdraw functionality * [feat] add swagger configuration and update security whitelist * [feat] add handler for HandlerMethodValidationException * [docs] add swagger documentation for notice * [fix] withdraw endpoint to return consistent response format * [fix] update error codes for nickname validation consistency * [fix] remove server configuration from SwaggerConfig * [refac] update get member profile with fetch join subject
* [refac] Refactor S3 package structure to use 'aws.s3' namespace * [feat] add SES configuration * [feat] add custom mail exception handling * [feat] implement email verification functionality with Thymeleaf templates * [feat] add email service and event listener for member sign-up verification * [feat] add asynchronous email task executor configuration * [fix] change package name for email verification HTML template * [refact] reorganize AWS SES configuration and email mapping classes * [feat] add error handling for email sending failures * [refact] update AWS SES configuration to use AwsCredentialsProvider * [fix] update email send failed error code for consistency
* [dependency] Add Resilience4j dependencies for circuit breaker and AOP support * [feat] Add CircuitBreaker configuration for OpenAI integration * [feat] Implement CircuitBreaker for OpenAI API calls with fallback response handling * [refactor] Refactor OpenAI service to use constant for fallback message and improve circuit breaker configuration * [dependency] Add Spring AOP starter for enhanced aspect-oriented programming support * [test] Add unit tests for OpenAI service circuit breaker functionality * [test] Add integration tests for OpenAI service circuit breaker functionality * [refactor] adjust related mappings and event handling * [refactor] Simplify fallback message construction in OpenAI service * [test] Enhance assertions in OpenAI service circuit breaker tests
* [dependency] Add AWS Lambda dependencies and JSON processing library * [feat] Implement batch service to reset teacher verification status * [feat] Implement teacher verification batch processing * [feat] Optimize batch application by excluding unnecessary dependencies and packages * [dependency] Add MySQL connector for database integration * [feat] Add method to retrieve members pending verification email * [feat] Implement verification code issuance for members pending email verification * [feat] Implement teacher verification code issuance and email notification * [refactor] Add EmailEventListener to handle email notifications for member sign-up and status initialization * [refactor] Refactor email verification process to use MemberVerificationData DTO * [refactor] Rename JpaConfig package to common.config for better organization * [refactor] Introduce AWS credential management with new configuration classes * [fix] Update dependency exclusions and package imports for AWS and OpenAI integration * [refactor] Simplify email event handling by removing unused event and updating verification initialization method * [refactor] Enhance email sending process by simplifying parameters and adding bulk email functionality * [refactor] Remove redundant EmailService declaration and clean up TeacherVerificationJob class * [dependency] Update AWS Lambda dependencies to latest versions * [refactor] Remove unused accessKey and secretKey fields from AwsSesProperties
* [refac] refactor AwsS3Config to inject AwsS3Properties directly * [feat] add member login functionality * [feat] add member logout functionality * [feat] add member reissue functionality * [feat] add member password reset functionality * [feat] add redis support for refresh token management * [refac] refactor transactional annotations and parameters * [refac] refactor transactional annotations * [fix] update AuthController to return structured success response * [refac] remove InMemoryStoreService and KeyValueStoreService * [refac] improve token verification using MessageDigest.isEqual * [fix] update RedisConfig to use int for port instead of String * [fix] delete refresh token upon member withdrawal * [fix] update password functionality to use member UUID instead of email
* [feat] Add GitHub Actions workflow for Teacher Verification Batch deployment * [test] remove branch checkout for test * [fix] Create application.yml from secrets in GitHub Actions workflow * [feat] Add branch check to GitHub Actions workflow for batch execution * [feat] Add logback configuration for structured logging * [feat] Add logback configuration for structured logging - batch module * [fix] Update application.yml creation to use BATCH_APPLICATION_YML for development * [fix] Update GitHub Actions workflow to use actions/cache@v4 and remove application.yml creation step
* [refactor] update package structure for Redis configuration * [feat] add timeout configurations for AWS SES client * [feat] implement email sending with timeout handling and Slack notifications * [refac] enhance email sending error handling with Slack notifications * [refac] replace RestTemplate with WebClient for Slack webhook notifications * [refac] update SlackWebhookService to use reactive approach for webhook notifications * [refac] improve error handling in EmailService by including exception details in MailException * [refac] refactor SlackWebhookService to improve error handling and logging for webhook notifications * [refac] refactor SlackWebhookService to use a Map for payload construction and improve message formatting * [refac] add Slack package to component scan and fix logback conversion rule syntax * [refac] refactor package structure to use 'db' subpackage for entity and enum classes * [refac] refactor AuthFacade to comment out unused RefreshTokenStoreService and passwordEncryptor, and update build.gradle for improved dependency management * [refac] refactor authentication logic to use PasswordHasher for password encoding and validation, and improve password change conditions * [refac] update password equality validation to use MessageDigest for secure comparison
* [fix] Add step to create application.yml from secrets in CI pipeline * [fix] Remove unnecessary launchScript configuration for Lambda * [fix] Update JAR file naming in CI pipeline and build configuration * [refac] Enhance Lambda deployment process with JAR size checks and improved logging * [feat] Add Promtail configuration for log scraping and processing * [refac] Update logging configuration for structured JSON output in Promtail * [feat] Add drop expressions to filter specific log messages in Promtail configuration * [feat] Update Promtail configuration to refine log filtering for Lambda, removing HTTP noise logs * [feat] Update logging configuration for Lambda to enhance CloudWatch integration * [dependency] Add Logstash Logback encoder for safe JSON serialization in logging * [feat] Enhance logging configuration for Lambda with JSON output for better CloudWatch integration * [fix] Remove unnecessary labels from Promtail configuration to streamline log processing * [refactor] Simplify log file paths and remove unnecessary custom fields in logging configuration * [fix] Update drop expressions in Promtail configuration to include additional HTTP methods and endpoints
* [refac] Refactor service dependencies to use conditional beans for Email, Cache, and AI services * [refac] Refactor AI and Email services to use common interfaces and improve dependency management * [refac] Rename and reorganize controller packages for better structure and clarity * [refac] Update package structure for admin and auth requests to improve organization * [dependency] Change 'implementation' to 'runtimeOnly' for edukit-external dependency in build.gradle * [refac] Update build.gradle to optimize dependencies and change implementation to runtimeOnly for edukit-external * [refac] Remove unused spring-boot-starter-webflux dependency from build.gradle * [dependency] Add spring-boot-starter-webflux dependency to build.gradle * [refac] Update edukit-external dependency in build.gradle to exclude unnecessary groups * [refac] Rename EmailEventListener class package for better clarity * [refac] Replace spring-boot-starter-webflux with spring-webflux in build.gradle * [refac] Update build.gradle and refactor package structure for CircuitBreakerConfig * [refac] Refactor notice facade package structure for clarity * [refac] Rename MemberBatchFacade package for better organization * [refac] Replace PasswordHasher with CustomPasswordEncoder for password management * [refac] Refactor JWT package structure for improved organization * [refac] NoticeFacade to rename FileStorageService variable for clarity * [refac] Refactor password update logic and validation methods for clarity and security * [dependency] build.gradle to remove Jackson Databind exclusion and add Reactor Netty BOM dependency
* [refac] Disable banner and shutdown hook in application startup * [refac] Remove JBCrypt dependency from build.gradle * [feat] build.gradle for layered dependency management and task organization * [refac] Simplify layer dependency management in build.gradle by removing unused configurations and optimizing task definitions * [feat] Refactor package structure for batch processing and add TeacherVerificationLambdaHandler * [feat] Update GitHub Actions workflow for Lambda deployment and execution * [feat] Update CI/CD workflow for batch deployment and add deploy script * [feat] Update Lambda deployment role ARN in CI/CD workflow * [fix] Update Main-Class in build.gradle to use TeacherVerificationLambdaHandler * [test] Update branch reference in CI/CD workflow for testing * [feat] Enhance Lambda deployment script with layer ARNs validation and JSON output * [feat] Add layer validation and fat JAR fallback to Lambda deployment scripts * [feat] Simplify Lambda deployment script by removing redundant checks and improving error handling * [refac] Refactor layer management in build.gradle and deploy-lambda.sh for improved clarity and organization * [refac] Optimize layer management in build.gradle and deploy-lambda.sh by adding Database/ORM layer and improving dependency classification * [refac] Enhance layer file validation in deployment script with size checks and warnings * [refac] layer management in deploy-lambda.sh for improved clarity and error handling * [feat] Add retry logic and size validation to layer deployment in deploy-lambda.sh * [refac] Improve error handling and logging in deploy-lambda.sh for layer deployment * [refac] Enhance validation and error handling in deploy-lambda.sh for improved deployment reliability * [refac] Enhance error handling and diagnostics in deploy-lambda.sh for improved deployment clarity * [feat] Implement build tasks for Lambda application JAR and deployment ZIP creation * [refac] Simplify dependency classification logic in build.gradle for improved readability * [refac] Refactor buildLambdaAppJar task in build.gradle for improved clarity and structure * [fix] Update build.gradle for improved JAR naming and ZIP task clarity * [fix] Optimize Spring application initialization for Lambda with lazy loading and disabled banner * [feat] Enhance logging and CloudWatch integration for Teacher verification Lambda job * [fix] Correct typo in AWS Lambda runtime library inclusion and streamline internal modules packaging * [fix] Update dependency classification in build.gradle and enhance Spring context initialization in TeacherVerificationLambdaHandler * [refac] Update dependency classification and layer structure in build.gradle and deploy-lambda.sh * [fix] Update dependency classification in build.gradle to include MySQL driver and streamline external layer logic * [refac] Remove unused layer ARNs check and upload steps from batch-dev-cd.yml * [refac] Reduce sleep duration in deploy-lambda.sh to avoid excessive wait time during layer deployment * [refac] Update checkout reference in batch-dev-cd.yml to use 'develop' branch * [refac] Simplify deployment messages and streamline logging in deploy-lambda.sh * [fix] Adjust layer size thresholds in build.gradle and clean up deploy-lambda.sh * [test] Update checkout reference in batch-dev-cd.yml to use 'feat/EDMT-349' branch * [refac] Update branch reference in batch-dev-cd.yml to 'develop' and improve AWS CLI command syntax in deploy-lambda.sh
* [feat] add GitHub Actions-based CD for dev environment * [feat] add Dockerfile for dev environment setup * [fix] update workflow paths for Docker and Compose files * [fix] Update JAR naming in workflow and build configuration * [fix] Fix monitoring secret name in CD workflow * [fix] Add AWS ECR login step to CD workflow * [fix] Remove unnecessary sudo from Docker commands in CD workflow * [fix] Update API CD workflow to fix resource paths * [fix] Update API CD workflow to fix docker resource paths * [fix] Update API CD workflow to use secret key API_APPLICATION_YML * [fix] Update API CD workflow to enable merging multiple configs * [fix] fix promtail config path in API CD workflow * [fix] Fix artifact name and promtail config path in CD workflow * [fix] Update Docker Compose paths in API CD workflow * [fix] Update .env file path in API CD workflow * [fix] Simplify API CD workflow file paths * [feat] Add ForwardedHeaderFilter bean to WebMvcConfig * [fix] Add server URL support in SwaggerConfig * [fix] Remove branch-specific trigger in api-dev-cd workflow * [fix] Update action versions in api-dev-cd workflow
* [refac] delete batch module * [refac] restructure Docker and configuration file paths
* [refac] Refactor Notice file handling and improve S3 operations * [fix] Update S3 file handling to rely on lifecycle rules * [fix] Add logging to S3 file operations for better error tracking * [fix] Refactor image URL naming in request parameter * [fix] Update S3ErrorCode message for INVALID_FILE_URL * [refac] Add member withdrawal functionality to MemberController * [fix] Add nickname validation to AuthService * [fix] Refactor nickname validation logic in MemberService * [fix] Add file handling in Notice operations * [fix] Update S3 error codes for file operations * [fix] Add example for invalid file ID in delete operations * [fix] Enhance API documentation with detailed workflows * [fix] Refactor notice service to handle files more efficiently * [fix] Handle duplicate nickname gracefully in MemberFacade * [fix] Flush changes immediately after member restoration * [fix] Refactor nickname validation logic for clarity and simplicity * [fix] Remove NoticeFileService and consolidate file operations
* [feat] Implement MDC logging filter and update logging configuration * [feat] Enhance logging with MDC support and add RequestLoggingFilter * [feat] Update promtail configuration to include traceId, userId, requestUrl, and method fields * [refac] Refactor JwtAuthenticationFilter and enhance RequestLoggingFilter with userId and traceId logging * [refac] Rename JWT classes to move to 'util' package for better organization * [refac] Simplify response logging in RequestLoggingFilter by removing status from log message * [refac] Rename EmailAsyncConfig to AsyncConfig for improved clarity * [refac] Introduce BEARER_PREFIX constant in RequestLoggingFilter for improved readability and maintainability * [refac] Change access modifier of AUTH_WHITELIST and related constants to package-private for better encapsulation * [refac] Add userId to MDC in AuthFacade for improved logging context * [feat] Enhance email event handling with MDC context for improved logging * [refac] Remove unused HttpServletResponse import in RequestLoggingFilter for cleaner code * [feat] set async configuration and email handling for improved error management and logging * [refac] Remove unused logging and simplify email sending in EmailEventListener and EmailServiceImpl * [refac] Refactor package structure for consistency across the application * [refac] Simplify error logging in CustomAsyncExceptionHandler and remove unused code in GlobalExceptionHandler * [feat] Enhance async configuration with MDC context propagation and clean up email event handling * [dependency] add prometheus dependency * [refac] Simplify logging in GlobalExceptionHandler by removing exception cause from log messages * [refac] Update package structure for member and notice facades to improve organization
* [refac] S3Exception handling to remove exception chaining * [feat] Add CI/CD workflow for API development environment * [refac] delete MemberBatchService.java * [refac] remove unused extractKey method from S3ServiceImpl * [refac] rename CI/CD workflow from api-dev-cd to api-dev-ci
* [refac] remove dev environment specification from CI build job * [refac] refactor student package structure * [feat] implement student management API with error handling * [refac] update package structure for service classes * [refac] refactor service package structure to unify port definitions * [dependency] add Apache POI dependencies for Excel file processing * [feat] implement student upload functionality with Excel file processing * [fix] simplify token extraction in RequestLoggingFilter * [refac] reorganize package structure to unify service definitions * [refac] streamline Excel file format validation in ExcelService * [refac] update Excel file parsing to use Set for unique student entries * [refac] enhance Excel parsing by introducing constants for header and target sheet indices * [refac] enhance Excel parsing to process all sheets and improve error handling in StudentException * [refac] refactor Excel parsing to use named constants for column indices and introduce a static factory method in StudentExcelRow * [refac] refactor Excel parsing to use Optional for student row parsing and improve row length handling * [refac] update Apache POI dependency to version 5.4.0 for improved Excel file processing * [refac] add validation for file parameter in uploadStudentExcel method * [refac] extract Excel utility methods for improved readability and reusability * [fix] remove unnecessary validation annotation from uploadStudentExcel method * [feat] add method to find students by member and prevent duplicate student creation * [refac] simplify uploadStudentExcel method and remove response object * [refac] move ExcelUtils to student package for better organization * [refac] enhance Excel file handling by adding support for XLS format and improving validation * [feat] implement StudentApi interface and update StudentController for better API structure * [refac] remove file format validation and simplify StudentExcelRow class * [refac] refactor student creation logic and introduce StudentKey for better duplicate checking
* [fix] Change category handling from ID to name-based approach * [fix] Update API versioning to v2 throughout the application * [fix] Update API versioning to v1 across the application * [fix] Handle null and blank input in NoticeCategory.from method * [fix] Update field references from 'categoryId' to 'category'
* [feat] Enhance AIPromptGenerator with detailed UTF-8 byte calculation guidelines * [refac] Implement bulk student insertion in StudentService * [refac] Simplify bulk student insertion logic in StudentService * [refac] Remove unnecessary MDC logging in AuthFacade
* [feat] Implement email verification feature with event handling * [feat] Add email verification endpoint and update verification logic * [fix] Update email verification endpoint to include versioning * [fix] Update student API version from v2 to v1 * [refac] Rename email event classes for teacher-specific verification * [feat] add password recovery feature * [feat] Implement email update functionality with verification for teachers * [feat] Add password update functionality with validation * [fix] Add transactional support for sending verification emails * [fix] Update event handling to use PasswordFindEvent in EmailEventListener * [feat] Enhance password update functionality to include confirmation password validation * [refac] Optimize password validation logic for improved performance and security * [refac] Simplify password validation logic by introducing isPasswordMatched method * [refac] Optimize password validation logic for improved performance and clarity * [refac] Refactor password validation logic to use passwordEncoder for current password check * [refac] Simplify password validation logic by optimizing regex and reducing complexity * [feat] Introduce MemberApi interface for improved separation of concerns in member management * [feat] introduce AuthApi interface for versioning * [feat] add error handling for duplicated email in member profile update * [feat] implement email update and withdrawal methods with error handling for duplicated emails * [feat] add token store refresh on password update to enhance security * [fix] rename AuthApi and AuthController to AuthV1Api and AuthV1Controller for versioning * [refac] remove deprecated prompt generation methods and comments for cleaner code * [refac] rename event classes and methods for consistency and clarity
* [fix] Remove unused RedisTemplate configuration from RedisConfig * [fix] Update error codes for AI task handling in StudentRecordErrorCode and StudentRecordService
* [feat] Implement AITaskService for task management and refactor AIEventListener * [refac] Refactor AITaskService and integrate with StudentRecordAIFacade and SSEChannelManager * [refac] Rename deleteChannel to removeChannel in SSEChannelManager for clarity * [refac] Remove unused RedisStreamConsumer bean and related imports in RedisConfig * [feat] Enhance SSEChannelManager to handle channel removal and add error handling for AI task completion * [fix] Ensure readFromStream returns an empty list instead of null for Redis stream reads * [feat] Add example response for AI task completion failure in StudentRecordAIApi * [feat] Update AITaskService to associate AI tasks with members and refactor task creation * [feat] Add user task validation and update stream response handling in AI task services * [feat] Drop student_record_ai_result table and add member relation to student_record_ai_task * [feat] Enhance request and response models with Swagger annotations for better API documentation * [feat] delete unused dto * [feat] Add Swagger annotations for improved API documentation in request models * [feat] Add Swagger annotations to response models for enhanced API documentation * [feat] Enhance API responses with detailed success messages and examples for improved documentation * [feat] Improve SSE channel cleanup and enhance API response media type specifications for better documentation
* [feat] Refactor file handling logic in notice updates. * [fix] Update file handling to use unified 'fileKeys' parameter. * [fix] Handle null 'fileKeys' and improve notice file updates.
* [fix] Simplify password update by removing confirmPassword. * [fix] Remove confirmPassword validation for password updates.
* [feat] Add traceId to DraftGenerationEvent and SQS message attributes * [feat] Capture and restore MDC context in AI event processing * [refac] Enhance MDC context management in AI event processing
* [feat] Add handler for NoHandlerFoundException in GlobalExceptionHandler * [feat] Update error response for NoHandlerFoundException to use status code 400 * [feat] Rename ServerInstanceManager package to com.edukit.common.infra * [refac] Update import statements for ServerInstanceManager to new package structure * [refac] Update tag description for StudentApi to reflect management context * [feat] Introduce AuthV2Api interface and update AuthV2Controller to implement it; modify AuthV1Api tag description * [refac] Update docker-compose configuration to use SERVER_ID for environment variable * [feat] Enhance ServerInstanceManager to write SERVER_ID to a file and update docker-compose for SERVER_ID usage
* [fix] Update HTTP method for modifying student records. * [feat] Add QueryDSL configuration for JPA support * [feat] Add student filtering and pagination API * [fix] Remove redundant comment in StudentQueryRepository * [fix] Enforce pageSize validation in API endpoints
* [feat] 학생 기록 상세 조회 기능 추가 * [refac] 학생 기록 상세 조회 메서드 이름 변경 * [feat] 생활기록부 상세 조회 기능 추가 * [refact] StudentRecordDetailResponse 패키지 경로 변경 및 임포트 수정 * [refact] Remove unnecessary blank line in StudentRecordController
* [refac] Remove SERVER_ID references and temporary file handling from configuration * [refac] Clean up AuthV2Controller by removing outdated comments * [feat] Add password change notification email template * [feat] Enhance email service to include customizable subject lines for verification and password change emails * [feat] Update email service to support customizable email templates for verification and password change emails * [refac] Update API version for password recovery endpoint in SecurityWhitelist * [refac] Remove unused imports and deprecated query method from MemberRepository * [feat] Add password find and update endpoints with detailed API responses * [refac] Refactor email service to use EmailTemplate enum for subject and template management * [refac] Improve type declaration for contextMap in MdcTaskDecorator * [refac] Remove redundant MDC clear comments in AIEventListener * [refac] Update API documentation to remove confirmPassword from error example * [refac] Remove unused permission check method from AuthFacade * [refac] Remove confirmPassword parameter from updatePassword method and related validations * [refac] Remove PASSWORD_CONFIRM_MISMATCH error code and related API documentation * [refac] Refactor email request building to use EmailTemplate and update URL handling * [refac] Update API documentation for password recovery and change operations
* [refac] Refactor AIEventListener and SqsServiceImpl to improve code clarity and remove unnecessary comments * [refac] Refactor promtail configuration for EduKit API logging, consolidating log levels and improving filtering * [refac] Update docker-compose configuration to include dynamic HOSTNAME for blue-green deployment * [refac] Refactor docker-compose configuration to set dynamic HOSTNAME for development environment * [refac] Refactor promtail configuration to minimize high-cardinality labels in dynamic label settings * [refac] Refactor promtail configuration to streamline health check and metrics endpoint filtering * [refac] Refactor docker-compose and promtail configuration for blue-green deployment, enhancing log management and filtering
* [fix] Update HTTP method for modifying student records. * [feat] Add QueryDSL configuration for JPA support * [feat] Add student filtering and pagination API * [fix] Remove redundant comment in StudentQueryRepository * [fix] Enforce pageSize validation in API endpoints * [fix] Add student count to StudentsGetResponse * [fix] Add student count to API response * [fix] Refine parameter descriptions in StudentApi * [fix] Remove deprecated getStudentsByFilters method
* [fix] 학생 조회 API에 대한 권한 설정 추가 * [refac] 수정된 페이지 사이즈 파라미터의 기본값 설정 * [fix] 수정된 학생 API 경로로 요청 매핑 변경
* [fix] Update API dev workflow to stop and remove old app containers * [fix] Remove dynamic page size and set a static default value of 10 * [fix] Set static page size of 20 for student records API * [feat] Add grades and class numbers to student response * [fix] Sort student records by record type * [feat] Refactor student record handling for member-based filtering * [fix] Fix unnecessary whitespace in API dev CD workflow
* [feat] Add student name retrieval by filters * [feat] Add API to retrieve student names by record type * [feat] Ensure unique student records during updates * [fix] Refactor mapping to use StudentNameItem factory method * [fix] Refactor student duplicate validation methods in service
* [feat] Enhance response to include grades and class numbers * [feat] Add grades and class numbers to API response
* [feat] add idempotency key handling in SQS message sending * [refac] throw SQSException on idempotency key extraction failure * [fix] return null on idempotency key extraction failure in SqsServiceImpl * [refac] add AI_GENERATE_TIMEOUT error code and update SSE timeout handling * [fix] remove SQSException throw on idempotency key extraction failure
* [refac] remove AITaskStatus from StudentRecordAITask * [refac] remove status column from student_record_ai_task table * [refac] remove startTask method and its invocation in AIEventListener * [feat] implement startTask method in AITaskService and invoke it in AIEventListener * [feat] add AIProgressMessage record for task status updates * [feat] implement progress messaging for AI task generation * [fix] update log message to reflect correct progress message property * [feat] introduce SSEMessage for structured event messaging in SSEChannelManager * [feat] refactor taskId handling to use String type in AIProgressMessage and related classes * [refac] format progress message sending in AIEventListener for improved readability * [feat] introduce AITaskStatus enum for structured task status management in AIProgressMessage and SSEChannelManager * [feat] enhance AI streaming response to include progress status and final content details * [feat] add INVALID_AI_TASK_STATUS error code and improve exception handling in AITaskStatus * [feat] refactor taskId handling to use String type across AITaskService, StudentRecordAIController, and StudentRecordAIFacade * [feat] update taskId handling to use String type in StudentRecordAIApi for consistency * [feat] update extractIdempotencyKey method to handle taskId as String for improved consistency * [refac] update SQS message sending to include idempotency key for improved message handling
* [refac] remove unused progress message handling in AIEventListener and related classes * [refac] remove unused logging in AIEventListener * [fix] reduce SseEmitter timeout duration in createChannel method * [refac] remove redundant line breaks in RedisStreamConsumer * [fix] add delay before completing task in SSEChannelManager * [refac] implement scheduled task completion with reduced delay in SSEChannelManager
* [fix] Remove post-related entities and enums from the codebase * [feat] Add GitHub Actions pipeline for API production deployment * [fix] Remove branch-specific trigger from API prod CD pipeline
* [feat] add new phases for AI task status enumeration * [feat] add completed phase to AI task status enumeration * [feat] add in-progress status check for AI task status * [refac] rename sendMessage to sendCompleteMessage in SSEChannelManager * [feat] update AIResponseMessage to include status and rename reviewedContent to content * [feat] add isComplete method to AITaskStatus and update RedisStreamConsumer to check task completion status * [feat] refactor AIProgressMessage and AIResponseMessage to use String status; update RedisStreamConsumer to handle progress messages * [feat] update AIProgressMessage and AIResponseMessage to include JSON properties; modify RedisStreamConsumer to handle progress messages * [refac] update RedisStreamConsumer to improve task status handling in progress messages * [feat] update AIProgressMessage to include version; modify AIEventListener to send progress messages with version information * [feat] add version handling in SSEChannelManager for AIProgressMessage * [feat] enhance RedisStoreService to support hash operations for task status; update SSEChannelManager to store and retrieve progress messages using versioned hashes * [feat] update SSEChannelManager and SSEMessage to include version in progress messages; enhance RedisStoreService to store task status with versioning * [fix] update SSEChannelManager and SSEMessage to include version in progress messages; enhance RedisStoreService to store task status with versioning * [refac] change status message * [refac] specify status message * [refac] apply changes to Swagger API docs * [fix] fix Json parse logic
* [refac] change file position * [feat] add sendMessage function in redis stream service * [refac] send Message to Redis Stream instead of SQS * [docs] update README.md
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
운영 서버 배포