All checks were successful
Build and Deploy API / build-and-deploy (push) Successful in 4s
64 lines
2.7 KiB
C#
64 lines
2.7 KiB
C#
|
|
using Microsoft.AspNetCore.Identity;
|
|
|
|
namespace agologumApi.Models;
|
|
|
|
public class User : IdentityUser {
|
|
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
// TODO: make this a list of UserPermissions
|
|
// where a userpermission has an Id, Permission (string), and userId string
|
|
// then we can do something like: get all users with this permission
|
|
public List<string>? Permissions { get; set; } = new();
|
|
|
|
// properties inherited from IdentityUser:
|
|
/*
|
|
AccessFailedCount: Gets or sets the number of failed login attempts for the current user.
|
|
Claims: Navigation property for the claims this user possesses.
|
|
ConcurrencyStamp: A random value that must change whenever a user is persisted to the store
|
|
Email: Gets or sets the email address for this user.
|
|
EmailConfirmed: Gets or sets a flag indicating if a user has confirmed their email address.
|
|
Id: Gets or sets the primary key for this user.
|
|
LockoutEnabled: Gets or sets a flag indicating if the user could be locked out.
|
|
LockoutEnd: Gets or sets the date and time, in UTC, when any user lockout ends.
|
|
Logins: Navigation property for this users login accounts.
|
|
NormalizedEmail: Gets or sets the normalized email address for this user.
|
|
NormalizedUserName: Gets or sets the normalized user name for this user.
|
|
PasswordHash: Gets or sets a salted and hashed representation of the password for this user.
|
|
PhoneNumber: Gets or sets a telephone number for the user.
|
|
PhoneNumberConfirmed: Gets or sets a flag indicating if a user has confirmed their telephone address.
|
|
Roles: Navigation property for the roles this user belongs to.
|
|
SecurityStamp: A random value that must change whenever a users credentials change (password changed, login removed)
|
|
TwoFactorEnabled: Gets or sets a flag indicating if two factor authentication is enabled for this user.
|
|
UserName: Gets or sets the user name for this user.
|
|
https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.identity.entityframeworkcore.identityuser?view=aspnetcore-1.1
|
|
*/
|
|
};
|
|
|
|
// DTOs include only the minimum information for transit
|
|
public class RegisterDto {
|
|
|
|
public string UserName { get; set; } = "";
|
|
public string Email { get; set; } = "";
|
|
public string Password { get; set; } = "";
|
|
|
|
}
|
|
|
|
public class LoginDto {
|
|
|
|
public string UserName { get; set; } = "";
|
|
public string Password { get; set; } = "";
|
|
|
|
}
|
|
|
|
public class UserDto {
|
|
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // gets compressed to a string'
|
|
public List<string> permissions { get; set; } = [];
|
|
public string? Email { get; set; } = "";
|
|
public string Id { get; set; } = "";
|
|
public string? UserName { get; set; } = "";
|
|
|
|
};
|