diff options
| author | transtrike <transtrike@gmail.com> | 2021-02-13 16:20:18 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-02-13 16:20:18 +0200 |
| commit | 98e17766b203734a1817eed94338e2d25f4395f7 (patch) | |
| tree | 1266385a56cba56fd55c7faf661dd844bbdf5705 /src/Web/DevHive.Web.Models/Identity | |
| parent | 1ab34accfda22ee3ce5c7700e3b97ff3e932d649 (diff) | |
| download | DevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar DevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar.gz DevHive-98e17766b203734a1817eed94338e2d25f4395f7.zip | |
Project Restructure P.1
Diffstat (limited to 'src/Web/DevHive.Web.Models/Identity')
12 files changed, 221 insertions, 0 deletions
diff --git a/src/Web/DevHive.Web.Models/Identity/Role/CreateRoleWebModel.cs b/src/Web/DevHive.Web.Models/Identity/Role/CreateRoleWebModel.cs new file mode 100644 index 0000000..859cdd9 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/Role/CreateRoleWebModel.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; + +namespace DevHive.Web.Models.Identity.Role +{ + public class CreateRoleWebModel + { + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(50)] + public string Name { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/Role/RoleWebModel.cs b/src/Web/DevHive.Web.Models/Identity/Role/RoleWebModel.cs new file mode 100644 index 0000000..99b0f50 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/Role/RoleWebModel.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; + +namespace DevHive.Web.Models.Identity.Role +{ + public class RoleWebModel + { + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(50)] + public string Name { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/Role/UpdateRoleWebModel.cs b/src/Web/DevHive.Web.Models/Identity/Role/UpdateRoleWebModel.cs new file mode 100644 index 0000000..3870481 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/Role/UpdateRoleWebModel.cs @@ -0,0 +1,15 @@ +using System; +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; + +namespace DevHive.Web.Models.Identity.Role +{ + public class UpdateRoleWebModel + { + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(50)] + public string Name { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/BaseUserWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/BaseUserWebModel.cs new file mode 100644 index 0000000..297e1a5 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/BaseUserWebModel.cs @@ -0,0 +1,34 @@ +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; +using DevHive.Web.Attributes; + +namespace DevHive.Web.Models.Identity.User +{ + public class BaseUserWebModel + { + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(50)] + public string UserName { get; set; } + + [NotNull] + [Required] + [EmailAddress] + public string Email { get; set; } + + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(30)] + [OnlyLetters(ErrorMessage = "First name can only contain letters!")] + public string FirstName { get; set; } + + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(30)] + [OnlyLetters(ErrorMessage = "Last name can only contain letters!")] + public string LastName { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/LoginWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/LoginWebModel.cs new file mode 100644 index 0000000..ccd806f --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/LoginWebModel.cs @@ -0,0 +1,20 @@ +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; +using DevHive.Web.Attributes; + +namespace DevHive.Web.Models.Identity.User +{ + public class LoginWebModel + { + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(50)] + public string UserName { get; set; } + + [NotNull] + [Required] + [GoodPassword] + public string Password { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/ProfilePictureWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/ProfilePictureWebModel.cs new file mode 100644 index 0000000..91c9487 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/ProfilePictureWebModel.cs @@ -0,0 +1,7 @@ +namespace DevHive.Web.Models.Identity.User +{ + public class ProfilePictureWebModel + { + public string ProfilePictureURL { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/RegisterWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/RegisterWebModel.cs new file mode 100644 index 0000000..0fc7ec6 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/RegisterWebModel.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; +using DevHive.Web.Attributes; + +namespace DevHive.Web.Models.Identity.User +{ + public class RegisterWebModel : BaseUserWebModel + { + [NotNull] + [Required] + [GoodPassword] + public string Password { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/TokenWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/TokenWebModel.cs new file mode 100644 index 0000000..154b64b --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/TokenWebModel.cs @@ -0,0 +1,12 @@ +namespace DevHive.Web.Models.Identity.User +{ + public class TokenWebModel + { + public TokenWebModel(string token) + { + this.Token = token; + } + + public string Token { get; set; } + } +}
\ No newline at end of file diff --git a/src/Web/DevHive.Web.Models/Identity/User/UpdateProfilePictureWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/UpdateProfilePictureWebModel.cs new file mode 100644 index 0000000..6efe968 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/UpdateProfilePictureWebModel.cs @@ -0,0 +1,9 @@ +using Microsoft.AspNetCore.Http; + +namespace DevHive.Web.Models.Identity.User +{ + public class UpdateProfilePictureWebModel + { + public IFormFile Picture { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/UpdateUserWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/UpdateUserWebModel.cs new file mode 100644 index 0000000..62901f6 --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/UpdateUserWebModel.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; +using DevHive.Web.Attributes; +using DevHive.Web.Models.Identity.Role; +using DevHive.Web.Models.Language; +using DevHive.Web.Models.Technology; + +namespace DevHive.Web.Models.Identity.User +{ + public class UpdateUserWebModel : BaseUserWebModel + { + [NotNull] + [Required] + [GoodPassword] + public string Password { get; set; } + + [NotNull] + [Required] + public HashSet<UsernameWebModel> Friends { get; set; } + + [NotNull] + [Required] + public HashSet<UpdateRoleWebModel> Roles { get; set; } + + [NotNull] + [Required] + public HashSet<UpdateLanguageWebModel> Languages { get; set; } + + [NotNull] + [Required] + public HashSet<UpdateTechnologyWebModel> Technologies { get; set; } + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/UserWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/UserWebModel.cs new file mode 100644 index 0000000..7ab8cca --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/UserWebModel.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; +using DevHive.Common.Models.Misc; +using DevHive.Web.Models.Identity.Role; +using DevHive.Web.Models.Language; +using DevHive.Web.Models.Technology; + +namespace DevHive.Web.Models.Identity.User +{ + public class UserWebModel : BaseUserWebModel + { + public string ProfilePictureURL { get; set; } + + [NotNull] + [Required] + public HashSet<RoleWebModel> Roles { get; set; } = new(); + + [NotNull] + [Required] + public HashSet<UsernameWebModel> Friends { get; set; } = new(); + + [NotNull] + [Required] + public HashSet<LanguageWebModel> Languages { get; set; } = new(); + + [NotNull] + [Required] + public HashSet<TechnologyWebModel> Technologies { get; set; } = new(); + + public List<IdModel> Posts { get; set; } = new(); + } +} diff --git a/src/Web/DevHive.Web.Models/Identity/User/UsernameWebModel.cs b/src/Web/DevHive.Web.Models/Identity/User/UsernameWebModel.cs new file mode 100644 index 0000000..c533bba --- /dev/null +++ b/src/Web/DevHive.Web.Models/Identity/User/UsernameWebModel.cs @@ -0,0 +1,15 @@ +using System.ComponentModel.DataAnnotations; +using System.Diagnostics.CodeAnalysis; +using DevHive.Web.Attributes; + +namespace DevHive.Web.Models.Identity.User +{ + public class UsernameWebModel + { + [NotNull] + [Required] + [MinLength(3)] + [MaxLength(50)] + public string UserName { get; set; } + } +} |
