using System; using Volo.Abp.Domain.Entities.Auditing; namespace Sozsoft.Platform.Entities; public class CustomComponent : FullAuditedEntity { public string Name { get; set; } = string.Empty; /// Rotasi olmayan bilesende (ust bilgi, alt bilgi) NULL kalir; tekil indeks dolu degerleri kapsar. public string? RoutePath { get; set; } public string Code { get; set; } = string.Empty; public string? Props { get; set; } public string? Description { get; set; } public bool IsActive { get; set; } = true; public string? Dependencies { get; set; } // JSON string of component names /// /// Component'in Data sekmesinde kullandigi API'ler; JSON dizisi olarak tutulur. /// Her kayit endpoint'in method/url bilgisinin yani sira cozumlenebiliyorsa /// kaynak CRUD endpoint'ini (EntityName ve crud/{EntityName}.json seed dosyasi) tasir. /// Props icindeki designer dokumanindan turetilir; kaydetme sirasinda otomatik yazilir. /// public string? DataSources { get; set; } /// /// Arama motoru yuzeyi. Ayri bir SEO tablosu yoktur: meta, yolu tanimlayan kaydin /// uzerinde yasar. Metin alanlari dogrudan yazilabilir ya da ::Anahtar bicimiyle /// dil anahtari tasiyabilir; kulture gore cozumlemeyi istemci yapar. /// Rotasiz bilesende (ust bilgi, alt bilgi) bos kalir. /// public string? SeoTitle { get; set; } public string? SeoDescription { get; set; } public string? SeoKeywords { get; set; } public string? SeoOgImage { get; set; } public string? SeoCanonicalUrl { get; set; } /// Dizine eklenmesin; sitemap disinda kalir ve noindex yazilir. public bool SeoNoIndex { get; set; } public bool SeoIncludeInSitemap { get; set; } = true; public string? SeoChangeFrequency { get; set; } public decimal? SeoPriority { get; set; } /// Sayfaya gomulen JSON-LD; bos ise yalnizca genel Organization verisi yazilir. public string? SeoStructuredData { get; set; } public CustomComponent(string name, string? routePath, string code, string? props, string? description, bool isActive, string? dependencies, string? dataSources = null) { Name = name; RoutePath = routePath; Code = code; Props = props; Description = description; IsActive = isActive; Dependencies = dependencies; DataSources = dataSources; } }