aboutsummaryrefslogtreecommitdiff
path: root/src/Web/DevHive.Web/Controllers/LanguageController.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/LanguageController.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/LanguageController.cs')
-rw-r--r--src/Web/DevHive.Web/Controllers/LanguageController.cs32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/Web/DevHive.Web/Controllers/LanguageController.cs b/src/Web/DevHive.Web/Controllers/LanguageController.cs
index 5b0d5de..665fb66 100644
--- a/src/Web/DevHive.Web/Controllers/LanguageController.cs
+++ b/src/Web/DevHive.Web/Controllers/LanguageController.cs
@@ -10,6 +10,9 @@ using Microsoft.AspNetCore.Mvc;
namespace DevHive.Web.Controllers
{
+ /// <summary>
+ /// All endpoints for interacting with the language layer
+ /// </summary>
[ApiController]
[Route("/api/[controller]")]
public class LanguageController
@@ -23,6 +26,11 @@ namespace DevHive.Web.Controllers
this._languageMapper = mapper;
}
+ /// <summary>
+ /// Create a new language, so users can have a choice. Admin only!
+ /// </summary>
+ /// <param name="createLanguageWebModel">The new language's parametars</param>
+ /// <returns>The new language's Id</returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public async Task<IActionResult> Create([FromBody] CreateLanguageWebModel createLanguageWebModel)
@@ -36,6 +44,11 @@ namespace DevHive.Web.Controllers
new OkObjectResult(new { Id = id });
}
+ /// <summary>
+ /// Query full language data by Id
+ /// </summary>
+ /// <param name="id">The language's Id</param>
+ /// <returns>Full language data</returns>
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> GetById(Guid id)
@@ -46,6 +59,10 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(languageWebModel);
}
+ /// <summary>
+ /// Query all languages in the database
+ /// </summary>
+ /// <returns>All languages in the database</returns>
[HttpGet]
[Route("GetLanguages")]
[Authorize(Roles = "User,Admin")]
@@ -57,6 +74,12 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(languageWebModels);
}
+ /// <summary>
+ /// Alter language's properties. Admin only!
+ /// </summary>
+ /// <param name="id">The language's Id</param>
+ /// <param name="updateModel">The langauge's new parametars</param>
+ /// <returns>Ok result</returns>
[HttpPut]
[Authorize(Roles = "Admin")]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateLanguageWebModel updateModel)
@@ -72,11 +95,16 @@ namespace DevHive.Web.Controllers
return new OkResult();
}
+ /// <summary>
+ /// Delete a language. Admin only!
+ /// </summary>
+ /// <param name="langaugeId">The language's Id</param>
+ /// <returns>Ok result</returns>
[HttpDelete]
[Authorize(Roles = "Admin")]
- public async Task<IActionResult> Delete(Guid id)
+ public async Task<IActionResult> Delete(Guid langaugeId)
{
- bool result = await this._languageService.DeleteLanguage(id);
+ bool result = await this._languageService.DeleteLanguage(langaugeId);
if (!result)
return new BadRequestObjectResult("Could not delete Language");