-
Notifications
You must be signed in to change notification settings - Fork 14
Dev to Main Sync #34
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
Dev to Main Sync #34
Conversation
* feat: add Docker configuration and deployment workflow * fix: correct casing in Dockerfile FROM instruction * fix: remove temporary branch from deployment workflow * fix: update ssh-action version and improve Dockerfile pip install command
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 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
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
fix: deployment issues
…ls of a specific task (#39) * feat: Add API to fetch a single task by ID Implements the GET /tasks/{task_id} endpoint to retrieve details of a specific task. - Added get_by_id method to TaskRepository. - Added get_task_by_id method to TaskService with error handling for TaskNotFoundException and invalid ObjectId format. - Updated TaskView to handle requests for a single task ID, returning 404 for not found and 400 for invalid ID format. - Added new URL pattern /tasks/<str:task_id> to todo/urls.py. - Created GetTaskByIdResponse DTO for the response structure. - Created TaskNotFoundException custom exception. - Added PATH to ApiErrorSource enum for error reporting. - Added new API error messages to todo/constants/messages.py. - Added default SQLite DATABASES configuration to todo_project/settings/base.py to ensure Django's test runner operates correctly, resolving teardown errors. - Added comprehensive unit tests for the new repository method, service method, and view logic. - Added integration tests for the new endpoint, covering success (200), not found (404), and invalid ID format (400) scenarios. * refactor: modified the class to include an __init__ method that sets a default descriptive error message, while still allowing a custom message to be passed when raising the exception * refactor(tests): address review feedback on task detail integration tests . - refactor to use existing fixture instead of local mock data, improving test data consistency. * refactor: address review feedback on exceptions and service logic - Update to use a predefined constant () for its default message, improving consistency with message management. - Correct instantiation in to use instead of , aligning with Pydantic field definitions and alias usage. * refactor: Standardize Task API Views, Error Handling, and URLS - Refactored the monolithic TaskView into TaskListView (handling GET /tasks for listing and POST /tasks for creation) and TaskDetailView (handling GET /tasks/{task_id} for retrieval). - Updated URL configurations in to map to these new views, resolving previous Method Not Allowed errors and clarifying route responsibilities. - Significantly enhanced the to provide consistent JSON structures for various error types. - Ensured specific handling for (and s indicating invalid ID format), mapping them to HTTP 400 with a standardized error message (). - Corrected logic to ensure objects consistently include a for generic exceptions. - Streamlined error message usage from . - Updated to explicitly raise when is encountered from the repository. - Ensured pagination link generation in uses the correct URL name () via . - Refined exception handling within service methods to use constants from . - Consolidated error messages: removed and , relying on the primary messages ( and ). - Removed an unnecessary docstring from as per review feedback. - Updated all relevant unit and integration tests to reflect changes in view names, URL structures, error response formats, and constant usage. - Ensured tests for invalid task IDs now correctly expect HTTP 400 and the standardized error message. - Modified tests for the custom exception handler to align with its comprehensive error formatting. * refactor: fixed the grammer and also changed the constant message * fix(tasks): standardize invalid task ID error to 404 TaskNotFound - modifies to handle by raising a with the message . This results in a consistent HTTP 404 response when a task ID is malformed. - generic exception handler within has also been updated to raise . - Integration tests (): Updated to expect an HTTP 404 status and the revised error structure for invalid task ID formats. - Unit tests (): Updated to assert that is raised for invalid task ID formats. * refactor: moved the TASK_NOT_FOUND and INVALID_TASK_ID_FORMAT to ValidationErrors * refactor: moved the TASK_NOT_FOUND and INVALID_TASK_ID_FORMAT to ValidationErrors * fix: Correct HTTP status and handling for invalid task ID format * fix: Improve error handling for task ID issues and server errors * refactor: Standardize InvalidId exception handling and naming * refactor: Split TaskView, improve error handling & update tests * refactor: Split TaskView, improve error handling & update tests * fix: failing test * chore: remove unnecessary comments
…c task (#46) * feat: Add API to fetch a single task by ID Implements the GET /tasks/{task_id} endpoint to retrieve details of a specific task. - Added get_by_id method to TaskRepository. - Added get_task_by_id method to TaskService with error handling for TaskNotFoundException and invalid ObjectId format. - Updated TaskView to handle requests for a single task ID, returning 404 for not found and 400 for invalid ID format. - Added new URL pattern /tasks/<str:task_id> to todo/urls.py. - Created GetTaskByIdResponse DTO for the response structure. - Created TaskNotFoundException custom exception. - Added PATH to ApiErrorSource enum for error reporting. - Added new API error messages to todo/constants/messages.py. - Added default SQLite DATABASES configuration to todo_project/settings/base.py to ensure Django's test runner operates correctly, resolving teardown errors. - Added comprehensive unit tests for the new repository method, service method, and view logic. - Added integration tests for the new endpoint, covering success (200), not found (404), and invalid ID format (400) scenarios. * refactor: modified the class to include an __init__ method that sets a default descriptive error message, while still allowing a custom message to be passed when raising the exception * refactor(tests): address review feedback on task detail integration tests . - refactor to use existing fixture instead of local mock data, improving test data consistency. * refactor: address review feedback on exceptions and service logic - Update to use a predefined constant () for its default message, improving consistency with message management. - Correct instantiation in to use instead of , aligning with Pydantic field definitions and alias usage. * refactor: Standardize Task API Views, Error Handling, and URLS - Refactored the monolithic TaskView into TaskListView (handling GET /tasks for listing and POST /tasks for creation) and TaskDetailView (handling GET /tasks/{task_id} for retrieval). - Updated URL configurations in to map to these new views, resolving previous Method Not Allowed errors and clarifying route responsibilities. - Significantly enhanced the to provide consistent JSON structures for various error types. - Ensured specific handling for (and s indicating invalid ID format), mapping them to HTTP 400 with a standardized error message (). - Corrected logic to ensure objects consistently include a for generic exceptions. - Streamlined error message usage from . - Updated to explicitly raise when is encountered from the repository. - Ensured pagination link generation in uses the correct URL name () via . - Refined exception handling within service methods to use constants from . - Consolidated error messages: removed and , relying on the primary messages ( and ). - Removed an unnecessary docstring from as per review feedback. - Updated all relevant unit and integration tests to reflect changes in view names, URL structures, error response formats, and constant usage. - Ensured tests for invalid task IDs now correctly expect HTTP 400 and the standardized error message. - Modified tests for the custom exception handler to align with its comprehensive error formatting. * refactor: fixed the grammer and also changed the constant message * fix(tasks): standardize invalid task ID error to 404 TaskNotFound - modifies to handle by raising a with the message . This results in a consistent HTTP 404 response when a task ID is malformed. - generic exception handler within has also been updated to raise . - Integration tests (): Updated to expect an HTTP 404 status and the revised error structure for invalid task ID formats. - Unit tests (): Updated to assert that is raised for invalid task ID formats. * refactor: moved the TASK_NOT_FOUND and INVALID_TASK_ID_FORMAT to ValidationErrors * refactor: moved the TASK_NOT_FOUND and INVALID_TASK_ID_FORMAT to ValidationErrors * fix: Correct HTTP status and handling for invalid task ID format * fix: Improve error handling for task ID issues and server errors * refactor: Standardize InvalidId exception handling and naming * refactor: Split TaskView, improve error handling & update tests * refactor: Split TaskView, improve error handling & update tests * fix: failing test * chore: remove unnecessary comments * feature: Implement the delete task API * test: add test for view file * test: add test for soft delete * fix:merge conflicts * fix: remove unnecessary spacing and simplify DB query logic * fix: storing the task_id in variable * refactor: remove unnecessary invalid ID exception handling * refactor: remove unnecessary invalid ID exception handling --------- Co-authored-by: Achintya-Chatterjee <[email protected]>
…CH /tasks/{task_id}/` (#52)
* feat: Implement PATCH /tasks/{task_id} to update tasks
- Added method to handle update requests.
- Introduced for validating incoming update data,
ensuring all fields are optional and is a future date.
- Added method to to perform the MongoDB
operation, ensuring is set.
- Implemented to orchestrate the update logic:
- Fetches the task or raises .
- Processes validated data from the serializer.
- Converts label string IDs to and validates their existence.
- Converts priority and status string names to their enum values for
database storage.
- Sets (currently placeholder).
- Calls the repository to persist changes.
- Corrected an issue where enum objects (Priority, Status) were passed
directly to the database layer, causing a serialization error. Now,
their primitive values are stored.
- Refined construction in to ensure
all valid fields from the serializer are correctly prepared for update.
* refactor(tasks): Standardize error handling in TaskService update
- Removes redundant format validation for label ObjectIds, as this is
already handled by .
- For missing (but validly formatted) label IDs,
now raises instead of a
custom
* rfactor: PATCH /tasks/{task_id} endpoint to have task title blank true
* refactor: improve error handling for task updates and ID validation
centralizes error handling for task update operations:
- Removes specific ObjectId validation from . Invalid ID formats will now correctly raise , which is handled by the global DRF exception handler to return a 400 Bad Request.
- Modifies to raise if the task to be updated is not found. This is also handled by the global exception handler, resulting in a 404 Not Found response
* refactor: Enhance serializer validations and repository clarity
- Implemented validation to ensure `startedAt` cannot be a future date.
- Added `FUTURE_STARTED_AT` to `ValidationErrors` in `constants/messages.py`
for the new validation message.
- Added an explicit type check to ensure `labels` input is a list or tuple.
- Modified to collect all invalid ObjectId formats within the `labels` list
and report them in a single `ValidationError` for better client feedback.
- Moved the "Labels must be a list or tuple..." message to
`ValidationErrors.INVALID_LABELS_STRUCTURE` in `constants/messages.py`
and updated the serializer to use this constant.
- Deleted an unreachable `if not update_data_with_timestamp: pass` block,
as the updatedAt field ensures the dictionary is never empty at that point.
* Update todo/serializers/update_task_serializer.py
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Update todo/views/task.py
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* fix: gramatical errors on the constants
* fix: added missing imports
* fix: used global exception handler for catching errors
* Refactor(TaskRepository): modify update method for input validation and ObjectId handling
* refactor(serializers): align validate_dueAt error handling pattern
-refactors the method in
to collect validation errors in a list and raise a single
with this list.
* refactor(services): reduce complexity of TaskService.update_task
-Refactors the method in to improve
readability and reduce cognitive complexity. The core logic for
processing specific field types (labels, enums) has been extracted
into dedicated helper methods: and
* refactor(services): reduce complexity of TaskService.update_task
-Refactors the method in to improve
readability and reduce cognitive complexity. The core logic for
processing specific field types (labels, enums) has been extracted
into dedicated helper methods: and
* refactor: refactor the code to improve maintainability
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* feat: Implement PATCH /tasks/{task_id} to update tasks
- Added method to handle update requests.
- Introduced for validating incoming update data,
ensuring all fields are optional and is a future date.
- Added method to to perform the MongoDB
operation, ensuring is set.
- Implemented to orchestrate the update logic:
- Fetches the task or raises .
- Processes validated data from the serializer.
- Converts label string IDs to and validates their existence.
- Converts priority and status string names to their enum values for
database storage.
- Sets (currently placeholder).
- Calls the repository to persist changes.
- Corrected an issue where enum objects (Priority, Status) were passed
directly to the database layer, causing a serialization error. Now,
their primitive values are stored.
- Refined construction in to ensure
all valid fields from the serializer are correctly prepared for update.
* refactor(tasks): Standardize error handling in TaskService update
- Removes redundant format validation for label ObjectIds, as this is
already handled by .
- For missing (but validly formatted) label IDs,
now raises instead of a
custom
* rfactor: PATCH /tasks/{task_id} endpoint to have task title blank true
* refactor: improve error handling for task updates and ID validation
centralizes error handling for task update operations:
- Removes specific ObjectId validation from . Invalid ID formats will now correctly raise , which is handled by the global DRF exception handler to return a 400 Bad Request.
- Modifies to raise if the task to be updated is not found. This is also handled by the global exception handler, resulting in a 404 Not Found response
* refactor: Enhance serializer validations and repository clarity
- Implemented validation to ensure `startedAt` cannot be a future date.
- Added `FUTURE_STARTED_AT` to `ValidationErrors` in `constants/messages.py`
for the new validation message.
- Added an explicit type check to ensure `labels` input is a list or tuple.
- Modified to collect all invalid ObjectId formats within the `labels` list
and report them in a single `ValidationError` for better client feedback.
- Moved the "Labels must be a list or tuple..." message to
`ValidationErrors.INVALID_LABELS_STRUCTURE` in `constants/messages.py`
and updated the serializer to use this constant.
- Deleted an unreachable `if not update_data_with_timestamp: pass` block,
as the updatedAt field ensures the dictionary is never empty at that point.
* Update todo/serializers/update_task_serializer.py
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Update todo/views/task.py
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* fix: gramatical errors on the constants
* fix: added missing imports
* fix: used global exception handler for catching errors
* Refactor(TaskRepository): modify update method for input validation and ObjectId handling
* refactor(serializers): align validate_dueAt error handling pattern
-refactors the method in
to collect validation errors in a list and raise a single
with this list.
* refactor(services): reduce complexity of TaskService.update_task
-Refactors the method in to improve
readability and reduce cognitive complexity. The core logic for
processing specific field types (labels, enums) has been extracted
into dedicated helper methods: and
* refactor(services): reduce complexity of TaskService.update_task
-Refactors the method in to improve
readability and reduce cognitive complexity. The core logic for
processing specific field types (labels, enums) has been extracted
into dedicated helper methods: and
* refactor: refactor the code to improve maintainability
* feat: Implement PATCH `/tasks/{task_id}` endpoint unit tests (#53)
* feat: Implement PATCH /tasks/{task_id} endpoint unit tests
- Developed a comprehensive suite of unit tests for:
- (various valid/invalid payloads).
- (success, task not found, invalid ID).
- (success, task not found, label
validation errors, repository update failures, enum handling).
- (success, serializer errors, service-layer
exceptions like TaskNotFound, BsonInvalidId, DRFValidationError)
* refactor: improve error handling and update associated tests
Centralizes error handling for task update operations:
- Removes specific ObjectId validation from . Invalid ID formats now correctly raise , handled by the global DRF exception handler (400 Bad Request).
- Modifies to raise if the task to be updated is not found by the repository. This is also handled by the global exception handler (404 Not Found).
Updates unit tests to align with these changes:
- now asserts is raised.
- is renamed to and now asserts is raised.
* refactor: adjust serializer tests for ListField behavior and add validation coverage
* fix: import errors
* refactor: harden TaskRepository.update and align tests
* fix: test assertions
* chore: remove test description
* chore: update develop branch into this branch
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
…tests to use real DB (#75) * feat(test): add test database setup and refactor delete task integration test * feat(test): add shared MongoDB test container for integration tests * fix docker internal host ci * refactor: test_task_detail integration test to use db * fix: host name on linux machine * test: add more check on invalid task id * refactor: add error handling for mongo start and add proper spacing * refactor: use constant value instead of hardcoded value * fix: add logic to clear db with each test suite and use django inbuild reverse to generate url * fix: replace 1s sleep with log-based wait for Mongo readiness * fix: remove hardcoded host/port and use container IP for replica set init * Fix: Properly close MongoDB connection in DatabaseManager.reset()
…app [skip tests] (#81) * feat(auth): Integrated RDS Auth * feat(auth): Integrated RDS Auth * fix: env.example * refactor: changes based on ai pr review * feat(auth): Implemented google authentication for todo-app * resolved pr comments * resolved pr comments * resolved bot comments * removed exceptions from views file * refactored auth views * refactored unused field * resolved review comments and added status code to api responses * resolved pr comments * resolved pr comments
* feat(auth): Integrated RDS Auth * feat(auth): Integrated RDS Auth * fix: env.example * refactor: changes based on ai pr review * feat(auth): Implemented google authentication for todo-app * resolved pr comments * resolved pr comments * resolved bot comments * removed exceptions from views file * refactored auth views * refactored unused field * resolved review comments and added status code to api responses * resolved pr comments * resolved pr comments * Tests for Authentication feature (#80) * fix: add auth to pass tests * tests: auth * lint and format * add test creds in test.yml for testing purpose * auth view tests * wip * fix tests based on latest pull of test containers * fixed tests based on updated response structure * rebased on updated auth and fixed tests * fixed workflow file * refactor based on ai pr reviews
* feat(tasks): Add PATCH endpoint to defer tasks introduces a new feature allowing users to defer a task to a future date. A task can be deferred by making a PATCH request to the task detail endpoint with the action=defer query parameter. - A new route in TaskDetailView that handles PATCH requests with ?action=defer. - DeferTaskSerializer to validate the incoming deferredTill timestamp, ensuring it is a future date. - A new defer_task method in TaskService containing the core business logic. This includes a validation rule that prevents deferring a task too close to its due date. - The TaskModel has been updated with a deferredDetails field to store information about the deferral. - A custom UnprocessableEntityException has been added to handle business rule violations, which the global exception handler now processes into a 422 HTTP response. * refactor: refactor the codes according to the bot suggestions * refactor: refactor the codes according to the bot suggestions * Update todo/constants/messages.py Co-authored-by: Anuj Chhikara <[email protected]> * refactor: robust task deferral endpoint refactor the PATCH /tasks/{id}?action=defer API with extensive error handling and improved business logic based on code reviews. - Adds a error when deferring a task. - Enforces a configurable notice period for deferrals close to the due date. - Hardens the API by validating the parameter strictly. - Refactors exception handling to be more specific and robust. - Improves test coverage for new service logic, views, and exceptions. * fix(task-service): normalise datetimes in defer_task to avoid naive/aware clash - Force deferred_till to be UTC-aware if it arrives naive. - Convert stored dueAt to UTC-aware before applying the minimum-notice rule. - Prevents TypeError: can't compare offset-naive and offset-aware datetimes, eliminating 500 responses on PATCH /v1/tasks?action=defer. - All integration tests now pass. * fix: missing imports * fix: added source path for task id to get the more appropiate error details * refactor: align defer task serializer with Python conventions * refactor: align defer task serializer with Python conventions * fix(db): Resolve timezone inconsistency in API datetime fields Previously, API responses for updated tasks returned naive datetime strings (e.g., 2025-10-21T02:35:25.433000), while responses for newly created tasks correctly returned timezone-aware strings (e.g., 2025-06-21T10:10:32.337301Z). This was caused by the PyMongo defaulting to . As a result, when a task was read from the database during an update operation, its timezone-aware BSON date was converted to a naive Python object, which was then serialized into the API response without timezone information. This commit configures the with . This ensures that all datetime objects retrieved from the database remain timezone-aware, guaranteeing consistent ISO 8601 formatting with the UTC 'Z' suffix across all API responses. * feat: added unit and integration tests for defer task endpoint (#79) * feat: added unit test for defer task endpoint * feat: added remaining unit tests for the defer task PATCH endpoint * fix: failing tests * fix: added deferredDetails on create task unit test * feat: added integration tests for the defer task endpoint and also added missing integration tests for update task endpoint * chore: remove comments from the integration tests code as it was unnecesseey * chore: remove comments from the integration tests code as it was unnecesseey * fix: imports * fix: enhance defer task tests and fix auth issues - corrected authentication failures in integration tests for task updates and deferrals. Introduced an AuthenticatedMongoTestCase to standardize JWT cookie setup, resolving multiple 401 Unauthorized errors. - updated the global exception handler for TaskStateConflictException to include the source field in the error response, ensuring consistency and fixing a KeyError in the corresponding unit test. - added new integration tests for the defer task endpoint to validate API behavior with invalid and missing deferredTill dates, improving the feature's robustness. - refactored the task update and deferral integration tests to follow the established authentication pattern from other tests, making them cleaner and more consistent. * fix: failing test --------- Co-authored-by: Anuj Chhikara <[email protected]>
* feat: add auth logic for all the APIs * refactor: serializer and repositories tests * refactor: integration test for auth logic * refactor: unit tests for auth logic * fix: remove csrf disable middleware * refactor: move user setup and auth cookies to shared test utility * fix: add createdBy validator
* feat: Integrate drf-spectacular for OpenAPI documentation and add schema endpoints * fix: Add TEMPLATES and STATIC_URL configuration for drf-spectacular * fix: Add trailing slashes to API docs paths and enable DEBUG mode * fix: Replace Pydantic models with inline schemas in Swagger decorators * fix: Update OpenAPI responses to use OpenApiResponse for consistency --------- Co-authored-by: Amit Prakash <[email protected]>
* feat: added changes related to GET v1/labels * modified to single db query instead two separate db queries * fixes suggested by bot * lint fix * removed unnecessary code * modified to strip search in serialzier * feat: GET v1/labels tests (#96) * feat: added test related to GET v1/labels * tests for modified single db query instead two separate db queries * lint fix * remove unnecessary code * fix typo of previous code * tests modified to strip search in serialzier * replaced with constants
* Update watchlist_dto.py * Update watchlist_repository.py * Update test_watchlist_service.py
* feat: add team invite code functionality * feat: implement team invite code generation and verification functionality * refactor: clean up code formatting and remove unused imports in team invite code files * chore: add audit logs in team creation invite code * refactor: improve error handling * feat: add endpoint to list team creation invite codes with pagination and user details * chore: remove unused user ID from team creation invite code * refactor: improve code formatting * refactor: enhance DTO descriptions * refactor: update team creation invite code handling and validation logic * fix: patch unit test * refactor: rename method for retrieving team creation invite codes and improve error handling * feat: enhance JWT authentication middleware to verify user existence and include email in request
…rkflows (#252) * feat: Add ADMIN_EMAILS environment variable to deployment and test workflows * fix: Correct ADMIN_EMAILS variable reference in deployment script
…sm (#258) * feat: implement dual-write system for MongoDB to PostgreSQL synchronization - Added comprehensive documentation for the dual-write feature in README.md - Updated requirements.txt to include psycopg2-binary for PostgreSQL support - Modified Django settings to configure PostgreSQL as the primary database - Introduced dual-write operations with error handling and monitoring capabilities - Enhanced project structure for future migration paths and Docker development setup * feat: enhance PostgreSQL integration with new models and dual-write functionality * refactor: consolidate PostgreSQL models * feat: implement priority field fix and enhance dual-write functionality * refactor: update PostgreSQL models and enhance dual-write service functionality * refactor: simplify Postgres watchlist model and update dual-write service transformation * fix: deferred task in postgres * refactor: update Postgres audit log model * refactor: remove old watchlist models and update user role structure for enhanced functionality * refactor: enhance PostgreSQL model definitions and integrate dual-write service for task assignments and user roles * feat: add task assignment creation functionality and streamline task assignment deletion process * refactor: update task assignment models and repository to streamline data handling and enhance dual-write service integration * feat: implement dual-write synchronization for team creation invite codes and update watchlist collection naming * feat: add PostgreSQL synchronization service and management command for labels and roles * chore: remove pgAdmin service from docker-compose configuration * chore: remove deprecated docker-compose and environment configuration files * feat: add PostgreSQL availability checks and environment variables for dual-write and sync services * feat: configure database settings for testing and production environments * fix: update environment variable names for PostgreSQL configuration in docker-compose and application settings * refactor: update PostgreSQL environment variable name and enhance docker-compose commands and health checks * refactor: rename PostgreSQL task assignment index names for consistency --------- Co-authored-by: Amit Prakash <[email protected]>
…t variables and README for database migrations (#264) * feat: update environment variables and README for database migrations * feat: update environment variables and docker-compose for PostgreSQL configuration * feat: add --noinput flag to manage.py migrate command in Dockerfiles
Date:
Developer Name:
Issue Ticket Number
PR's Going in this Sync
Description
Documentation Updated?
Under Feature Flag
Database Changes
Breaking Changes
Development Tested?
Screenshots
Screenshot 1
Test Coverage
Screenshot 1
Additional Notes