aboutsummaryrefslogtreecommitdiff
path: root/src/Web/DevHive.Web/Controllers/TechnologyController.cs
diff options
context:
space:
mode:
authorVictor S <57849063+transtrike@users.noreply.github.com>2021-03-13 11:47:26 +0200
committerGitHub <noreply@github.com>2021-03-13 11:47:26 +0200
commit4add0831649f6e534d3883aa0e0e7f380d8042c7 (patch)
tree9647a722d5974337f999da34b9a023114b0a9324 /src/Web/DevHive.Web/Controllers/TechnologyController.cs
parent02cf05d6cc38e6907404f65976440b811d6cc60a (diff)
parent93ded2b68a31fc9da643ac65955219e4f306ab82 (diff)
downloadDevHive-4add0831649f6e534d3883aa0e0e7f380d8042c7.tar
DevHive-4add0831649f6e534d3883aa0e0e7f380d8042c7.tar.gz
DevHive-4add0831649f6e534d3883aa0e0e7f380d8042c7.zip
Merge pull request #20 from Team-Kaleidoscope/nswag
XML Documentation on Controllers
Diffstat (limited to 'src/Web/DevHive.Web/Controllers/TechnologyController.cs')
-rw-r--r--src/Web/DevHive.Web/Controllers/TechnologyController.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/Web/DevHive.Web/Controllers/TechnologyController.cs b/src/Web/DevHive.Web/Controllers/TechnologyController.cs
index e507899..ecf2bd7 100644
--- a/src/Web/DevHive.Web/Controllers/TechnologyController.cs
+++ b/src/Web/DevHive.Web/Controllers/TechnologyController.cs
@@ -10,6 +10,9 @@ using Microsoft.AspNetCore.Mvc;
namespace DevHive.Web.Controllers
{
+ /// <summary>
+ /// All endpoints for interacting with the technology layer
+ /// </summary>
[ApiController]
[Route("/api/[controller]")]
public class TechnologyController
@@ -23,6 +26,11 @@ namespace DevHive.Web.Controllers
this._technologyMapper = technologyMapper;
}
+ /// <summary>
+ /// Create a new technology, so users can have a choice. Admin only!
+ /// </summary>
+ /// <param name="createTechnologyWebModel">Data for the new technology</param>
+ /// <returns>The new technology's Id</returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public async Task<IActionResult> Create([FromBody] CreateTechnologyWebModel createTechnologyWebModel)
@@ -36,6 +44,11 @@ namespace DevHive.Web.Controllers
new OkObjectResult(new { Id = id });
}
+ /// <summary>
+ /// Get technology's data by it's Id
+ /// </summary>
+ /// <param name="id">The technology's Id</param>
+ /// <returns>The technology's full data</returns>
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> GetById(Guid id)
@@ -46,6 +59,10 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(readTechnologyWebModel);
}
+ /// <summary>
+ /// Get all technologies from our database
+ /// </summary>
+ /// <returns>All technologies</returns>
[HttpGet]
[Route("GetTechnologies")]
[Authorize(Roles = "User,Admin")]
@@ -57,6 +74,12 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(languageWebModels);
}
+ /// <summary>
+ /// Alter a technology's parameters. Admin only!
+ /// </summary>
+ /// <param name="id">Technology's Id</param>
+ /// <param name="updateModel">The new parametars</param>
+ /// <returns>Ok result</returns>
[HttpPut]
[Authorize(Roles = "Admin")]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateTechnologyWebModel updateModel)
@@ -72,6 +95,11 @@ namespace DevHive.Web.Controllers
return new OkResult();
}
+ /// <summary>
+ /// Delete a etchnology from the database. Admin only!
+ /// </summary>
+ /// <param name="id">The technology's Id</param>
+ /// <returns>Ok result</returns>
[HttpDelete]
[Authorize(Roles = "Admin")]
public async Task<IActionResult> Delete(Guid id)