77 lines
1.9 KiB
C#
77 lines
1.9 KiB
C#
using System.Text.Json;
|
|
using Tiku.Domain.QuestionBanks;
|
|
|
|
namespace Tiku.Application.QuestionBanks;
|
|
|
|
public sealed record QuestionBankFilter(
|
|
Guid TenantId,
|
|
Guid? RegionId = null,
|
|
Guid? QuestionBankId = null,
|
|
Guid? SubjectId = null,
|
|
Guid? CategoryId = null,
|
|
Guid? NodeId = null,
|
|
Guid? EntryId = null,
|
|
Guid? ContentNodeId = null,
|
|
Guid? CollectionId = null,
|
|
Guid? QuestionId = null,
|
|
IReadOnlyCollection<Guid>? QuestionIds = null,
|
|
string? Type = null,
|
|
string? Keyword = null,
|
|
int? Limit = null);
|
|
|
|
public sealed record QuestionBankCatalogItem(
|
|
Guid Id,
|
|
Guid? RegionId,
|
|
string Name,
|
|
QuestionBankScope SourceScope,
|
|
QuestionBankStatus Status,
|
|
JsonElement Metadata);
|
|
|
|
public sealed record QuestionCatalogItem(
|
|
Guid Id,
|
|
Guid? QuestionBankId,
|
|
Guid? SubjectId,
|
|
Guid? CategoryId,
|
|
Guid? NodeId,
|
|
Guid? EntryId,
|
|
Guid? ContentNodeId,
|
|
Guid? PrimaryCollectionId,
|
|
string? LegacyId,
|
|
string? LegacySubjectId,
|
|
string? LegacyCategoryId,
|
|
string? LegacyNodeId,
|
|
string Type,
|
|
string? TypeLabel,
|
|
int? Difficulty,
|
|
JsonElement Tags,
|
|
JsonElement ExamMarkers,
|
|
string? MediaUrl,
|
|
bool HasVideoExplanation,
|
|
QuestionStatus Status,
|
|
Guid? VersionId,
|
|
int? VersionNo,
|
|
string? Content,
|
|
JsonElement Options,
|
|
int? CorrectOptionIndex,
|
|
JsonElement CorrectOptionIndices,
|
|
string? AnswerText,
|
|
string? Explanation,
|
|
JsonElement SubQuestions,
|
|
string? CodeLang,
|
|
string? CodeTemplate);
|
|
|
|
public sealed record QuestionVersionCatalogItem(
|
|
Guid Id,
|
|
Guid QuestionId,
|
|
int VersionNo,
|
|
string? Content,
|
|
JsonElement Options,
|
|
int? CorrectOptionIndex,
|
|
JsonElement CorrectOptionIndices,
|
|
string? AnswerText,
|
|
string? Explanation,
|
|
JsonElement SubQuestions,
|
|
string? CodeLang,
|
|
string? CodeTemplate,
|
|
DateTimeOffset CreatedAt);
|