summaryrefslogtreecommitdiffstats
path: root/server/src/Data/Database/User.cs
blob: 83b8338f3090084f570e0496597d9ceba20eaafc (plain) (blame)
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
namespace IOL.GreatOffice.Api.Data.Database;

public class User : Base
{
	public User() { }

	public User(string username) {
		Username = username;
	}

	public string FirstName { get; set; }
	public string LastName { get; set; }
	public string Email { get; set; }
	public string Username { get; set; }
	public string Password { get; set; }
	public ICollection<Tenant> Tenants { get; set; }


	public void HashAndSetPassword(string password) {
		Password = PasswordHelper.HashPassword(password);
	}

	public bool VerifyPassword(string password) {
		return PasswordHelper.Verify(password, Password);
	}

	public IEnumerable<Claim> DefaultClaims() {
		return new Claim[] {
				new(AppClaims.USER_ID, Id.ToString()),
				new(AppClaims.NAME, Username),
		};
	}
}