From 98e17766b203734a1817eed94338e2d25f4395f7 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 13 Feb 2021 16:20:18 +0200 Subject: Project Restructure P.1 --- .../Identity/Role/CreateRoleWebModel.cs | 14 +++++++++ .../Identity/Role/RoleWebModel.cs | 14 +++++++++ .../Identity/Role/UpdateRoleWebModel.cs | 15 ++++++++++ .../Identity/User/BaseUserWebModel.cs | 34 ++++++++++++++++++++++ .../Identity/User/LoginWebModel.cs | 20 +++++++++++++ .../Identity/User/ProfilePictureWebModel.cs | 7 +++++ .../Identity/User/RegisterWebModel.cs | 14 +++++++++ .../Identity/User/TokenWebModel.cs | 12 ++++++++ .../Identity/User/UpdateProfilePictureWebModel.cs | 9 ++++++ .../Identity/User/UpdateUserWebModel.cs | 34 ++++++++++++++++++++++ .../Identity/User/UserWebModel.cs | 33 +++++++++++++++++++++ .../Identity/User/UsernameWebModel.cs | 15 ++++++++++ 12 files changed, 221 insertions(+) create mode 100644 src/Web/DevHive.Web.Models/Identity/Role/CreateRoleWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/Role/RoleWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/Role/UpdateRoleWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/BaseUserWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/LoginWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/ProfilePictureWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/RegisterWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/TokenWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/UpdateProfilePictureWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/UpdateUserWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/UserWebModel.cs create mode 100644 src/Web/DevHive.Web.Models/Identity/User/UsernameWebModel.cs (limited to 'src/Web/DevHive.Web.Models/Identity') 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 Friends { get; set; } + + [NotNull] + [Required] + public HashSet Roles { get; set; } + + [NotNull] + [Required] + public HashSet Languages { get; set; } + + [NotNull] + [Required] + public HashSet 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 Roles { get; set; } = new(); + + [NotNull] + [Required] + public HashSet Friends { get; set; } = new(); + + [NotNull] + [Required] + public HashSet Languages { get; set; } = new(); + + [NotNull] + [Required] + public HashSet Technologies { get; set; } = new(); + + public List 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; } + } +} -- cgit v1.2.3