53 lines
2.0 KiB
C#
53 lines
2.0 KiB
C#
using Microsoft.AspNetCore.Identity;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace BLAIzor.Models
|
|
{
|
|
public class SiteInfo
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
public string? SiteName { get; set; }
|
|
public string? SiteDescription { get; set; }
|
|
|
|
public string? BrandLogoUrl { get; set; }
|
|
|
|
public string? DefaultColor { get; set; }
|
|
|
|
// Foreign key for IdentityUser
|
|
public string UserId { get; set; }
|
|
|
|
[Url(ErrorMessage = "The DomainUrl field must be a valid URL.")]
|
|
public string? DomainUrl { get; set; } // For custom domains
|
|
|
|
[Url(ErrorMessage = "The DefaultUrl field must be a valid URL.")]
|
|
public string DefaultUrl { get; set; } // For generated subdomains
|
|
public bool IsPublished { get; set; }
|
|
public int? TemplateId { get; set; }
|
|
public bool TTSActive { get; set; } = false;
|
|
public bool STTActive { get; set; } = false;
|
|
public string? VoiceId { get; set; }
|
|
public string? Persona { get; set; }
|
|
public string? Entity { get; set; }
|
|
public string? DesignStyle { get; set; } // e.g. "Modern", "Classic", "Photorealistic"
|
|
public string? DefaultLanguage { get; set; }
|
|
public string? BackgroundVideo { get; set; }
|
|
public string? VectorCollectionName { get; set; }
|
|
public string? EmbeddingService { get; set; }
|
|
public string? FacebookUrl { get; set; }
|
|
public string? TwitterUrl { get; set; }
|
|
public string? InstagramUrl { get; set; }
|
|
|
|
public List<ContentGroup> ContentGroups { get; set; } = new();
|
|
|
|
// Navigation property for IdentityUser
|
|
public IdentityUser User { get; set; }
|
|
|
|
// Navigation property for Menu items
|
|
public ICollection<MenuItem> MenuItems { get; set; } = new List<MenuItem>();
|
|
public DesignTemplate Template { get; set; }
|
|
public List<FormDefinition> FormDefinitions { get; set; } = new();
|
|
}
|
|
}
|