aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Models/Identity/User
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2020-12-16 13:04:07 +0200
committerSyndamia <kamen.d.mladenov@protonmail.com>2020-12-16 13:04:07 +0200
commit47c2a91612b54329ba0353b1296846bafc0e9775 (patch)
treeabf64de35e094c06972270245b5f913e6fc3a5fc /src/DevHive.Web/Models/Identity/User
parent5bc055720bd1218af76bafb7437d5150424f6191 (diff)
downloadDevHive-47c2a91612b54329ba0353b1296846bafc0e9775.tar
DevHive-47c2a91612b54329ba0353b1296846bafc0e9775.tar.gz
DevHive-47c2a91612b54329ba0353b1296846bafc0e9775.zip
Changed models in Web to use inheritance of most repeated properties
Diffstat (limited to 'src/DevHive.Web/Models/Identity/User')
-rw-r--r--src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs30
-rw-r--r--src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs26
-rw-r--r--src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs9
-rw-r--r--src/DevHive.Web/Models/Identity/User/UserWebModel.cs6
4 files changed, 40 insertions, 31 deletions
diff --git a/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs
new file mode 100644
index 0000000..ff9fac5
--- /dev/null
+++ b/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs
@@ -0,0 +1,30 @@
+using System.ComponentModel.DataAnnotations;
+using DevHive.Web.Models.Identity.Validation;
+
+namespace DevHive.Web.Models.Identity.User
+{
+ public class BaseUserWebModel
+ {
+ [Required]
+ [MinLength(3)]
+ [MaxLength(50)]
+ [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
+ public string UserName { get; set; }
+
+ [Required]
+ [EmailAddress]
+ public string Email { get; set; }
+
+ [Required]
+ [MinLength(3)]
+ [MaxLength(30)]
+ [OnlyLetters(ErrorMessage = "First name can only contain letters!")]
+ public string FirstName { get; set; }
+
+ [Required]
+ [MinLength(3)]
+ [MaxLength(30)]
+ [OnlyLetters(ErrorMessage = "Last name can only contain letters!")]
+ public string LastName { get; set; }
+ }
+}
diff --git a/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs b/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs
index 60e860a..22b178b 100644
--- a/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs
@@ -3,32 +3,10 @@ using DevHive.Web.Models.Identity.Validation;
namespace DevHive.Web.Models.Identity.User
{
- public class RegisterWebModel
+ public class RegisterWebModel : BaseUserWebModel
{
[Required]
- [MinLength(3)]
- [MaxLength(50)]
- [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
- public string UserName { get; set; }
-
- [Required]
- [EmailAddress]
- public string Email { get; set; }
-
- [Required]
- [MinLength(3)]
- [MaxLength(30)]
- [OnlyLetters(ErrorMessage = "First name can only contain letters!")]
- public string FirstName { get; set; }
-
- [Required]
- [MinLength(3)]
- [MaxLength(30)]
- [OnlyLetters(ErrorMessage = "Last name can only contain letters!")]
- public string LastName { get; set; }
-
- [Required]
[GoodPassword]
- public string Password { get; set; }
+ public virtual string Password { get; set; }
}
}
diff --git a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
index e04e7da..fbe02a5 100644
--- a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
@@ -1,7 +1,12 @@
+using System.ComponentModel.DataAnnotations;
+using DevHive.Web.Models.Identity.Validation;
+
namespace DevHive.Web.Models.Identity.User
{
- public class UpdateUserWebModel : UserWebModel
+ public class UpdateUserWebModel : BaseUserWebModel
{
- public string Password { get; set; }
+ [Required]
+ [GoodPassword]
+ public virtual string Password { get; set; }
}
}
diff --git a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
index e070d44..88ee1b7 100644
--- a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
@@ -1,11 +1,7 @@
namespace DevHive.Web.Models.Identity.User
{
- public class UserWebModel
+ public class UserWebModel : BaseUserWebModel
{
- public string UserName { get; set; }
- public string Email { get; set; }
- public string FirstName { get; set; }
- public string LastName { get; set; }
public string Role { get; set; }
}
}