From 023fac2ea98aab19efb7bd22ab9164fbc6aae36a Mon Sep 17 00:00:00 2001 From: "DESKTOP-GENO133\\IvanPlex" Date: Sun, 21 Jan 2024 08:36:10 -0700 Subject: [PATCH] added additional validations to post api endpoints and their documentation. --- Controllers/APIController.cs | 49 ++++++++++++++++--- Views/API/Index.cshtml | 94 +++++++++++++++++++++++++++++++++++- 2 files changed, 133 insertions(+), 10 deletions(-) diff --git a/Controllers/APIController.cs b/Controllers/APIController.cs index 0757313..5ac757e 100644 --- a/Controllers/APIController.cs +++ b/Controllers/APIController.cs @@ -92,12 +92,17 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = "Must provide a valid vehicle id"; + Response.StatusCode = 400; return Json(response); } - if (string.IsNullOrWhiteSpace(input.Description)) + if (string.IsNullOrWhiteSpace(input.Date) || + string.IsNullOrWhiteSpace(input.Description) || + string.IsNullOrWhiteSpace(input.Odometer) || + string.IsNullOrWhiteSpace(input.Cost)) { response.Success = false; - response.Message = "Must provide a valid description"; + response.Message = "Input object invalid, Date, Description, Odometer, and Cost cannot be empty."; + Response.StatusCode = 400; return Json(response); } try @@ -120,6 +125,7 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = ex.Message; + Response.StatusCode = 500; return Json(response); } } @@ -142,12 +148,17 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = "Must provide a valid vehicle id"; + Response.StatusCode = 400; return Json(response); } - if (string.IsNullOrWhiteSpace(input.Description)) + if (string.IsNullOrWhiteSpace(input.Date) || + string.IsNullOrWhiteSpace(input.Description) || + string.IsNullOrWhiteSpace(input.Odometer) || + string.IsNullOrWhiteSpace(input.Cost)) { response.Success = false; - response.Message = "Must provide a valid description"; + response.Message = "Input object invalid, Date, Description, Odometer, and Cost cannot be empty."; + Response.StatusCode = 400; return Json(response); } try @@ -170,6 +181,7 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = ex.Message; + Response.StatusCode = 500; return Json(response); } } @@ -192,12 +204,17 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = "Must provide a valid vehicle id"; + Response.StatusCode = 400; return Json(response); } - if (string.IsNullOrWhiteSpace(input.Description)) + if (string.IsNullOrWhiteSpace(input.Date) || + string.IsNullOrWhiteSpace(input.Description) || + string.IsNullOrWhiteSpace(input.Odometer) || + string.IsNullOrWhiteSpace(input.Cost)) { response.Success = false; - response.Message = "Must provide a valid description"; + response.Message = "Input object invalid, Date, Description, Odometer, and Cost cannot be empty."; + Response.StatusCode = 400; return Json(response); } try @@ -220,6 +237,7 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = ex.Message; + Response.StatusCode = 500; return Json(response); } } @@ -241,12 +259,16 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = "Must provide a valid vehicle id"; + Response.StatusCode = 400; return Json(response); } - if (string.IsNullOrWhiteSpace(input.Description)) + if (string.IsNullOrWhiteSpace(input.Date) || + string.IsNullOrWhiteSpace(input.Description) || + string.IsNullOrWhiteSpace(input.Cost)) { response.Success = false; - response.Message = "Must provide a valid description"; + response.Message = "Input object invalid, Date, Description, and Cost cannot be empty."; + Response.StatusCode = 400; return Json(response); } try @@ -268,6 +290,7 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = ex.Message; + Response.StatusCode = 500; return Json(response); } } @@ -290,6 +313,15 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = "Must provide a valid vehicle id"; + Response.StatusCode = 400; + return Json(response); + } + if (string.IsNullOrWhiteSpace(input.Date) || + string.IsNullOrWhiteSpace(input.Odometer)) + { + response.Success = false; + response.Message = "Input object invalid, Date and Odometer cannot be empty."; + Response.StatusCode = 400; return Json(response); } try @@ -309,6 +341,7 @@ namespace CarCareTracker.Controllers { response.Success = false; response.Message = ex.Message; + Response.StatusCode = 500; return Json(response); } } diff --git a/Views/API/Index.cshtml b/Views/API/Index.cshtml index 158caad..1352e25 100644 --- a/Views/API/Index.cshtml +++ b/Views/API/Index.cshtml @@ -1,4 +1,7 @@ -
+@{ + ViewData["Title"] = "LubeLogger API"; +} +
API
@@ -51,6 +54,28 @@ vehicleId - Id of Vehicle
+
+
+ POST +
+
+ /api/vehicle/servicerecords/add +
+
+ Adds Service Record to the vehicle +
+
+ vehicleId - Id of Vehicle +
+ Body(form-data): {
+ date - Date to be entered
+ odometer - Odometer reading
+ description - Description
+ cost - Cost
+ notes - notes(optional)
+ } +
+
GET @@ -65,6 +90,28 @@ vehicleId - Id of Vehicle
+
+
+ POST +
+
+ /api/vehicle/repairrecords/add +
+
+ Adds Repair Record to the vehicle +
+
+ vehicleId - Id of Vehicle +
+ Body(form-data): {
+ date - Date to be entered
+ odometer - Odometer reading
+ description - Description
+ cost - Cost
+ notes - notes(optional)
+ } +
+
GET @@ -79,6 +126,28 @@ vehicleId - Id of Vehicle
+
+
+ POST +
+
+ /api/vehicle/upgraderecords/add +
+
+ Adds Upgrade Record to the vehicle +
+
+ vehicleId - Id of Vehicle +
+ Body(form-data): {
+ date - Date to be entered
+ odometer - Odometer reading
+ description - Description
+ cost - Cost
+ notes - notes(optional)
+ } +
+
GET @@ -93,6 +162,27 @@ vehicleId - Id of Vehicle
+
+
+ POST +
+
+ /api/vehicle/taxrecords/add +
+
+ Adds Tax Record to the vehicle +
+
+ vehicleId - Id of Vehicle +
+ Body(form-data): {
+ date - Date to be entered
+ description - Description
+ cost - Cost
+ notes - notes(optional)
+ } +
+
GET @@ -164,7 +254,7 @@ /api/vehicle/odometerrecords/add
- Returns a list of odometer records for the vehicle + Adds Odometer Record to the vehicle
vehicleId - Id of Vehicle