Skip to content

Learning DTO ​

Описание сущностей и типов из src/dto/learning/.

Обогащено snapshot-данными бэкенд-DTO (38 из 38 типов сопоставлено, snapshot от 2026-05-05T13:21:51.699Z).

Содержание ​


CourseDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/CourseDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
titlestringда—string
descriptionstring | nullнет—string?
isArchivedbooleanда—bool
requireProctoringbooleanда—bool
regionsCourseRegionDto[]да—List<CourseRegionDto>
modulesCourseModuleDto[]да—List<CourseModuleDto>
quizQuizSummaryDto | nullнет—QuizSummaryDto?
createDateTimestringда—DateTimeOffset
updateDateTimestring | nullнет—DateTimeOffset?

Пример ​

json
{
  "id": 0,
  "title": "string",
  "description": "string",
  "isArchived": false,
  "requireProctoring": false,
  "regions": [],
  "modules": [],
  "quiz": "<quizsummarydto>",
  "createDateTime": "2026-05-05T08:00:00Z",
  "updateDateTime": "2026-05-05T08:00:00Z"
}


CourseModuleDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/CourseModuleDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
courseIdnumberда—int
titlestringда—string
ordernumberда—int
sectionsCourseSectionDto[]да—List<CourseSectionDto>
createDateTimestringда—DateTimeOffset
updateDateTimestring | nullнет—DateTimeOffset?

Пример ​

json
{
  "id": 0,
  "courseId": 0,
  "title": "string",
  "order": 0,
  "sections": [],
  "createDateTime": "2026-05-05T08:00:00Z",
  "updateDateTime": "2026-05-05T08:00:00Z"
}


CourseProgressDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Progress/CourseProgressDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
statusCourseStatusDtoда—CourseStatusDto
lastSectionIdnumber | nullнет—int?
completedSectionIdsnumber[]да—List<int>
completedAtstring | nullнет—DateTime?
proctorTokenstring | nullнет—string?
proctoringProctoringResultDto | nullнет—ProctoringResultDto?

Пример ​

json
{
  "status": "<CourseStatusDto>",
  "lastSectionId": 0,
  "completedSectionIds": [],
  "completedAt": "2026-05-05T08:00:00Z",
  "proctorToken": "string",
  "proctoring": "<proctoringresultdto>"
}


CourseRegionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/CourseRegionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
regionCodeIdnumberда—int

Пример ​

json
{
  "id": 0,
  "regionCodeId": 0
}


CourseSectionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/CourseSectionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
moduleIdnumberда—int
titlestringда—string
ordernumberда—int
contentHtmlstring | nullнет—string?
videoUrlstring | nullнет—string?
filesSectionFileDto[]да—List<SectionFileDto>
createDateTimestringда—DateTimeOffset
updateDateTimestring | nullнет—DateTimeOffset?

Пример ​

json
{
  "id": 0,
  "moduleId": 0,
  "title": "string",
  "order": 0,
  "contentHtml": "string",
  "videoUrl": "https://...",
  "files": [],
  "createDateTime": "2026-05-05T08:00:00Z",
  "updateDateTime": "2026-05-05T08:00:00Z"
}


CourseStatusDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Progress/Enums/CourseStatusDto.cs (feature.learningservice).

Значения ​

