-
Notifications
You must be signed in to change notification settings - Fork 1
328-스케줄-겹침-경고: 일정 겹침 경고 기능 추가 #331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
The head ref may contain hidden characters: "328-\uC2A4\uCF00\uC904-\uACB9\uCE68-\uACBD\uACE0"
Conversation
- Introduced LoggingTransformer to log serialized request payloads for better debugging and monitoring. - Updated AppDio to utilize LoggingTransformer, enhancing the request transformation process. - This addition improves visibility into the data being sent over the network.
- Introduced finishSchedule method in ScheduleRemoteDataSource and its implementation in ScheduleRepositoryImpl to handle finishing schedules with a lateness time. - Added FinishScheduleUseCase to encapsulate the logic for finishing a schedule, enhancing the architecture and separation of concerns. - Updated Endpoint class to include a new endpoint for finishing schedules.
- Added ScheduleFinished event to trigger the completion of a schedule with a lateness time. - Updated ScheduleBloc to process the ScheduleFinished event, integrating the new FinishScheduleUseCase for managing schedule finalization. - Enhanced AlarmScreen to calculate and dispatch lateness minutes upon preparation completion, improving user feedback on schedule adherence.
- Introduced doneStatus property in GetScheduleResponseModel and ScheduleEntity to track the completion status of schedules. - Implemented _mapDoneStatus function to map server values to ScheduleDoneStatus enum, enhancing status management. - Default value for doneStatus is set to 'NOT_ENDED' in GetScheduleResponseModel and ScheduleEntity, improving initial state handling.
…Entity - Eliminated the assignment of elapsedTime from the current preparation step, streamlining the state management logic. - This change enhances the clarity and efficiency of the preparation handling within the entity.
…pletion - Changed the HTTP method from POST to PUT in the finishSchedule implementation to align with RESTful conventions for updating resources. - This adjustment ensures proper handling of schedule completion requests, enhancing the API interaction.
…tion completion - Introduced navigation logic in AlarmScreen to handle transitions after preparation completion, improving user experience. - Added state variables to manage pending early/late status and reset navigation state effectively. - Refactored the build method to utilize BlocListener for handling schedule state changes, ensuring timely navigation to the early/late screen. - Improved the preparation completion dialog handling to provide better feedback upon finishing preparation steps.
…tatus - Added logic to determine if the edit action should be displayed based on the schedule's doneStatus and scheduleTime. - This enhancement improves user interaction by preventing edits on completed schedules or those that are past their scheduled time.
- Introduced a copyWith method in ScheduleEntity to facilitate the creation of modified instances while maintaining immutability. - This enhancement allows for easier updates to the doneStatus property without altering the original instance, improving state management.
- Updated finishSchedule method to include logic for updating the doneStatus based on lateness time, improving state management. - Added functionality to emit updated schedule instances through the stream controller, ensuring real-time updates for schedule completion status. - Refactored getNearestUpcomingScheduleUseCase to handle exceptions more gracefully and ensure proper fetching of schedules based on their doneStatus.
…ing logic - Added LoadSchedulesByDateUseCase to fetch schedules for a specified date range, improving modularity and reusability. - Refactored LoadSchedulesForMonthUseCase and LoadSchedulesForWeekUseCase to utilize LoadSchedulesByDateUseCase, streamlining schedule retrieval logic.
- Introduced a BehaviorSubject to manage a stream of preparation entities, allowing real-time updates. - Updated getPreparationByScheduleId and createDefaultPreparation methods to emit changes to the preparation stream. - Refactored the PreparationRepository interface to include the preparationStream getter, enhancing data flow management.
…restUpcomingScheduleUseCase - Added LoadPreparationByScheduleIdUseCase to facilitate loading preparation data from the remote source and updating local cache. - Updated GetNearestUpcomingScheduleUseCase to utilize the new LoadPreparationByScheduleIdUseCase for fetching preparation data, improving data retrieval logic. - Refactored getPreparationByScheduleId method to return preparation from a stream, enhancing real-time data handling.
…eduleWithPreparationUseCase - Added GetNextScheduleWithPreparationUseCase to retrieve the next schedule along with its preparation data, enhancing scheduling functionality. - Introduced LoadNextScheduleWithPreparationUseCase to load schedules and preparation data from the server, improving data synchronization. - Enhanced localization with new messages for schedule overlap warnings and errors, providing better user feedback on scheduling conflicts. - Updated ScheduleDateTimeCubit to check for schedule overlaps and display appropriate messages, improving user experience during schedule creation.
…tion for all schedules in date range - Updated LoadNextScheduleWithPreparationUseCase to utilize GetSchedulesByDateUseCase for fetching schedules. - Modified the call method to load preparation data for all schedules within the specified date range, improving data handling and synchronization.
- Updated localization files to include schedule overlap warnings and errors with specific schedule names for better user feedback. - Refactored schedule overlap logic in ScheduleDateTimeCubit and related components to utilize new overlap duration calculations. - Introduced MessageBubble component for consistent display of overlap messages across different forms. - Enhanced state management in ScheduleFormSpareTimeCubit and SchedulePlaceMovingTimeCubit to track overlap status and duration, improving user experience during schedule creation.
- Introduced nextScheduleName to ScheduleFormEvent, ScheduleFormState, and related components to enhance schedule overlap handling. - Updated localization messages in SchedulePlaceMovingTimeState and ScheduleFormSpareTimeState to include the next schedule name for better user feedback during scheduling conflicts.
- Rename GetNextScheduleWithPreparationUseCase to GetAdjacentSchedulesWithPreparationUseCase to support fetching both previous and next schedules. - Rename LoadNextScheduleWithPreparationUseCase to LoadAdjacentScheduleWithPreparationUseCase. - Add AdjacentSchedulesWithPreparationEntity to hold previous and next schedule data.
- Update scheduleOverlapError to include start time. - Add previousScheduleOverlapError for previous schedule conflicts.
- Update ScheduleDateTimeCubit to fetch and check both previous and next schedules. - Implement logic to calculate available time from previous schedule and overlap with next schedule. - Update ScheduleFormBloc to store maxAvailableTime and previousScheduleName. - Update UI to show overlap warnings/errors.
… detection - Update SchedulePlaceMovingTimeCubit to use maxAvailableTime for overlap checks. - Update ScheduleFormSpareTimeCubit to use maxAvailableTime for overlap checks. - Update UI to show overlap warnings/errors in these steps.
- Pass AuthBloc to ScheduleFormBloc in ScheduleCreateScreen and ScheduleEditScreen. - This allows accessing user spare time settings.
…constant and update overlap detection logic
…nd update spare time state with overlap checks
…DateTimeCubit and SchedulePlaceMovingTimeCubit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on December 7
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| @@ -0,0 +1 @@ | |||
| genhtml coverage/lcov.info -o coverage/html | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Coverage HTML files accidentally committed
Generated coverage HTML files and reports have been committed to the repository. These are build artifacts that should be excluded from version control via .gitignore. Coverage reports are typically generated locally or in CI/CD pipelines and shouldn't be tracked in git as they change with every test run and bloat the repository.
Additional Locations (2)
|
Visit the preview URL for this PR (updated for commit d2eb115): https://ontime-c63f1--pr331-328-0q00mwh4.web.app (expires Tue, 02 Dec 2025 15:14:43 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 7d60a2eae4c4a5839220ed6a57552a3b61cce5a3 |
|
Visit the preview URL for this PR (updated for commit d2eb115): https://on-time-front-widgetbook--pr331-328-6ycqu0ld.web.app (expires Tue, 02 Dec 2025 15:15:15 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: e53128a376fed0209d449279de9c0d94c83cdd8b |
Note
Adds schedule overlap detection (warnings/errors) in schedule creation, finish-schedule flow, preparation streaming, logging, and related UI/localization updates.
LoggingTransformerand wire intoAppDio.finishScheduleand implement inScheduleRemoteDataSource.PreparationRepository(BehaviorSubject); adapt getters to stream-based flow.LoadSchedulesByDate,LoadPreparationByScheduleId,LoadAdjacentScheduleWithPreparation,GetAdjacentSchedulesWithPreparation, update weekly/monthly loaders to use new loader.GetNearestUpcomingScheduleUseCaseto ignore ended schedules and ensure preparation load.FinishScheduleUseCaseand repo method to update schedule done status.ScheduleEntitywithdoneStatus; map from API inGetScheduleResponseModel.MessageBubblecomponent for inline warnings/errors.Written by Cursor Bugbot for commit d2eb115. This will update automatically on new commits. Configure here.