blob: f63a374ef2a6994c99b0a36125f879c323531d5d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
using Microsoft.AspNetCore.Mvc;
using System;
using Timeline.Controllers;
namespace Timeline.Services
{
public class User
{
public string? Username { get; set; }
public string? Nickname { get; set; }
public string? AvatarUrl { get; set; }
#region adminsecret
public bool? Administrator { get; set; }
#endregion adminsecret
#region secret
public long? Id { get; set; }
public string? Password { get; set; }
public long? Version { get; set; }
#endregion secret
}
public static class UserExtensions
{
public static User EraseSecretAndFinalFill(this User user, IUrlHelper urlHelper, bool adminstrator)
{
if (user == null)
throw new ArgumentNullException(nameof(user));
var result = new User
{
Username = user.Username,
Nickname = user.Nickname,
AvatarUrl = urlHelper.ActionLink(action: nameof(UserAvatarController.Get), controller: nameof(UserAvatarController), values: new
{
user.Username
})
};
if (adminstrator)
{
result.Administrator = user.Administrator;
}
return result;
}
}
}
|