-
Notifications
You must be signed in to change notification settings - Fork 7
Ops 4770/procurement actions api #4784
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
Conversation
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.
Pull request overview
This PR adds a new /procurement-actions API endpoint to enable retrieval of procurement actions with filtering and pagination capabilities. Procurement actions are part of the agreement workflow and represent specific procurement activities (awards or modifications) associated with agreements. The implementation follows existing codebase patterns for list and detail endpoints.
Key changes include:
- Added comprehensive service layer with filtering support for agreement, budget line item, status, award type, and procurement shop
- Implemented GET endpoints for both list and detail views with proper authentication and authorization
- Created extensive test coverage including unit tests for service layer and integration tests for API endpoints
- Updated the
is_modificationproperty in the ProcurementAction model to simplify logic
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| backend/ops_api/tests/ops/procurement_action/test_procurement_action.py | Comprehensive test suite covering service layer methods, API endpoints, filtering, pagination, authentication, and schema validation |
| backend/ops_api/ops/views.py | Registered view functions for procurement action item and list endpoints |
| backend/ops_api/ops/urls.py | Added URL routes for /procurement-actions/<id> and /procurement-actions/ endpoints |
| backend/ops_api/ops/services/procurement_actions.py | Service layer implementation with get, get_list methods and multiple filter helpers |
| backend/ops_api/ops/schemas/procurement_actions.py | Marshmallow schemas for request validation and response serialization, including minimal nested schemas and separate list/detail response schemas |
| backend/ops_api/ops/resources/procurement_actions.py | API resource classes implementing GET endpoints with authentication, authorization, and event logging |
| backend/models/procurement_action.py | Simplified is_modification property to only check agreement_mod_id instead of both agreement_mod_id and mod_type |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
backend/ops_api/tests/ops/procurement_action/test_procurement_action.py
Outdated
Show resolved
Hide resolved
…s and detailed response schemas
|
🎉 This PR is included in version 1.249.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
What changed
/procurement-actionsAPI endpointIssue
#4770
#4774
How to test
Automated tests pass.
Definition of Done Checklist