Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR introduces push notification support by integrating new modules, health indicators, and entities while also updating the database configuration.
- Added NotificationsModule and health indicators for notifications and scheduler
- Updated entity models to use UUIDs and added new push notification related entities
- Removed e2e test configuration and test files, likely streamlining the codebase
Reviewed Changes
Copilot reviewed 99 out of 99 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| apps/tomorrow-api/src/app/health/health.module.ts | Added NotificationsModule import and registration for health checks |
| apps/tomorrow-api/src/app/health/health.controller.ts | Added new health indicators for notifications and scheduler |
| apps/tomorrow-api/src/app/app.module.ts | Integrated EventEmitterModule, ScheduleModule, and NotificationsModule |
| apps/tomorrow-api/src/app/_db/entities/*.ts | Renamed entity classes to include "Entity" suffix and updated primary keys to use UUID types |
| apps/tomorrow-api/src/app/_db/db.module.ts | Updated logging configuration and added new entities along with a production DB_PATH check |
| apps/tomorrow-api/sequelize.config.js | Added production config for database storage |
| apps/tomorrow-api-e2e/* | Removed e2e test configuration and support files |
Comments suppressed due to low confidence (1)
apps/tomorrow-api-e2e/tsconfig.spec.json:1
- The removal of e2e test configuration files reduces overall test coverage. Please confirm that alternative tests or strategies are in place to validate the new push notification functionality.
Removed entire file
33f23c3 to
39ef4f1
Compare
- Introduced snoozeTime column in UserEntity with a default value. - Updated SettingsState to include snoozeTime. - Added updateSnoozeTime method in settings store. - Integrated snoozeTime slider in notification preferences component. - Refactored duration component to utilize durationLabelContext.
…l, and improve type safety in notification store
75dcd3a to
0ef7802
Compare
…on endpoint for further testing
Updated implementations of NotificationEntity Updated notification details Added test scripts for notifications
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.
This pull request introduces significant changes to the
tomorrow-apiproject, focusing on database configuration, entity updates, and the removal of thetomorrow-api-e2eapplication. Key updates include the migration to Sequelize for database management, the addition of new database entities, and the removal of end-to-end testing infrastructure. Below is a categorized summary of the most important changes:Database Configuration and Entity Updates:
.sequelizerc) and environment-specific configurations insequelize.config.jsto manage database connections and paths. [1] [2]DBModuleindb.module.tsto include new entities (EncryptedTaskEntity,PlainTaskEntity,UserEntity,PushNotificationSubscriptionEntity, andNotificationEntity) and added validation for theDB_PATHenvironment variable in production.EncryptedTask,PlainTask) to follow a new naming convention (EncryptedTaskEntity,PlainTaskEntity) and updated column types (e.g.,STRINGtoUUID) for consistency. [1] [2] [3] [4] [5]PushNotificationSubscriptionEntityto manage notification subscriptions andNotificationEntityto handle notifications with fields likescheduledAt,isSent, andmetadata. [1] [2]Removal of
tomorrow-api-e2eApplication:tomorrow-api-e2eapplication, including its configuration files (eslint.config.cjs,jest.config.ts,project.json,tsconfig.json,tsconfig.spec.json), support files (global-setup.ts,global-teardown.ts,test-setup.ts), and test files (tomorrow-api.spec.ts). [1] [2] [3] [4] [5] [6] [7] [8] [9]Docker and Development Environment:
Dockerfileto usenode:22-alpineas the base image, replaced the user setup withnode, and added a/datavolume for persistent storage..httpfiles (health-check.http,test-notification.http) for testing API endpoints, including health checks and notification-related functionality. [1] [2]Development Tools:
.vscode/extensions.jsonto include thehumao.rest-clientextension for testing REST API requests.