From 10956254d985918b17af0608725d1328beecb99f Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 05:32:13 +0000
Subject: [PATCH 1/4] Initial plan
From 39ca7b9ad6863889231919c0bda9cc7a5a238319 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 05:39:33 +0000
Subject: [PATCH 2/4] Implement instructor rating feature - entities,
repositories, services, and API
Co-authored-by: kavyashri-as <213833080+kavyashri-as@users.noreply.github.com>
Agent-Logs-Url: https://github.com/CanarysPlayground/CourseApplication/sessions/e5aba3b0-3bdb-4857-9b2a-57cfffb98068
---
.../InstructorRatingsController.cs | 207 ++++++++++++++++++
.../CourseRegistration.API.csproj | 4 +
api/CourseRegistration.API/Program.cs | 2 +
.../DTOs/InstructorRatingDtos.cs | 160 ++++++++++++++
.../Interfaces/IInstructorRatingService.cs | 54 +++++
.../Mappings/MappingProfile.cs | 22 ++
.../Services/InstructorRatingService.cs | 180 +++++++++++++++
.../Entities/Course.cs | 19 ++
.../Entities/InstructorRating.cs | 63 ++++++
.../Entities/Student.cs | 5 +
.../Interfaces/IInstructorRatingRepository.cs | 44 ++++
.../Interfaces/IUnitOfWork.cs | 5 +
.../Data/CourseRegistrationDbContext.cs | 40 ++++
.../CourseRegistrationDbContextFactory.cs | 20 ++
.../InstructorRatingRepository.cs | 103 +++++++++
.../Repositories/UnitOfWork.cs | 13 ++
16 files changed, 941 insertions(+)
create mode 100644 api/CourseRegistration.API/Controllers/InstructorRatingsController.cs
create mode 100644 api/CourseRegistration.Application/DTOs/InstructorRatingDtos.cs
create mode 100644 api/CourseRegistration.Application/Interfaces/IInstructorRatingService.cs
create mode 100644 api/CourseRegistration.Application/Services/InstructorRatingService.cs
create mode 100644 api/CourseRegistration.Domain/Entities/InstructorRating.cs
create mode 100644 api/CourseRegistration.Domain/Interfaces/IInstructorRatingRepository.cs
create mode 100644 api/CourseRegistration.Infrastructure/Data/CourseRegistrationDbContextFactory.cs
create mode 100644 api/CourseRegistration.Infrastructure/Repositories/InstructorRatingRepository.cs
diff --git a/api/CourseRegistration.API/Controllers/InstructorRatingsController.cs b/api/CourseRegistration.API/Controllers/InstructorRatingsController.cs
new file mode 100644
index 0000000..efb8734
--- /dev/null
+++ b/api/CourseRegistration.API/Controllers/InstructorRatingsController.cs
@@ -0,0 +1,207 @@
+using Microsoft.AspNetCore.Mvc;
+using CourseRegistration.Application.DTOs;
+using CourseRegistration.Application.Interfaces;
+
+namespace CourseRegistration.API.Controllers;
+
+///
+/// Controller for instructor rating operations
+///
+[ApiController]
+[Route("api/[controller]")]
+[Produces("application/json")]
+public class InstructorRatingsController : ControllerBase
+{
+ private readonly IInstructorRatingService _ratingService;
+ private readonly ILogger _logger;
+
+ ///
+ /// Initializes a new instance of the InstructorRatingsController
+ ///
+ public InstructorRatingsController(IInstructorRatingService ratingService, ILogger logger)
+ {
+ _ratingService = ratingService ?? throw new ArgumentNullException(nameof(ratingService));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
+ }
+
+ ///
+ /// Creates a new instructor rating
+ ///
+ /// Rating creation details
+ /// Created rating
+ [HttpPost]
+ [ProducesResponseType(typeof(ApiResponseDto), StatusCodes.Status201Created)]
+ [ProducesResponseType(typeof(ApiResponseDto