Skip to content

Conversation

@rlorenzo
Copy link
Contributor

  • Implement CoursesController with CRUD endpoints and Banner search
  • Add CourseService with duplicate detection and enrollment management
  • Create Vue CourseList page with add/edit/import dialogs
  • Add unit and integration tests for controller and service layers

- Implement CoursesController with CRUD endpoints and Banner search
- Add CourseService with duplicate detection and enrollment management
- Create Vue CourseList page with add/edit/import dialogs
- Add unit and integration tests for controller and service layers
Copilot AI review requested due to automatic review settings December 19, 2025 04:09
Copy link

Copilot AI left a 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 implements manual course import, edit, and delete functionality for the Effort system, enabling users to search Banner for courses, import them, create custom courses, and manage existing courses with appropriate permission controls.

Key changes:

  • Backend CRUD operations with Banner integration and duplicate detection
  • Permission-based access control for course management operations
  • Vue.js UI with modal dialogs for import, add, and edit workflows

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
web/Program.cs Registers CourseService in DI container
web/Areas/Effort/Services/ICourseService.cs Defines course service interface with CRUD and Banner search operations
web/Areas/Effort/Services/CourseService.cs Implements course business logic with audit integration
web/Areas/Effort/Services/IEffortAuditService.cs Adds course change audit method
web/Areas/Effort/Services/EffortAuditService.cs Implements course audit logging
web/Areas/Effort/Controllers/CoursesController.cs RESTful API endpoints with permission checks
web/Areas/Effort/Models/DTOs/Requests/*.cs Request DTOs for course operations
web/Areas/Effort/Models/DTOs/Responses/BannerCourseDto.cs Response DTO for Banner course data
VueApp/src/composables/ViperFetch.ts Adds PATCH HTTP method support
VueApp/src/Effort/types/index.ts TypeScript type definitions for course entities
VueApp/src/Effort/services/effort-service.ts API client methods for course operations
VueApp/src/Effort/pages/CourseList.vue Main course list page with filtering
VueApp/src/Effort/components/CourseImportDialog.vue Banner course import dialog
VueApp/src/Effort/components/CourseEditDialog.vue Course edit dialog with enrollment-only mode
VueApp/src/Effort/components/CourseAddDialog.vue Manual course creation dialog
VueApp/src/Effort/composables/use-effort-permissions.ts Adds course permission checks
VueApp/src/Effort/layouts/EffortLayout.vue Adds Courses navigation link
VueApp/src/Effort/router/routes.ts Adds CourseList route
test/Effort/CourseServiceTests.cs Unit tests for CourseService
test/Effort/CoursesControllerTests.cs Unit tests for CoursesController
test/Effort/Integration/EffortPermissionIntegrationTests.cs Integration tests for permission system
test/Effort/EffortIntegrationTestBase.cs Base class for integration tests
VueApp/src/Effort/tests/*.test.ts Frontend component behavior tests

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Add extractErrorMessage helper for API error extraction
- Simplify units assignment using ternary operator
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 28 out of 28 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Use path params (/Effort/:termCode/courses, /audit) instead of query strings
- Require term selection for Courses nav; Audit supports global view
- Sync URL with dropdown changes and browser back/forward navigation
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 31 out of 31 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

# Conflicts:
#	VueApp/src/Effort/composables/use-effort-permissions.ts
#	VueApp/src/Effort/layouts/EffortLayout.vue
Base automatically changed from effort-phase2 to main December 22, 2025 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants