28 lines
		
	
	
		
			893 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			893 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using DysonNetwork.Shared.Models;
 | 
						|
using NodaTime;
 | 
						|
 | 
						|
namespace DysonNetwork.Drive.Billing;
 | 
						|
 | 
						|
/// <summary>
 | 
						|
/// The quota record stands for the extra quota that a user has.
 | 
						|
/// For normal users, the quota is 1GiB.
 | 
						|
/// For stellar program t1 users, the quota is 5GiB
 | 
						|
/// For stellar program t2 users, the quota is 10GiB
 | 
						|
/// For stellar program t3 users, the quota is 15GiB
 | 
						|
///
 | 
						|
/// If users want to increase the quota, they need to pay for it.
 | 
						|
/// Each 1NSD they paid for one GiB.
 | 
						|
///
 | 
						|
/// But the quota record unit is MiB, the minimal billable unit.
 | 
						|
/// </summary>
 | 
						|
public class QuotaRecord : ModelBase
 | 
						|
{
 | 
						|
    public Guid Id { get; set; } = Guid.NewGuid();
 | 
						|
    public Guid AccountId { get; set; }
 | 
						|
    public string Name { get; set; } = string.Empty;
 | 
						|
    public string Description { get; set; } = string.Empty;
 | 
						|
    
 | 
						|
    public long Quota { get; set; }
 | 
						|
    
 | 
						|
    public Instant? ExpiredAt { get; set; }
 | 
						|
} |