aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-14 00:12:48 +0200
committertranstrike <transtrike@gmail.com>2021-01-14 00:12:48 +0200
commit2948a92492141f4d807449191901f499530d8465 (patch)
tree36d30886af22351d86d937f03558c501254ad621
parentd77add41838823ad50caf8d1ae5ee8e61c1bb26b (diff)
downloadDevHive-2948a92492141f4d807449191901f499530d8465.tar
DevHive-2948a92492141f4d807449191901f499530d8465.tar.gz
DevHive-2948a92492141f4d807449191901f499530d8465.zip
Fixed issues in Language & Technology and their interactions with User
-rw-r--r--src/DevHive.Data/Interfaces/ILanguageRepository.cs3
-rw-r--r--src/DevHive.Data/Interfaces/ITechnologyRepository.cs5
-rw-r--r--src/DevHive.Data/Interfaces/IUserRepository.cs11
-rw-r--r--src/DevHive.Data/Repositories/LanguageRepository.cs10
-rw-r--r--src/DevHive.Data/Repositories/TechnologyRepository.cs10
-rw-r--r--src/DevHive.Data/Repositories/UserRepository.cs5
-rw-r--r--src/DevHive.Services/Interfaces/IUserService.cs6
-rw-r--r--src/DevHive.Services/Models/Technology/CreateTechnologyServiceModel.cs4
-rw-r--r--src/DevHive.Services/Models/Technology/UpdateTechnologyServiceModel.cs7
-rw-r--r--src/DevHive.Services/Services/TechnologyService.cs6
-rw-r--r--src/DevHive.Services/Services/UserService.cs100
-rw-r--r--src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs14
-rw-r--r--src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs8
-rw-r--r--src/DevHive.Web/Controllers/UserController.cs1
-rw-r--r--src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs5
-rw-r--r--src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs4
-rw-r--r--src/DevHive.Web/Models/Technology/UpdateTechnologyWebModel.cs4
17 files changed, 120 insertions, 83 deletions
diff --git a/src/DevHive.Data/Interfaces/ILanguageRepository.cs b/src/DevHive.Data/Interfaces/ILanguageRepository.cs
index 40dd461..0612116 100644
--- a/src/DevHive.Data/Interfaces/ILanguageRepository.cs
+++ b/src/DevHive.Data/Interfaces/ILanguageRepository.cs
@@ -9,5 +9,6 @@ namespace DevHive.Data.Interfaces
{
Task<bool> DoesLanguageExistAsync(Guid id);
Task<bool> DoesLanguageNameExistAsync(string languageName);
+ Task<Language> GetByNameAsync(string name);
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Data/Interfaces/ITechnologyRepository.cs b/src/DevHive.Data/Interfaces/ITechnologyRepository.cs
index 7c126a4..d0de096 100644
--- a/src/DevHive.Data/Interfaces/ITechnologyRepository.cs
+++ b/src/DevHive.Data/Interfaces/ITechnologyRepository.cs
@@ -8,6 +8,7 @@ namespace DevHive.Data.Interfaces
public interface ITechnologyRepository : IRepository<Technology>
{
Task<bool> DoesTechnologyExistAsync(Guid id);
- Task<bool> DoesTechnologyNameExist(string technologyName);
+ Task<bool> DoesTechnologyNameExistAsync(string technologyName);
+ Task<Technology> GetByNameAsync(string name);
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Data/Interfaces/IUserRepository.cs b/src/DevHive.Data/Interfaces/IUserRepository.cs
index 8ee5054..bca8f71 100644
--- a/src/DevHive.Data/Interfaces/IUserRepository.cs
+++ b/src/DevHive.Data/Interfaces/IUserRepository.cs
@@ -11,7 +11,7 @@ namespace DevHive.Data.Interfaces
Task<bool> AddFriendAsync(User user, User friend);
Task<bool> AddLanguageToUserAsync(User user, Language language);
Task<bool> AddTechnologyToUserAsync(User user, Technology technology);
-
+
Task<User> GetByUsername(string username);
Language GetUserLanguage(User user, Language language);
IList<Language> GetUserLanguages(User user);
@@ -26,12 +26,13 @@ namespace DevHive.Data.Interfaces
Task<bool> RemoveLanguageFromUserAsync(User user, Language language);
Task<bool> RemoveTechnologyFromUserAsync(User user, Technology technology);
- bool DoesUserHaveThisLanguage(User user, Language language);
- bool DoesUserHaveThisUsername(Guid id, string username);
- bool DoesUserHaveFriends(User user);
Task<bool> DoesEmailExistAsync(string email);
Task<bool> DoesUserExistAsync(Guid id);
Task<bool> DoesUserHaveThisFriendAsync(Guid userId, Guid friendId);
Task<bool> DoesUsernameExistAsync(string username);
+ bool DoesUserHaveThisLanguage(User user, Language language);
+ bool DoesUserHaveThisUsername(Guid id, string username);
+ bool DoesUserHaveFriends(User user);
+ bool DoesUserHaveThisTechnology(User user, Technology technology);
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Data/Repositories/LanguageRepository.cs b/src/DevHive.Data/Repositories/LanguageRepository.cs
index c30d3bb..b867a93 100644
--- a/src/DevHive.Data/Repositories/LanguageRepository.cs
+++ b/src/DevHive.Data/Repositories/LanguageRepository.cs
@@ -36,6 +36,12 @@ namespace DevHive.Data.Repositories
.Set<Language>()
.FindAsync(id);
}
+
+ public async Task<Language> GetByNameAsync(string languageName)
+ {
+ return await this._context.Languages
+ .FirstOrDefaultAsync(x => x.Name == languageName);
+ }
#endregion
#region Update
@@ -62,7 +68,7 @@ namespace DevHive.Data.Repositories
}
#endregion
- #region Validations
+ #region Validations
public async Task<bool> DoesLanguageNameExistAsync(string languageName)
{
@@ -77,4 +83,4 @@ namespace DevHive.Data.Repositories
}
#endregion
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Data/Repositories/TechnologyRepository.cs b/src/DevHive.Data/Repositories/TechnologyRepository.cs
index a8208b6..d81433c 100644
--- a/src/DevHive.Data/Repositories/TechnologyRepository.cs
+++ b/src/DevHive.Data/Repositories/TechnologyRepository.cs
@@ -27,6 +27,12 @@ namespace DevHive.Data.Repositories
return await RepositoryMethods.SaveChangesAsync(this._context);
}
+
+ public async Task<Technology> GetByNameAsync(string technologyName)
+ {
+ return await this._context.Technologies
+ .FirstOrDefaultAsync(x => x.Name == technologyName);
+ }
#endregion
#region Read
@@ -65,7 +71,7 @@ namespace DevHive.Data.Repositories
#region Validations
- public async Task<bool> DoesTechnologyNameExist(string technologyName)
+ public async Task<bool> DoesTechnologyNameExistAsync(string technologyName)
{
return await this._context
.Set<Technology>()
@@ -80,4 +86,4 @@ namespace DevHive.Data.Repositories
}
#endregion
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Data/Repositories/UserRepository.cs b/src/DevHive.Data/Repositories/UserRepository.cs
index 1f29bb5..b4deacd 100644
--- a/src/DevHive.Data/Repositories/UserRepository.cs
+++ b/src/DevHive.Data/Repositories/UserRepository.cs
@@ -226,6 +226,11 @@ namespace DevHive.Data.Repositories
{
return user.Langauges.Contains(language);
}
+
+ public bool DoesUserHaveThisTechnology(User user, Technology technology)
+ {
+ return user.Technologies.Contains(technology);
+ }
#endregion
}
}
diff --git a/src/DevHive.Services/Interfaces/IUserService.cs b/src/DevHive.Services/Interfaces/IUserService.cs
index ba53563..5ef141f 100644
--- a/src/DevHive.Services/Interfaces/IUserService.cs
+++ b/src/DevHive.Services/Interfaces/IUserService.cs
@@ -20,12 +20,12 @@ namespace DevHive.Services.Interfaces
Task<UserServiceModel> GetUserById(Guid id);
Task<UserServiceModel> UpdateUser(UpdateUserServiceModel updateModel);
-
+
Task DeleteUser(Guid id);
Task<bool> RemoveFriend(Guid userId, Guid friendId);
Task<bool> RemoveLanguageFromUser(Guid userId, LanguageServiceModel languageServiceModel);
Task<bool> RemoveTechnologyFromUser(Guid userId, TechnologyServiceModel technologyServiceModel);
-
+
Task<bool> ValidJWT(Guid id, string rawTokenData);
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Services/Models/Technology/CreateTechnologyServiceModel.cs b/src/DevHive.Services/Models/Technology/CreateTechnologyServiceModel.cs
index ca848f9..a31d160 100644
--- a/src/DevHive.Services/Models/Technology/CreateTechnologyServiceModel.cs
+++ b/src/DevHive.Services/Models/Technology/CreateTechnologyServiceModel.cs
@@ -2,8 +2,8 @@ using System;
namespace DevHive.Services.Models.Technology
{
- public class CreateTechnologyServiceModel : TechnologyServiceModel
+ public class CreateTechnologyServiceModel
{
public string Name { get; set; }
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Services/Models/Technology/UpdateTechnologyServiceModel.cs b/src/DevHive.Services/Models/Technology/UpdateTechnologyServiceModel.cs
index bfeae51..a18e286 100644
--- a/src/DevHive.Services/Models/Technology/UpdateTechnologyServiceModel.cs
+++ b/src/DevHive.Services/Models/Technology/UpdateTechnologyServiceModel.cs
@@ -2,5 +2,8 @@ using System;
namespace DevHive.Services.Models.Technology
{
- public class UpdateTechnologyServiceModel : CreateTechnologyServiceModel {}
-} \ No newline at end of file
+ public class UpdateTechnologyServiceModel : TechnologyServiceModel
+ {
+ public string Name { get; set; }
+ }
+}
diff --git a/src/DevHive.Services/Services/TechnologyService.cs b/src/DevHive.Services/Services/TechnologyService.cs
index cb8fdfc..2b24ed6 100644
--- a/src/DevHive.Services/Services/TechnologyService.cs
+++ b/src/DevHive.Services/Services/TechnologyService.cs
@@ -23,7 +23,7 @@ namespace DevHive.Services.Services
public async Task<bool> Create(CreateTechnologyServiceModel technologyServiceModel)
{
- if (await this._technologyRepository.DoesTechnologyNameExist(technologyServiceModel.Name))
+ if (await this._technologyRepository.DoesTechnologyNameExistAsync(technologyServiceModel.Name))
throw new ArgumentException("Technology already exists!");
Technology technology = this._technologyMapper.Map<Technology>(technologyServiceModel);
@@ -53,7 +53,7 @@ namespace DevHive.Services.Services
if (!await this._technologyRepository.DoesTechnologyExistAsync(updateTechnologyServiceModel.Id))
throw new ArgumentException("Technology does not exist!");
- if (await this._technologyRepository.DoesTechnologyNameExist(updateTechnologyServiceModel.Name))
+ if (await this._technologyRepository.DoesTechnologyNameExistAsync(updateTechnologyServiceModel.Name))
throw new ArgumentException("Technology name already exists!");
Technology technology = this._technologyMapper.Map<Technology>(updateTechnologyServiceModel);
@@ -77,4 +77,4 @@ namespace DevHive.Services.Services
}
#endregion
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Services/Services/UserService.cs b/src/DevHive.Services/Services/UserService.cs
index 6a6662d..012ec1b 100644
--- a/src/DevHive.Services/Services/UserService.cs
+++ b/src/DevHive.Services/Services/UserService.cs
@@ -111,19 +111,42 @@ namespace DevHive.Services.Services
public async Task<bool> AddLanguageToUser(Guid userId, LanguageServiceModel languageServiceModel)
{
- Tuple<User, Language> tuple = await ValidateUserAndLanguage(userId, languageServiceModel);
+ bool userExists = await this._userRepository.DoesUserExistAsync(userId);
+ bool languageExists = await this._languageRepository.DoesLanguageExistAsync(languageServiceModel.Id);
+
+ if (!userExists)
+ throw new ArgumentException("User does not exist!");
+
+ if (!languageExists)
+ throw new ArgumentException("Language does noy exist!");
+
+ User user = await this._userRepository.GetByIdAsync(userId);
+ Language language = await this._languageRepository.GetByIdAsync(languageServiceModel.Id);
- if (this._userRepository.DoesUserHaveThisLanguage(tuple.Item1, tuple.Item2))
+ if (this._userRepository.DoesUserHaveThisLanguage(user, language))
throw new ArgumentException("User already has this language!");
- return await this._userRepository.AddLanguageToUserAsync(tuple.Item1, tuple.Item2);
+ return await this._userRepository.AddLanguageToUserAsync(user, language);
}
public async Task<bool> AddTechnologyToUser(Guid userId, TechnologyServiceModel technologyServiceModel)
{
- Tuple<User, Technology> tuple = await ValidateUserAndTechnology(userId, technologyServiceModel);
+ bool userExists = await this._userRepository.DoesUserExistAsync(userId);
+ bool technologyExists = await this._technologyRepository.DoesTechnologyExistAsync(technologyServiceModel.Id);
+
+ if (!userExists)
+ throw new ArgumentException("User does not exist!");
+
+ if (!technologyExists)
+ throw new ArgumentException("Technology does not exist!");
+
+ Technology technology = await this._technologyRepository.GetByIdAsync(technologyServiceModel.Id);
+ User user = await this._userRepository.GetByIdAsync(userId);
+
+ if (this._userRepository.DoesUserHaveThisTechnology(user, technology))
+ throw new ArgumentException("User already has this language!");
- return await this._userRepository.AddTechnologyToUserAsync(tuple.Item1, tuple.Item2);
+ return await this._userRepository.AddTechnologyToUserAsync(user, technology);
}
#endregion
@@ -204,19 +227,42 @@ namespace DevHive.Services.Services
public async Task<bool> RemoveLanguageFromUser(Guid userId, LanguageServiceModel languageServiceModel)
{
- Tuple<User, Language> tuple = await ValidateUserAndLanguage(userId, languageServiceModel);
+ bool userExists = await this._userRepository.DoesUserExistAsync(userId);
+ bool languageExists = await this._languageRepository.DoesLanguageExistAsync(languageServiceModel.Id);
- if (!this._userRepository.DoesUserHaveThisLanguage(tuple.Item1, tuple.Item2))
+ if (!userExists)
+ throw new ArgumentException("User does not exist!");
+
+ if (!languageExists)
+ throw new ArgumentException("Language does not exist!");
+
+ User user = await this._userRepository.GetByIdAsync(userId);
+ Language language = await this._languageRepository.GetByIdAsync(languageServiceModel.Id);
+
+ if (!this._userRepository.DoesUserHaveThisLanguage(user, language))
throw new ArgumentException("User does not have this language!");
- return await this._userRepository.RemoveLanguageFromUserAsync(tuple.Item1, tuple.Item2);
+ return await this._userRepository.RemoveLanguageFromUserAsync(user, language);
}
public async Task<bool> RemoveTechnologyFromUser(Guid userId, TechnologyServiceModel technologyServiceModel)
{
- Tuple<User, Technology> tuple = await ValidateUserAndTechnology(userId, technologyServiceModel);
+ bool userExists = await this._userRepository.DoesUserExistAsync(userId);
+ bool technologyExists = await this._technologyRepository.DoesTechnologyExistAsync(technologyServiceModel.Id);
+
+ if (!userExists)
+ throw new ArgumentException("User does not exist!");
- return await this._userRepository.RemoveTechnologyFromUserAsync(tuple.Item1, tuple.Item2);
+ if (!technologyExists)
+ throw new ArgumentException("Language does not exist!");
+
+ User user = await this._userRepository.GetByIdAsync(userId);
+ Technology technology = await this._technologyRepository.GetByIdAsync(technologyServiceModel.Id);
+
+ if (!this._userRepository.DoesUserHaveThisTechnology(user, technology))
+ throw new ArgumentException("User does not have this technology!");
+
+ return await this._userRepository.RemoveTechnologyFromUserAsync(user, technology);
}
#endregion
@@ -298,40 +344,6 @@ namespace DevHive.Services.Services
{
return string.Join(string.Empty, SHA512.HashData(Encoding.ASCII.GetBytes(password)));
}
-
- private async Task<Tuple<User, Language>> ValidateUserAndLanguage(Guid userId, LanguageServiceModel languageServiceModel)
- {
- bool userExists = await this._userRepository.DoesUserExistAsync(userId);
- bool languageExists = await this._languageRepository.DoesLanguageExistAsync(languageServiceModel.Id);
-
- if (!userExists)
- throw new ArgumentException("User does not exist!");
-
- if (!languageExists)
- throw new ArgumentException("Language does not exist!");
-
- User user = await this._userRepository.GetByIdAsync(userId);
- Language language = await this._languageRepository.GetByIdAsync(languageServiceModel.Id);
-
- return new Tuple<User, Language>(user, language);
- }
-
- private async Task<Tuple<User, Technology>> ValidateUserAndTechnology(Guid userId, TechnologyServiceModel technologyServiceModel)
- {
- bool userExists = await this._userRepository.DoesUserExistAsync(userId);
- bool technologyExists = await this._technologyRepository.DoesTechnologyExistAsync(technologyServiceModel.Id);
-
- if (!userExists)
- throw new ArgumentException("User does not exist!");
-
- if (!technologyExists)
- throw new ArgumentException("Language does not exist!");
-
- User user = await this._userRepository.GetByIdAsync(userId);
- Technology technology = await this._technologyRepository.GetByIdAsync(technologyServiceModel.Id);
-
- return new Tuple<User, Technology>(user, technology);
- }
#endregion
}
}
diff --git a/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs
index 54cf7c0..6ff5fa2 100644
--- a/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs
+++ b/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs
@@ -106,7 +106,7 @@ namespace DevHive.Data.Tests
}
#endregion
- #region DoesTechnologyNameExist
+ #region DoesTechnologyNameExistAsync
[Test]
public void DoesTechnologyNameExist_ReturnsTrue_IfTechnologyExists()
{
@@ -114,20 +114,20 @@ namespace DevHive.Data.Tests
{
AddEntity();
- bool result = await this.TechnologyRepository.DoesTechnologyNameExist(TECHNOLOGY_NAME);
+ bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
Assert.IsTrue(result, "DoesTechnologyNameExists returns true when technology name does not exist");
}).GetAwaiter().GetResult();
- }
+ }
[Test]
public void DoesTechnologyNameExist_ReturnsFalse_IfTechnologyDoesNotExists()
{
Task.Run(async () =>
{
- bool result = await this.TechnologyRepository.DoesTechnologyNameExist(TECHNOLOGY_NAME);
+ bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
- Assert.False(result, "DoesTechnologyNameExist returns true when technology name does not exist");
+ Assert.False(result, "DoesTechnologyNameExistAsync returns true when technology name does not exist");
}).GetAwaiter().GetResult();
}
#endregion
@@ -162,7 +162,7 @@ namespace DevHive.Data.Tests
#region DeleteAsync
[Test]
public void DeleteAsync_ReturnsTrue_IfDeletionIsSuccesfull()
- {
+ {
Task.Run(async () =>
{
AddEntity();
@@ -173,7 +173,7 @@ namespace DevHive.Data.Tests
Assert.IsTrue(result, "DeleteAsync returns false when deletion is successfull");
}).GetAwaiter().GetResult();
- }
+ }
#endregion
#region HelperMethods
diff --git a/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs
index f2232a8..e56c508 100644
--- a/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs
+++ b/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs
@@ -45,7 +45,7 @@ namespace DevHive.Services.Tests
Name = technologyName
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExist(It.IsAny<string>())).Returns(Task.FromResult(false));
+ this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
this.TechnologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Technology>())).Returns(Task.FromResult(shouldFail));
this.MapperMock.Setup(p => p.Map<Technology>(It.IsAny<CreateTechnologyServiceModel>())).Returns(technology);
@@ -72,7 +72,7 @@ namespace DevHive.Services.Tests
Name = technologyName
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExist(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
try
{
@@ -158,7 +158,7 @@ namespace DevHive.Services.Tests
// };
// this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- // this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExist(It.IsAny<string>())).Returns(Task.FromResult(false));
+ // this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
// this.TechnologyRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Technology>())).Returns(Task.FromResult(shouldPass));
// this.MapperMock.Setup(p => p.Map<Technology>(It.IsAny<UpdateTechnologyServiceModel>())).Returns(technology);
@@ -207,7 +207,7 @@ namespace DevHive.Services.Tests
// };
// this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- // this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExist(It.IsAny<string>())).Returns(Task.FromResult(true));
+ // this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
// try
// {
diff --git a/src/DevHive.Web/Controllers/UserController.cs b/src/DevHive.Web/Controllers/UserController.cs
index 26271b2..5ba382f 100644
--- a/src/DevHive.Web/Controllers/UserController.cs
+++ b/src/DevHive.Web/Controllers/UserController.cs
@@ -176,7 +176,6 @@ namespace DevHive.Web.Controllers
new OkResult() :
new BadRequestResult();
}
-
#endregion
}
}
diff --git a/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs b/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs
index deca0fc..ed3b37c 100644
--- a/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs
+++ b/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs
@@ -2,5 +2,8 @@ using System;
namespace DevHive.Web.Models.Language
{
- public class UpdateLanguageWebModel : CreateLanguageWebModel { }
+ public class UpdateLanguageWebModel : LanguageWebModel
+ {
+ public string Name { get; set; }
+ }
}
diff --git a/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs b/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs
index 27da4a0..13029ee 100644
--- a/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs
+++ b/src/DevHive.Web/Models/Technology/CreateTechnologyWebModel.cs
@@ -1,7 +1,7 @@
namespace DevHive.Web.Models.Technology
{
- public class CreateTechnologyWebModel : TechnologyWebModel
+ public class CreateTechnologyWebModel
{
public string Name { 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 d395c9f..8bf48bf 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
+ public class UpdateTechnologyWebModel : TechnologyWebModel
{
public string Name { get; set; }
}
-} \ No newline at end of file
+}