ИмяЗначение (TS)ОписаниеКод (C#)
NotStarted0—0
InProgress1—1
Completed2—2

Пример ​

json
0


CreateAnswerOptionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/CreateAnswerOptionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
textstringда—string
isCorrectbooleanда—bool
ordernumberда—int

Пример ​

json
{
  "text": "string",
  "isCorrect": false,
  "order": 0
}


CreateCourseDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/CreateCourseDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
titlestringда—string
descriptionstring | nullнет—string?
requireProctoringbooleanда—bool
regionCodeIdsnumber[]да—List<int>

Пример ​

json
{
  "title": "string",
  "description": "string",
  "requireProctoring": false,
  "regionCodeIds": []
}


CreateModuleDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/CreateModuleDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
titlestringда—string
ordernumberда—int

Пример ​

json
{
  "title": "string",
  "order": 0
}


CreateQuestionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/CreateQuestionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
textstringда—string
typeQuestionTypeDtoда—QuestionTypeDto
ordernumberда—int
optionsCreateAnswerOptionDto[]да—List<CreateAnswerOptionDto>

Пример ​

json
{
  "text": "string",
  "type": "<QuestionTypeDto>",
  "order": 0,
  "options": []
}


CreateQuizDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/CreateQuizDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
courseIdnumberда—int
titlestringда—string
passingScorePercentnumberда—int
maxAttemptsnumberда—int
requireRecordingbooleanда—bool
requireVerificationbooleanда—bool
proctorMetricsstring[]да—List<string>?
proctorThresholdnumber | nullнет—double?
proctorTimeoutMinutesnumber | nullнет—int?

Пример ​

json
{
  "courseId": 0,
  "title": "string",
  "passingScorePercent": 0,
  "maxAttempts": 0,
  "requireRecording": false,
  "requireVerification": false,
  "proctorMetrics": [],
  "proctorThreshold": 0,
  "proctorTimeoutMinutes": 0
}


CreateSectionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/CreateSectionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
titlestringда—string
ordernumberда—int
contentHtmlstring | nullнет—string?
videoUrlstring | nullнет—string?

Пример ​

json
{
  "title": "string",
  "order": 0,
  "contentHtml": "string",
  "videoUrl": "https://..."
}


ProctoringResultDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/ProctoringResultDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
sessionIdstring | nullнет—string?
statusstring | nullнет—string?
riskLevelnumber | nullнет—int?
violationsCountnumber | nullнет—int?
reportUrlstring | nullнет—string?
trustProtocolUrlstring | nullнет—string?

Пример ​

json
{
  "sessionId": "uuid",
  "status": "string",
  "riskLevel": 0,
  "violationsCount": 0,
  "reportUrl": "https://...",
  "trustProtocolUrl": "https://..."
}


QuestionTypeDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Enums/QuestionTypeDto.cs (feature.learningservice).

Значения ​

ИмяЗначение (TS)ОписаниеКод (C#)
SingleChoice1—1
MultipleChoice2—2

Пример ​

json
1


QuizAnswerOptionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/QuizAnswerOptionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
questionIdnumberда—int
textstringда—string
ordernumberда—int

Пример ​

json
{
  "id": 0,
  "questionId": 0,
  "text": "string",
  "order": 0
}


QuizAnswerOptionEditDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/QuizAnswerOptionEditDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
questionIdnumberда—int
textstringда—string
isCorrectbooleanда—bool
ordernumberда—int

Пример ​

json
{
  "id": 0,
  "questionId": 0,
  "text": "string",
  "isCorrect": false,
  "order": 0
}


QuizAttemptDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/QuizAttemptDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
quizIdnumberда—int
userIdnumberда—int
attemptNumbernumberда—int
scorePercentnumber | nullнет—int?
isPassedboolean | nullнет—bool?
startedAtstringда—DateTimeOffset
finishedAtstring | nullнет—DateTimeOffset?
snapshotPassingScorenumberда—int
snapshotMaxAttemptsnumberда—int
createDateTimestringда—DateTimeOffset
proctoringProctoringResultDto | nullнет—ProctoringResultDto?

Пример ​

json
{
  "id": 0,
  "quizId": 0,
  "userId": 0,
  "attemptNumber": 0,
  "scorePercent": 0,
  "isPassed": false,
  "startedAt": "2026-05-05T08:00:00Z",
  "finishedAt": "2026-05-05T08:00:00Z",
  "snapshotPassingScore": 0,
  "snapshotMaxAttempts": 0,
  "createDateTime": "2026-05-05T08:00:00Z",
  "proctoring": "<proctoringresultdto>"
}


QuizDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/QuizDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
courseIdnumberда—int
titlestringда—string
passingScorePercentnumberда—int
maxAttemptsnumberда—int
requireRecordingbooleanда—bool
requireVerificationbooleanда—bool
isArchivedbooleanда—bool
proctorMetricsstring[]да—List<string>?
proctorThresholdnumber | nullнет—double?
proctorTimeoutMinutesnumber | nullнет—int?
questionsQuizQuestionDto[]да—List<QuizQuestionDto>
createDateTimestringда—DateTimeOffset
updateDateTimestring | nullнет—DateTimeOffset?

Пример ​

json
{
  "id": 0,
  "courseId": 0,
  "title": "string",
  "passingScorePercent": 0,
  "maxAttempts": 0,
  "requireRecording": false,
  "requireVerification": false,
  "isArchived": false,
  "proctorMetrics": [],
  "proctorThreshold": 0,
  "proctorTimeoutMinutes": 0,
  "questions": [],
  "createDateTime": "2026-05-05T08:00:00Z",
  "updateDateTime": "2026-05-05T08:00:00Z"
}


QuizEditDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/QuizEditDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
courseIdnumberда—int
titlestringда—string
passingScorePercentnumberда—int
maxAttemptsnumberда—int
requireRecordingbooleanда—bool
requireVerificationbooleanда—bool
isArchivedbooleanда—bool
proctorMetricsstring[]да—List<string>?
proctorThresholdnumber | nullнет—double?
proctorTimeoutMinutesnumber | nullнет—int?
questionsQuizQuestionEditDto[]да—List<QuizQuestionEditDto>
createDateTimestringда—DateTimeOffset
updateDateTimestring | nullнет—DateTimeOffset?

Пример ​

json
{
  "id": 0,
  "courseId": 0,
  "title": "string",
  "passingScorePercent": 0,
  "maxAttempts": 0,
  "requireRecording": false,
  "requireVerification": false,
  "isArchived": false,
  "proctorMetrics": [],
  "proctorThreshold": 0,
  "proctorTimeoutMinutes": 0,
  "questions": [],
  "createDateTime": "2026-05-05T08:00:00Z",
  "updateDateTime": "2026-05-05T08:00:00Z"
}


QuizQuestionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/QuizQuestionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
quizIdnumberда—int
textstringда—string
typeQuestionTypeDtoда—QuestionTypeDto
ordernumberда—int
optionsQuizAnswerOptionDto[]да—List<QuizAnswerOptionDto>

Пример ​

json
{
  "id": 0,
  "quizId": 0,
  "text": "string",
  "type": "<QuestionTypeDto>",
  "order": 0,
  "options": []
}


QuizQuestionEditDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/QuizQuestionEditDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
quizIdnumberда—int
textstringда—string
typeQuestionTypeDtoда—QuestionTypeDto
ordernumberда—int
optionsQuizAnswerOptionEditDto[]да—List<QuizAnswerOptionEditDto>

Пример ​

json
{
  "id": 0,
  "quizId": 0,
  "text": "string",
  "type": "<QuestionTypeDto>",
  "order": 0,
  "options": []
}


QuizSummaryDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/QuizSummaryDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
titlestringда—string
passingScorePercentnumberда—int
maxAttemptsnumberда—int

Пример ​

json
{
  "id": 0,
  "title": "string",
  "passingScorePercent": 0,
  "maxAttempts": 0
}


ReorderItemDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Common/ReorderItemDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
ordernumberда—int

Пример ​

json
{
  "id": 0,
  "order": 0
}


ReorderModulesDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/ReorderModulesDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
itemsReorderItemDto[]да—List<ReorderItemDto>

Пример ​

json
{
  "items": []
}


ReorderQuestionsDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/ReorderQuestionsDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
itemsReorderItemDto[]да—List<ReorderItemDto>

Пример ​

json
{
  "items": []
}


ReorderSectionsDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/ReorderSectionsDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
itemsReorderItemDto[]да—List<ReorderItemDto>

Пример ​

json
{
  "items": []
}


SectionFileDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/SectionFileDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда—int
fileNamestringда—string
s3Keystringда—string

Пример ​

json
{
  "id": 0,
  "fileName": "string",
  "s3Key": "string"
}


StartAttemptDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/Requests/StartAttemptDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
quizIdnumberда—int

Пример ​

json
{
  "quizId": 0
}


StartAttemptResultDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/StartAttemptResultDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
attemptIdnumberда—int
attemptNumbernumberда—int
attemptsLeftnumber | nullнет—int?
proctorTokenstring | nullнет—string?

Пример ​

json
{
  "attemptId": 0,
  "attemptNumber": 0,
  "attemptsLeft": 0,
  "proctorToken": "string"
}


SubmitAnswerDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/Requests/SubmitAnswerDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
questionIdnumberда—int
selectedOptionIdsnumber[]да—List<int>

Пример ​

json
{
  "questionId": 0,
  "selectedOptionIds": []
}


SubmitAttemptDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/Requests/SubmitAttemptDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
answersSubmitAnswerDto[]да—List<SubmitAnswerDto>

Пример ​

json
{
  "answers": []
}


SubmitAttemptResultDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/QuizAttempt/SubmitAttemptResultDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
scorePercentnumberда—int
isPassedbooleanда—bool
correctCountnumberда—int
totalCountnumberда—int
attemptsLeftnumber | nullнет—int?
proctoringProctoringResultDto | nullнет—ProctoringResultDto?

Пример ​

json
{
  "scorePercent": 0,
  "isPassed": false,
  "correctCount": 0,
  "totalCount": 0,
  "attemptsLeft": 0,
  "proctoring": "<proctoringresultdto>"
}


UpdateAnswerOptionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/UpdateAnswerOptionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumber | nullнет—int?
textstringда—string
isCorrectbooleanда—bool
ordernumberда—int

Пример ​

json
{
  "id": 0,
  "text": "string",
  "isCorrect": false,
  "order": 0
}


UpdateCourseDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/UpdateCourseDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда——
titlestring | nullнет—string?
descriptionstring | nullнет—string?
requireProctoringboolean | nullнет—bool?
regionCodeIdsnumber[]да—List<int>?

Пример ​

json
{
  "id": 0,
  "title": "string",
  "description": "string",
  "requireProctoring": false,
  "regionCodeIds": []
}


UpdateModuleDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/UpdateModuleDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
titlestring | nullнет—string?
ordernumber | nullнет—int?

Пример ​

json
{
  "title": "string",
  "order": 0
}


UpdateQuestionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/UpdateQuestionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
textstring | nullнет—string?
typeQuestionTypeDto | nullнет—QuestionTypeDto?
ordernumber | nullнет—int?
optionsUpdateAnswerOptionDto[]да—List<UpdateAnswerOptionDto>?

Пример ​

json
{
  "text": "string",
  "type": "<questiontypedto>",
  "order": 0,
  "options": []
}


UpdateQuizDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Quiz/Requests/UpdateQuizDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
idnumberда——
courseIdnumber | nullнет—int?
titlestring | nullнет—string?
passingScorePercentnumber | nullнет—int?
maxAttemptsnumber | nullнет—int?
requireRecordingboolean | nullнет—bool?
requireVerificationboolean | nullнет—bool?
proctorMetricsstring[]да—List<string>?
proctorThresholdnumber | nullнет—double?
proctorTimeoutMinutesnumber | nullнет—int?

Пример ​

json
{
  "id": 0,
  "courseId": 0,
  "title": "string",
  "passingScorePercent": 0,
  "maxAttempts": 0,
  "requireRecording": false,
  "requireVerification": false,
  "proctorMetrics": [],
  "proctorThreshold": 0,
  "proctorTimeoutMinutes": 0
}


UpdateSectionDto ​

Backend-источник: feature.learningservice/Feature.LearningService/Nuget.LearningApiClient/Dto/Course/Requests/UpdateSectionDto.cs (feature.learningservice).

Поля ​

ПолеТип (TS)ОбязательноеОписаниеТип (C#)
titlestring | nullнет—string?
ordernumber | nullнет—int?
contentHtmlstring | nullнет—string?
videoUrlstring | nullнет—string?

Пример ​

json
{
  "title": "string",
  "order": 0,
  "contentHtml": "string",
  "videoUrl": "https://..."
}