aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Controllers/TechnologyController.cs
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
committertranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
commit98e17766b203734a1817eed94338e2d25f4395f7 (patch)
tree1266385a56cba56fd55c7faf661dd844bbdf5705 /src/DevHive.Web/Controllers/TechnologyController.cs
parent1ab34accfda22ee3ce5c7700e3b97ff3e932d649 (diff)
downloadDevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar.gz
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.zip
Project Restructure P.1
Diffstat (limited to 'src/DevHive.Web/Controllers/TechnologyController.cs')
-rw-r--r--src/DevHive.Web/Controllers/TechnologyController.cs87
1 files changed, 0 insertions, 87 deletions
diff --git a/src/DevHive.Web/Controllers/TechnologyController.cs b/src/DevHive.Web/Controllers/TechnologyController.cs
deleted file mode 100644
index e507899..0000000
--- a/src/DevHive.Web/Controllers/TechnologyController.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.Technology;
-using DevHive.Web.Models.Technology;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-
-namespace DevHive.Web.Controllers
-{
- [ApiController]
- [Route("/api/[controller]")]
- public class TechnologyController
- {
- private readonly ITechnologyService _technologyService;
- private readonly IMapper _technologyMapper;
-
- public TechnologyController(ITechnologyService technologyService, IMapper technologyMapper)
- {
- this._technologyService = technologyService;
- this._technologyMapper = technologyMapper;
- }
-
- [HttpPost]
- [Authorize(Roles = "Admin")]
- public async Task<IActionResult> Create([FromBody] CreateTechnologyWebModel createTechnologyWebModel)
- {
- CreateTechnologyServiceModel technologyServiceModel = this._technologyMapper.Map<CreateTechnologyServiceModel>(createTechnologyWebModel);
-
- Guid id = await this._technologyService.CreateTechnology(technologyServiceModel);
-
- return id == Guid.Empty ?
- new BadRequestObjectResult($"Could not create technology {createTechnologyWebModel.Name}") :
- new OkObjectResult(new { Id = id });
- }
-
- [HttpGet]
- [AllowAnonymous]
- public async Task<IActionResult> GetById(Guid id)
- {
- ReadTechnologyServiceModel readTechnologyServiceModel = await this._technologyService.GetTechnologyById(id);
- ReadTechnologyWebModel readTechnologyWebModel = this._technologyMapper.Map<ReadTechnologyWebModel>(readTechnologyServiceModel);
-
- return new OkObjectResult(readTechnologyWebModel);
- }
-
- [HttpGet]
- [Route("GetTechnologies")]
- [Authorize(Roles = "User,Admin")]
- public IActionResult GetAllExistingTechnologies()
- {
- HashSet<ReadTechnologyServiceModel> technologyServiceModels = this._technologyService.GetTechnologies();
- HashSet<ReadTechnologyWebModel> languageWebModels = this._technologyMapper.Map<HashSet<ReadTechnologyWebModel>>(technologyServiceModels);
-
- return new OkObjectResult(languageWebModels);
- }
-
- [HttpPut]
- [Authorize(Roles = "Admin")]
- public async Task<IActionResult> Update(Guid id, [FromBody] UpdateTechnologyWebModel updateModel)
- {
- UpdateTechnologyServiceModel updateTechnologyServiceModel = this._technologyMapper.Map<UpdateTechnologyServiceModel>(updateModel);
- updateTechnologyServiceModel.Id = id;
-
- bool result = await this._technologyService.UpdateTechnology(updateTechnologyServiceModel);
-
- if (!result)
- return new BadRequestObjectResult("Could not update Technology");
-
- return new OkResult();
- }
-
- [HttpDelete]
- [Authorize(Roles = "Admin")]
- public async Task<IActionResult> Delete(Guid id)
- {
- bool result = await this._technologyService.DeleteTechnology(id);
-
- if (!result)
- return new BadRequestObjectResult("Could not delete Technology");
-
- return new OkResult();
- }
- }
-}