aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Controllers/LanguageController.cs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-04-09 19:51:35 +0300
committerGitHub <noreply@github.com>2021-04-09 19:51:35 +0300
commit233f38915ba0079079233eff55434ef349c05c45 (patch)
tree6c5f69017865bcab87355e910c87339453da1406 /src/DevHive.Web/Controllers/LanguageController.cs
parentf4a70c6430db923af9fa9958a11c2d6612cb52cc (diff)
parenta992357efcf1bc1ece81b95ecee5e05a0b73bfdc (diff)
downloadDevHive-main.tar
DevHive-main.tar.gz
DevHive-main.zip
Merge pull request #28 from Team-Kaleidoscope/devHEADv0.2mainheroku/main
Second stage: Complete
Diffstat (limited to 'src/DevHive.Web/Controllers/LanguageController.cs')
-rw-r--r--src/DevHive.Web/Controllers/LanguageController.cs87
1 files changed, 0 insertions, 87 deletions
diff --git a/src/DevHive.Web/Controllers/LanguageController.cs b/src/DevHive.Web/Controllers/LanguageController.cs
deleted file mode 100644
index 5b0d5de..0000000
--- a/src/DevHive.Web/Controllers/LanguageController.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using AutoMapper;
-using DevHive.Services.Interfaces;
-using DevHive.Services.Models.Language;
-using DevHive.Web.Models.Language;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-
-namespace DevHive.Web.Controllers
-{
- [ApiController]
- [Route("/api/[controller]")]
- public class LanguageController
- {
- private readonly ILanguageService _languageService;
- private readonly IMapper _languageMapper;
-
- public LanguageController(ILanguageService languageService, IMapper mapper)
- {
- this._languageService = languageService;
- this._languageMapper = mapper;
- }
-
- [HttpPost]
- [Authorize(Roles = "Admin")]
- public async Task<IActionResult> Create([FromBody] CreateLanguageWebModel createLanguageWebModel)
- {
- CreateLanguageServiceModel languageServiceModel = this._languageMapper.Map<CreateLanguageServiceModel>(createLanguageWebModel);
-
- Guid id = await this._languageService.CreateLanguage(languageServiceModel);
-
- return id == Guid.Empty ?
- new BadRequestObjectResult($"Could not create language {createLanguageWebModel.Name}") :
- new OkObjectResult(new { Id = id });
- }
-
- [HttpGet]
- [AllowAnonymous]
- public async Task<IActionResult> GetById(Guid id)
- {
- ReadLanguageServiceModel languageServiceModel = await this._languageService.GetLanguageById(id);
- ReadLanguageWebModel languageWebModel = this._languageMapper.Map<ReadLanguageWebModel>(languageServiceModel);
-
- return new OkObjectResult(languageWebModel);
- }
-
- [HttpGet]
- [Route("GetLanguages")]
- [Authorize(Roles = "User,Admin")]
- public IActionResult GetAllExistingLanguages()
- {
- HashSet<ReadLanguageServiceModel> languageServiceModels = this._languageService.GetLanguages();
- HashSet<ReadLanguageWebModel> languageWebModels = this._languageMapper.Map<HashSet<ReadLanguageWebModel>>(languageServiceModels);
-
- return new OkObjectResult(languageWebModels);
- }
-
- [HttpPut]
- [Authorize(Roles = "Admin")]
- public async Task<IActionResult> Update(Guid id, [FromBody] UpdateLanguageWebModel updateModel)
- {
- UpdateLanguageServiceModel updatelanguageServiceModel = this._languageMapper.Map<UpdateLanguageServiceModel>(updateModel);
- updatelanguageServiceModel.Id = id;
-
- bool result = await this._languageService.UpdateLanguage(updatelanguageServiceModel);
-
- if (!result)
- return new BadRequestObjectResult("Could not update Language");
-
- return new OkResult();
- }
-
- [HttpDelete]
- [Authorize(Roles = "Admin")]
- public async Task<IActionResult> Delete(Guid id)
- {
- bool result = await this._languageService.DeleteLanguage(id);
-
- if (!result)
- return new BadRequestObjectResult("Could not delete Language");
-
- return new OkResult();
- }
- }
-}