44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
|
|
namespace BCards.Web.Models;
|
|
|
|
public class User
|
|
{
|
|
[BsonId]
|
|
[BsonRepresentation(BsonType.ObjectId)]
|
|
public string Id { get; set; } = string.Empty;
|
|
|
|
[BsonElement("email")]
|
|
public string Email { get; set; } = string.Empty;
|
|
|
|
[BsonElement("name")]
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
[BsonElement("profileImage")]
|
|
public string ProfileImage { get; set; } = string.Empty;
|
|
|
|
[BsonElement("authProvider")]
|
|
public string AuthProvider { get; set; } = string.Empty;
|
|
|
|
[BsonElement("stripeCustomerId")]
|
|
public string StripeCustomerId { get; set; } = string.Empty;
|
|
|
|
[BsonElement("subscriptionStatus")]
|
|
public string SubscriptionStatus { get; set; } = "free";
|
|
|
|
[BsonElement("currentPlan")]
|
|
public string CurrentPlan { get; set; } = "free";
|
|
|
|
[BsonElement("createdAt")]
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
[BsonElement("updatedAt")]
|
|
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
[BsonElement("isActive")]
|
|
public bool IsActive { get; set; } = true;
|
|
|
|
[BsonElement("notifiedOfExpiration")]
|
|
public bool NotifiedOfExpiration { get; set; } = false;
|
|
} |