tutor-logic 20.0.1 → 20.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1236,6 +1236,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
1236
1236
  args: ['BASE_URL']
1237
1237
  }] }] });
1238
1238
 
1239
+ class TutorUserTelegramService {
1240
+ constructor(_httpClient, baseUrl) {
1241
+ this._httpClient = _httpClient;
1242
+ this.baseControllerUrl = `${baseUrl}api/tutor/student/telegram`;
1243
+ }
1244
+ createLink() {
1245
+ return this._httpClient.post(`${this.baseControllerUrl}/create-link`, {});
1246
+ }
1247
+ unLink(id) {
1248
+ return this._httpClient.post(`${this.baseControllerUrl}/un-link/${id}`, {});
1249
+ }
1250
+ getData() {
1251
+ return this._httpClient.get(`${this.baseControllerUrl}/get-data`);
1252
+ }
1253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TutorUserTelegramService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1254
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TutorUserTelegramService, providedIn: 'root' }); }
1255
+ }
1256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TutorUserTelegramService, decorators: [{
1257
+ type: Injectable,
1258
+ args: [{ providedIn: 'root' }]
1259
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1260
+ type: Inject,
1261
+ args: ['BASE_URL']
1262
+ }] }] });
1263
+
1239
1264
  var StudentGroupType;
