namespace KmsDAL.DTO.KmArtifact { public class KmArtifactDTO { public int ArtifactId { get; set; } public int DomainId { get; set; } public string DomainName { get; set; } = string.Empty; public int SpaceId { get; set; } public string SpaceName { get; set; } = string.Empty; public string ArtifactCode { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; public string? Summary { get; set; } // 0 Concept, 1 Fact, 2 Policy, 3 Rule, 4 Process, 5 Insight, 6 Document public byte ArtifactType { get; set; } // 0 Manual, 1 FileUpload, 2 CMS, 3 DMS, 4 Database, 5 API, 6 ExternalFeed public byte SourceKind { get; set; } // 0 Draft, 1 UnderReview, 2 Approved, 3 Published, 4 Retired public byte GovernanceState { get; set; } // 0 Global, 1 Industry, 2 Region, 3 Tenant, 4 Department, 5 Role public byte ScopeLevel { get; set; } public string ScopeValue { get; set; } = string.Empty; public short VersionNumber { get; set; } public int ParentArtifactId { get; set; } public int OwnerUserId { get; set; } public string? OwnerName { get; set; } public int ReviewerUserId { get; set; } public string? ReviewerName { get; set; } public decimal ConfidenceScore { get; set; } public DateTime? EffectiveFrom { get; set; } public DateTime? EffectiveTo { get; set; } public string? SourceReference { get; set; } public string? SourceMetadata { get; set; } public string? QdrantPointId { get; set; } public string? EmbeddingModel { get; set; } public DateTime? LastEmbeddedOn { get; set; } public int ExtractionJobId { get; set; } public string? Tags { get; set; } public byte Status { get; set; } public short SortOrder { get; set; } public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } public int TenantId { get; set; } public short Version { get; set; } public List Contents { get; set; } = new(); } public class KmArtifactContentSummaryDTO { public int ContentId { get; set; } public string ContentBody { get; set; } = string.Empty; public string ContentType { get; set; } = string.Empty; public string LanguageCode { get; set; } = string.Empty; public byte IsPrimary { get; set; } } public class KmArtifactPicklistDTO { public int ArtifactId { get; set; } public string ArtifactCode { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; public byte ArtifactType { get; set; } public byte GovernanceState { get; set; } } public class KnowledgeCardDTO { public int ArtifactId { get; set; } public string ArtifactCode { get; set; } = string.Empty; public byte ArtifactType { get; set; } public string Title { get; set; } = string.Empty; public string ContentBody { get; set; } = string.Empty; public int DomainId { get; set; } public string DomainName { get; set; } = string.Empty; public int SpaceId { get; set; } public string SpaceName { get; set; } = string.Empty; public byte ScopeLevel { get; set; } public string ScopeValue { get; set; } = string.Empty; public string? Tags { get; set; } public decimal ConfidenceScore { get; set; } public DateTime? EffectiveFrom { get; set; } public DateTime? EffectiveTo { get; set; } public short VersionNumber { get; set; } public DateTime? PublishedOn { get; set; } public decimal RelevanceScore { get; set; } public string? SourceReference { get; set; } public string LanguageCode { get; set; } = "en"; } }