diff options
| author | transtrike <transtrike@gmail.com> | 2021-01-12 20:45:14 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-01-12 20:45:14 +0200 |
| commit | 56f5578d5f93a56984deb6735dba51551868f6d8 (patch) | |
| tree | 5f309ba5a79882ad41ed78bf7ae8f18f38be757e /src/DevHive.Web | |
| parent | d2a754aa220f37ac28393451e7ad5793687bb999 (diff) | |
| download | DevHive-56f5578d5f93a56984deb6735dba51551868f6d8.tar DevHive-56f5578d5f93a56984deb6735dba51551868f6d8.tar.gz DevHive-56f5578d5f93a56984deb6735dba51551868f6d8.zip | |
Full implementation of Language & Technologies to User
Diffstat (limited to 'src/DevHive.Web')
7 files changed, 84 insertions, 18 deletions
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs index 2707d91..cce5174 100644 --- a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs +++ b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs @@ -1,3 +1,4 @@ +using DevHive.Data.Models; using DevHive.Data.Repositories; using DevHive.Services.Services; using Microsoft.Extensions.DependencyInjection; @@ -8,17 +9,19 @@ namespace DevHive.Web.Configurations.Extensions { public static void DependencyInjectionConfiguration(this IServiceCollection services) { + services.AddTransient<LanguageRepository>(); + services.AddTransient<RoleRepository>(); + services.AddTransient<TechnologyRepository>(); + services.AddTransient<UserRepository>(); + services.AddTransient<PostRepository>(); + services.AddTransient<LanguageService>(); services.AddTransient<RoleService>(); services.AddTransient<TechnologyService>(); services.AddTransient<UserService>(); services.AddTransient<PostService>(); - services.AddTransient<LanguageRepository>(); - services.AddTransient<RoleRepository>(); - services.AddTransient<TechnologyRepository>(); - services.AddTransient<UserRepository>(); - services.AddTransient<PostRepository>(); + System.Console.WriteLine(services.Count); } } }
\ No newline at end of file diff --git a/src/DevHive.Web/Controllers/TechnologyController.cs b/src/DevHive.Web/Controllers/TechnologyController.cs index 08d4ca8..e02ca3d 100644 --- a/src/DevHive.Web/Controllers/TechnologyController.cs +++ b/src/DevHive.Web/Controllers/TechnologyController.cs @@ -23,9 +23,9 @@ namespace DevHive.Web.Controllers } [HttpPost] - public async Task<IActionResult> Create([FromBody] TechnologyWebModel technologyWebModel) + public async Task<IActionResult> Create([FromBody] CreateTechnologyWebModel technologyWebModel) { - TechnologyServiceModel technologyServiceModel = this._technologyMapper.Map<TechnologyServiceModel>(technologyWebModel); + CreateTechnologyServiceModel technologyServiceModel = this._technologyMapper.Map<CreateTechnologyServiceModel>(technologyWebModel); bool result = await this._technologyService.Create(technologyServiceModel); @@ -48,7 +48,6 @@ namespace DevHive.Web.Controllers public async Task<IActionResult> Update(Guid id, [FromBody] UpdateTechnologyWebModel updateModel) { UpdateTechnologyServiceModel updateTechnologyWebModel = this._technologyMapper.Map<UpdateTechnologyServiceModel>(updateModel); - updateTechnologyWebModel.Id = id; bool result = await this._technologyService.UpdateTechnology(updateTechnologyWebModel); diff --git a/src/DevHive.Web/Controllers/UserController.cs b/src/DevHive.Web/Controllers/UserController.cs index ce972a5..8fa07cf 100644 --- a/src/DevHive.Web/Controllers/UserController.cs +++ b/src/DevHive.Web/Controllers/UserController.cs @@ -10,6 +10,10 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using DevHive.Common.Models.Identity; using DevHive.Common.Models.Misc; +using DevHive.Web.Models.Language; +using DevHive.Services.Models.Language; +using DevHive.Web.Models.Technology; +using DevHive.Services.Models.Technology; namespace DevHive.Web.Controllers { @@ -27,6 +31,7 @@ namespace DevHive.Web.Controllers this._userMapper = mapper; } + #region Authentication [HttpPost] [Route("Login")] [AllowAnonymous] @@ -40,7 +45,6 @@ namespace DevHive.Web.Controllers return new OkObjectResult(tokenWebModel); } - //Create [HttpPost] [Route("Register")] [AllowAnonymous] @@ -53,6 +57,9 @@ namespace DevHive.Web.Controllers return new CreatedResult("Register", tokenWebModel); } + #endregion + + #region Create [HttpPost] [Route("AddAFriend")] @@ -63,7 +70,30 @@ namespace DevHive.Web.Controllers new BadRequestResult(); } - //Read + [HttpPost] + [Route("AddLanguageToUser")] + public async Task<IActionResult> AddLanguageToUser(Guid userId, [FromBody] LanguageWebModel languageWebModel) + { + LanguageServiceModel languageServiceModel = this._userMapper.Map<LanguageServiceModel>(languageWebModel); + + return await this._userService.AddLanguageToUser(userId, languageServiceModel) ? + new OkResult() : + new BadRequestResult(); + } + + [HttpPost] + [Route("AddTechnologyToUser")] + public async Task<IActionResult> AddTechnologyToUser(Guid userId, [FromBody] TechnologyWebModel technologyWebModel) + { + TechnologyServiceModel technologyServiceModel = this._userMapper.Map<TechnologyServiceModel>(technologyWebModel); + + return await this._userService.AddTechnologyToUser(userId, technologyServiceModel) ? + new OkResult() : + new BadRequestResult(); + } + #endregion + + #region Read [HttpGet] public async Task<IActionResult> GetById(Guid id, [FromHeader] string authorization) { @@ -85,8 +115,9 @@ namespace DevHive.Web.Controllers return new OkObjectResult(friend); } + #endregion - //Update + #region Update [HttpPut] public async Task<IActionResult> Update(Guid id, [FromBody] UpdateUserWebModel updateModel, [FromHeader] string authorization) { @@ -100,10 +131,10 @@ namespace DevHive.Web.Controllers UserWebModel userWebModel = this._userMapper.Map<UserWebModel>(userServiceModel); return new AcceptedResult("UpdateUser", userWebModel); - } + #endregion - //Delete + #region Delete [HttpDelete] public async Task<IActionResult> Delete(Guid id, [FromHeader] string authorization) { @@ -121,5 +152,29 @@ namespace DevHive.Web.Controllers await this._userService.RemoveFriend(userId, friendId); return new OkResult(); } + + [HttpPost] + [Route("RemoveLanguageFromUser")] + public async Task<IActionResult> RemoveLanguageFromUser(Guid userId, [FromBody] LanguageWebModel languageWebModel) + { + LanguageServiceModel languageServiceModel = this._userMapper.Map<LanguageServiceModel>(languageWebModel); + + return await this._userService.RemoveLanguageFromUser(userId, languageServiceModel) ? + new OkResult() : + new BadRequestResult(); + } + + [HttpPost] + [Route("RemoveTechnologyFromUser")] + public async Task<IActionResult> RemoveTechnologyFromUser(Guid userId, [FromBody] TechnologyWebModel technologyWebModel) + { + TechnologyServiceModel technologyServiceModel = this._userMapper.Map<TechnologyServiceModel>(technologyWebModel); + + return await this._userService.RemoveTechnologyFromUser(userId, technologyServiceModel) ? + new OkResult() : + new BadRequestResult(); + } + + #endregion } } diff --git a/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs b/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs new file mode 100644 index 0000000..27da4a0 --- /dev/null +++ b/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs @@ -0,0 +1,7 @@ +namespace DevHive.Web.Models.Technology +{ + public class CreateTechnologyWebModel : TechnologyWebModel + { + public string Name { get; set; } + } +}
\ No newline at end of file diff --git a/src/DevHive.Web/Models/Technology/TechnologyWebModel.cs b/src/DevHive.Web/Models/Technology/TechnologyWebModel.cs index cb6b998..05f7af8 100644 --- a/src/DevHive.Web/Models/Technology/TechnologyWebModel.cs +++ b/src/DevHive.Web/Models/Technology/TechnologyWebModel.cs @@ -1,7 +1,9 @@ +using System; + namespace DevHive.Web.Models.Technology { public class TechnologyWebModel { - public string Name { get; set; } + public Guid Id { get; set; } } }
\ No newline at end of file diff --git a/src/DevHive.Web/Models/Technology/UpdateTechnologyWebModel.cs b/src/DevHive.Web/Models/Technology/UpdateTechnologyWebModel.cs index b94496e..d395c9f 100644 --- a/src/DevHive.Web/Models/Technology/UpdateTechnologyWebModel.cs +++ b/src/DevHive.Web/Models/Technology/UpdateTechnologyWebModel.cs @@ -2,8 +2,8 @@ using System; namespace DevHive.Web.Models.Technology { - public class UpdateTechnologyWebModel : TechnologyWebModel + public class UpdateTechnologyWebModel { - public Guid Id { get; set; } + public string Name { get; set; } } }
\ No newline at end of file diff --git a/src/DevHive.Web/Program.cs b/src/DevHive.Web/Program.cs index 9cbe12a..6982da9 100644 --- a/src/DevHive.Web/Program.cs +++ b/src/DevHive.Web/Program.cs @@ -5,7 +5,7 @@ namespace DevHive.Web {
public class Program
{
- private const int HTTPS_PORT = 5000;
+ private const int HTTP_PORT = 5000;
public static void Main(string[] args)
{
@@ -16,7 +16,7 @@ namespace DevHive.Web Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
- webBuilder.ConfigureKestrel(opt => opt.ListenLocalhost(HTTPS_PORT));
+ webBuilder.ConfigureKestrel(opt => opt.ListenLocalhost(HTTP_PORT));
webBuilder.UseStartup<Startup>();
});
}
|
