forked from gongxuegit/tiku-backend.net
feat: add content navigation readonly endpoints
This commit is contained in:
127
Tiku.Application/Content/ContentNavigationQueryModels.cs
Normal file
127
Tiku.Application/Content/ContentNavigationQueryModels.cs
Normal file
@@ -0,0 +1,127 @@
|
||||
using System.Text.Json;
|
||||
using Tiku.Domain.Content;
|
||||
|
||||
namespace Tiku.Application.Content;
|
||||
|
||||
public sealed record ContentNavigationFilter(
|
||||
Guid TenantId,
|
||||
Guid? RegionId = null,
|
||||
Guid? EntryId = null,
|
||||
Guid? NodeId = null,
|
||||
Guid? CollectionId = null,
|
||||
Guid? ParentId = null,
|
||||
bool ParentWasSpecified = false,
|
||||
bool ParentIsRoot = false,
|
||||
string? EntryType = null,
|
||||
string? CollectionType = null,
|
||||
string? Mode = null,
|
||||
string? MarkerType = null,
|
||||
string? Keyword = null,
|
||||
bool IncludeHidden = false,
|
||||
bool IncludeInactive = false,
|
||||
int? Limit = null);
|
||||
|
||||
public sealed record ContentEntryCatalogItem(
|
||||
Guid Id,
|
||||
Guid? RegionId,
|
||||
string? LegacyId,
|
||||
string EntryKey,
|
||||
string Name,
|
||||
ContentEntryType EntryType,
|
||||
string? Icon,
|
||||
string? Route,
|
||||
string? Description,
|
||||
ContentVisibility Visibility,
|
||||
JsonElement AccessRules,
|
||||
JsonElement LayoutConfig,
|
||||
int Order);
|
||||
|
||||
public sealed record ContentNodeCatalogItem(
|
||||
Guid Id,
|
||||
Guid EntryId,
|
||||
Guid? RegionId,
|
||||
Guid? ParentId,
|
||||
string? LegacyId,
|
||||
string? NodeKey,
|
||||
string Name,
|
||||
ContentNodeType NodeType,
|
||||
ContentMarkerType? MarkerType,
|
||||
JsonElement MarkerConfig,
|
||||
string? Path,
|
||||
int Depth,
|
||||
int Order,
|
||||
bool IsSelectable,
|
||||
bool IsLeaf,
|
||||
JsonElement AccessRules,
|
||||
JsonElement Metadata);
|
||||
|
||||
public sealed record QuestionCollectionCatalogItem(
|
||||
Guid Id,
|
||||
Guid? RegionId,
|
||||
Guid? EntryId,
|
||||
Guid? NodeId,
|
||||
Guid? SubjectId,
|
||||
Guid? CategoryId,
|
||||
Guid? QuestionBankId,
|
||||
string? LegacyId,
|
||||
string Name,
|
||||
QuestionCollectionType CollectionType,
|
||||
QuestionCollectionSourceType SourceType,
|
||||
JsonElement Filters,
|
||||
int QuestionCount,
|
||||
decimal? TotalScore,
|
||||
int? DurationMinutes,
|
||||
ContentStatus Status,
|
||||
int Order,
|
||||
JsonElement AccessRules,
|
||||
JsonElement Metadata);
|
||||
|
||||
public sealed record PracticeBlueprintCatalogItem(
|
||||
Guid Id,
|
||||
Guid? RegionId,
|
||||
Guid? EntryId,
|
||||
Guid? NodeId,
|
||||
Guid? CollectionId,
|
||||
string? LegacyId,
|
||||
string Name,
|
||||
PracticeMode Mode,
|
||||
PracticeAssemblyType AssemblyType,
|
||||
int? QuestionLimit,
|
||||
int? DurationMinutes,
|
||||
decimal? TotalScore,
|
||||
decimal? PassScore,
|
||||
JsonElement Sections,
|
||||
JsonElement Rules,
|
||||
JsonElement AccessRules,
|
||||
ContentStatus Status,
|
||||
int Order);
|
||||
|
||||
public sealed record CollectionQuestionCatalogItem(
|
||||
Guid Id,
|
||||
string? LegacyId,
|
||||
Guid? EntryId,
|
||||
Guid? ContentNodeId,
|
||||
Guid? PrimaryCollectionId,
|
||||
Guid? SubjectId,
|
||||
Guid? CategoryId,
|
||||
Guid? NodeId,
|
||||
string Type,
|
||||
string? TypeLabel,
|
||||
int? Difficulty,
|
||||
JsonElement Tags,
|
||||
JsonElement ExamMarkers,
|
||||
string? MediaUrl,
|
||||
bool HasVideoExplanation,
|
||||
string? SectionKey,
|
||||
decimal? Score,
|
||||
int Order,
|
||||
Guid? VersionId,
|
||||
string? Content,
|
||||
JsonElement Options,
|
||||
int? CorrectOptionIndex,
|
||||
JsonElement CorrectOptionIndices,
|
||||
string? AnswerText,
|
||||
string? Explanation,
|
||||
JsonElement SubQuestions,
|
||||
string? CodeLang,
|
||||
string? CodeTemplate);
|
||||
Reference in New Issue
Block a user