1240
1265
  (function (StudentGroupType) {
1241
1266
  StudentGroupType["Course"] = "Course";
@@ -1353,5 +1378,5 @@ class ImageSrcExtensions {
1353
1378
  * Generated bundle index. Do not edit.
1354
1379
  */
1355
1380
 
1356
- export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CoursePaymentQueryService, CoursePaymentService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, DefaultCourseLandingPageQueryService, GapType, GroupStatisticSnapshotStudentService, ImageSrcExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, PmtSystemService, QuestionLikeService, QuestionValidationSourceType, SelectRightAnswerOrAnswersQuestionDataItemType, StudentAggregatedStatisticSnapshotService, StudentCoursePaymentType, StudentCourseProgressQueryService, StudentCourseProgressService, StudentCourseViewService, StudentGroupCourseAccessService, StudentGroupEnterService, StudentGroupInfoPageService, StudentGroupMaterialService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentGroupType, StudentQueryService, StudentRegistrationService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionErrorsStatisticOrderType, TestQuestionStatisticQueryService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorLogicModule, TutorRoles };
1381
+ export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CoursePaymentQueryService, CoursePaymentService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, DefaultCourseLandingPageQueryService, GapType, GroupStatisticSnapshotStudentService, ImageSrcExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, PmtSystemService, QuestionLikeService, QuestionValidationSourceType, SelectRightAnswerOrAnswersQuestionDataItemType, StudentAggregatedStatisticSnapshotService, StudentCoursePaymentType, StudentCourseProgressQueryService, StudentCourseProgressService, StudentCourseViewService, StudentGroupCourseAccessService, StudentGroupEnterService, StudentGroupInfoPageService, StudentGroupMaterialService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentGroupType, StudentQueryService, StudentRegistrationService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionErrorsStatisticOrderType, TestQuestionStatisticQueryService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorLogicModule, TutorRoles, TutorUserTelegramService };
1357
1382
  //# sourceMappingURL=tutor-logic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseOrderService.ts","../../../projects/tutor-logic/src/lib/services/CourseShopWindowDetailedService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupPaymentPlanQueryService.ts","../../../projects/tutor-logic/src/lib/services/TutorAppConfigurationService.ts","../../../projects/tutor-logic/src/lib/services/QuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupMaterialService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestQuestionStatisticQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupCourseAccessService.ts","../../../projects/tutor-logic/src/lib/services/StudentRegistrationService.ts","../../../projects/tutor-logic/src/lib/services/PmtSystemService.ts","../../../projects/tutor-logic/src/lib/services/DefaultCourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupInfoPageService.ts","../../../projects/tutor-logic/src/lib/services/StudentAggregatedStatisticSnapshotService.ts","../../../projects/tutor-logic/src/lib/services/GroupStatisticSnapshotStudentService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/models/group-models.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/question-models.ts","../../../projects/tutor-logic/src/lib/models/course-payment-models.ts","../../../projects/tutor-logic/src/lib/models/student-statistic-models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/lib/extensions/ImageSrcExtensions.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchTestsRequest, CreateTestRequest, EditTestRequest } from \"../models/test-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestsService {\n baseControllerUrl:string;\n \n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string){\n const adding = 'api/tutor/tests';\n this.baseControllerUrl = baseUrl + adding;\n }\n\n public searchGroupRelationsInTest(model: SearchTestsRequest): Observable<GetListResult<StudentGroupSimpleModel>>{\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.baseControllerUrl}/groups/search/in`, model);\n }\n\n public create(model: CreateTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public edit(model: EditTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/edit`, model);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchStudentGroupsRequest, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\n\n/**\n* Методы контроллера StudentGroupQueryController\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupQueryService {\n\n getBaseUrl() {\n return this._baseUrl + 'api/tutor/student-group';\n }\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string) {\n }\n\n /**\n * Поиск групп учеников\n */\n public search(model: SearchStudentGroupsRequest): Observable<GetListResult<StudentGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.getBaseUrl()}/query/search`, model);\n }\n\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(`${this.getBaseUrl()}/query/search/with-progresses`, model);\n }\n\n /**\n * Получить группу по идентификатору\n * @param id идентификатор группы учеников\n * @returns группу учеников\n */\n public getById(id: string): Observable<StudentGroupDetailedModel> {\n return this._httpClient.get<StudentGroupDetailedModel>(`${this.getBaseUrl()}/query/by-id/${id}`);\n }\n\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\n return this._httpClient.get<StudentGroupSimpleModel[]>(`${this.getBaseUrl()}/by-student/${id}`);\n }\n\n /**\n * Получить список студентов в группе по фильтру\n * @param model модель для поиска\n * @returns список студентов\n */\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(`${this.getBaseUrl()}/students/search`, model);\n }\n\n /**\n * Получить студента в группе\n * @param groupId идентификатор группы\n * @param studentId идентификатор студента\n * @returns \n */\n public getStudentById(groupId: string, studentId: string): Observable<StudentInGroupSimpleModel> {\n return this._httpClient.get<StudentInGroupSimpleModel>(`${this.getBaseUrl()}/students/get-by-id/${groupId}/${studentId}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, SearchStudentsRequest, StudentSimpleModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentQueryService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\n }\n\n public getById(id: string): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\n }\n\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\n }\n\n public search(searchModel: SearchStudentsRequest): Observable<GetListResult<StudentSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { GetToGroupByCodeRequest, EnterGroupResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupEnterService {\n private readonly _baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this._baseControllerUrl = baseUrl + 'api/tutor/student-group/enter';\n }\n\n public enterViaCode(model: GetToGroupByCodeRequest) {\n return this._httpClient.post<EnterGroupResponse>(`${this._baseControllerUrl}/ViaCode`, model);\n }\n\n public enterFreeOfCharge(id: string) {\n return this._httpClient.post<EnterGroupResponse>(`${this._baseControllerUrl}/FreeOfCharge/${id}`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { SearchStudentTestSolutionsRequest, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;\n }\n\n public searchByStudent(model: SearchStudentTestSolutionsRequest) {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this._baseUrl}/Search/By/Student`, model);\n }\n\n public getCourseData(id: string) {\n return this._httpClient.get<TestSolutionCourseData>(`${this._baseUrl}/Get/By/Id/${id}/course-data`);\n }\n\n public getSolutionById(id: string) {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/Get/By/Id/${id}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\nBasePath = api/tutor/test-solution-result\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionResultService {\n readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/test-solution-result`;\n }\n\n public getQuestionsWithModifiersBySolution(solutionId: string) {\n return this._httpClient.get<TestQuestionWithModifiers[]>(`${this.baseControllerUrl}/modifiers/${solutionId}`);\n }\n\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\n return this._httpClient.get<TestSolutionWithPointsValidation>(`${this.baseControllerUrl}/points/${solutionId}`);\n }\n\n public create(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create/${solutionId}`, {});\n }\n\n public recalculate(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/recalculate/${solutionId}`, {});\n }\n\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/save`, model);\n }\n\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/remove`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CreateTestForStudentErrorsRequest, StartSolutionFromDirectoryRequest, StartTestSolutionByTestIdRequest, TestSolutionCreatedResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionStartService {\n private readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/start';\n }\n\n startByTestId(model: StartTestSolutionByTestIdRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/TestId`, model);\n }\n\n startByDirectory(model: StartSolutionFromDirectoryRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Directory`, model);\n }\n\n startByErrors(model: CreateTestForStudentErrorsRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Errors`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiQuestionLikeService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;\n }\n\n public search(model: SearchQuestionsByLikes) {\n return this._httpClient.post<GetListResult<TestQuestionModel>>(`${this._baseUrl}/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestSolutionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiTestSolutionService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;\n }\n\n public getById(id: string) {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\n }\n\n checkAnswer(model: SolutionWithAnswerModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\n }\n\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutionsRequest, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\nBasePath = api/tutor/test-solution/query/mine\n*/\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionQueryService {\n private readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine';\n }\n\n search(model: SearchMyTestSolutionsRequest) {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this.baseControllerUrl}/search`, model);\n }\n\n getResultById(id: string){\n let url = `${this.baseControllerUrl}/Get/By/Id/${id}/result`;\n\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\n }\n\n getByTestId(testId: string){\n let url = `${this.baseControllerUrl}/Get/By/TestId/${testId}`;\n\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupTestRelationQueryService {\n\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group/tests`;\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n getById(studentGroupId: string, testId: string) {\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, GetListResult } from '../models';\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CuratorMessageTemplateService {\n getBaseControllerUrl() {\n return this._baseUrl + 'api/tutor/curator/message-template/';\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\n }\n\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\n }\n\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\n this.getBaseControllerUrl() + 'search',\n model,\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n * \n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseDeadlineWarningService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\n }\n\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\n }\n\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse } from \"../models\";\nimport { CourseItemGlobalTestRestrictionModel, CourseRemovingAllTestRestrictionsState, TestRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\n * \n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction';\n }\n\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/global`, model);\n }\n\n getGlobal(id: string) {\n return this._http.get<TestRestrictionModel>(`${this.baseControllerUrl}/global/${id}`);\n }\n\n removeAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/remove-all/${courseId}`, {});\n }\n\n startRemovingAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/removing-all/${courseId}/start`, {})\n }\n\n getRemovingAllState(courseId: string) {\n return this._http.get<CourseRemovingAllTestRestrictionsState>(`${this.baseControllerUrl}/removing-all/${courseId}/state`)\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport {\n SubjectCountsModel,\n SubjectModel,\n SubjectWithClarificationsModel\n} from '../models/subject.models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\n * \n * Базовый урл = api/tutor/subject/query\n * \n * Методы для получения предметов\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/subject/query`;\n }\n\n public getAll() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all`);\n }\n\n public getAllCached() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all/cached`);\n }\n\n public getAllWithClarifications() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications`);\n }\n\n public getAllWithClarificationsCached() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications/cached`);\n }\n\n public getByAliasOrId(id: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId?idOrAlias=${id}`);\n }\n\n public getByAliasOrIdCached(idOrAlias: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\n }\n}\n\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n CreateSubjectRequest,\n OrderSubjectsRequest,\n UpdateSubjectRequest,\n} from '../models/subject.models';\nimport { BaseApiResponse } from '../models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\n * \n * Базовый урл = api/tutor/subject\n * \n * Методы для работы с предметами\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectsService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/subject';\n }\n\n public create(model: CreateSubjectRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public order(model: OrderSubjectsRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/order`, model);\n }\n\n public update(model: UpdateSubjectRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/update`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult } from \"../models\";\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n *\n * Предоставляет методы для управления ограничениями теста для блока курса\n *\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionStudentService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\n }\n\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\n }\n\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\n }\n\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `query/get-validated-item-restriction-with-deadline-warning`, model);\n }\n\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\n return this._http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'query/search', model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\n * Оптимизированные методы для работы студентов с курсами\n * Базовый урл = api/tutor/student-course-view\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseViewService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\n }\n\n /**\n * \n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \n * @param themeItemId \n * @returns \n */\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentTestSolutionDetailedModel } from \"../models\";\n\n/**\n * Предоставляет методы для поиска решений тестов \n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionDetailedQueryService {\n\n private _baseUrl: string = \"\";\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\n }\n\n /**\n * \n * @param id Идентификатор решения теста\n * @returns \n */\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, GetListResult, SearchCourseLandingPageRequest } from '../models';\n\n/**\n * Предоставляет методы для работы с лендинг страницами для курса\n * Контроллер = Tutor.Api.Controllers.Landings.CourseLandingPageController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseLandingPageQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + 'api/tutor/course-landing-page/query';\n }\n\n /**\n * Поиск лендинг страниц\n * @param model \n * @returns \n */\n search(model: SearchCourseLandingPageRequest) {\n return this._httpClient.post<GetListResult<CourseLandingPageSimpleModel>>(`${this._baseUrl}/search`, model);\n }\n\n /**\n * Получить лендинг страницу по идентификатору\n * @param id идентификатор страницы\n * @param useCache использовать кеш\n * @returns \n */\n getById(id: string, useCache: boolean) {\n if (useCache) {\n return this.getByIdCached(id);\n }\n\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id?id=${id}`);\n }\n\n private getByIdCached(id: string) {\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id/cached?id=${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseOrderModel, CreateCourseOrderRequest, CreateCourseOrderResponse } from \"../models/course-shop-models\";\n\n/**\n * Предоставляем методы контроллера Tutor.Api.Controllers.Courses.CourseOrderController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseOrderService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-order';\n }\n\n /**\n * Получить заказ на покупку курса по идентификатору\n * @param id идентификатор заказа\n * @returns \n */\n getById(id: string) {\n return this._httpClient.get<CourseOrderModel>(`${this.baseControllerUrl}/query/get-by-id/${id}`);\n }\n\n /**\n * созать заказ на покупку курса\n * @param model запрос для создания заказа на покупку курса\n * @returns \n */\n create(model: CreateCourseOrderRequest) {\n return this._httpClient.post<CreateCourseOrderResponse>(`${this.baseControllerUrl}/create`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseShopWindowDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseShopWindowDetailedService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-shop-window-detailed';\n }\n\n getMain() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main`);\n }\n\n getMainCached() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main/cached`);\n }\n\n getById(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}`);\n }\n\n getByIdCached(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}/cached`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentGroupPaymentPlansModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.StudentGroupPaymentPlans.StudentGroupPaymentPlanQueryController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupPaymentPlanQueryService {\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group-payment-plan/query`;\n }\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string\n ) { }\n\n /**\n * Получить группу и глобальные планы оплаты с ней связанные\n * @param id идентификатор группы\n * @returns групп с планами оплаты\n */\n public getPaymentPlans(id: string): Observable<StudentGroupPaymentPlansModel> {\n return this._httpClient.get<StudentGroupPaymentPlansModel>(`${this.getBaseUrl()}/payment-plans/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { TutorFullApplicationPublicOptions } from \"../models\";\nimport { of, tap } from \"rxjs\";\n\n/**\n * Сервис для предоставления публичной конфигурации по приложению\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TutorAppConfigurationService {\n\n static readonly VariableKey = \"__Tutor.FullConfiguration\";\n\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/settings/application`;\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n get(): TutorFullApplicationPublicOptions {\n return TutorAppConfigurationService.getFromWindow();\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n static getFromWindow(): TutorFullApplicationPublicOptions {\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n throw new Error(`в window не установлена переменная ${TutorAppConfigurationService.VariableKey}`);\n }\n\n return value;\n }\n\n set(value: TutorFullApplicationPublicOptions) {\n window[TutorAppConfigurationService.VariableKey] = value;\n }\n\n getFromServerIfValueNotSet() {\n\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n return this._http.get<TutorFullApplicationPublicOptions>(this.baseControllerUrl).pipe(tap(value => {\n this.set(value);\n return value;\n }));\n }\n\n\n return of<TutorFullApplicationPublicOptions>(value);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, ChangeQuestionLike, QuestionIdWithLike } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class QuestionLikeService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-likes/';\n }\n\n public change(model: ChangeQuestionLike): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `change`, model);\n }\n\n public getBySolutionId(id: string): Observable<QuestionIdWithLike[]> {\n return this._httpClient.get<QuestionIdWithLike[]>(this.baseControllerUrl + `for-solution/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchCourseProgressesRequest, StudentCourseProgressModel, StudentCourseProgressWithStudentModel } from '../models/student-course-models';\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress/query`;\n }\n\n /**\n * Получить прогресс студента по курсу\n * @param courseId Идентификатор курса\n * @returns \n */\n getMine(courseId: string) {\n return this._httpClient.get<StudentCourseProgressModel>(`${this.baseControllerUrl}/mine/${courseId}`);\n }\n\n search(model: SearchCourseProgressesRequest) {\n return this._httpClient.post<GetListResult<StudentCourseProgressWithStudentModel>>(\n `${this.baseControllerUrl}/search`,\n model\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { BaseApiResponse } from '../models';\nimport { FinishStudentCourseThemeProgressRequest, StartCourseThemeItemTestRequest, StartCourseThemeItemTestResult, StartCourseThemeRequest, UpdateStudentCourseThemeProgressRequest, UpdateStudentCourseThemeProgressResult } from '../models/student-course-models';\n\n/**\n * Сервис для прохождения курса студентом\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress`;\n }\n\n startTheme(model: StartCourseThemeRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/theme/start`, model);\n }\n\n updateThemeProgress(model: UpdateStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/update`, model);\n }\n\n finishTheme(model: FinishStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/finish`, model);\n }\n\n startTestForItemBlock(model: StartCourseThemeItemTestRequest) {\n return this._httpClient.post<StartCourseThemeItemTestResult>(`${this.baseControllerUrl}/theme/item/start-test`, model);\n }\n}\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchStudentGroupMaterialsRequest, StudentGroupWithMaterialsModel } from \"../models/material-models\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupMaterialService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-group/query`;\n }\n\n getMaterials(model: SearchStudentGroupMaterialsRequest): Observable<GetListResult<StudentGroupWithMaterialsModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithMaterialsModel>>(`${this.baseControllerUrl}/materials/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { AddCoursePaymentRequest, AddCoursePaymentResult, SetPaymentSystemForCoursePayment } from \"../models/course-payment-models\";\nimport { BaseApiResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course/payments`;\n }\n\n add(model: AddCoursePaymentRequest) {\n return this._httpClient.post<AddCoursePaymentResult>(`${this.baseControllerUrl}/add`, model);\n }\n\n setPaymentSystem(model: SetPaymentSystemForCoursePayment) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/set-payment-system`, model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { EnumValueTypeWithDescriptionStudentCoursePaymentType, SearchStudentCoursePaymentsRequest, StudentCoursePaymentDetailedModel, StudentCoursePaymentModel } from \"../models/course-payment-models\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course/payments/query';\n }\n\n getById(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/byId/${id}`);\n }\n\n getByPaymentId(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/by/pmt-id/${id}`);\n }\n\n search(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n searchDetailed(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentDetailedModel>>(\n `${this.baseControllerUrl}/search-detailed`,\n model\n );\n }\n\n getTypes() {\n return this._httpClient.get<EnumValueTypeWithDescriptionStudentCoursePaymentType[]>(this.baseControllerUrl + 'Types');\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetListResult, QuestionStatisticComputingState, SearchTestQuestionErrorsStatisticRequest, StudentTestQuestionStatisticDetailedModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class TestQuestionStatisticQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-statistic';\n }\n\n search(model: SearchTestQuestionErrorsStatisticRequest) {\n return this._httpClient.post<GetListResult<StudentTestQuestionStatisticDetailedModel>>(\n `${this.baseControllerUrl}/query/search`,\n model\n );\n }\n\n getState() {\n return this._httpClient.get<QuestionStatisticComputingState>(`${this.baseControllerUrl}/state`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupCourseAccessRequest, StudentGroupCourseWithDetailedAccessModel } from \"../models/group-access-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupCourseAccessService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group-access';\n }\n\n get(model: GetStudentGroupCourseAccessRequest) {\n return this._httpClient.post<StudentGroupCourseWithDetailedAccessModel>(`${this.baseControllerUrl}/get`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { RegisterModel, RegisterStudentRequest, StudentRegistrationResult } from \"../models/student-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentRegistrationService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = baseUrl + 'api/tutor/student';\n }\n\n register(model: RegisterModel) {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register`, model);\n }\n\n registerV2(model: RegisterStudentRequest) {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/v2`, model);\n }\n\n demoRegistration() {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/demo`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult, OrderPaymentSystemsRequest, PaymentSystemModel, SearchPaymentSystemsRequest } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PmtSystemService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/pmt/system`;\n }\n\n search(model: SearchPaymentSystemsRequest) {\n return this._http.post<GetListResult<PaymentSystemModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n getEnabledSystemsCached() {\n return this._http.get<PaymentSystemModel[]>(`${this.baseControllerUrl}/cache/enabled-list`);\n }\n\n getById(name: string) {\n return this._http.get<PaymentSystemModel>(`${this.baseControllerUrl}/get/by-id/${name}`);\n }\n\n order(model: OrderPaymentSystemsRequest) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/order`, model);\n }\n\n createOrUpdate(model: PaymentSystemModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/create-or-update`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { DefaultCourseLandingPageModel } from \"../models/default-course-landing-page-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DefaultCourseLandingPageQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/default-course-landing-page/query`;\n }\n\n getById(id: string) {\n return this._httpClient.get<DefaultCourseLandingPageModel>(`${this._baseControllerUrl}/get-by-id/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupInfoPageRequest, StudentGroupInfoPageDetailedModel } from \"../models/group-page-info-models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupInfoPageService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/info-page';\n }\n\n get(model: GetStudentGroupInfoPageRequest): Observable<StudentGroupInfoPageDetailedModel> {\n return this._httpClient.post<StudentGroupInfoPageDetailedModel>(\n `${this.baseControllerUrl}/get`,\n model\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { StudentStatisticSnapshotValueDebugInfoModel, StudentStatisticSnapshotValueModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentAggregatedStatisticSnapshotService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-aggregated-statistic-snapshot`;\n }\n\n public get(studentId: string) {\n return this._httpClient.get<StudentStatisticSnapshotValueModel>(`${this.baseControllerUrl}/query/get-by-id/${studentId}`);\n }\n\n public getDebugInfo(studentId: string) {\n return this._httpClient.get<StudentStatisticSnapshotValueDebugInfoModel>(`${this.baseControllerUrl}/query/get-by-id/${studentId}/debug-info`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentInGroupStatisticSnapshotRequest, StudentGroupStatisticSnapshotInfoModel, StudentInGroupStatisticSnapshotModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GroupStatisticSnapshotStudentService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-in-group-statistic-snapshot`;\n }\n\n /**\n * \n * @param model запрос для получения снапшота агрегированной статистики ученика по предметам и тегам в рамках группы (курса)\n * @returns \n */\n get(model: GetStudentInGroupStatisticSnapshotRequest) {\n return this._httpClient.post<StudentInGroupStatisticSnapshotModel | null>(`${this.baseControllerUrl}/get`, model);\n }\n\n /**\n * Получить информацию о снапшоте.\n * @param id идентификатор снепшота\n * @returns \n */\n getSnapshotInfo(id: string) {\n return this._httpClient.get<StudentGroupStatisticSnapshotInfoModel | null>(`${this.baseControllerUrl}/snapshot-info/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { BaseApiResponse } from \"croco-generic-app-logic\";\nimport { CreateSubjectMenuRequest, SubjectMenuSimpleModel } from \"../models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\n * \n * Базовый урл = api/tutor/subject/menu\n * \n * Методы для работы с меню предмета\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectMenuService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/subject/menu`;\n }\n\n public create(model: CreateSubjectMenuRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public getMain() {\n return this._httpClient.get<SubjectMenuSimpleModel>(`${this.baseControllerUrl}/query/main`);\n }\n}","import { IconSimpleModel } from \"./icon-models\";\nimport { StudentSimpleModel } from \"./student-models\";\n\nexport interface SearchStudentGroupsRequest {\n q: string;\n schoolId: string;\n types: Array<StudentGroupType>;\n count: number | null;\n offSet: number;\n}\n\nexport enum StudentGroupType {\n Course = 'Course',\n ClassRoom = 'ClassRoom',\n ExternalProduct = 'ExternalProduct'\n}\n\nexport interface StudentGroupSimpleModel {\n id: string;\n alias: string;\n name: string;\n isDeleting: boolean;\n useHtmlForName: boolean;\n useCourse: boolean;\n type: StudentGroupType;\n nameHtml: string;\n isFreeOfCharge: boolean;\n schoolId: string;\n courseShopWindowId: string;\n}\n\nexport interface StudentGroupDetailedModel {\n id: string;\n name: string;\n alias: string;\n enterCode: string;\n useCourse: boolean;\n studentsCount: number;\n isDeleting: boolean;\n type: StudentGroupType;\n courseTemplateId: string;\n useHtmlForName: boolean;\n nameHtml: string;\n useSchedule: boolean;\n scheduleId: string;\n useMaterials: boolean;\n materialsHtml: string;\n solutionsCount: number;\n scheduleStudentSubscribersCount: number;\n hasDefaultLandingPage: boolean;\n defaultCourseLandingPageUrl: string;\n schoolId: string;\n courseShopWindowId: string;\n computedDataOnUtc: string;\n}\n\nexport interface StudentInGroupSimpleModel {\n student: StudentSimpleModel;\n isBlocked: boolean;\n shouldBlockOnUtc: string;\n enteredOnUtc: string;\n}\n\nexport interface SearchStudentsInGroup {\n groupId: string;\n q: string;\n hasIndividualPaymentPlans: boolean | null;\n isBlocked: boolean | null;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentTestGroupRelationDetailedModel {\n studentGroupId: string;\n testId: string;\n canCheckSingleQuestion: boolean;\n html: string;\n showHtml: boolean;\n testName: string;\n testDescription: string;\n}\n\nexport interface SearchStudentGroupsByStudentRequest {\n studentId: string;\n q: string;\n iconSetId: string | null;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentGroupWithCourseProgressModel {\n groupId: string;\n groupName: string;\n groupUseHtmlForName: boolean;\n groupNameHtml: string;\n useCourse: boolean;\n isBlocked: boolean;\n shouldBlockOnUtc: string | null;\n courseProgress: StudentGroupCourseProgressSimpleModel;\n icon: IconSimpleModel;\n}\n\nexport interface StudentGroupCourseProgressSimpleModel {\n totalWeight: number;\n currentProgress: number;\n progressPercents: number;\n}\n","import { CourseThemeItemModel } from \"./course-models\";\nimport { TestQuestionModel, TestQuestionType } from \"./question-models\";\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\nimport { TestQuestionErrorsStatisticOrderType } from \"./student-statistic-models\";\n\nexport interface SearchStudentTestSolutionsRequest {\n isFinished: boolean | null;\n studentId: string;\n testId: string;\n withUnreadMessages: boolean;\n count: number | null;\n offSet: number;\n}\n\nexport interface TestSolutionCourseData {\n solutionId: string;\n courseThemeItemId: string;\n courseThemeItemIndex: number;\n courseThemeId: string;\n courseThemeName: string;\n courseName: string;\n courseId: string;\n nextItem: CourseThemeItemModel;\n}\n\nexport interface SolutionWithAnswerModel {\n solutionId: string;\n answer: QuestionAnswer;\n}\n\nexport interface QuestionAnswer {\n questionId: string;\n answerOrAnswers: string;\n}\n\nexport interface StudentTestSolutionWithChatInfo {\n solution: StudentTestSolutionSimpleModel;\n systemValidation: TestSolutionSystemValidationModel;\n unreadMessagesCount: number;\n}\n\nexport interface TestSolutionSystemValidationModel {\n studentTotalPoints: number;\n studentProgressPercents: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport interface StartSolutionFromDirectoryRequest {\n workSpaceId: string;\n directoryId: string;\n useFilter: boolean;\n canCheckSingleQuestion: boolean;\n filter: QuestionsFilter;\n}\n\nexport interface CreateTestForStudentErrorsRequest {\n testName: string;\n questionsCount: number;\n questionTypes: Array<TestQuestionType>;\n orderType: TestQuestionErrorsStatisticOrderType;\n canCheckSingleQuestion: boolean;\n isLastAnswerCorrect: boolean | null;\n isActualQuestionVersion: boolean | null;\n}\n\nexport interface TestSolutionCreatedResult {\n succeeded: boolean;\n errorMessage: string;\n solutionId: string;\n}\n\nexport interface QuestionsFilter {\n types: Array<TestQuestionType>;\n}\n\nexport interface StartTestSolutionByTestIdRequest {\n testId: string;\n studentGroupId: string;\n canCheckSingleQuestion: boolean;\n}\n\nexport interface SearchMyTestSolutionsRequest {\n isFinished: boolean | null;\n testId: string;\n withUnreadMessages: boolean;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentTestSolutionSimpleModel {\n id: string;\n testName: string;\n testId: string;\n isFinished: boolean;\n startedOnUtc: string; /* Date */\n finishedOnUtc: string | null; /* Date */\n}\n\nexport enum AnswerValidationResultType {\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\n NotCorrectAnswer = 'NotCorrectAnswer',\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\n CorrectAnswer = 'CorrectAnswer',\n InProcess = 'InProcess'\n}\n\nexport interface SolutionWithAnswersModel {\n solutionId: string;\n answers: Array<QuestionAnswer>;\n}\n\nexport interface StudentTestSolutionModel {\n solutionId: string;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n studentId: string;\n startedOnUtc: string;\n studentGroupId: string;\n finishedOnUtc: string | null;\n isFinished: boolean;\n solution: StudentTestSolutionDataModel;\n test: TestModel;\n}\n\n\nexport interface StudentTestSolutionDataModel {\n /**\n * Есть ли вопросы, которые находятся в процессе расчёта результата\n */\n hasAnswersInProcess: boolean;\n answers: Array<QuestionAnswerWithResult>;\n}\n\nexport interface TestModel {\n name: string;\n description: string;\n questions: Array<TestQuestionModel>;\n}\n\nexport interface TestWithActiveSolutionModel {\n testId: string;\n activeSolutionId: string;\n test: TestModel;\n}\n\n\nexport interface QuestionAnswerWithResult {\n isChecked: boolean;\n questionId: string;\n answerOrAnswers: string;\n pointsValidation: QuestionPointsValidationModel;\n resultType: AnswerValidationResultType;\n}\n\nexport interface QuestionPointsValidationModel {\n errorOccured: boolean;\n inProcess: boolean;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n isValidated: boolean;\n sourceType: QuestionValidationSourceType;\n validatorId: string;\n}\n\nexport interface StudentTestSolutionDetailedModel {\n solutionId: string;\n hasAnswersInProcess: boolean;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n studentId: string;\n startedOnUtc: string;\n finishedOnUtc: string | null;\n isFinished: boolean;\n studentGroupId: string;\n marketingOptions: SolutionMarketingOptions;\n test: StudentTestSolutionDetailedTestModel;\n}\n\nexport interface SolutionMarketingOptions {\n showAfterSolutionMarkUp: boolean;\n afterSolutionMarkUp: string;\n}\n\nexport interface StudentTestSolutionDetailedTestModel {\n name: string;\n description: string;\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\n}\n\nexport interface StudentTestSolutionDetailedTestQuestion {\n question: TestQuestionModel;\n answerWithValidation: QuestionAnswerWithResult;\n isQuestionLikedByStudent: boolean;\n}\n","import { QuestionAnswerWithResult } from \"./test-solution-models\";\n\nexport interface TestSolutionWithPointsValidation {\n solutionId: string;\n isFinished: boolean;\n hasPointsResult: boolean;\n questions: Array<QuestionAnswerWithResult>;\n studentTotalPoints: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n inProcessQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport enum QuestionValidationSourceType {\n System = 'System',\n Student = 'Student',\n Curator = 'Curator'\n}\n\nexport interface TestQuestionWithModifiers {\n questionId: string;\n modifiers: Array<TestQuestionModiferModel>;\n}\n\nexport interface TestQuestionModiferModel {\n name: string;\n data: string;\n}\n\nexport interface SaveQuestionPointsValidation {\n idModel: QuestionInSolutionIdModel;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n}\n\nexport interface QuestionInSolutionIdModel {\n solutionId: string;\n questionId: string;\n}","export interface CourseDetailedModel {\n id: string;\n name: string;\n templateId: string;\n weight: number;\n versionId: string;\n themes: Array<CourseThemeDetailedModel>;\n}\n\nexport interface CourseSimpleModel {\n id: string;\n name: string;\n weight: number;\n versionId: string;\n templateVersionId: string;\n needsUpdating: boolean;\n}\n\nexport interface CourseThemeDetailedModel {\n id: string;\n name: string;\n description: string;\n weight: number;\n courseVersionId: string;\n items: Array<CourseThemeItemModel>;\n}\n\nexport interface CourseThemeItemModel {\n id: string;\n name: string;\n html: string;\n type: CourseThemeItemType;\n weight: number;\n templateItemId: string;\n test: CourseThemeItemTestModel;\n userInterfaceSettings: CourseThemeItemUISettingsModel;\n computedThemeProgress: ProgressModel;\n}\n\nexport interface ProgressModel {\n weight: number;\n progressPercents: number;\n}\n\nexport interface CourseThemeItemUISettingsModel {\n previousSlideBtnText: string;\n nextSlideBtnText: string;\n}\n\nexport enum CourseThemeItemType {\n JustHtml = 'JustHtml',\n Test = 'Test'\n}\n\nexport interface CourseThemeItemTestModel {\n testId: string;\n testName: string;\n totalPointsToPass: number;\n totalPercentageToPass: number;\n canCheckSingleQuestion: boolean;\n}","import { StudentSimpleModel } from \"./student-models\";\n\nexport interface CourseItemGlobalTestRestrictionModel {\n courseThemeItemId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionModel {\n maxTriesCount: number | null;\n maxStartDate: string | null;\n}\n\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\n q: string;\n courseThemeItemId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface ThemeItemTestStudentRestrictionModel {\n restriction: TestRestrictionModel;\n student: StudentSimpleModel;\n}\n\nexport interface CourseItemStudentTestRestrictionModel {\n courseThemeItemId: string;\n studentId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionValidationResult {\n testRestriction: TestRestrictionModel;\n canStartTest: boolean;\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\n validationMessage: string;\n solutionsCount: number;\n attemptsLeft: number;\n}\n\nexport enum TestRestrictionValidationResultRuleType {\n DateExpired = 'DateExpired',\n AttemptsExceeded = 'AttemptsExceeded'\n}\n\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\n courseThemeItemId: string;\n studentId: string;\n}\n\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\n deadLineWarning: DeadLineWithWarningMessage;\n restrictionValidationResult: TestRestrictionValidationResult;\n}\n\nexport interface CourseThemeItemStudentDeadlineWarningModel {\n themeItemId: string;\n courseThemeId: string;\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\n courseId: string;\n studentId: string;\n}\n\nexport interface CourseThemeIdWithDeadlineWarnings {\n courseThemeId: string;\n deadlines: Array<DeadLineWithWarningMessage>;\n}\n\nexport interface DeadLineWithWarningMessage {\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface CourseRemovingAllTestRestrictionsState {\n taskId: string;\n inProcess: boolean;\n state: CourseRemovingAllTestRestrictionsStateModel;\n}\n\nexport interface CourseRemovingAllTestRestrictionsStateModel {\n courseId: string;\n themeIdsLeftToUpdate: Array<string>;\n totalThemesToUpdateCount: number;\n updateProgressPercents: number;\n}\n","export enum TestQuestionType {\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\n TypeRightAnswer = 'TypeRightAnswer',\n DetailedAnswer = 'DetailedAnswer',\n TypeAnswerWithErrors = 'TypeAnswerWithErrors',\n ManyAnswersBoxes = 'ManyAnswersBoxes',\n FillGaps = 'FillGaps'\n}\n\nexport enum GapType {\n Select = 'Select',\n Input = 'Input'\n}\n\nexport interface GapModel {\n type: GapType;\n correctAnswers: Array<string>;\n answersToSelect: Array<string>;\n}\n\nexport interface GapsQuestionData {\n gapText: string;\n gaps: Array<GapModel>;\n}\n\nexport interface TestQuestionModel {\n id: string;\n title: string;\n titleBodyMarkUp: string;\n helpBodyMarkUp: string;\n answerExplanationMarkUp: string;\n versionId: string;\n type: TestQuestionType;\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\n manyAnswersBoxesData: ManyAnswersBoxesQuestionData;\n gapsData: GapsQuestionData;\n}\n\nexport interface ManyAnswersBoxesQuestionData {\n answerBoxes: Array<QuestionAnswerBox>;\n}\n\nexport interface QuestionAnswerBox {\n label: string;\n correctAnswer: string;\n}\n\nexport interface TypeAnswerWithErrorsQuestionData {\n rightAnswer: string;\n ignoreTextOrder: boolean;\n}\n\nexport interface SelectRightAnswerOrAnswersQuestionData {\n selectRightAnswerTitle: string;\n useRadio: boolean;\n itemType: SelectRightAnswerOrAnswersQuestionDataItemType | null;\n answers: Array<Answer>;\n}\n\n\nexport interface Answer {\n text: string;\n data: string;\n isRightAnswer: boolean;\n}\n\n\nexport enum SelectRightAnswerOrAnswersQuestionDataItemType {\n FileId = 'FileId',\n MarkUp = 'MarkUp'\n}\n\nexport interface TypeRightAnswerQuestionData {\n caseInSensitive: boolean;\n rightAnswers: Array<string>;\n}\n","import { StudentGroupSimpleModel } from \"./group-models\";\nimport { StudentSimpleModel } from \"./student-models\";\n\nexport interface AddCoursePaymentRequest {\n planId: string;\n isPrivatePaymentPlan: boolean;\n type: StudentCoursePaymentType;\n courseId: string;\n source: string;\n sourceDescription: string;\n paymentSystemId: string;\n}\n\nexport enum StudentCoursePaymentType {\n BuyCourse = 'BuyCourse',\n ExtendSubscription = 'ExtendSubscription'\n}\n\nexport interface AddCoursePaymentResult {\n succeeded: boolean;\n coursePaymentId: string;\n errorMessage: string;\n}\n\nexport interface SetPaymentSystemForCoursePayment {\n coursePaymentId: string;\n paymentSystemId: string;\n}\n\nexport interface DemoPaymentDescription {\n html: string;\n}\n\nexport interface StudentCoursePaymentModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n studentGroupId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n type: StudentCoursePaymentType;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n}\n\nexport interface SearchStudentCoursePaymentsRequest {\n q: string;\n studentId: string;\n groupId: string;\n isPaid: boolean | null;\n paymentType: StudentCoursePaymentType | null;\n hasError: boolean | null;\n count: number | null;\n offSet: number;\n}\n\n\nexport interface StudentCoursePaymentDetailedModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n type: StudentCoursePaymentType;\n student: StudentSimpleModel;\n group: StudentGroupSimpleModel;\n}\n\nexport interface EnumValueTypeWithDescriptionStudentCoursePaymentType {\n type: StudentCoursePaymentType;\n description: string;\n}","import { TestQuestionModel, TestQuestionType } from \"./question-models\";\n\nexport interface StudentTestQuestionStatisticDetailedModel {\n id: string;\n studentId: string;\n questionVersionId: string;\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n question: TestQuestionModel;\n}\n\nexport interface SearchTestQuestionErrorsStatisticRequest {\n isLastAnswerCorrect: boolean | null;\n isActualQuestionVersion: boolean | null;\n studentId: string;\n questionTypes: Array<TestQuestionType>;\n orderType: TestQuestionErrorsStatisticOrderType;\n count: number | null;\n offSet: number;\n}\n\nexport enum TestQuestionErrorsStatisticOrderType {\n MostErrors = 'MostErrors',\n RecentErrors = 'RecentErrors'\n}\n\nexport interface QuestionStatisticComputingState {\n toComputeQuestionReportsCount: number;\n notActualQuestionVersionReportsCount: number;\n toComputeStudentSnapshotsCount: number;\n toComputeStudentGroupSnapshotsCount: number;\n toComputeAggregatedSnapshotRequestsCount: number;\n toRecomputeIsActualVersionPropertyCount: number;\n dataOnUtc: string;\n}\n\nexport interface StudentStatisticSnapshotValueModel {\n studentId: string;\n dataOnUtc: string;\n computedOnUtc: string;\n recomputingRequired: boolean;\n checkedQuestionsCount: number;\n tags: Array<StudentStatisticSnapshotTagValueModel>;\n subjects: Array<StudentStatisticSnapshotSubjectValueModel>;\n}\n\nexport interface StudentStatisticSnapshotValueDebugInfoModel {\n hasSnapshot: boolean;\n studentId: string;\n dataOnUtc: string;\n computedOnUtc: string;\n recomputingRequired: boolean;\n lastRecomputingRequiredSetOnUtc: string;\n checkedQuestionsCount: number;\n lastQuestionAnsweredOnUtc: string;\n lastQuestionAggregateComputedOnUtc: string;\n}\n\nexport interface StudentStatisticSnapshotTagValueModel {\n tagId: string;\n tagDisplayName: string;\n statistic: ComputedStatisticPresentationModel;\n}\n\nexport interface ComputedStatisticPresentationModel {\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n attemptsWithScoreTotalCount: number;\n totalAttemptsCount: number;\n successRatePercents: string;\n successRateRankValue: number;\n earnedPoints: number;\n totalPoints: number;\n}\n\nexport interface StudentStatisticSnapshotSubjectValueModel {\n subjectId: string;\n subjectName: string;\n statistic: ComputedStatisticPresentationModel;\n}","/**\n * Роли для модуля Tutor\n */\nexport class TutorRoles {\n\n /**\n * Куратор - проверяет домашние задания студентов (учеников).\n */\n static readonly curator: string = 'Tutor.Curator';\n\n /**\n * Администратор - управляет и настраивает платформу\n */\n static readonly admin: string = 'Tutor.Admin';\n\n /**\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\n */\n static readonly student: string = 'Tutor.Student';\n\n /**\n * Пользователь, который может вносить вопросы\n */\n static readonly testAuthor: string = 'Tutor.TestAuthor';\n\n /**\n * Администратор конкретной школы\n */\n static readonly schoolAdmin: string = 'Tutor.SchoolAdmin';\n}","export class ImageSrcExtensions {\n\n /**\n * Вовзращает полный путь к изображению по идентификатору файла и типу размера изображения \n * @param publicImageUrlFormat Форматированная строка содержащая {fileId} и {sizeType} для замены\n * @param imageFileId Идентификатор изображения\n * @param imageType Тип изображения\n * @returns \n */\n static createImagePath(publicImageUrlFormat: string, imageFileId: number | string, sizeType = 'Medium'): string | null {\n \n if (imageFileId === null || imageFileId === undefined) {\n return null;\n }\n\n return publicImageUrlFormat.replace('{sizeType}', sizeType).replace('{fileId}', imageFileId.toString())\n }\n}\n","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/consts';\nexport * from './lib/extensions'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseOrderService.ts","../../../projects/tutor-logic/src/lib/services/CourseShopWindowDetailedService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupPaymentPlanQueryService.ts","../../../projects/tutor-logic/src/lib/services/TutorAppConfigurationService.ts","../../../projects/tutor-logic/src/lib/services/QuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupMaterialService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestQuestionStatisticQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupCourseAccessService.ts","../../../projects/tutor-logic/src/lib/services/StudentRegistrationService.ts","../../../projects/tutor-logic/src/lib/services/PmtSystemService.ts","../../../projects/tutor-logic/src/lib/services/DefaultCourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupInfoPageService.ts","../../../projects/tutor-logic/src/lib/services/StudentAggregatedStatisticSnapshotService.ts","../../../projects/tutor-logic/src/lib/services/GroupStatisticSnapshotStudentService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/TutorUserTelegramService.ts","../../../projects/tutor-logic/src/lib/models/group-models.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/question-models.ts","../../../projects/tutor-logic/src/lib/models/course-payment-models.ts","../../../projects/tutor-logic/src/lib/models/student-statistic-models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/lib/extensions/ImageSrcExtensions.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchTestsRequest, CreateTestRequest, EditTestRequest } from \"../models/test-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestsService {\n baseControllerUrl:string;\n \n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string){\n const adding = 'api/tutor/tests';\n this.baseControllerUrl = baseUrl + adding;\n }\n\n public searchGroupRelationsInTest(model: SearchTestsRequest): Observable<GetListResult<StudentGroupSimpleModel>>{\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.baseControllerUrl}/groups/search/in`, model);\n }\n\n public create(model: CreateTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public edit(model: EditTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/edit`, model);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchStudentGroupsRequest, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\n\n/**\n* Методы контроллера StudentGroupQueryController\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupQueryService {\n\n getBaseUrl() {\n return this._baseUrl + 'api/tutor/student-group';\n }\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string) {\n }\n\n /**\n * Поиск групп учеников\n */\n public search(model: SearchStudentGroupsRequest): Observable<GetListResult<StudentGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.getBaseUrl()}/query/search`, model);\n }\n\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(`${this.getBaseUrl()}/query/search/with-progresses`, model);\n }\n\n /**\n * Получить группу по идентификатору\n * @param id идентификатор группы учеников\n * @returns группу учеников\n */\n public getById(id: string): Observable<StudentGroupDetailedModel> {\n return this._httpClient.get<StudentGroupDetailedModel>(`${this.getBaseUrl()}/query/by-id/${id}`);\n }\n\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\n return this._httpClient.get<StudentGroupSimpleModel[]>(`${this.getBaseUrl()}/by-student/${id}`);\n }\n\n /**\n * Получить список студентов в группе по фильтру\n * @param model модель для поиска\n * @returns список студентов\n */\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(`${this.getBaseUrl()}/students/search`, model);\n }\n\n /**\n * Получить студента в группе\n * @param groupId идентификатор группы\n * @param studentId идентификатор студента\n * @returns \n */\n public getStudentById(groupId: string, studentId: string): Observable<StudentInGroupSimpleModel> {\n return this._httpClient.get<StudentInGroupSimpleModel>(`${this.getBaseUrl()}/students/get-by-id/${groupId}/${studentId}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, SearchStudentsRequest, StudentSimpleModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentQueryService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\n }\n\n public getById(id: string): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\n }\n\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\n }\n\n public search(searchModel: SearchStudentsRequest): Observable<GetListResult<StudentSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { GetToGroupByCodeRequest, EnterGroupResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupEnterService {\n private readonly _baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this._baseControllerUrl = baseUrl + 'api/tutor/student-group/enter';\n }\n\n public enterViaCode(model: GetToGroupByCodeRequest) {\n return this._httpClient.post<EnterGroupResponse>(`${this._baseControllerUrl}/ViaCode`, model);\n }\n\n public enterFreeOfCharge(id: string) {\n return this._httpClient.post<EnterGroupResponse>(`${this._baseControllerUrl}/FreeOfCharge/${id}`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { SearchStudentTestSolutionsRequest, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;\n }\n\n public searchByStudent(model: SearchStudentTestSolutionsRequest) {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this._baseUrl}/Search/By/Student`, model);\n }\n\n public getCourseData(id: string) {\n return this._httpClient.get<TestSolutionCourseData>(`${this._baseUrl}/Get/By/Id/${id}/course-data`);\n }\n\n public getSolutionById(id: string) {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/Get/By/Id/${id}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\nBasePath = api/tutor/test-solution-result\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionResultService {\n readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/test-solution-result`;\n }\n\n public getQuestionsWithModifiersBySolution(solutionId: string) {\n return this._httpClient.get<TestQuestionWithModifiers[]>(`${this.baseControllerUrl}/modifiers/${solutionId}`);\n }\n\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\n return this._httpClient.get<TestSolutionWithPointsValidation>(`${this.baseControllerUrl}/points/${solutionId}`);\n }\n\n public create(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create/${solutionId}`, {});\n }\n\n public recalculate(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/recalculate/${solutionId}`, {});\n }\n\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/save`, model);\n }\n\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/remove`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CreateTestForStudentErrorsRequest, StartSolutionFromDirectoryRequest, StartTestSolutionByTestIdRequest, TestSolutionCreatedResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionStartService {\n private readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/start';\n }\n\n startByTestId(model: StartTestSolutionByTestIdRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/TestId`, model);\n }\n\n startByDirectory(model: StartSolutionFromDirectoryRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Directory`, model);\n }\n\n startByErrors(model: CreateTestForStudentErrorsRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Errors`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiQuestionLikeService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;\n }\n\n public search(model: SearchQuestionsByLikes) {\n return this._httpClient.post<GetListResult<TestQuestionModel>>(`${this._baseUrl}/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestSolutionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiTestSolutionService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;\n }\n\n public getById(id: string) {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\n }\n\n checkAnswer(model: SolutionWithAnswerModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\n }\n\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutionsRequest, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\nBasePath = api/tutor/test-solution/query/mine\n*/\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionQueryService {\n private readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine';\n }\n\n search(model: SearchMyTestSolutionsRequest) {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this.baseControllerUrl}/search`, model);\n }\n\n getResultById(id: string){\n let url = `${this.baseControllerUrl}/Get/By/Id/${id}/result`;\n\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\n }\n\n getByTestId(testId: string){\n let url = `${this.baseControllerUrl}/Get/By/TestId/${testId}`;\n\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupTestRelationQueryService {\n\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group/tests`;\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n getById(studentGroupId: string, testId: string) {\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, GetListResult } from '../models';\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CuratorMessageTemplateService {\n getBaseControllerUrl() {\n return this._baseUrl + 'api/tutor/curator/message-template/';\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\n }\n\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\n }\n\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\n this.getBaseControllerUrl() + 'search',\n model,\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n * \n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseDeadlineWarningService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\n }\n\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\n }\n\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse } from \"../models\";\nimport { CourseItemGlobalTestRestrictionModel, CourseRemovingAllTestRestrictionsState, TestRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\n * \n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction';\n }\n\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/global`, model);\n }\n\n getGlobal(id: string) {\n return this._http.get<TestRestrictionModel>(`${this.baseControllerUrl}/global/${id}`);\n }\n\n removeAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/remove-all/${courseId}`, {});\n }\n\n startRemovingAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/removing-all/${courseId}/start`, {})\n }\n\n getRemovingAllState(courseId: string) {\n return this._http.get<CourseRemovingAllTestRestrictionsState>(`${this.baseControllerUrl}/removing-all/${courseId}/state`)\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport {\n SubjectCountsModel,\n SubjectModel,\n SubjectWithClarificationsModel\n} from '../models/subject.models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\n * \n * Базовый урл = api/tutor/subject/query\n * \n * Методы для получения предметов\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/subject/query`;\n }\n\n public getAll() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all`);\n }\n\n public getAllCached() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all/cached`);\n }\n\n public getAllWithClarifications() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications`);\n }\n\n public getAllWithClarificationsCached() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications/cached`);\n }\n\n public getByAliasOrId(id: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId?idOrAlias=${id}`);\n }\n\n public getByAliasOrIdCached(idOrAlias: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\n }\n}\n\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n CreateSubjectRequest,\n OrderSubjectsRequest,\n UpdateSubjectRequest,\n} from '../models/subject.models';\nimport { BaseApiResponse } from '../models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\n * \n * Базовый урл = api/tutor/subject\n * \n * Методы для работы с предметами\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectsService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/subject';\n }\n\n public create(model: CreateSubjectRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public order(model: OrderSubjectsRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/order`, model);\n }\n\n public update(model: UpdateSubjectRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/update`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult } from \"../models\";\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n *\n * Предоставляет методы для управления ограничениями теста для блока курса\n *\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionStudentService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\n }\n\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\n }\n\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\n }\n\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `query/get-validated-item-restriction-with-deadline-warning`, model);\n }\n\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\n return this._http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'query/search', model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\n * Оптимизированные методы для работы студентов с курсами\n * Базовый урл = api/tutor/student-course-view\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseViewService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\n }\n\n /**\n * \n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \n * @param themeItemId \n * @returns \n */\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentTestSolutionDetailedModel } from \"../models\";\n\n/**\n * Предоставляет методы для поиска решений тестов \n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionDetailedQueryService {\n\n private _baseUrl: string = \"\";\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\n }\n\n /**\n * \n * @param id Идентификатор решения теста\n * @returns \n */\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, GetListResult, SearchCourseLandingPageRequest } from '../models';\n\n/**\n * Предоставляет методы для работы с лендинг страницами для курса\n * Контроллер = Tutor.Api.Controllers.Landings.CourseLandingPageController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseLandingPageQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + 'api/tutor/course-landing-page/query';\n }\n\n /**\n * Поиск лендинг страниц\n * @param model \n * @returns \n */\n search(model: SearchCourseLandingPageRequest) {\n return this._httpClient.post<GetListResult<CourseLandingPageSimpleModel>>(`${this._baseUrl}/search`, model);\n }\n\n /**\n * Получить лендинг страницу по идентификатору\n * @param id идентификатор страницы\n * @param useCache использовать кеш\n * @returns \n */\n getById(id: string, useCache: boolean) {\n if (useCache) {\n return this.getByIdCached(id);\n }\n\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id?id=${id}`);\n }\n\n private getByIdCached(id: string) {\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id/cached?id=${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseOrderModel, CreateCourseOrderRequest, CreateCourseOrderResponse } from \"../models/course-shop-models\";\n\n/**\n * Предоставляем методы контроллера Tutor.Api.Controllers.Courses.CourseOrderController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseOrderService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-order';\n }\n\n /**\n * Получить заказ на покупку курса по идентификатору\n * @param id идентификатор заказа\n * @returns \n */\n getById(id: string) {\n return this._httpClient.get<CourseOrderModel>(`${this.baseControllerUrl}/query/get-by-id/${id}`);\n }\n\n /**\n * созать заказ на покупку курса\n * @param model запрос для создания заказа на покупку курса\n * @returns \n */\n create(model: CreateCourseOrderRequest) {\n return this._httpClient.post<CreateCourseOrderResponse>(`${this.baseControllerUrl}/create`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseShopWindowDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseShopWindowDetailedService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-shop-window-detailed';\n }\n\n getMain() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main`);\n }\n\n getMainCached() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main/cached`);\n }\n\n getById(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}`);\n }\n\n getByIdCached(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}/cached`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentGroupPaymentPlansModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.StudentGroupPaymentPlans.StudentGroupPaymentPlanQueryController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupPaymentPlanQueryService {\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group-payment-plan/query`;\n }\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string\n ) { }\n\n /**\n * Получить группу и глобальные планы оплаты с ней связанные\n * @param id идентификатор группы\n * @returns групп с планами оплаты\n */\n public getPaymentPlans(id: string): Observable<StudentGroupPaymentPlansModel> {\n return this._httpClient.get<StudentGroupPaymentPlansModel>(`${this.getBaseUrl()}/payment-plans/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { TutorFullApplicationPublicOptions } from \"../models\";\nimport { of, tap } from \"rxjs\";\n\n/**\n * Сервис для предоставления публичной конфигурации по приложению\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TutorAppConfigurationService {\n\n static readonly VariableKey = \"__Tutor.FullConfiguration\";\n\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/settings/application`;\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n get(): TutorFullApplicationPublicOptions {\n return TutorAppConfigurationService.getFromWindow();\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n static getFromWindow(): TutorFullApplicationPublicOptions {\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n throw new Error(`в window не установлена переменная ${TutorAppConfigurationService.VariableKey}`);\n }\n\n return value;\n }\n\n set(value: TutorFullApplicationPublicOptions) {\n window[TutorAppConfigurationService.VariableKey] = value;\n }\n\n getFromServerIfValueNotSet() {\n\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n return this._http.get<TutorFullApplicationPublicOptions>(this.baseControllerUrl).pipe(tap(value => {\n this.set(value);\n return value;\n }));\n }\n\n\n return of<TutorFullApplicationPublicOptions>(value);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, ChangeQuestionLike, QuestionIdWithLike } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class QuestionLikeService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-likes/';\n }\n\n public change(model: ChangeQuestionLike): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `change`, model);\n }\n\n public getBySolutionId(id: string): Observable<QuestionIdWithLike[]> {\n return this._httpClient.get<QuestionIdWithLike[]>(this.baseControllerUrl + `for-solution/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchCourseProgressesRequest, StudentCourseProgressModel, StudentCourseProgressWithStudentModel } from '../models/student-course-models';\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress/query`;\n }\n\n /**\n * Получить прогресс студента по курсу\n * @param courseId Идентификатор курса\n * @returns \n */\n getMine(courseId: string) {\n return this._httpClient.get<StudentCourseProgressModel>(`${this.baseControllerUrl}/mine/${courseId}`);\n }\n\n search(model: SearchCourseProgressesRequest) {\n return this._httpClient.post<GetListResult<StudentCourseProgressWithStudentModel>>(\n `${this.baseControllerUrl}/search`,\n model\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { BaseApiResponse } from '../models';\nimport { FinishStudentCourseThemeProgressRequest, StartCourseThemeItemTestRequest, StartCourseThemeItemTestResult, StartCourseThemeRequest, UpdateStudentCourseThemeProgressRequest, UpdateStudentCourseThemeProgressResult } from '../models/student-course-models';\n\n/**\n * Сервис для прохождения курса студентом\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress`;\n }\n\n startTheme(model: StartCourseThemeRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/theme/start`, model);\n }\n\n updateThemeProgress(model: UpdateStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/update`, model);\n }\n\n finishTheme(model: FinishStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/finish`, model);\n }\n\n startTestForItemBlock(model: StartCourseThemeItemTestRequest) {\n return this._httpClient.post<StartCourseThemeItemTestResult>(`${this.baseControllerUrl}/theme/item/start-test`, model);\n }\n}\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchStudentGroupMaterialsRequest, StudentGroupWithMaterialsModel } from \"../models/material-models\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupMaterialService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-group/query`;\n }\n\n getMaterials(model: SearchStudentGroupMaterialsRequest): Observable<GetListResult<StudentGroupWithMaterialsModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithMaterialsModel>>(`${this.baseControllerUrl}/materials/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { AddCoursePaymentRequest, AddCoursePaymentResult, SetPaymentSystemForCoursePayment } from \"../models/course-payment-models\";\nimport { BaseApiResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course/payments`;\n }\n\n add(model: AddCoursePaymentRequest) {\n return this._httpClient.post<AddCoursePaymentResult>(`${this.baseControllerUrl}/add`, model);\n }\n\n setPaymentSystem(model: SetPaymentSystemForCoursePayment) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/set-payment-system`, model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { EnumValueTypeWithDescriptionStudentCoursePaymentType, SearchStudentCoursePaymentsRequest, StudentCoursePaymentDetailedModel, StudentCoursePaymentModel } from \"../models/course-payment-models\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course/payments/query';\n }\n\n getById(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/byId/${id}`);\n }\n\n getByPaymentId(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/by/pmt-id/${id}`);\n }\n\n search(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n searchDetailed(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentDetailedModel>>(\n `${this.baseControllerUrl}/search-detailed`,\n model\n );\n }\n\n getTypes() {\n return this._httpClient.get<EnumValueTypeWithDescriptionStudentCoursePaymentType[]>(this.baseControllerUrl + 'Types');\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetListResult, QuestionStatisticComputingState, SearchTestQuestionErrorsStatisticRequest, StudentTestQuestionStatisticDetailedModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class TestQuestionStatisticQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-statistic';\n }\n\n search(model: SearchTestQuestionErrorsStatisticRequest) {\n return this._httpClient.post<GetListResult<StudentTestQuestionStatisticDetailedModel>>(\n `${this.baseControllerUrl}/query/search`,\n model\n );\n }\n\n getState() {\n return this._httpClient.get<QuestionStatisticComputingState>(`${this.baseControllerUrl}/state`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupCourseAccessRequest, StudentGroupCourseWithDetailedAccessModel } from \"../models/group-access-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupCourseAccessService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group-access';\n }\n\n get(model: GetStudentGroupCourseAccessRequest) {\n return this._httpClient.post<StudentGroupCourseWithDetailedAccessModel>(`${this.baseControllerUrl}/get`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { RegisterModel, RegisterStudentRequest, StudentRegistrationResult } from \"../models/student-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentRegistrationService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = baseUrl + 'api/tutor/student';\n }\n\n register(model: RegisterModel) {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register`, model);\n }\n\n registerV2(model: RegisterStudentRequest) {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/v2`, model);\n }\n\n demoRegistration() {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/demo`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult, OrderPaymentSystemsRequest, PaymentSystemModel, SearchPaymentSystemsRequest } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PmtSystemService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/pmt/system`;\n }\n\n search(model: SearchPaymentSystemsRequest) {\n return this._http.post<GetListResult<PaymentSystemModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n getEnabledSystemsCached() {\n return this._http.get<PaymentSystemModel[]>(`${this.baseControllerUrl}/cache/enabled-list`);\n }\n\n getById(name: string) {\n return this._http.get<PaymentSystemModel>(`${this.baseControllerUrl}/get/by-id/${name}`);\n }\n\n order(model: OrderPaymentSystemsRequest) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/order`, model);\n }\n\n createOrUpdate(model: PaymentSystemModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/create-or-update`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { DefaultCourseLandingPageModel } from \"../models/default-course-landing-page-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DefaultCourseLandingPageQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/default-course-landing-page/query`;\n }\n\n getById(id: string) {\n return this._httpClient.get<DefaultCourseLandingPageModel>(`${this._baseControllerUrl}/get-by-id/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupInfoPageRequest, StudentGroupInfoPageDetailedModel } from \"../models/group-page-info-models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupInfoPageService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/info-page';\n }\n\n get(model: GetStudentGroupInfoPageRequest): Observable<StudentGroupInfoPageDetailedModel> {\n return this._httpClient.post<StudentGroupInfoPageDetailedModel>(\n `${this.baseControllerUrl}/get`,\n model\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { StudentStatisticSnapshotValueDebugInfoModel, StudentStatisticSnapshotValueModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentAggregatedStatisticSnapshotService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-aggregated-statistic-snapshot`;\n }\n\n public get(studentId: string) {\n return this._httpClient.get<StudentStatisticSnapshotValueModel>(`${this.baseControllerUrl}/query/get-by-id/${studentId}`);\n }\n\n public getDebugInfo(studentId: string) {\n return this._httpClient.get<StudentStatisticSnapshotValueDebugInfoModel>(`${this.baseControllerUrl}/query/get-by-id/${studentId}/debug-info`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentInGroupStatisticSnapshotRequest, StudentGroupStatisticSnapshotInfoModel, StudentInGroupStatisticSnapshotModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GroupStatisticSnapshotStudentService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-in-group-statistic-snapshot`;\n }\n\n /**\n * \n * @param model запрос для получения снапшота агрегированной статистики ученика по предметам и тегам в рамках группы (курса)\n * @returns \n */\n get(model: GetStudentInGroupStatisticSnapshotRequest) {\n return this._httpClient.post<StudentInGroupStatisticSnapshotModel | null>(`${this.baseControllerUrl}/get`, model);\n }\n\n /**\n * Получить информацию о снапшоте.\n * @param id идентификатор снепшота\n * @returns \n */\n getSnapshotInfo(id: string) {\n return this._httpClient.get<StudentGroupStatisticSnapshotInfoModel | null>(`${this.baseControllerUrl}/snapshot-info/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { BaseApiResponse } from \"croco-generic-app-logic\";\nimport { CreateSubjectMenuRequest, SubjectMenuSimpleModel } from \"../models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\n * \n * Базовый урл = api/tutor/subject/menu\n * \n * Методы для работы с меню предмета\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectMenuService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/subject/menu`;\n }\n\n public create(model: CreateSubjectMenuRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public getMain() {\n return this._httpClient.get<SubjectMenuSimpleModel>(`${this.baseControllerUrl}/query/main`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, BaseApiResponse } from \"croco-generic-app-logic\";\nimport { TelegramLinkResponse, TutorUserTelegramData } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class TutorUserTelegramService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student/telegram`;\n }\n\n createLink() {\n return this._httpClient.post<GenericBaseApiResponse<TelegramLinkResponse>>(\n `${this.baseControllerUrl}/create-link`,\n {},\n );\n }\n\n unLink(id: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/un-link/${id}`, {});\n }\n\n getData() {\n return this._httpClient.get<TutorUserTelegramData>(`${this.baseControllerUrl}/get-data`);\n }\n}","import { IconSimpleModel } from \"./icon-models\";\nimport { StudentSimpleModel } from \"./student-models\";\n\nexport interface SearchStudentGroupsRequest {\n q: string;\n schoolId: string;\n types: Array<StudentGroupType>;\n count: number | null;\n offSet: number;\n}\n\nexport enum StudentGroupType {\n Course = 'Course',\n ClassRoom = 'ClassRoom',\n ExternalProduct = 'ExternalProduct'\n}\n\nexport interface StudentGroupSimpleModel {\n id: string;\n alias: string;\n name: string;\n isDeleting: boolean;\n useHtmlForName: boolean;\n useCourse: boolean;\n type: StudentGroupType;\n nameHtml: string;\n isFreeOfCharge: boolean;\n schoolId: string;\n courseShopWindowId: string;\n}\n\nexport interface StudentGroupDetailedModel {\n id: string;\n name: string;\n alias: string;\n enterCode: string;\n useCourse: boolean;\n studentsCount: number;\n isDeleting: boolean;\n type: StudentGroupType;\n courseTemplateId: string;\n useHtmlForName: boolean;\n nameHtml: string;\n useSchedule: boolean;\n scheduleId: string;\n useMaterials: boolean;\n materialsHtml: string;\n solutionsCount: number;\n scheduleStudentSubscribersCount: number;\n hasDefaultLandingPage: boolean;\n defaultCourseLandingPageUrl: string;\n schoolId: string;\n courseShopWindowId: string;\n computedDataOnUtc: string;\n}\n\nexport interface StudentInGroupSimpleModel {\n student: StudentSimpleModel;\n isBlocked: boolean;\n shouldBlockOnUtc: string;\n enteredOnUtc: string;\n}\n\nexport interface SearchStudentsInGroup {\n groupId: string;\n q: string;\n hasIndividualPaymentPlans: boolean | null;\n isBlocked: boolean | null;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentTestGroupRelationDetailedModel {\n studentGroupId: string;\n testId: string;\n canCheckSingleQuestion: boolean;\n html: string;\n showHtml: boolean;\n testName: string;\n testDescription: string;\n}\n\nexport interface SearchStudentGroupsByStudentRequest {\n studentId: string;\n q: string;\n iconSetId: string | null;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentGroupWithCourseProgressModel {\n groupId: string;\n groupName: string;\n groupUseHtmlForName: boolean;\n groupNameHtml: string;\n useCourse: boolean;\n isBlocked: boolean;\n shouldBlockOnUtc: string | null;\n courseProgress: StudentGroupCourseProgressSimpleModel;\n icon: IconSimpleModel;\n}\n\nexport interface StudentGroupCourseProgressSimpleModel {\n totalWeight: number;\n currentProgress: number;\n progressPercents: number;\n}\n","import { CourseThemeItemModel } from \"./course-models\";\nimport { TestQuestionModel, TestQuestionType } from \"./question-models\";\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\nimport { TestQuestionErrorsStatisticOrderType } from \"./student-statistic-models\";\n\nexport interface SearchStudentTestSolutionsRequest {\n isFinished: boolean | null;\n studentId: string;\n testId: string;\n withUnreadMessages: boolean;\n count: number | null;\n offSet: number;\n}\n\nexport interface TestSolutionCourseData {\n solutionId: string;\n courseThemeItemId: string;\n courseThemeItemIndex: number;\n courseThemeId: string;\n courseThemeName: string;\n courseName: string;\n courseId: string;\n nextItem: CourseThemeItemModel;\n}\n\nexport interface SolutionWithAnswerModel {\n solutionId: string;\n answer: QuestionAnswer;\n}\n\nexport interface QuestionAnswer {\n questionId: string;\n answerOrAnswers: string;\n}\n\nexport interface StudentTestSolutionWithChatInfo {\n solution: StudentTestSolutionSimpleModel;\n systemValidation: TestSolutionSystemValidationModel;\n unreadMessagesCount: number;\n}\n\nexport interface TestSolutionSystemValidationModel {\n studentTotalPoints: number;\n studentProgressPercents: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport interface StartSolutionFromDirectoryRequest {\n workSpaceId: string;\n directoryId: string;\n useFilter: boolean;\n canCheckSingleQuestion: boolean;\n filter: QuestionsFilter;\n}\n\nexport interface CreateTestForStudentErrorsRequest {\n testName: string;\n questionsCount: number;\n questionTypes: Array<TestQuestionType>;\n orderType: TestQuestionErrorsStatisticOrderType;\n canCheckSingleQuestion: boolean;\n isLastAnswerCorrect: boolean | null;\n isActualQuestionVersion: boolean | null;\n}\n\nexport interface TestSolutionCreatedResult {\n succeeded: boolean;\n errorMessage: string;\n solutionId: string;\n}\n\nexport interface QuestionsFilter {\n types: Array<TestQuestionType>;\n}\n\nexport interface StartTestSolutionByTestIdRequest {\n testId: string;\n studentGroupId: string;\n canCheckSingleQuestion: boolean;\n}\n\nexport interface SearchMyTestSolutionsRequest {\n isFinished: boolean | null;\n testId: string;\n withUnreadMessages: boolean;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentTestSolutionSimpleModel {\n id: string;\n testName: string;\n testId: string;\n isFinished: boolean;\n startedOnUtc: string; /* Date */\n finishedOnUtc: string | null; /* Date */\n}\n\nexport enum AnswerValidationResultType {\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\n NotCorrectAnswer = 'NotCorrectAnswer',\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\n CorrectAnswer = 'CorrectAnswer',\n InProcess = 'InProcess'\n}\n\nexport interface SolutionWithAnswersModel {\n solutionId: string;\n answers: Array<QuestionAnswer>;\n}\n\nexport interface StudentTestSolutionModel {\n solutionId: string;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n studentId: string;\n startedOnUtc: string;\n studentGroupId: string;\n finishedOnUtc: string | null;\n isFinished: boolean;\n solution: StudentTestSolutionDataModel;\n test: TestModel;\n}\n\n\nexport interface StudentTestSolutionDataModel {\n /**\n * Есть ли вопросы, которые находятся в процессе расчёта результата\n */\n hasAnswersInProcess: boolean;\n answers: Array<QuestionAnswerWithResult>;\n}\n\nexport interface TestModel {\n name: string;\n description: string;\n questions: Array<TestQuestionModel>;\n}\n\nexport interface TestWithActiveSolutionModel {\n testId: string;\n activeSolutionId: string;\n test: TestModel;\n}\n\n\nexport interface QuestionAnswerWithResult {\n isChecked: boolean;\n questionId: string;\n answerOrAnswers: string;\n pointsValidation: QuestionPointsValidationModel;\n resultType: AnswerValidationResultType;\n}\n\nexport interface QuestionPointsValidationModel {\n errorOccured: boolean;\n inProcess: boolean;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n isValidated: boolean;\n sourceType: QuestionValidationSourceType;\n validatorId: string;\n}\n\nexport interface StudentTestSolutionDetailedModel {\n solutionId: string;\n hasAnswersInProcess: boolean;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n studentId: string;\n startedOnUtc: string;\n finishedOnUtc: string | null;\n isFinished: boolean;\n studentGroupId: string;\n marketingOptions: SolutionMarketingOptions;\n test: StudentTestSolutionDetailedTestModel;\n}\n\nexport interface SolutionMarketingOptions {\n showAfterSolutionMarkUp: boolean;\n afterSolutionMarkUp: string;\n}\n\nexport interface StudentTestSolutionDetailedTestModel {\n name: string;\n description: string;\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\n}\n\nexport interface StudentTestSolutionDetailedTestQuestion {\n question: TestQuestionModel;\n answerWithValidation: QuestionAnswerWithResult;\n isQuestionLikedByStudent: boolean;\n}\n","import { QuestionAnswerWithResult } from \"./test-solution-models\";\n\nexport interface TestSolutionWithPointsValidation {\n solutionId: string;\n isFinished: boolean;\n hasPointsResult: boolean;\n questions: Array<QuestionAnswerWithResult>;\n studentTotalPoints: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n inProcessQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport enum QuestionValidationSourceType {\n System = 'System',\n Student = 'Student',\n Curator = 'Curator'\n}\n\nexport interface TestQuestionWithModifiers {\n questionId: string;\n modifiers: Array<TestQuestionModiferModel>;\n}\n\nexport interface TestQuestionModiferModel {\n name: string;\n data: string;\n}\n\nexport interface SaveQuestionPointsValidation {\n idModel: QuestionInSolutionIdModel;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n}\n\nexport interface QuestionInSolutionIdModel {\n solutionId: string;\n questionId: string;\n}","export interface CourseDetailedModel {\n id: string;\n name: string;\n templateId: string;\n weight: number;\n versionId: string;\n themes: Array<CourseThemeDetailedModel>;\n}\n\nexport interface CourseSimpleModel {\n id: string;\n name: string;\n weight: number;\n versionId: string;\n templateVersionId: string;\n needsUpdating: boolean;\n}\n\nexport interface CourseThemeDetailedModel {\n id: string;\n name: string;\n description: string;\n weight: number;\n courseVersionId: string;\n items: Array<CourseThemeItemModel>;\n}\n\nexport interface CourseThemeItemModel {\n id: string;\n name: string;\n html: string;\n type: CourseThemeItemType;\n weight: number;\n templateItemId: string;\n test: CourseThemeItemTestModel;\n userInterfaceSettings: CourseThemeItemUISettingsModel;\n computedThemeProgress: ProgressModel;\n}\n\nexport interface ProgressModel {\n weight: number;\n progressPercents: number;\n}\n\nexport interface CourseThemeItemUISettingsModel {\n previousSlideBtnText: string;\n nextSlideBtnText: string;\n}\n\nexport enum CourseThemeItemType {\n JustHtml = 'JustHtml',\n Test = 'Test'\n}\n\nexport interface CourseThemeItemTestModel {\n testId: string;\n testName: string;\n totalPointsToPass: number;\n totalPercentageToPass: number;\n canCheckSingleQuestion: boolean;\n}","import { StudentSimpleModel } from \"./student-models\";\n\nexport interface CourseItemGlobalTestRestrictionModel {\n courseThemeItemId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionModel {\n maxTriesCount: number | null;\n maxStartDate: string | null;\n}\n\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\n q: string;\n courseThemeItemId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface ThemeItemTestStudentRestrictionModel {\n restriction: TestRestrictionModel;\n student: StudentSimpleModel;\n}\n\nexport interface CourseItemStudentTestRestrictionModel {\n courseThemeItemId: string;\n studentId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionValidationResult {\n testRestriction: TestRestrictionModel;\n canStartTest: boolean;\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\n validationMessage: string;\n solutionsCount: number;\n attemptsLeft: number;\n}\n\nexport enum TestRestrictionValidationResultRuleType {\n DateExpired = 'DateExpired',\n AttemptsExceeded = 'AttemptsExceeded'\n}\n\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\n courseThemeItemId: string;\n studentId: string;\n}\n\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\n deadLineWarning: DeadLineWithWarningMessage;\n restrictionValidationResult: TestRestrictionValidationResult;\n}\n\nexport interface CourseThemeItemStudentDeadlineWarningModel {\n themeItemId: string;\n courseThemeId: string;\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\n courseId: string;\n studentId: string;\n}\n\nexport interface CourseThemeIdWithDeadlineWarnings {\n courseThemeId: string;\n deadlines: Array<DeadLineWithWarningMessage>;\n}\n\nexport interface DeadLineWithWarningMessage {\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface CourseRemovingAllTestRestrictionsState {\n taskId: string;\n inProcess: boolean;\n state: CourseRemovingAllTestRestrictionsStateModel;\n}\n\nexport interface CourseRemovingAllTestRestrictionsStateModel {\n courseId: string;\n themeIdsLeftToUpdate: Array<string>;\n totalThemesToUpdateCount: number;\n updateProgressPercents: number;\n}\n","export enum TestQuestionType {\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\n TypeRightAnswer = 'TypeRightAnswer',\n DetailedAnswer = 'DetailedAnswer',\n TypeAnswerWithErrors = 'TypeAnswerWithErrors',\n ManyAnswersBoxes = 'ManyAnswersBoxes',\n FillGaps = 'FillGaps'\n}\n\nexport enum GapType {\n Select = 'Select',\n Input = 'Input'\n}\n\nexport interface GapModel {\n type: GapType;\n correctAnswers: Array<string>;\n answersToSelect: Array<string>;\n}\n\nexport interface GapsQuestionData {\n gapText: string;\n gaps: Array<GapModel>;\n}\n\nexport interface TestQuestionModel {\n id: string;\n title: string;\n titleBodyMarkUp: string;\n helpBodyMarkUp: string;\n answerExplanationMarkUp: string;\n versionId: string;\n type: TestQuestionType;\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\n manyAnswersBoxesData: ManyAnswersBoxesQuestionData;\n gapsData: GapsQuestionData;\n}\n\nexport interface ManyAnswersBoxesQuestionData {\n answerBoxes: Array<QuestionAnswerBox>;\n}\n\nexport interface QuestionAnswerBox {\n label: string;\n correctAnswer: string;\n}\n\nexport interface TypeAnswerWithErrorsQuestionData {\n rightAnswer: string;\n ignoreTextOrder: boolean;\n}\n\nexport interface SelectRightAnswerOrAnswersQuestionData {\n selectRightAnswerTitle: string;\n useRadio: boolean;\n itemType: SelectRightAnswerOrAnswersQuestionDataItemType | null;\n answers: Array<Answer>;\n}\n\n\nexport interface Answer {\n text: string;\n data: string;\n isRightAnswer: boolean;\n}\n\n\nexport enum SelectRightAnswerOrAnswersQuestionDataItemType {\n FileId = 'FileId',\n MarkUp = 'MarkUp'\n}\n\nexport interface TypeRightAnswerQuestionData {\n caseInSensitive: boolean;\n rightAnswers: Array<string>;\n}\n","import { StudentGroupSimpleModel } from \"./group-models\";\nimport { StudentSimpleModel } from \"./student-models\";\n\nexport interface AddCoursePaymentRequest {\n planId: string;\n isPrivatePaymentPlan: boolean;\n type: StudentCoursePaymentType;\n courseId: string;\n source: string;\n sourceDescription: string;\n paymentSystemId: string;\n}\n\nexport enum StudentCoursePaymentType {\n BuyCourse = 'BuyCourse',\n ExtendSubscription = 'ExtendSubscription'\n}\n\nexport interface AddCoursePaymentResult {\n succeeded: boolean;\n coursePaymentId: string;\n errorMessage: string;\n}\n\nexport interface SetPaymentSystemForCoursePayment {\n coursePaymentId: string;\n paymentSystemId: string;\n}\n\nexport interface DemoPaymentDescription {\n html: string;\n}\n\nexport interface StudentCoursePaymentModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n studentGroupId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n type: StudentCoursePaymentType;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n}\n\nexport interface SearchStudentCoursePaymentsRequest {\n q: string;\n studentId: string;\n groupId: string;\n isPaid: boolean | null;\n paymentType: StudentCoursePaymentType | null;\n hasError: boolean | null;\n count: number | null;\n offSet: number;\n}\n\n\nexport interface StudentCoursePaymentDetailedModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n type: StudentCoursePaymentType;\n student: StudentSimpleModel;\n group: StudentGroupSimpleModel;\n}\n\nexport interface EnumValueTypeWithDescriptionStudentCoursePaymentType {\n type: StudentCoursePaymentType;\n description: string;\n}","import { TestQuestionModel, TestQuestionType } from \"./question-models\";\n\nexport interface StudentTestQuestionStatisticDetailedModel {\n id: string;\n studentId: string;\n questionVersionId: string;\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n question: TestQuestionModel;\n}\n\nexport interface SearchTestQuestionErrorsStatisticRequest {\n isLastAnswerCorrect: boolean | null;\n isActualQuestionVersion: boolean | null;\n studentId: string;\n questionTypes: Array<TestQuestionType>;\n orderType: TestQuestionErrorsStatisticOrderType;\n count: number | null;\n offSet: number;\n}\n\nexport enum TestQuestionErrorsStatisticOrderType {\n MostErrors = 'MostErrors',\n RecentErrors = 'RecentErrors'\n}\n\nexport interface QuestionStatisticComputingState {\n toComputeQuestionReportsCount: number;\n notActualQuestionVersionReportsCount: number;\n toComputeStudentSnapshotsCount: number;\n toComputeStudentGroupSnapshotsCount: number;\n toComputeAggregatedSnapshotRequestsCount: number;\n toRecomputeIsActualVersionPropertyCount: number;\n dataOnUtc: string;\n}\n\nexport interface StudentStatisticSnapshotValueModel {\n studentId: string;\n dataOnUtc: string;\n computedOnUtc: string;\n recomputingRequired: boolean;\n checkedQuestionsCount: number;\n tags: Array<StudentStatisticSnapshotTagValueModel>;\n subjects: Array<StudentStatisticSnapshotSubjectValueModel>;\n}\n\nexport interface StudentStatisticSnapshotValueDebugInfoModel {\n hasSnapshot: boolean;\n studentId: string;\n dataOnUtc: string;\n computedOnUtc: string;\n recomputingRequired: boolean;\n lastRecomputingRequiredSetOnUtc: string;\n checkedQuestionsCount: number;\n lastQuestionAnsweredOnUtc: string;\n lastQuestionAggregateComputedOnUtc: string;\n}\n\nexport interface StudentStatisticSnapshotTagValueModel {\n tagId: string;\n tagDisplayName: string;\n statistic: ComputedStatisticPresentationModel;\n}\n\nexport interface ComputedStatisticPresentationModel {\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n attemptsWithScoreTotalCount: number;\n totalAttemptsCount: number;\n successRatePercents: string;\n successRateRankValue: number;\n earnedPoints: number;\n totalPoints: number;\n}\n\nexport interface StudentStatisticSnapshotSubjectValueModel {\n subjectId: string;\n subjectName: string;\n statistic: ComputedStatisticPresentationModel;\n}","/**\n * Роли для модуля Tutor\n */\nexport class TutorRoles {\n\n /**\n * Куратор - проверяет домашние задания студентов (учеников).\n */\n static readonly curator: string = 'Tutor.Curator';\n\n /**\n * Администратор - управляет и настраивает платформу\n */\n static readonly admin: string = 'Tutor.Admin';\n\n /**\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\n */\n static readonly student: string = 'Tutor.Student';\n\n /**\n * Пользователь, который может вносить вопросы\n */\n static readonly testAuthor: string = 'Tutor.TestAuthor';\n\n /**\n * Администратор конкретной школы\n */\n static readonly schoolAdmin: string = 'Tutor.SchoolAdmin';\n}","export class ImageSrcExtensions {\n\n /**\n * Вовзращает полный путь к изображению по идентификатору файла и типу размера изображения \n * @param publicImageUrlFormat Форматированная строка содержащая {fileId} и {sizeType} для замены\n * @param imageFileId Идентификатор изображения\n * @param imageType Тип изображения\n * @returns \n */\n static createImagePath(publicImageUrlFormat: string, imageFileId: number | string, sizeType = 'Medium'): string | null {\n \n if (imageFileId === null || imageFileId === undefined) {\n return null;\n }\n\n return publicImageUrlFormat.replace('{sizeType}', sizeType).replace('{fileId}', imageFileId.toString())\n }\n}\n","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/consts';\nexport * from './lib/extensions'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Observable } from 'rxjs';
5
- import { BaseApiResponse as BaseApiResponse$1 } from 'croco-generic-app-logic';
5
+ import { BaseApiResponse as BaseApiResponse$1, GenericBaseApiResponse as GenericBaseApiResponse$1 } from 'croco-generic-app-logic';
6
6
 
7
7
  declare class TutorLogicModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TutorLogicModule, never>;
@@ -1314,6 +1314,15 @@ interface StudentGroupStatisticSnapshotInfoModel {
1314
1314
  studentIdsWithoutStatistic: Array<string>;
1315
1315
  }
1316
1316
 
1317
+ interface TutorUserTelegramData {
1318
+ userId: string;
1319
+ telegramUserId: number | null;
1320
+ telegramUserName: string;
1321
+ }
1322
+ interface TelegramLinkResponse {
1323
+ command: string;
1324
+ }
1325
+
1317
1326
  declare class TestsService {
1318
1327
  private readonly _httpClient;
1319
1328
  baseControllerUrl: string;
@@ -1903,6 +1912,17 @@ declare class SubjectMenuService {
1903
1912
  static ɵprov: i0.ɵɵInjectableDeclaration<SubjectMenuService>;
1904
1913
  }
1905
1914
 
1915
+ declare class TutorUserTelegramService {
1916
+ private readonly _httpClient;
1917
+ baseControllerUrl: string;
1918
+ constructor(_httpClient: HttpClient, baseUrl: string);
1919
+ createLink(): rxjs.Observable<GenericBaseApiResponse$1<TelegramLinkResponse>>;
1920
+ unLink(id: string): rxjs.Observable<BaseApiResponse$1>;
1921
+ getData(): rxjs.Observable<TutorUserTelegramData>;
1922
+ static ɵfac: i0.ɵɵFactoryDeclaration<TutorUserTelegramService, never>;
1923
+ static ɵprov: i0.ɵɵInjectableDeclaration<TutorUserTelegramService>;
1924
+ }
1925
+
1906
1926
  /**
1907
1927
  * Роли для модуля Tutor
1908
1928
  */
@@ -1940,5 +1960,5 @@ declare class ImageSrcExtensions {
1940
1960
  static createImagePath(publicImageUrlFormat: string, imageFileId: number | string, sizeType?: string): string | null;
1941
1961
  }
1942
1962
 
1943
- export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CoursePaymentQueryService, CoursePaymentService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, DefaultCourseLandingPageQueryService, GapType, GroupStatisticSnapshotStudentService, ImageSrcExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, PmtSystemService, QuestionLikeService, QuestionValidationSourceType, SelectRightAnswerOrAnswersQuestionDataItemType, StudentAggregatedStatisticSnapshotService, StudentCoursePaymentType, StudentCourseProgressQueryService, StudentCourseProgressService, StudentCourseViewService, StudentGroupCourseAccessService, StudentGroupEnterService, StudentGroupInfoPageService, StudentGroupMaterialService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentGroupType, StudentQueryService, StudentRegistrationService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionErrorsStatisticOrderType, TestQuestionStatisticQueryService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorLogicModule, TutorRoles };
1944
- export type { AddCoursePaymentRequest, AddCoursePaymentResult, Answer, BaseApiResponse, ChangeQuestionLike, CmsBooleanProperty, CmsButton, CmsPageBlockModel, CmsPageButton, CmsPageModel, CmsPageNavigationItem, CmsPropertiesModel, CmsStringProperty, ComputedStatisticPresentationModel, CourseDetailedModel, CourseItemGlobalTestRestrictionModel, CourseItemStudentTestRestrictionModel, CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, CourseOrderModel, CourseRemovingAllTestRestrictionsState, CourseRemovingAllTestRestrictionsStateModel, CourseShopWindowDetailedModel, CourseShopWindowItemCardOptionsModel, CourseShopWindowItemDetailedModel, CourseShopWindowItemModel, CourseSimpleModel, CourseThemeDetailedModel, CourseThemeIdWithDeadlineWarnings, CourseThemeItemModel, CourseThemeItemStudentDeadlineWarningModel, CourseThemeItemTestModel, CourseThemeItemUISettingsModel, CourseThemeSolutionsWithTestRestrictionsViewModel, CreateCourseOrderRequest, CreateCourseOrderResponse, CreateOrUpdateCuratorMessageTemplate, CreateSubjectMenuRequest, CreateSubjectRequest, CreateTestForStudentErrorsRequest, CreateTestRequest, CuratorMessageTemplateModel, DeadLineWithWarningMessage, DefaultCourseLandingDisplayOptions, DefaultCourseLandingPageModel, DeleteCuratorMessageTemplate, DemoPaymentDescription, EditTestRequest, EnterGroupResponse, EnumValueTypeWithDescriptionStudentCoursePaymentType, FinishStudentCourseThemeProgressRequest, GapModel, GapsQuestionData, GenericBaseApiResponse, GetCourseThemeItemStudentTestRestrictionRequest, GetListResult, GetStudentCourseThemeItemsDeadlineWarningsRequest, GetStudentGroupCourseAccessRequest, GetStudentGroupInfoPageRequest, GetStudentInGroupStatisticSnapshotRequest, GetToGroupByCodeRequest, IconApplicationSettings, IconApplicatonSettings, IconSimpleModel$1 as IconSimpleModel, MainTelegramBotSettings, ManyAnswersBoxesQuestionData, MultiSchoolOptions, OrderPaymentSystemsRequest, OrderSubjectsRequest, PaymentSystemModel, ProgressModel, QuestionAnswer, QuestionAnswerBox, QuestionAnswerWithResult, QuestionIdWithLike, QuestionInSolutionIdModel, QuestionPointsValidationModel, QuestionStatisticComputingState, QuestionsFilter, RegisterModel, RegisterStudentRequest, RegisteredUser, SaveQuestionPointsValidation, SearchCourseLandingPageRequest, SearchCourseProgressesRequest, SearchCuratorMessageTemplates, SearchMyTestSolutionsRequest, SearchPaymentSystemsRequest, SearchQuestionsByLikes, SearchStudentCoursePaymentsRequest, SearchStudentGroupMaterialsRequest, SearchStudentGroupsByStudentRequest, SearchStudentGroupsRequest, SearchStudentTestSolutionsRequest, SearchStudentThemeItemTestRestrictionsRequest, SearchStudentsInGroup, SearchStudentsRequest, SearchTestQuestionErrorsStatisticRequest, SearchTestsRequest, SelectRightAnswerOrAnswersQuestionData, SetPaymentSystemForCoursePayment, SolutionMarketingOptions, SolutionWithAnswerModel, SolutionWithAnswersModel, StartCourseThemeItemTestRequest, StartCourseThemeItemTestResult, StartCourseThemeRequest, StartSolutionFromDirectoryRequest, StartTestSolutionByTestIdRequest, StudentCourseItemTestSolution, StudentCourseItemTestSolutionValidationModel, StudentCoursePaymentDetailedModel, StudentCoursePaymentModel, StudentCourseProgressModel, StudentCourseProgressWithStudentModel, StudentCourseThemeProgressModel, StudentDemoSettings, StudentGroupAccessProlongationNotification, StudentGroupCourseProgressSimpleModel, StudentGroupCourseWithDetailedAccessModel, StudentGroupDetailedModel, StudentGroupGlobalPaymentPlanModel, StudentGroupInfoPageDetailedModel, StudentGroupInfoPageDetailedStudentAccessModel, StudentGroupPaymentPlanSimpleModel, StudentGroupPaymentPlansModel, StudentGroupSimpleModel, StudentGroupStatisticSnapshotInfoModel, StudentGroupWithCourseProgressModel, StudentGroupWithMaterialsModel, StudentGroupWithPaymentPlansModel, StudentInGroupSimpleModel, StudentInGroupStatisticBySubjectSnapshotValueModel, StudentInGroupStatisticByTagSnapshotValueModel, StudentInGroupStatisticSnapshotModel, StudentRegistrationResult, StudentSimpleModel, StudentStatisticSnapshotSubjectValueModel, StudentStatisticSnapshotTagValueModel, StudentStatisticSnapshotValueDebugInfoModel, StudentStatisticSnapshotValueModel, StudentTestGroupRelationDetailedModel, StudentTestQuestionStatisticDetailedModel, StudentTestSolutionDataModel, StudentTestSolutionDetailedModel, StudentTestSolutionDetailedTestModel, StudentTestSolutionDetailedTestQuestion, StudentTestSolutionModel, StudentTestSolutionSimpleModel, StudentTestSolutionWithChatInfo, SubjectCountsModel, SubjectMenuSimpleModel, SubjectMenuWithIconsModel, SubjectModel, SubjectWithClarificationsModel, SubjectWithIconModel, TelephoneInputOptions, TestModel, TestQuestionModel, TestQuestionModiferModel, TestQuestionWithModifiers, TestRestrictionModel, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, TestSolutionCourseData, TestSolutionCreatedResult, TestSolutionSystemValidationModel, TestSolutionWithPointsValidation, TestWithActiveSolutionModel, ThemeItemTestStudentRestrictionModel, TutorFullApplicationPublicOptions, TutorImagesPackSettings, TypeAnswerWithErrorsQuestionData, TypeRightAnswerQuestionData, UpdateStudentCourseThemeProgressRequest, UpdateStudentCourseThemeProgressResult, UpdateSubjectRequest, UserAgreementsOptions, WebAppRoutes };
1963
+ export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CoursePaymentQueryService, CoursePaymentService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, DefaultCourseLandingPageQueryService, GapType, GroupStatisticSnapshotStudentService, ImageSrcExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, PmtSystemService, QuestionLikeService, QuestionValidationSourceType, SelectRightAnswerOrAnswersQuestionDataItemType, StudentAggregatedStatisticSnapshotService, StudentCoursePaymentType, StudentCourseProgressQueryService, StudentCourseProgressService, StudentCourseViewService, StudentGroupCourseAccessService, StudentGroupEnterService, StudentGroupInfoPageService, StudentGroupMaterialService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentGroupType, StudentQueryService, StudentRegistrationService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionErrorsStatisticOrderType, TestQuestionStatisticQueryService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorLogicModule, TutorRoles, TutorUserTelegramService };
1964
+ export type { AddCoursePaymentRequest, AddCoursePaymentResult, Answer, BaseApiResponse, ChangeQuestionLike, CmsBooleanProperty, CmsButton, CmsPageBlockModel, CmsPageButton, CmsPageModel, CmsPageNavigationItem, CmsPropertiesModel, CmsStringProperty, ComputedStatisticPresentationModel, CourseDetailedModel, CourseItemGlobalTestRestrictionModel, CourseItemStudentTestRestrictionModel, CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, CourseOrderModel, CourseRemovingAllTestRestrictionsState, CourseRemovingAllTestRestrictionsStateModel, CourseShopWindowDetailedModel, CourseShopWindowItemCardOptionsModel, CourseShopWindowItemDetailedModel, CourseShopWindowItemModel, CourseSimpleModel, CourseThemeDetailedModel, CourseThemeIdWithDeadlineWarnings, CourseThemeItemModel, CourseThemeItemStudentDeadlineWarningModel, CourseThemeItemTestModel, CourseThemeItemUISettingsModel, CourseThemeSolutionsWithTestRestrictionsViewModel, CreateCourseOrderRequest, CreateCourseOrderResponse, CreateOrUpdateCuratorMessageTemplate, CreateSubjectMenuRequest, CreateSubjectRequest, CreateTestForStudentErrorsRequest, CreateTestRequest, CuratorMessageTemplateModel, DeadLineWithWarningMessage, DefaultCourseLandingDisplayOptions, DefaultCourseLandingPageModel, DeleteCuratorMessageTemplate, DemoPaymentDescription, EditTestRequest, EnterGroupResponse, EnumValueTypeWithDescriptionStudentCoursePaymentType, FinishStudentCourseThemeProgressRequest, GapModel, GapsQuestionData, GenericBaseApiResponse, GetCourseThemeItemStudentTestRestrictionRequest, GetListResult, GetStudentCourseThemeItemsDeadlineWarningsRequest, GetStudentGroupCourseAccessRequest, GetStudentGroupInfoPageRequest, GetStudentInGroupStatisticSnapshotRequest, GetToGroupByCodeRequest, IconApplicationSettings, IconApplicatonSettings, IconSimpleModel$1 as IconSimpleModel, MainTelegramBotSettings, ManyAnswersBoxesQuestionData, MultiSchoolOptions, OrderPaymentSystemsRequest, OrderSubjectsRequest, PaymentSystemModel, ProgressModel, QuestionAnswer, QuestionAnswerBox, QuestionAnswerWithResult, QuestionIdWithLike, QuestionInSolutionIdModel, QuestionPointsValidationModel, QuestionStatisticComputingState, QuestionsFilter, RegisterModel, RegisterStudentRequest, RegisteredUser, SaveQuestionPointsValidation, SearchCourseLandingPageRequest, SearchCourseProgressesRequest, SearchCuratorMessageTemplates, SearchMyTestSolutionsRequest, SearchPaymentSystemsRequest, SearchQuestionsByLikes, SearchStudentCoursePaymentsRequest, SearchStudentGroupMaterialsRequest, SearchStudentGroupsByStudentRequest, SearchStudentGroupsRequest, SearchStudentTestSolutionsRequest, SearchStudentThemeItemTestRestrictionsRequest, SearchStudentsInGroup, SearchStudentsRequest, SearchTestQuestionErrorsStatisticRequest, SearchTestsRequest, SelectRightAnswerOrAnswersQuestionData, SetPaymentSystemForCoursePayment, SolutionMarketingOptions, SolutionWithAnswerModel, SolutionWithAnswersModel, StartCourseThemeItemTestRequest, StartCourseThemeItemTestResult, StartCourseThemeRequest, StartSolutionFromDirectoryRequest, StartTestSolutionByTestIdRequest, StudentCourseItemTestSolution, StudentCourseItemTestSolutionValidationModel, StudentCoursePaymentDetailedModel, StudentCoursePaymentModel, StudentCourseProgressModel, StudentCourseProgressWithStudentModel, StudentCourseThemeProgressModel, StudentDemoSettings, StudentGroupAccessProlongationNotification, StudentGroupCourseProgressSimpleModel, StudentGroupCourseWithDetailedAccessModel, StudentGroupDetailedModel, StudentGroupGlobalPaymentPlanModel, StudentGroupInfoPageDetailedModel, StudentGroupInfoPageDetailedStudentAccessModel, StudentGroupPaymentPlanSimpleModel, StudentGroupPaymentPlansModel, StudentGroupSimpleModel, StudentGroupStatisticSnapshotInfoModel, StudentGroupWithCourseProgressModel, StudentGroupWithMaterialsModel, StudentGroupWithPaymentPlansModel, StudentInGroupSimpleModel, StudentInGroupStatisticBySubjectSnapshotValueModel, StudentInGroupStatisticByTagSnapshotValueModel, StudentInGroupStatisticSnapshotModel, StudentRegistrationResult, StudentSimpleModel, StudentStatisticSnapshotSubjectValueModel, StudentStatisticSnapshotTagValueModel, StudentStatisticSnapshotValueDebugInfoModel, StudentStatisticSnapshotValueModel, StudentTestGroupRelationDetailedModel, StudentTestQuestionStatisticDetailedModel, StudentTestSolutionDataModel, StudentTestSolutionDetailedModel, StudentTestSolutionDetailedTestModel, StudentTestSolutionDetailedTestQuestion, StudentTestSolutionModel, StudentTestSolutionSimpleModel, StudentTestSolutionWithChatInfo, SubjectCountsModel, SubjectMenuSimpleModel, SubjectMenuWithIconsModel, SubjectModel, SubjectWithClarificationsModel, SubjectWithIconModel, TelegramLinkResponse, TelephoneInputOptions, TestModel, TestQuestionModel, TestQuestionModiferModel, TestQuestionWithModifiers, TestRestrictionModel, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, TestSolutionCourseData, TestSolutionCreatedResult, TestSolutionSystemValidationModel, TestSolutionWithPointsValidation, TestWithActiveSolutionModel, ThemeItemTestStudentRestrictionModel, TutorFullApplicationPublicOptions, TutorImagesPackSettings, TutorUserTelegramData, TypeAnswerWithErrorsQuestionData, TypeRightAnswerQuestionData, UpdateStudentCourseThemeProgressRequest, UpdateStudentCourseThemeProgressResult, UpdateSubjectRequest, UserAgreementsOptions, WebAppRoutes };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutor-logic",
3
- "version": "20.0.1",
3
+ "version": "20.0.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.15",
6
6
  "@angular/core": "^20.3.15"