feat: enforce tenant isolation and shared question bank

This commit is contained in:
2026-07-27 16:59:12 +08:00
parent 28e9a9fa41
commit db4c7b4496
137 changed files with 6402 additions and 112274 deletions

View File

@@ -0,0 +1,36 @@
using System.Text.Json;
using Tiku.Domain.Catalog;
using Tiku.Domain.Content;
namespace Tiku.Application.Catalog;
public sealed record TaxonomyNodeItem(
Guid Id,
QuestionSource Source,
Guid? ParentId,
QuestionSource? ParentSource,
TaxonomyNodeType NodeType,
string Code,
string Name,
string? Path,
int Depth,
int SortOrder,
JsonElement Metadata);
public sealed record CreateTaxonomyNodeCommand(
Guid? ParentId,
QuestionSource? ParentSource,
TaxonomyNodeType NodeType,
string Code,
string Name,
int SortOrder,
JsonElement Metadata);
public interface ITaxonomyService
{
Task<IReadOnlyCollection<TaxonomyNodeItem>> ListAsync(Guid tenantId, CancellationToken cancellationToken = default);
Task<TaxonomyNodeItem> CreateAsync(
Guid tenantId,
CreateTaxonomyNodeCommand command,
CancellationToken cancellationToken = default);
}