aboutsummaryrefslogtreecommitdiff
path: root/src/Web/DevHive.Web/Controllers/TechnologyController.cs
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2021-03-13 15:07:51 +0200
committerSyndamia <kamen.d.mladenov@protonmail.com>2021-03-13 15:07:51 +0200
commit75d57f305f2ed1ecf8b82bd62d4bb8f17c06303b (patch)
treeb721fe307d22a7a89f8ee13b3e557df4a2e2bbab /src/Web/DevHive.Web/Controllers/TechnologyController.cs
parent503a23c04355624b133161c9356b139f2e4500f6 (diff)
parent4add0831649f6e534d3883aa0e0e7f380d8042c7 (diff)
downloadDevHive-75d57f305f2ed1ecf8b82bd62d4bb8f17c06303b.tar
DevHive-75d57f305f2ed1ecf8b82bd62d4bb8f17c06303b.tar.gz
DevHive-75d57f305f2ed1ecf8b82bd62d4bb8f17c06303b.zip
Merge branch 'dev' of github.com:Team-Kaleidoscope/DevHive into unit_test_refactoring
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)