From 4aadb05cd5718c7d16bf432c96e23ae4e7db4783 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 21 Jan 2020 01:11:17 +0800 Subject: ... --- Timeline/Models/Http/Token.cs | 4 +-- Timeline/Models/Http/User.cs | 6 ++++ Timeline/Models/UserConvert.cs | 67 -------------------------------------- Timeline/Models/UserInfo.cs | 23 +++---------- Timeline/Models/UserRoleConvert.cs | 44 +++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 87 deletions(-) delete mode 100644 Timeline/Models/UserConvert.cs create mode 100644 Timeline/Models/UserRoleConvert.cs (limited to 'Timeline/Models') diff --git a/Timeline/Models/Http/Token.cs b/Timeline/Models/Http/Token.cs index ea8b59ed..0649f1d1 100644 --- a/Timeline/Models/Http/Token.cs +++ b/Timeline/Models/Http/Token.cs @@ -16,7 +16,7 @@ namespace Timeline.Models.Http public class CreateTokenResponse { public string Token { get; set; } = default!; - public UserInfo User { get; set; } = default!; + public User User { get; set; } = default!; } public class VerifyTokenRequest @@ -27,6 +27,6 @@ namespace Timeline.Models.Http public class VerifyTokenResponse { - public UserInfo User { get; set; } = default!; + public User User { get; set; } = default!; } } diff --git a/Timeline/Models/Http/User.cs b/Timeline/Models/Http/User.cs index 516c1329..69bfacf2 100644 --- a/Timeline/Models/Http/User.cs +++ b/Timeline/Models/Http/User.cs @@ -3,6 +3,12 @@ using Timeline.Models.Validation; namespace Timeline.Models.Http { + public class User + { + public string Username { get; set; } = default!; + public bool Administrator { get; set; } + } + public class UserPutRequest { [Required] diff --git a/Timeline/Models/UserConvert.cs b/Timeline/Models/UserConvert.cs deleted file mode 100644 index 5b132421..00000000 --- a/Timeline/Models/UserConvert.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Timeline.Entities; -using Timeline.Services; - -namespace Timeline.Models -{ - public static class UserConvert - { - public static UserInfo CreateUserInfo(User user) - { - if (user == null) - throw new ArgumentNullException(nameof(user)); - return new UserInfo(user.Name, UserRoleConvert.ToBool(user.RoleString)); - } - - internal static UserCache CreateUserCache(User user) - { - if (user == null) - throw new ArgumentNullException(nameof(user)); - return new UserCache - { - Username = user.Name, - Administrator = UserRoleConvert.ToBool(user.RoleString), - Version = user.Version - }; - } - } - - [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "No need.")] - public static class UserRoleConvert - { - public const string UserRole = UserRoles.User; - public const string AdminRole = UserRoles.Admin; - - public static string[] ToArray(bool administrator) - { - return administrator ? new string[] { UserRole, AdminRole } : new string[] { UserRole }; - } - - public static string[] ToArray(string s) - { - return s.Split(',').ToArray(); - } - - public static bool ToBool(IReadOnlyCollection roles) - { - return roles.Contains(AdminRole); - } - - public static string ToString(IReadOnlyCollection roles) - { - return string.Join(',', roles); - } - - public static string ToString(bool administrator) - { - return administrator ? UserRole + "," + AdminRole : UserRole; - } - - public static bool ToBool(string s) - { - return s.Contains("admin", StringComparison.InvariantCulture); - } - } -} diff --git a/Timeline/Models/UserInfo.cs b/Timeline/Models/UserInfo.cs index b60bdfa2..eff47329 100644 --- a/Timeline/Models/UserInfo.cs +++ b/Timeline/Models/UserInfo.cs @@ -1,23 +1,10 @@ -namespace Timeline.Models +namespace Timeline.Models { - public sealed class UserInfo + public class UserInfo { - public UserInfo() - { - } - - public UserInfo(string username, bool administrator) - { - Username = username; - Administrator = administrator; - } - + public long Id { get; set; } + public long Version { get; set; } public string Username { get; set; } = default!; - public bool Administrator { get; set; } = default!; - - public override string ToString() - { - return $"Username: {Username} ; Administrator: {Administrator}"; - } + public bool Administrator { get; set; } } } diff --git a/Timeline/Models/UserRoleConvert.cs b/Timeline/Models/UserRoleConvert.cs new file mode 100644 index 00000000..ade9a799 --- /dev/null +++ b/Timeline/Models/UserRoleConvert.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Timeline.Entities; + +namespace Timeline.Models +{ + [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "No need.")] + public static class UserRoleConvert + { + public const string UserRole = UserRoles.User; + public const string AdminRole = UserRoles.Admin; + + public static string[] ToArray(bool administrator) + { + return administrator ? new string[] { UserRole, AdminRole } : new string[] { UserRole }; + } + + public static string[] ToArray(string s) + { + return s.Split(',').ToArray(); + } + + public static bool ToBool(IReadOnlyCollection roles) + { + return roles.Contains(AdminRole); + } + + public static string ToString(IReadOnlyCollection roles) + { + return string.Join(',', roles); + } + + public static string ToString(bool administrator) + { + return administrator ? UserRole + "," + AdminRole : UserRole; + } + + public static bool ToBool(string s) + { + return s.Contains("admin", StringComparison.InvariantCulture); + } + } +} -- cgit v1.2.3