72 lines
1.8 KiB
Markdown
72 lines
1.8 KiB
Markdown
# 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 `virtual` are relational properties and don't directly correspond to columns in the database.
|
|
|
|
## User
|
|
```csharp
|
|
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
|
|
```csharp
|
|
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
|
|
```csharp
|
|
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; }
|
|
}
|
|
```
|
|
|
|
## Token
|
|
```csharp
|
|
public class Token {
|
|
public int Type { get; set; }
|
|
public Guid Content { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public virtual User Owner { get; set; }
|
|
}
|
|
```
|
|
|
|
## UserLogin
|
|
```csharp
|
|
public class UserLogin {
|
|
public string Email { get; set; }
|
|
public string Password { get; set; }
|
|
}
|
|
```
|
|
|
|
## UserRegister
|
|
```csharp
|
|
public class UserRegister {
|
|
public string Username { get; set; }
|
|
public string Email { get; set; }
|
|
public string Password { get; set; }
|
|
}
|
|
```
|
|
|
|
## IPermissionOwner
|
|
```csharp
|
|
public interface IPermissionOwner;
|
|
```
|