44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace LittleShop.Models;
|
|
|
|
public class BotSession
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
[Required]
|
|
public Guid BotId { get; set; }
|
|
|
|
[Required]
|
|
[StringLength(256)]
|
|
public string SessionIdentifier { get; set; } = string.Empty; // Hashed user ID
|
|
|
|
[StringLength(100)]
|
|
public string Platform { get; set; } = string.Empty; // Telegram, Discord, etc.
|
|
|
|
public DateTime StartedAt { get; set; }
|
|
|
|
public DateTime LastActivityAt { get; set; }
|
|
|
|
public DateTime? EndedAt { get; set; }
|
|
|
|
public int OrderCount { get; set; }
|
|
|
|
public int MessageCount { get; set; }
|
|
|
|
public decimal TotalSpent { get; set; }
|
|
|
|
[StringLength(50)]
|
|
public string Language { get; set; } = "en";
|
|
|
|
[StringLength(100)]
|
|
public string Country { get; set; } = string.Empty;
|
|
|
|
public bool IsAnonymous { get; set; }
|
|
|
|
public string Metadata { get; set; } = "{}"; // JSON for additional session data
|
|
|
|
// Navigation property
|
|
public virtual Bot Bot { get; set; } = null!;
|
|
} |