aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Entities/UserUtility.cs
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-07-27 21:47:14 +0800
committerGitHub <noreply@github.com>2019-07-27 21:47:14 +0800
commit590a8c576f17817539505ef2ca50f52e840a61d2 (patch)
tree572a2ae5c65c484718b3bfda68fd8babc56fe6f2 /Timeline/Entities/UserUtility.cs
parent3de4179449a209646e0e5a967d270f7fa0878c03 (diff)
parent58985e8f2a6931029974067b2c1e78963e4508f0 (diff)
downloadtimeline-590a8c576f17817539505ef2ca50f52e840a61d2.tar.gz
timeline-590a8c576f17817539505ef2ca50f52e840a61d2.tar.bz2
timeline-590a8c576f17817539505ef2ca50f52e840a61d2.zip
Merge pull request #25 from crupest/auth
Refactor a lot, especially authentication.
Diffstat (limited to 'Timeline/Entities/UserUtility.cs')
-rw-r--r--Timeline/Entities/UserUtility.cs19
1 files changed, 15 insertions, 4 deletions
diff --git a/Timeline/Entities/UserUtility.cs b/Timeline/Entities/UserUtility.cs
index 9a272948..cbbd391c 100644
--- a/Timeline/Entities/UserUtility.cs
+++ b/Timeline/Entities/UserUtility.cs
@@ -1,14 +1,14 @@
using System;
using System.Linq;
-using Timeline.Entities;
using Timeline.Models;
+using Timeline.Services;
namespace Timeline.Entities
{
public static class UserUtility
{
- public const string UserRole = "user";
- public const string AdminRole = "admin";
+ public const string UserRole = UserRoles.User;
+ public const string AdminRole = UserRoles.Admin;
public static string[] UserRoleArray { get; } = new string[] { UserRole };
public static string[] AdminRoleArray { get; } = new string[] { UserRole, AdminRole };
@@ -38,12 +38,23 @@ namespace Timeline.Entities
return RoleArrayToRoleString(IsAdminToRoleArray(isAdmin));
}
+ public static bool RoleStringToIsAdmin(string roleString)
+ {
+ return RoleArrayToIsAdmin(RoleStringToRoleArray(roleString));
+ }
+
public static UserInfo CreateUserInfo(User user)
{
if (user == null)
throw new ArgumentNullException(nameof(user));
- return new UserInfo(user.Name, RoleArrayToIsAdmin(RoleStringToRoleArray(user.RoleString)));
+ return new UserInfo(user.Name, RoleStringToIsAdmin(user.RoleString));
}
+ internal static UserCache CreateUserCache(User user)
+ {
+ if (user == null)
+ throw new ArgumentNullException(nameof(user));
+ return new UserCache { Username = user.Name, IsAdmin = RoleStringToIsAdmin(user.RoleString), Version = user.Version };
+ }
}
}