2.4 KiB
2.4 KiB
HopFrame base models
All models listed below are part of the core HopFrame components and accessible in all installation variations
Note: All properties of the models that are
virtualare relational properties and don't directly correspond to columns in the database.
User
public class User : IPermissionOwner {
public Guid Id { get; init; }
public string Username { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public DateTime CreatedAt { get; set; }
public virtual List<Permission> Permissions { get; set; }
public virtual List<Token> Tokens { get; set; }
}
PermissionGroup
public class PermissionGroup : IPermissionOwner {
public string Name { get; init; }
public bool IsDefaultGroup { get; set; }
public string Description { get; set; }
public DateTime CreatedAt { get; set; }
public virtual List<Permission> Permissions { get; set; }
}
Permission
public class Permission {
public long Id { get; init; }
public string PermissionName { get; set; }
public DateTime GrantedAt { get; set; }
public virtual User User { get; set; }
public virtual PermissionGroup Group { get; set; }
public virtual Token Token { get; set; }
}
Token
public class Token : IPermissionOwner {
public int Type { get; set; }
public Guid Content { get; set; }
public DateTime CreatedAt { get; set; }
public virtual User Owner { get; set; }
public virtual List<Permission> Permissions { get; set; }
}
UserLogin
public class UserLogin {
public string Email { get; set; }
public string Password { get; set; }
}
UserRegister
public class UserRegister {
public string Username { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
UserCreator
public class UserCreator {
public string Username { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public virtual List<string> Permissions { get; set; }
}
IPermissionOwner
public interface IPermissionOwner;
SingleValueResult
public struct SingleValueResult<TValue>(TValue value) {
public TValue Value { get; set; } = value;
}
UserPasswordValidation
public sealed class UserPasswordValidation {
public string Password { get; set; }
}