tutor-logic 1.0.0 → 1.0.1

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.
@@ -3,34 +3,25 @@ import { Injectable } from "@angular/core";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common/http";
5
5
  /**
6
- * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
6
+ * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController
7
7
  *
8
- * Предоставляет методы для управления ограничениями теста для блока курса
8
+ * Предоставляет методы для управления глобальными ограничениями теста для блока курса
9
9
  *
10
- * базовый путь = api/tutor/course-theme-item/test-restriction/student
10
+ * базовый путь = api/tutor/course-theme-item/test-restriction
11
11
  */
12
12
  export class CourseThemeItemTestRestrictionService {
13
- constructor(http, baseUrl) {
14
- this.http = http;
13
+ constructor(_http, baseUrl) {
14
+ this._http = _http;
15
15
  this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
16
16
  }
17
17
  setGlobal(model) {
18
- return this.http.post(this.baseControllerUrl + 'global', model);
18
+ return this._http.post(this.baseControllerUrl + 'global', model);
19
19
  }
20
20
  getGlobal(id) {
21
- return this.http.get(this.baseControllerUrl + `global/${id}`);
21
+ return this._http.get(this.baseControllerUrl + `global/${id}`);
22
22
  }
23
- updateForStudent(model) {
24
- return this.http.post(this.baseControllerUrl + `student/update`, model);
25
- }
26
- getStudentRestriction(model) {
27
- return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);
28
- }
29
- getStudentRestrictionWithDeadLineWarning(model) {
30
- return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);
31
- }
32
- searchStudents(model) {
33
- return this.http.post(this.baseControllerUrl + 'student/query/search', model);
23
+ removeAll(courseId) {
24
+ return this._http.post(this.baseControllerUrl + `remove-all/${courseId}`, {});
34
25
  }
35
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
27
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionService, providedIn: 'root' }); }
@@ -44,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
44
35
  type: Inject,
45
36
  args: ['BASE_URL']
46
37
  }] }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9saWIvc2VydmljZXMvQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8scUNBQXFDO0lBRzlDLFlBQ1ksSUFBZ0IsRUFDSixPQUFlO1FBRDNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFHeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sR0FBRywrQ0FBK0MsQ0FBQztJQUN2RixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTJDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTRDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBc0Q7UUFDeEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBa0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLDhDQUE4QyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFFRCx3Q0FBd0MsQ0FBQyxLQUFzRDtRQUMzRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsb0VBQW9FLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEwsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvRDtRQUMvRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkksQ0FBQzsrR0FoQ1EscUNBQXFDLDRDQUtsQyxVQUFVO21IQUxiLHFDQUFxQyxjQUZsQyxNQUFNOzs0RkFFVCxxQ0FBcUM7a0JBSGpELFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UsIEdldExpc3RSZXN1bHQgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCwgVGVzdFJlc3RyaWN0aW9uTW9kZWwsIENvdXJzZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uTW9kZWwsIEdldENvdXJzZVRoZW1lSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25SZXF1ZXN0LCBUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0LCBUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uV2l0aERlYWRMaW5lV2FybmluZ1Jlc3VsdCwgU2VhcmNoU3R1ZGVudFRoZW1lSXRlbVRlc3RSZXN0cmljdGlvbnNSZXF1ZXN0LCBUaGVtZUl0ZW1UZXN0U3R1ZGVudFJlc3RyaWN0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL3Rlc3QtcmVzdHJpY3Rpb24tbW9kZWxzXCI7XHJcblxyXG4vKipcclxuICog0JzQtdGC0L7QtNGLINC60L7QvdGC0YDQvtC70LvQtdGA0LAgVHV0b3IuQXBpLkNvbnRyb2xsZXJzLkNvdXJzZXMuQ291cnNlVGhlbWVJdGVtU3R1ZGVudFRlc3RSZXN0cmljdGlvbkNvbnRyb2xsZXJcclxuICogXHJcbiAqINCf0YDQtdC00L7RgdGC0LDQstC70Y/QtdGCINC80LXRgtC+0LTRiyDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0L7Qs9GA0LDQvdC40YfQtdC90LjRj9C80Lgg0YLQtdGB0YLQsCDQtNC70Y8g0LHQu9C+0LrQsCDQutGD0YDRgdCwXHJcbiAqIFxyXG4gKiDQsdCw0LfQvtCy0YvQuSDQv9GD0YLRjCA9IGFwaS90dXRvci9jb3Vyc2UtdGhlbWUtaXRlbS90ZXN0LXJlc3RyaWN0aW9uL3N0dWRlbnRcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBiYXNlQ29udHJvbGxlclVybDogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBASW5qZWN0KCdCQVNFX1VSTCcpIGJhc2VVcmw6IHN0cmluZ1xyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5iYXNlQ29udHJvbGxlclVybCA9IGJhc2VVcmwgKyAnYXBpL3R1dG9yL2NvdXJzZS10aGVtZS1pdGVtL3Rlc3QtcmVzdHJpY3Rpb24vJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRHbG9iYWwobW9kZWw6IENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCYXNlQXBpUmVzcG9uc2U+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyAnZ2xvYmFsJywgbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEdsb2JhbChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VGVzdFJlc3RyaWN0aW9uTW9kZWw+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyBgZ2xvYmFsLyR7aWR9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRm9yU3R1ZGVudChtb2RlbDogQ291cnNlSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25Nb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCYXNlQXBpUmVzcG9uc2U+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyBgc3R1ZGVudC91cGRhdGVgLCBtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3R1ZGVudFJlc3RyaWN0aW9uKG1vZGVsOiBHZXRDb3Vyc2VUaGVtZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0Pih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHN0dWRlbnQvcXVlcnkvZ2V0LXZhbGlkYXRlZC1pdGVtLXJlc3RyaWN0aW9uYCwgbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFN0dWRlbnRSZXN0cmljdGlvbldpdGhEZWFkTGluZVdhcm5pbmcobW9kZWw6IEdldENvdXJzZVRoZW1lSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFRlc3RSZXN0cmljdGlvblZhbGlkYXRpb25XaXRoRGVhZExpbmVXYXJuaW5nUmVzdWx0Pih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHN0dWRlbnQvcXVlcnkvZ2V0LXZhbGlkYXRlZC1pdGVtLXJlc3RyaWN0aW9uLXdpdGgtZGVhZGxpbmUtd2FybmluZ2AsIG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2hTdHVkZW50cyhtb2RlbDogU2VhcmNoU3R1ZGVudFRoZW1lSXRlbVRlc3RSZXN0cmljdGlvbnNSZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldExpc3RSZXN1bHQ8VGhlbWVJdGVtVGVzdFN0dWRlbnRSZXN0cmljdGlvbk1vZGVsPj4odGhpcy5iYXNlQ29udHJvbGxlclVybCArICdzdHVkZW50L3F1ZXJ5L3NlYXJjaCcsIG1vZGVsKTtcclxuICAgIH1cclxufSJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9saWIvc2VydmljZXMvQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8scUNBQXFDO0lBRzlDLFlBQ3FCLEtBQWlCLEVBQ2QsT0FBZTtRQURsQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBR2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLEdBQUcsK0NBQStDLENBQUM7SUFDdkYsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUEyQztRQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFrQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUF1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBa0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGNBQWMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkcsQ0FBQzsrR0FwQlEscUNBQXFDLDRDQUtsQyxVQUFVO21IQUxiLHFDQUFxQyxjQUZsQyxNQUFNOzs0RkFFVCxxQ0FBcUM7a0JBSGpELFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCwgVGVzdFJlc3RyaWN0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL3Rlc3QtcmVzdHJpY3Rpb24tbW9kZWxzXCI7XHJcblxyXG4vKipcclxuICog0JzQtdGC0L7QtNGLINC60L7QvdGC0YDQvtC70LvQtdGA0LAgVHV0b3IuQXBpLkNvbnRyb2xsZXJzLkNvdXJzZXMuQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uQ29udHJvbGxlclxyXG4gKiBcclxuICog0J/RgNC10LTQvtGB0YLQsNCy0LvRj9C10YIg0LzQtdGC0L7QtNGLINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDQs9C70L7QsdCw0LvRjNC90YvQvNC4INC+0LPRgNCw0L3QuNGH0LXQvdC40Y/QvNC4INGC0LXRgdGC0LAg0LTQu9GPINCx0LvQvtC60LAg0LrRg9GA0YHQsFxyXG4gKiBcclxuICog0LHQsNC30L7QstGL0Lkg0L/Rg9GC0YwgPSBhcGkvdHV0b3IvY291cnNlLXRoZW1lLWl0ZW0vdGVzdC1yZXN0cmljdGlvblxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGJhc2VDb250cm9sbGVyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBASW5qZWN0KCdCQVNFX1VSTCcpIGJhc2VVcmw6IHN0cmluZ1xyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5iYXNlQ29udHJvbGxlclVybCA9IGJhc2VVcmwgKyAnYXBpL3R1dG9yL2NvdXJzZS10aGVtZS1pdGVtL3Rlc3QtcmVzdHJpY3Rpb24vJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRHbG9iYWwobW9kZWw6IENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8QmFzZUFwaVJlc3BvbnNlPih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgJ2dsb2JhbCcsIG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRHbG9iYWwoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxUZXN0UmVzdHJpY3Rpb25Nb2RlbD4odGhpcy5iYXNlQ29udHJvbGxlclVybCArIGBnbG9iYWwvJHtpZH1gKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBbGwoY291cnNlSWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8QmFzZUFwaVJlc3BvbnNlPih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHJlbW92ZS1hbGwvJHtjb3Vyc2VJZH1gLCB7fSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,41 @@
1
+ import { Inject } from "@angular/core";
2
+ import { Injectable } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ /**
6
+ * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
7
+ *
8
+ * Предоставляет методы для управления ограничениями теста для блока курса
9
+ *
10
+ * базовый путь = api/tutor/course-theme-item/test-restriction/student
11
+ */
12
+ export class CourseThemeItemTestRestrictionStudentService {
13
+ constructor(http, baseUrl) {
14
+ this.http = http;
15
+ this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
16
+ }
17
+ updateForStudent(model) {
18
+ return this.http.post(this.baseControllerUrl + `student/update`, model);
19
+ }
20
+ getStudentRestriction(model) {
21
+ return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);
22
+ }
23
+ getStudentRestrictionWithDeadLineWarning(model) {
24
+ return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);
25
+ }
26
+ searchStudents(model) {
27
+ return this.http.post(this.baseControllerUrl + 'student/query/search', model);
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionStudentService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionStudentService, providedIn: 'root' }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionStudentService, decorators: [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root',
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: ['BASE_URL']
40
+ }] }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU3R1ZGVudFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL0NvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblN0dWRlbnRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSTNDOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw0Q0FBNEM7SUFHckQsWUFDWSxJQUFnQixFQUNKLE9BQWU7UUFEM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUd4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxHQUFHLCtDQUErQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUE0QztRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFrQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXNEO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyw4Q0FBOEMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzSSxDQUFDO0lBRUQsd0NBQXdDLENBQUMsS0FBc0Q7UUFDM0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLG9FQUFvRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BMLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBb0Q7UUFDL0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBc0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZJLENBQUM7K0dBeEJRLDRDQUE0Qyw0Q0FLekMsVUFBVTttSEFMYiw0Q0FBNEMsY0FGekMsTUFBTTs7NEZBRVQsNENBQTRDO2tCQUh4RCxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBTVEsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQmFzZUFwaVJlc3BvbnNlLCBHZXRMaXN0UmVzdWx0IH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBDb3Vyc2VJdGVtU3R1ZGVudFRlc3RSZXN0cmljdGlvbk1vZGVsLCBHZXRDb3Vyc2VUaGVtZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uUmVxdWVzdCwgVGVzdFJlc3RyaWN0aW9uVmFsaWRhdGlvblJlc3VsdCwgVGVzdFJlc3RyaWN0aW9uVmFsaWRhdGlvbldpdGhEZWFkTGluZVdhcm5pbmdSZXN1bHQsIFNlYXJjaFN0dWRlbnRUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25zUmVxdWVzdCwgVGhlbWVJdGVtVGVzdFN0dWRlbnRSZXN0cmljdGlvbk1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy90ZXN0LXJlc3RyaWN0aW9uLW1vZGVsc1wiO1xyXG5cclxuLyoqXHJcbiAqINCc0LXRgtC+0LTRiyDQutC+0L3RgtGA0L7Qu9C70LXRgNCwIFR1dG9yLkFwaS5Db250cm9sbGVycy5Db3Vyc2VzLkNvdXJzZVRoZW1lSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25Db250cm9sbGVyXHJcbiAqXHJcbiAqINCf0YDQtdC00L7RgdGC0LDQstC70Y/QtdGCINC80LXRgtC+0LTRiyDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0L7Qs9GA0LDQvdC40YfQtdC90LjRj9C80Lgg0YLQtdGB0YLQsCDQtNC70Y8g0LHQu9C+0LrQsCDQutGD0YDRgdCwXHJcbiAqXHJcbiAqINCx0LDQt9C+0LLRi9C5INC/0YPRgtGMID0gYXBpL3R1dG9yL2NvdXJzZS10aGVtZS1pdGVtL3Rlc3QtcmVzdHJpY3Rpb24vc3R1ZGVudFxyXG4gKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblN0dWRlbnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgYmFzZUNvbnRyb2xsZXJVcmw6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgQEluamVjdCgnQkFTRV9VUkwnKSBiYXNlVXJsOiBzdHJpbmdcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgPSBiYXNlVXJsICsgJ2FwaS90dXRvci9jb3Vyc2UtdGhlbWUtaXRlbS90ZXN0LXJlc3RyaWN0aW9uLyc7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRm9yU3R1ZGVudChtb2RlbDogQ291cnNlSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25Nb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCYXNlQXBpUmVzcG9uc2U+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyBgc3R1ZGVudC91cGRhdGVgLCBtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3R1ZGVudFJlc3RyaWN0aW9uKG1vZGVsOiBHZXRDb3Vyc2VUaGVtZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0Pih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHN0dWRlbnQvcXVlcnkvZ2V0LXZhbGlkYXRlZC1pdGVtLXJlc3RyaWN0aW9uYCwgbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFN0dWRlbnRSZXN0cmljdGlvbldpdGhEZWFkTGluZVdhcm5pbmcobW9kZWw6IEdldENvdXJzZVRoZW1lSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFRlc3RSZXN0cmljdGlvblZhbGlkYXRpb25XaXRoRGVhZExpbmVXYXJuaW5nUmVzdWx0Pih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHN0dWRlbnQvcXVlcnkvZ2V0LXZhbGlkYXRlZC1pdGVtLXJlc3RyaWN0aW9uLXdpdGgtZGVhZGxpbmUtd2FybmluZ2AsIG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2hTdHVkZW50cyhtb2RlbDogU2VhcmNoU3R1ZGVudFRoZW1lSXRlbVRlc3RSZXN0cmljdGlvbnNSZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldExpc3RSZXN1bHQ8VGhlbWVJdGVtVGVzdFN0dWRlbnRSZXN0cmljdGlvbk1vZGVsPj4odGhpcy5iYXNlQ29udHJvbGxlclVybCArICdzdHVkZW50L3F1ZXJ5L3NlYXJjaCcsIG1vZGVsKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -16,4 +16,5 @@ export { CourseThemeItemTestRestrictionService } from './CourseThemeItemTestRest
16
16
  export { SubjectMenuService } from './SubjectMenuService';
17
17
  export { SubjectQueryService } from './SubjectQueryService';
18
18
  export { SubjectsService } from './SubjectsService';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbkYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVGVzdHNTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IFR1dG9yQ29tbW9uU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9UdXRvckNvbW1vblNldHRpbmdzU2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50R3JvdXBRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRRdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cEVudGVyU2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwRW50ZXJTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUZXN0U29sdXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1Rlc3RTb2x1dGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSB9IGZyb20gJy4vVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSdcclxuZXhwb3J0IHsgT3BlbkFwaVF1ZXN0aW9uTGlrZVNlcnZpY2UsIE9wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9vcGVuLWFwaSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRUZXN0U29sdXRpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBUZXN0UmVsYXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgQ3VyYXRvck1lc3NhZ2VUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuL0N1cmF0b3JNZXNzYWdlVGVtcGxhdGVTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdWJqZWN0TWVudVNlcnZpY2UgfSBmcm9tICcuL1N1YmplY3RNZW51U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3ViamVjdFF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdHNTZXJ2aWNlIH0gZnJvbSAnLi9TdWJqZWN0c1NlcnZpY2UnIl19
19
+ export { CourseThemeItemTestRestrictionStudentService } from './CourseThemeItemTestRestrictionStudentService';
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbkYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVGVzdHNTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IFR1dG9yQ29tbW9uU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9UdXRvckNvbW1vblNldHRpbmdzU2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50R3JvdXBRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRRdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cEVudGVyU2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwRW50ZXJTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUZXN0U29sdXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1Rlc3RTb2x1dGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSB9IGZyb20gJy4vVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSdcclxuZXhwb3J0IHsgT3BlbkFwaVF1ZXN0aW9uTGlrZVNlcnZpY2UsIE9wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9vcGVuLWFwaSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRUZXN0U29sdXRpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBUZXN0UmVsYXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgQ3VyYXRvck1lc3NhZ2VUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuL0N1cmF0b3JNZXNzYWdlVGVtcGxhdGVTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdWJqZWN0TWVudVNlcnZpY2UgfSBmcm9tICcuL1N1YmplY3RNZW51U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3ViamVjdFF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdHNTZXJ2aWNlIH0gZnJvbSAnLi9TdWJqZWN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblN0dWRlbnRTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TdHVkZW50U2VydmljZSciXX0=
@@ -473,34 +473,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
473
473
  }] }]; } });
474
474
 
475
475
  /**
476
- * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
476
+ * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController
477
477
  *
478
- * Предоставляет методы для управления ограничениями теста для блока курса
478
+ * Предоставляет методы для управления глобальными ограничениями теста для блока курса
479
479
  *
480
- * базовый путь = api/tutor/course-theme-item/test-restriction/student
480
+ * базовый путь = api/tutor/course-theme-item/test-restriction
481
481
  */
482
482
  class CourseThemeItemTestRestrictionService {
483
- constructor(http, baseUrl) {
484
- this.http = http;
483
+ constructor(_http, baseUrl) {
484
+ this._http = _http;
485
485
  this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
486
486
  }
487
487
  setGlobal(model) {
488
- return this.http.post(this.baseControllerUrl + 'global', model);
488
+ return this._http.post(this.baseControllerUrl + 'global', model);
489
489
  }
490
490
  getGlobal(id) {
491
- return this.http.get(this.baseControllerUrl + `global/${id}`);
491
+ return this._http.get(this.baseControllerUrl + `global/${id}`);
492
492
  }
493
- updateForStudent(model) {
494
- return this.http.post(this.baseControllerUrl + `student/update`, model);
495
- }
496
- getStudentRestriction(model) {
497
- return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);
498
- }
499
- getStudentRestrictionWithDeadLineWarning(model) {
500
- return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);
501
- }
502
- searchStudents(model) {
503
- return this.http.post(this.baseControllerUrl + 'student/query/search', model);
493
+ removeAll(courseId) {
494
+ return this._http.post(this.baseControllerUrl + `remove-all/${courseId}`, {});
504
495
  }
505
496
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
506
497
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionService, providedIn: 'root' }); }
@@ -623,6 +614,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
623
614
  args: ['BASE_URL']
624
615
  }] }]; } });
625
616
 
617
+ /**
618
+ * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
619
+ *
620
+ * Предоставляет методы для управления ограничениями теста для блока курса
621
+ *
622
+ * базовый путь = api/tutor/course-theme-item/test-restriction/student
623
+ */
624
+ class CourseThemeItemTestRestrictionStudentService {
625
+ constructor(http, baseUrl) {
626
+ this.http = http;
627
+ this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
628
+ }
629
+ updateForStudent(model) {
630
+ return this.http.post(this.baseControllerUrl + `student/update`, model);
631
+ }
632
+ getStudentRestriction(model) {
633
+ return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);
634
+ }
635
+ getStudentRestrictionWithDeadLineWarning(model) {
636
+ return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);
637
+ }
638
+ searchStudents(model) {
639
+ return this.http.post(this.baseControllerUrl + 'student/query/search', model);
640
+ }
641
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionStudentService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
642
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionStudentService, providedIn: 'root' }); }
643
+ }
644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CourseThemeItemTestRestrictionStudentService, decorators: [{
645
+ type: Injectable,
646
+ args: [{
647
+ providedIn: 'root',
648
+ }]
649
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
650
+ type: Inject,
651
+ args: ['BASE_URL']
652
+ }] }]; } });
653
+
626
654
  var TestQuestionType;
627
655
  (function (TestQuestionType) {
628
656
  TestQuestionType["SelectRightAnswerOrAnswers"] = "SelectRightAnswerOrAnswers";
@@ -691,5 +719,5 @@ class TutorRoles {
691
719
  * Generated bundle index. Do not edit.
692
720
  */
693
721
 
694
- export { AnswerValidationResultType, CourseDeadlineWarningService, CourseThemeItemTestRestrictionService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
722
+ export { AnswerValidationResultType, CourseDeadlineWarningService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
695
723
  //# 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/TutorCommonSettingsService.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/extensions/OpenApiExtensions.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiUrlProvider.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/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.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/subject.models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.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\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\r\n\r\n/**\r\n* Методы контроллера StudentGroupQueryController\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupQueryService {\r\n\r\n getBaseUrl() {\r\n return this._baseUrl + 'api/tutor/student-group/';\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string) {\r\n }\r\n\r\n public search(model: SearchStudentGroups): Observable<GetListResult<StudentGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.getBaseUrl() + 'query/search', model);\r\n }\r\n\r\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(this.getBaseUrl() + 'query/search/with-progresses', model);\r\n }\r\n\r\n public getById(id: string): Observable<StudentGroupDetailedModel> {\r\n return this._httpClient.get<StudentGroupDetailedModel>(this.getBaseUrl() + `query/by-id/${id}`);\r\n }\r\n\r\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\r\n return this._httpClient.get<StudentGroupSimpleModel[]>(this.getBaseUrl() + `by-student/${id}`);\r\n }\r\n\r\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(this.getBaseUrl() + 'students/search', model);\r\n }\r\n}\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, SearchStudents, StudentModel, StudentSimpleModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\r\n }\r\n\r\n public getById(id: string): Observable<StudentModel> {\r\n return this._httpClient.get<StudentModel>(this.baseControllerUrl + `ById/${id}`);\r\n }\r\n\r\n public getByTelegramId(telegramId: number): Observable<StudentModel> {\r\n return this._httpClient.get<StudentModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\r\n }\r\n\r\n public search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupEnterService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\r\n }\r\n\r\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\r\n }\r\n\r\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\r\n }\r\n}\r\n","import { OpenApiUrlProvider } from \"./OpenApiUrlProvider\";\r\n\r\nexport class OpenApiExtensions {\r\n static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string {\r\n return urlProvider.getUrl() + adding;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { OpenApiServerOptions } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiUrlProvider {\r\n\r\n _urlValue: string = \"\";\r\n _data: OpenApiServerOptions = {\r\n useOpenApiServer: false,\r\n openApiUrl: \"\"\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings(baseUrl);\r\n }\r\n\r\n getSettings(baseUrl: string) {\r\n this._httpClient.get<OpenApiServerOptions>(baseUrl + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._data = data;\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\r\n }\r\n\r\n getData() {\r\n return this._data;\r\n }\r\n\r\n getUrl(): string {\r\n return this._urlValue;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.getBaseUrl() + \"Search/By/Student\", model);\r\n }\r\n\r\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\r\n return this._httpClient.get<TestSolutionCourseData>(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);\r\n }\r\n\r\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + `Get/By/Id/${id}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\r\nBasePath = api/tutor/test-solution-result\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionResultService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution-result/';\r\n }\r\n\r\n public getQuestionsWithModifiersBySolution(solutionId: string) {\r\n return this._httpClient.get<TestQuestionWithModifiers[]>(this.baseControllerUrl + `modifiers/${solutionId}`);\r\n }\r\n\r\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\r\n return this._httpClient.get<TestSolutionWithPointsValidation>(this.baseControllerUrl + `points/${solutionId}`);\r\n }\r\n\r\n public create(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `create/${solutionId}`, {});\r\n }\r\n\r\n public recalculate(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `recalculate/${solutionId}`, {});\r\n }\r\n\r\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/save`, model);\r\n }\r\n\r\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/remove`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GenericBaseApiResponse, StartSolutionFromDirectory, StartTestSolutionByTestId, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionStartService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/Start/';\r\n }\r\n\r\n startByTestId(model: StartTestSolutionByTestId): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/TestId`, model);\r\n }\r\n\r\n startByDirectory(model: StartSolutionFromDirectory): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/Directory`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiQuestionLikeService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public search(model: SearchQuestionsByLikes) {\r\n return this._httpClient.post<GetListResult<TestQuestionModel>>(this.getBaseUrl() + 'search', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { StudentTestSolutionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiTestSolutionService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public getById(id: string) {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + id);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\r\n }\r\n\r\n checkAnswer(model: SolutionWithAnswerModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\r\n }\r\n\r\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\r\nBasePath = api/tutor/test-solution/query/mine\r\n*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\r\n }\r\n\r\n search(model: SearchMyTestSolutions) {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\r\n }\r\n\r\n getResultById(id: string){\r\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\r\n\r\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\r\n }\r\n\r\n getByTestId(testId: string){\r\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\r\n\r\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupTestRelationQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _baseUrlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n getById(studentGroupId: string, testId: string) {\r\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiResponse, GetListResult } from '../models';\r\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CuratorMessageTemplateService {\r\n getBaseControllerUrl() {\r\n return this._baseUrl + 'api/tutor/curator/message-template/';\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\r\n }\r\n\r\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\r\n }\r\n\r\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\r\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\r\n this.getBaseControllerUrl() + 'search',\r\n model,\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseDeadlineWarningService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\r\n }\r\n\r\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\r\n }\r\n\r\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GetListResult } from \"../models\";\r\nimport { CourseItemGlobalTestRestrictionModel, TestRestrictionModel, CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для управления ограничениями теста для блока курса\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + 'global', model);\r\n }\r\n\r\n getGlobal(id: string) {\r\n return this.http.get<TestRestrictionModel>(this.baseControllerUrl + `global/${id}`);\r\n }\r\n\r\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + `student/update`, model);\r\n }\r\n\r\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);\r\n }\r\n\r\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);\r\n }\r\n\r\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\r\n return this.http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'student/query/search', model);\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeSubjectConfiguration, SubjectMenu } from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\r\n * \r\n * Базовый урл = api/tutor/subject/menu\r\n * \r\n * Методы для работы с меню предмета\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectMenuService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/menu/';\r\n }\r\n\r\n public getByAliasOrId(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public update(model: ChangeSubjectConfiguration): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `Update`, model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n SubjectCountsModel,\r\n SubjectModel,\r\n SubjectWithIconModel\r\n} from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\r\n * \r\n * Базовый урл = api/tutor/subject/query\r\n * \r\n * Методы для получения предметов\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/query/';\r\n }\r\n\r\n public getAll(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll`);\r\n }\r\n\r\n public getAllCached(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll/Cached`);\r\n }\r\n\r\n public getAllWithIconsCached(iconSetId: string): Observable<SubjectWithIconModel[]> {\r\n return this._httpClient.get<SubjectWithIconModel[]>(this.baseControllerUrl + `GetAll/with-icons/Cached?iconSetId=${iconSetId}`);\r\n }\r\n\r\n public getByAliasOrId(id: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId?aliasOrId=${id}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CreateSubject,\r\n OrderSubjectsRequest,\r\n UpdateSubjectRequest,\r\n} from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\r\n * \r\n * Базовый урл = api/tutor/subject\r\n * \r\n * Методы для работы с предметами\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\r\n }\r\n\r\n public create(model: CreateSubject): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\r\n }\r\n\r\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\r\n }\r\n}\r\n","import { CourseThemeItemModel } from \"./course-models\";\r\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\r\n\r\nexport interface SearchStudentTestSolutions {\r\n isFinished: boolean | null;\r\n studentId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface TestSolutionCourseData {\r\n solutionId: string;\r\n courseThemeItemId: string;\r\n courseThemeItemIndex: number;\r\n courseThemeId: string;\r\n courseThemeName: string;\r\n courseName: string;\r\n courseId: string;\r\n nextItem: CourseThemeItemModel;\r\n}\r\n\r\nexport enum TestQuestionType {\r\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\r\n TypeRightAnswer = 'TypeRightAnswer',\r\n DetailedAnswer = 'DetailedAnswer',\r\n TypeAnswerWithErrors = 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string;\r\n answer: QuestionAnswer;\r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel;\r\n systemValidation: TestSolutionSystemValidationModel;\r\n unreadMessagesCount: number;\r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number;\r\n studentProgressPercents: number;\r\n maxTotalPoints: number;\r\n questionsCount: number;\r\n validatedQuestionsCount: number;\r\n hasRightAnswerQuestionsCount: number;\r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string;\r\n directoryId: string;\r\n useFilter: boolean;\r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter;\r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>;\r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string;\r\n studentGroupId: string;\r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n isFinished: boolean | null;\r\n testId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface StudentTestSolutionSimpleModel {\r\n id: string;\r\n testName: string;\r\n testId: string;\r\n isFinished: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\r\n CorrectAnswer = 'CorrectAnswer',\r\n InProccess = 'InProccess'\r\n}\r\n\r\nexport interface SolutionWithAnswersModel {\r\n solutionId: string;\r\n answers: Array<QuestionAnswer>;\r\n}\r\n\r\nexport interface StudentTestSolutionModel {\r\n studentId: string;\r\n solutionId: string;\r\n studentGroupId: string;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n isFinished: boolean;\r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel;\r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\r\n /**\r\n * Есть ли вопросы, которые находятся в процессе расчёта результата\r\n */\r\n hasAnswersInProccess: boolean;\r\n answers: Array<QuestionAnswerWithResult>;\r\n}\r\n\r\nexport interface TestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<TestQuestionModel>;\r\n}\r\n\r\nexport interface TestQuestionModel {\r\n id: string;\r\n title: string;\r\n titleBodyMarkUp: string;\r\n helpBodyMarkUp: string;\r\n answerExplanationMarkUp: string;\r\n titleBodyMarkUpMobile: string;\r\n helpBodyMarkUpMobile: string;\r\n answerExplanationMarkUpMobile: string;\r\n type: TestQuestionType;\r\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\r\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\r\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\r\n}\r\n\r\nexport interface TypeAnswerWithErrorsQuestionData {\r\n rightAnswer: string;\r\n}\r\n\r\n\r\nexport interface TestWithActiveSolutionModel {\r\n testId: string;\r\n activeSolutionId: string;\r\n test: TestModel;\r\n}\r\n\r\nexport interface QuestionAnswer {\r\n questionId: string;\r\n answerOrAnswers: string;\r\n}\r\n\r\nexport interface QuestionAnswerWithResult {\r\n isChecked: boolean;\r\n questionId: string;\r\n answerOrAnswers: string;\r\n pointsValidation: QuestionPointsValidationModel;\r\n resultType: AnswerValidationResultType;\r\n}\r\n\r\nexport interface QuestionPointsValidationModel {\r\n errorOccured: boolean; \r\n inProccess: boolean; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n isValidated: boolean; \r\n sourceType: QuestionValidationSourceType; \r\n validatorId: string; \r\n}\r\n\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string;\r\n rightAnswersCount: number;\r\n answers: Array<Answer>;\r\n}\r\n\r\n\r\nexport interface Answer {\r\n text: string;\r\n isRightAnswer: boolean;\r\n}\r\n\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive: boolean;\r\n rightAnswers: Array<string>;\r\n}","import { QuestionAnswerWithResult } from \"./test-solution-models\";\r\n\r\nexport interface TestSolutionWithPointsValidation {\r\n solutionId: string; \r\n hasPointsResult: boolean; \r\n questions: Array<QuestionAnswerWithResult>; \r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n inProccessQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport enum QuestionValidationSourceType {\r\n\tSystem = 'System',\r\n\tStudent = 'Student',\r\n\tCurator = 'Curator'\r\n}\r\n\r\nexport interface TestQuestionWithModifiers {\r\n questionId: string; \r\n modifiers: Array<TestQuestionModiferModel>; \r\n}\r\n\r\nexport interface TestQuestionModiferModel {\r\n name: string; \r\n data: string; \r\n}\r\n\r\nexport interface SaveQuestionPointsValidation {\r\n idModel: QuestionInSolutionIdModel; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n}\r\n\r\nexport interface QuestionInSolutionIdModel {\r\n solutionId: string; \r\n questionId: string; \r\n}","export interface CourseDetailedModel {\r\n id: string; \r\n name: string; \r\n templateId: string; \r\n weight: number; \r\n versionId: string; \r\n themes: Array<CourseThemeDetailedModel>; \r\n}\r\n\r\nexport interface CourseSimpleModel {\r\n id: string; \r\n name: string; \r\n weight: number; \r\n versionId: string; \r\n}\r\n\r\nexport interface CourseThemeDetailedModel {\r\n id: string; \r\n name: string; \r\n description: string; \r\n weight: number; \r\n courseVersionId: string; \r\n items: Array<CourseThemeItemModel>; \r\n}\r\n\r\n\r\nexport interface CourseThemeItemModel {\r\n id: string; \r\n name: string; \r\n html: string; \r\n type: CourseThemeItemType; \r\n weight: number; \r\n templateItemId: string; \r\n test: CourseThemeItemTestModel; \r\n}\r\n\r\n\r\nexport enum CourseThemeItemType {\r\n JustHtml = 'JustHtml',\r\n Test = 'Test'\r\n}\r\n\r\nexport interface CourseThemeItemTestModel {\r\n testId: string; \r\n testName: string; \r\n totalPointsToPass: number; \r\n totalPercentageToPass: number; \r\n}","import { StudentSimpleModel } from \"./student-models\";\r\n\r\nexport interface CourseItemGlobalTestRestrictionModel {\r\n courseThemeItemId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionModel {\r\n maxTriesCount: number | null;\r\n maxStartDate: string | null;\r\n}\r\n\r\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\r\n q: string;\r\n courseThemeItemId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface ThemeItemTestStudentRestrictionModel {\r\n restriction: TestRestrictionModel;\r\n student: StudentSimpleModel;\r\n}\r\n\r\nexport interface CourseItemStudentTestRestrictionModel {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionValidationResult {\r\n testRestriction: TestRestrictionModel;\r\n canStartTest: boolean;\r\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\r\n validationMessage: string;\r\n solutionsCount: number;\r\n attemptsLeft: number;\r\n}\r\n\r\nexport enum TestRestrictionValidationResultRuleType {\r\n DateExpired = 'DateExpired',\r\n AttemptsExceeded = 'AttemptsExceeded'\r\n}\r\n\r\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\r\n deadLineWarning: DeadLineWithWarningMessage;\r\n restrictionValidationResult: TestRestrictionValidationResult;\r\n}\r\n\r\nexport interface CourseThemeItemStudentDeadlineWarningModel {\r\n themeItemId: string;\r\n courseThemeId: string;\r\n deadLine: Date;\r\n warningMessage: string;\r\n}\r\n\r\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\r\n courseId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface CourseThemeIdWithDeadlineWarnings {\r\n courseThemeId: string;\r\n deadlines: Array<DeadLineWithWarningMessage>;\r\n}\r\n\r\n\r\nexport interface DeadLineWithWarningMessage {\r\n deadLine: Date;\r\n warningMessage: string;\r\n}\r\n","import { IconSimpleModel } from \"./icon-models\";\r\n\r\nexport interface SubjectMenu {\r\n root: SubjectMenuItem;\r\n}\r\n\r\nexport interface SubjectMenuItem {\r\n text: string;\r\n path: string;\r\n type: SubjectMenuItemType;\r\n workSpaceId: string;\r\n children: Array<SubjectMenuItem>;\r\n}\r\n\r\nexport enum SubjectMenuItemType {\r\n MenuItem = 'MenuItem',\r\n WorkSpaceLink = 'WorkSpaceLink',\r\n SubjectTestsLink = 'SubjectTestsLink',\r\n}\r\n\r\nexport interface SubjectModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface CreateSubject {\r\n name: string; \r\n alias: string; \r\n}\r\n\r\nexport interface UpdateSubjectRequest {\r\n id: string;\r\n name: string; \r\n alias: string; \r\n}\r\n\r\nexport interface SubjectCountsModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n questionsCount: number;\r\n testsCount: number;\r\n}\r\n\r\nexport interface ChangeSubjectConfiguration {\r\n id: string;\r\n configuration: SubjectMenu;\r\n}\r\n\r\nexport interface OrderSubjectsRequest {\r\n ids: Array<string>;\r\n}\r\n\r\nexport interface SubjectWithIconModel {\r\n id: string; \r\n name: string; \r\n alias: string; \r\n icon: IconSimpleModel; \r\n}\r\n","/**\r\n * Роли для модуля Tutor\r\n */\r\nexport class TutorRoles {\r\n\r\n /**\r\n * Куратор - проверяет домашние задания студентов (учеников).\r\n */\r\n static readonly curator: string = 'Tutor.Curator';\r\n\r\n /**\r\n * Администратор - управляет и настраивает платформу\r\n */\r\n static readonly admin: string = 'Tutor.Admin';\r\n\r\n /**\r\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\r\n */\r\n static readonly student: string = 'Tutor.Student';\r\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/extensions';\nexport * from './lib/consts'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":";;;;MAUa,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA,EAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE,EACR;AACF,iBAAA,CAAA;;;MCCY,YAAY,CAAA;IAGrB,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAEvC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;KAC7C;AAEM,IAAA,0BAA0B,CAAC,KAAsB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;KAC5H;AAEM,IAAA,MAAM,CAAC,KAAiB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC3F;AAEM,IAAA,IAAI,CAAC,KAAe,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;KACzF;AAnBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,4CAIT,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCLb,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,qBAAqB,CAAC;KAC5D;AAED,IAAA,GAAG,CAAC,IAAY,EAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;KACrF;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;KACjG;AAED,IAAA,GAAG,CAAC,KAAmB,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;KACxF;AAlBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;ACN1B;;AAEE;MAIW,wBAAwB,CAAA;IAEjC,UAAU,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;KACrD;IAED,WAAoB,CAAA,WAAuB,EACX,QAAgB,EAAA;QAD5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACX,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;KAC/C;AAEM,IAAA,MAAM,CAAC,KAA0B,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,IAAI,CAAC,UAAU,EAAE,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;KACnH;AAEM,IAAA,oBAAoB,CAAC,KAA0C,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAqD,IAAI,CAAC,UAAU,EAAE,GAAG,8BAA8B,EAAE,KAAK,CAAC,CAAC;KAC/I;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,YAAA,EAAe,EAAE,CAAA,CAAE,CAAC,CAAC;KACnG;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAC,CAAC;KAClG;AAEM,IAAA,eAAe,CAAC,KAA4B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2C,IAAI,CAAC,UAAU,EAAE,GAAG,iBAAiB,EAAE,KAAK,CAAC,CAAC;KACxH;AA5BQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAOrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAPb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAQQ,MAAM;2BAAC,UAAU,CAAA;;;MCXb,mBAAmB,CAAA;IAG5B,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KACjE;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,CAAA,KAAA,EAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;KACpF;AAEM,IAAA,eAAe,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,CAAA,aAAA,EAAgB,UAAU,CAAA,CAAE,CAAC,CAAC;KACpG;AAEM,IAAA,MAAM,CAAC,WAA2B,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAoC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;KACnH;AAlBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAIhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCJb,wBAAwB,CAAA;IAGjC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC,CAAC;KACvE;AAEM,IAAA,YAAY,CAAC,KAA8B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;KACrG;AAEM,IAAA,iBAAiB,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,EAAE,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KAC7G;AAdQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAIrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCXb,iBAAiB,CAAA;AAC5B,IAAA,OAAO,eAAe,CAAC,WAA+B,EAAE,MAAc,EAAA;AACpE,QAAA,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;KACtC;AACF;;MCCY,kBAAkB,CAAA;IAQ7B,WAAoB,CAAA,WAAuB,EACrB,OAAe,EAAA;QADjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAN3C,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AACvB,QAAA,IAAA,CAAA,KAAK,GAAyB;AAC5B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,UAAU,EAAE,EAAE;SACf,CAAA;AAIC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC3B;AAED,IAAA,WAAW,CAAC,OAAe,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuB,OAAO,GAAG,2BAA2B,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;AACjG,YAAA,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAC;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;AAClC,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AA7BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CASnB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AATT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAUI,MAAM;2BAAC,UAAU,CAAA;;;MCPT,wBAAwB,CAAA;IAEjC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;KACjG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;QADxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,eAAe,CAAC,KAAiC,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,IAAI,CAAC,UAAU,EAAE,GAAG,mBAAmB,EAAE,KAAK,CAAC,CAAC;KAChI;AAEM,IAAA,aAAa,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,YAAA,CAAc,CAAC,CAAC;KAC1G;AAEM,IAAA,eAAe,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,CAAE,CAAC,CAAC;KAChG;+GApBQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACJD;;;AAGE;MAIW,yBAAyB,CAAA;IAGlC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,iCAAiC,CAAC;KACxE;AAEM,IAAA,mCAAmC,CAAC,UAAkB,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8B,IAAI,CAAC,iBAAiB,GAAG,CAAA,UAAA,EAAa,UAAU,CAAA,CAAE,CAAC,CAAC;KAChH;AAEM,IAAA,0CAA0C,CAAC,UAAkB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmC,IAAI,CAAC,iBAAiB,GAAG,CAAA,OAAA,EAAU,UAAU,CAAA,CAAE,CAAC,CAAC;KAClH;AAEM,IAAA,MAAM,CAAC,UAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,UAAU,UAAU,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KACtG;AAEM,IAAA,WAAW,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,eAAe,UAAU,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KAC3G;AAEM,IAAA,kBAAkB,CAAC,KAAmC,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,wBAAA,CAA0B,EAAE,KAAK,CAAC,CAAC;KAC9I;AAEM,IAAA,oBAAoB,CAAC,KAAgC,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,0BAAA,CAA4B,EAAE,KAAK,CAAC,CAAC;KAChJ;AA9BQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4CAItB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFtB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCTb,+BAA+B,CAAA;IAGxC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC,CAAC;KACvE;AAED,IAAA,aAAa,CAAC,KAAgC,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,SAAA,CAAW,EAAE,KAAK,CAAC,CAAC;KAC/H;AAED,IAAA,gBAAgB,CAAC,KAAiC,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC,CAAC;KAClI;AAdQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAI5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAKzB,MAAM;2BAAC,UAAU,CAAA;;;MCFb,0BAA0B,CAAA;IAEnC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;KACpG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;QADxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,MAAM,CAAC,KAA6B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACvG;+GAZQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCCY,0BAA0B,CAAA;IAEnC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;KACnG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;QADxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;KACjF;+GAZQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCDY,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KACjE;AAED,IAAA,WAAW,CAAC,KAA8B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC,CAAC;KAClI;AAED,IAAA,cAAc,CAAC,KAA+B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAuD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChI;AAdQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAKzB,MAAM;2BAAC,UAAU,CAAA;;;ACN1B;;;AAGE;MAEW,+BAA+B,CAAA;IAGxC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,qCAAqC,CAAC;KAC5E;AAED,IAAA,MAAM,CAAC,KAA4B,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,CAAC;KAC1H;AAED,IAAA,aAAa,CAAC,EAAU,EAAA;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,OAAA,CAAS,CAAC;QAE5D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuD,GAAG,CAAC,CAAC;KAC1F;AAED,IAAA,WAAW,CAAC,MAAc,EAAA;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAA,cAAA,EAAiB,MAAM,CAAA,CAAE,CAAC;QAE7D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;KACjE;AAtBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAI5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAKzB,MAAM;2BAAC,UAAU,CAAA;;;MCLb,oCAAoC,CAAA;IAE7C,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;KACrG;IAED,WAAoB,CAAA,WAAuB,EAC/B,gBAAoC,EAAA;QAD5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAoB;KAC/C;IAED,OAAO,CAAC,cAAsB,EAAE,MAAc,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAwC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAW,QAAA,EAAA,MAAM,IAAI,cAAc,CAAA,CAAE,CAAC,CAAC;KACjI;+GAZQ,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAApC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFjC,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCGY,6BAA6B,CAAA;IACxC,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,qCAAqC,CAAC;KAC9D;IAID,WACmB,CAAA,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAHzB,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;AAMrC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;AAEM,IAAA,cAAc,CAAC,KAA2C,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;KACxG;AAEM,IAAA,MAAM,CAAC,KAAmC,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,oBAAoB,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC9F;AAEM,IAAA,MAAM,CAAC,KAAoC,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAC1B,IAAI,CAAC,oBAAoB,EAAE,GAAG,QAAQ,EACtC,KAAK,CACN,CAAC;KACH;AA3BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,4CAS9B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AATT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAUI,MAAM;2BAAC,UAAU,CAAA;;;ACdtB;;;;;;AAMG;MAIU,4BAA4B,CAAA;IAGrC,WACY,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oCAAoC,CAAC;KAC3E;AAED,IAAA,kBAAkB,CAAC,KAAwD,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA+C,IAAI,CAAC,iBAAiB,GAAG,CAAA,qBAAA,CAAuB,EAAE,KAAK,CAAC,CAAC;KACvI;AAED,IAAA,yBAAyB,CAAC,KAAwD,EAAA;AAC9E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAsC,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,CAA2B,EAAE,KAAK,CAAC,CAAC;KAClI;AAhBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,4CAKzB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAFzB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;;ACd1B;;;;;;AAMG;MAIU,qCAAqC,CAAA;IAG9C,WACY,CAAA,IAAgB,EACJ,OAAe,EAAA;QAD3B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAGxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,+CAA+C,CAAC;KACtF;AAED,IAAA,SAAS,CAAC,KAA2C,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACpF;AAED,IAAA,SAAS,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAA,OAAA,EAAU,EAAE,CAAA,CAAE,CAAC,CAAC;KACvF;AAED,IAAA,gBAAgB,CAAC,KAA4C,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,CAAA,cAAA,CAAgB,EAAE,KAAK,CAAC,CAAC;KAC5F;AAED,IAAA,qBAAqB,CAAC,KAAsD,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,iBAAiB,GAAG,CAAA,4CAAA,CAA8C,EAAE,KAAK,CAAC,CAAC;KAC1I;AAED,IAAA,wCAAwC,CAAC,KAAsD,EAAA;AAC3F,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqD,IAAI,CAAC,iBAAiB,GAAG,CAAA,kEAAA,CAAoE,EAAE,KAAK,CAAC,CAAC;KACnL;AAED,IAAA,cAAc,CAAC,KAAoD,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsD,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,EAAE,KAAK,CAAC,CAAC;KACtI;AAhCQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,4CAKlC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cAFlC,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;;ACf1B;;;;;;AAMG;MAIU,kBAAkB,CAAA;IAG7B,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,yBAAyB,CAAC;KAC9D;AAEM,IAAA,cAAc,CAAC,SAAiB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAc,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,EAA4B,SAAS,CAAA,CAAE,CAAC,CAAC;KAC5G;AAEM,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAc,IAAI,CAAC,iBAAiB,GAAG,CAAA,gCAAA,EAAmC,SAAS,CAAA,CAAE,CAAC,CAAC;KACnH;AAEM,IAAA,MAAM,CAAC,KAAiC,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,CAAC;KACzF;AApBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAKnB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ACZtB;;;;;;AAMG;MAIU,mBAAmB,CAAA;IAG9B,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KAC/D;IAEM,MAAM,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,IAAI,CAAC,iBAAiB,GAAG,CAAQ,MAAA,CAAA,CAAC,CAAC;KAChF;IAEM,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,IAAI,CAAC,iBAAiB,GAAG,CAAe,aAAA,CAAA,CAAC,CAAC;KACvF;AAEM,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,IAAI,CAAC,iBAAiB,GAAG,CAAA,mCAAA,EAAsC,SAAS,CAAA,CAAE,CAAC,CAAC;KACjI;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,EAA4B,EAAE,CAAA,CAAE,CAAC,CAAC;KAC5G;AAEM,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,IAAI,CAAC,iBAAiB,GAAG,CAAA,gCAAA,EAAmC,SAAS,CAAA,CAAE,CAAC,CAAC;KAC1H;AA5BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAKpB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ACdtB;;;;;;AAMG;MAIU,eAAe,CAAA;IAG1B,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oBAAoB,CAAC;KACzD;AAEM,IAAA,MAAM,CAAC,KAAoB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACzF;AAEM,IAAA,KAAK,CAAC,KAA2B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;KACxF;AAEM,IAAA,MAAM,CAAC,KAA2B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACzF;AApBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,4CAKhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ICJV,iBAKX;AALD,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AACzD,IAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,gBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,gBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AACjD,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA,CAAA;IAwDW,2BAMX;AAND,CAAA,UAAY,0BAA0B,EAAA;AAClC,IAAA,0BAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,IAAA,0BAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,IAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,0BAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,0BAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC7B,CAAC,EANW,0BAA0B,KAA1B,0BAA0B,GAMrC,EAAA,CAAA,CAAA;;IC1EW,6BAIX;AAJD,CAAA,UAAY,4BAA4B,EAAA;AACvC,IAAA,4BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACpB,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,GAIvC,EAAA,CAAA,CAAA;;ICmBW,oBAGX;AAHD,CAAA,UAAY,mBAAmB,EAAA;AAC5B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AAChB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAG9B,EAAA,CAAA,CAAA;;ICDW,wCAGX;AAHD,CAAA,UAAY,uCAAuC,EAAA;AAC/C,IAAA,uCAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,uCAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACzC,CAAC,EAHW,uCAAuC,KAAvC,uCAAuC,GAGlD,EAAA,CAAA,CAAA;;IC5BW,oBAIX;AAJD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACvC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAI9B,EAAA,CAAA,CAAA;;AClBD;;AAEG;MACU,UAAU,CAAA;AAEnB;;AAEG;aACa,IAAO,CAAA,OAAA,GAAW,eAAe,CAAC,EAAA;AAElD;;AAEG;aACa,IAAK,CAAA,KAAA,GAAW,aAAa,CAAC,EAAA;AAE9C;;AAEG;aACa,IAAO,CAAA,OAAA,GAAW,eAAe,CAAC,EAAA;;;AClBtD;;AAEG;;ACFH;;AAEG;;;;"}
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/TutorCommonSettingsService.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/extensions/OpenApiExtensions.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiUrlProvider.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/SubjectMenuService.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/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/subject.models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.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\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\r\n\r\n/**\r\n* Методы контроллера StudentGroupQueryController\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupQueryService {\r\n\r\n getBaseUrl() {\r\n return this._baseUrl + 'api/tutor/student-group/';\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string) {\r\n }\r\n\r\n public search(model: SearchStudentGroups): Observable<GetListResult<StudentGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.getBaseUrl() + 'query/search', model);\r\n }\r\n\r\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(this.getBaseUrl() + 'query/search/with-progresses', model);\r\n }\r\n\r\n public getById(id: string): Observable<StudentGroupDetailedModel> {\r\n return this._httpClient.get<StudentGroupDetailedModel>(this.getBaseUrl() + `query/by-id/${id}`);\r\n }\r\n\r\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\r\n return this._httpClient.get<StudentGroupSimpleModel[]>(this.getBaseUrl() + `by-student/${id}`);\r\n }\r\n\r\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(this.getBaseUrl() + 'students/search', model);\r\n }\r\n}\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, SearchStudents, StudentModel, StudentSimpleModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\r\n }\r\n\r\n public getById(id: string): Observable<StudentModel> {\r\n return this._httpClient.get<StudentModel>(this.baseControllerUrl + `ById/${id}`);\r\n }\r\n\r\n public getByTelegramId(telegramId: number): Observable<StudentModel> {\r\n return this._httpClient.get<StudentModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\r\n }\r\n\r\n public search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupEnterService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\r\n }\r\n\r\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\r\n }\r\n\r\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\r\n }\r\n}\r\n","import { OpenApiUrlProvider } from \"./OpenApiUrlProvider\";\r\n\r\nexport class OpenApiExtensions {\r\n static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string {\r\n return urlProvider.getUrl() + adding;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { OpenApiServerOptions } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiUrlProvider {\r\n\r\n _urlValue: string = \"\";\r\n _data: OpenApiServerOptions = {\r\n useOpenApiServer: false,\r\n openApiUrl: \"\"\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings(baseUrl);\r\n }\r\n\r\n getSettings(baseUrl: string) {\r\n this._httpClient.get<OpenApiServerOptions>(baseUrl + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._data = data;\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\r\n }\r\n\r\n getData() {\r\n return this._data;\r\n }\r\n\r\n getUrl(): string {\r\n return this._urlValue;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.getBaseUrl() + \"Search/By/Student\", model);\r\n }\r\n\r\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\r\n return this._httpClient.get<TestSolutionCourseData>(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);\r\n }\r\n\r\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + `Get/By/Id/${id}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\r\nBasePath = api/tutor/test-solution-result\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionResultService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution-result/';\r\n }\r\n\r\n public getQuestionsWithModifiersBySolution(solutionId: string) {\r\n return this._httpClient.get<TestQuestionWithModifiers[]>(this.baseControllerUrl + `modifiers/${solutionId}`);\r\n }\r\n\r\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\r\n return this._httpClient.get<TestSolutionWithPointsValidation>(this.baseControllerUrl + `points/${solutionId}`);\r\n }\r\n\r\n public create(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `create/${solutionId}`, {});\r\n }\r\n\r\n public recalculate(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `recalculate/${solutionId}`, {});\r\n }\r\n\r\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/save`, model);\r\n }\r\n\r\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/remove`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GenericBaseApiResponse, StartSolutionFromDirectory, StartTestSolutionByTestId, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionStartService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/Start/';\r\n }\r\n\r\n startByTestId(model: StartTestSolutionByTestId): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/TestId`, model);\r\n }\r\n\r\n startByDirectory(model: StartSolutionFromDirectory): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/Directory`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiQuestionLikeService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public search(model: SearchQuestionsByLikes) {\r\n return this._httpClient.post<GetListResult<TestQuestionModel>>(this.getBaseUrl() + 'search', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { StudentTestSolutionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiTestSolutionService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public getById(id: string) {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + id);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\r\n }\r\n\r\n checkAnswer(model: SolutionWithAnswerModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\r\n }\r\n\r\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\r\nBasePath = api/tutor/test-solution/query/mine\r\n*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\r\n }\r\n\r\n search(model: SearchMyTestSolutions) {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\r\n }\r\n\r\n getResultById(id: string){\r\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\r\n\r\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\r\n }\r\n\r\n getByTestId(testId: string){\r\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\r\n\r\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupTestRelationQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _baseUrlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n getById(studentGroupId: string, testId: string) {\r\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiResponse, GetListResult } from '../models';\r\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CuratorMessageTemplateService {\r\n getBaseControllerUrl() {\r\n return this._baseUrl + 'api/tutor/curator/message-template/';\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\r\n }\r\n\r\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\r\n }\r\n\r\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\r\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\r\n this.getBaseControllerUrl() + 'search',\r\n model,\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseDeadlineWarningService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\r\n }\r\n\r\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\r\n }\r\n\r\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { CourseItemGlobalTestRestrictionModel, TestRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\r\n * \r\n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + 'global', model);\r\n }\r\n\r\n getGlobal(id: string) {\r\n return this._http.get<TestRestrictionModel>(this.baseControllerUrl + `global/${id}`);\r\n }\r\n\r\n removeAll(courseId: string) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `remove-all/${courseId}`, {});\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeSubjectConfiguration, SubjectMenu } from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\r\n * \r\n * Базовый урл = api/tutor/subject/menu\r\n * \r\n * Методы для работы с меню предмета\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectMenuService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/menu/';\r\n }\r\n\r\n public getByAliasOrId(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public update(model: ChangeSubjectConfiguration): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `Update`, model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n SubjectCountsModel,\r\n SubjectModel,\r\n SubjectWithIconModel\r\n} from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\r\n * \r\n * Базовый урл = api/tutor/subject/query\r\n * \r\n * Методы для получения предметов\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/query/';\r\n }\r\n\r\n public getAll(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll`);\r\n }\r\n\r\n public getAllCached(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll/Cached`);\r\n }\r\n\r\n public getAllWithIconsCached(iconSetId: string): Observable<SubjectWithIconModel[]> {\r\n return this._httpClient.get<SubjectWithIconModel[]>(this.baseControllerUrl + `GetAll/with-icons/Cached?iconSetId=${iconSetId}`);\r\n }\r\n\r\n public getByAliasOrId(id: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId?aliasOrId=${id}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CreateSubject,\r\n OrderSubjectsRequest,\r\n UpdateSubjectRequest,\r\n} from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\r\n * \r\n * Базовый урл = api/tutor/subject\r\n * \r\n * Методы для работы с предметами\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\r\n }\r\n\r\n public create(model: CreateSubject): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\r\n }\r\n\r\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GetListResult } from \"../models\";\r\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n *\r\n * Предоставляет методы для управления ограничениями теста для блока курса\r\n *\r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionStudentService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + `student/update`, model);\r\n }\r\n\r\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);\r\n }\r\n\r\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);\r\n }\r\n\r\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\r\n return this.http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'student/query/search', model);\r\n }\r\n}\r\n","import { CourseThemeItemModel } from \"./course-models\";\r\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\r\n\r\nexport interface SearchStudentTestSolutions {\r\n isFinished: boolean | null;\r\n studentId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface TestSolutionCourseData {\r\n solutionId: string;\r\n courseThemeItemId: string;\r\n courseThemeItemIndex: number;\r\n courseThemeId: string;\r\n courseThemeName: string;\r\n courseName: string;\r\n courseId: string;\r\n nextItem: CourseThemeItemModel;\r\n}\r\n\r\nexport enum TestQuestionType {\r\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\r\n TypeRightAnswer = 'TypeRightAnswer',\r\n DetailedAnswer = 'DetailedAnswer',\r\n TypeAnswerWithErrors = 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string;\r\n answer: QuestionAnswer;\r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel;\r\n systemValidation: TestSolutionSystemValidationModel;\r\n unreadMessagesCount: number;\r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number;\r\n studentProgressPercents: number;\r\n maxTotalPoints: number;\r\n questionsCount: number;\r\n validatedQuestionsCount: number;\r\n hasRightAnswerQuestionsCount: number;\r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string;\r\n directoryId: string;\r\n useFilter: boolean;\r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter;\r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>;\r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string;\r\n studentGroupId: string;\r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n isFinished: boolean | null;\r\n testId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface StudentTestSolutionSimpleModel {\r\n id: string;\r\n testName: string;\r\n testId: string;\r\n isFinished: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\r\n CorrectAnswer = 'CorrectAnswer',\r\n InProccess = 'InProccess'\r\n}\r\n\r\nexport interface SolutionWithAnswersModel {\r\n solutionId: string;\r\n answers: Array<QuestionAnswer>;\r\n}\r\n\r\nexport interface StudentTestSolutionModel {\r\n studentId: string;\r\n solutionId: string;\r\n studentGroupId: string;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n isFinished: boolean;\r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel;\r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\r\n /**\r\n * Есть ли вопросы, которые находятся в процессе расчёта результата\r\n */\r\n hasAnswersInProccess: boolean;\r\n answers: Array<QuestionAnswerWithResult>;\r\n}\r\n\r\nexport interface TestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<TestQuestionModel>;\r\n}\r\n\r\nexport interface TestQuestionModel {\r\n id: string;\r\n title: string;\r\n titleBodyMarkUp: string;\r\n helpBodyMarkUp: string;\r\n answerExplanationMarkUp: string;\r\n titleBodyMarkUpMobile: string;\r\n helpBodyMarkUpMobile: string;\r\n answerExplanationMarkUpMobile: string;\r\n type: TestQuestionType;\r\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\r\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\r\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\r\n}\r\n\r\nexport interface TypeAnswerWithErrorsQuestionData {\r\n rightAnswer: string;\r\n}\r\n\r\n\r\nexport interface TestWithActiveSolutionModel {\r\n testId: string;\r\n activeSolutionId: string;\r\n test: TestModel;\r\n}\r\n\r\nexport interface QuestionAnswer {\r\n questionId: string;\r\n answerOrAnswers: string;\r\n}\r\n\r\nexport interface QuestionAnswerWithResult {\r\n isChecked: boolean;\r\n questionId: string;\r\n answerOrAnswers: string;\r\n pointsValidation: QuestionPointsValidationModel;\r\n resultType: AnswerValidationResultType;\r\n}\r\n\r\nexport interface QuestionPointsValidationModel {\r\n errorOccured: boolean; \r\n inProccess: boolean; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n isValidated: boolean; \r\n sourceType: QuestionValidationSourceType; \r\n validatorId: string; \r\n}\r\n\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string;\r\n rightAnswersCount: number;\r\n answers: Array<Answer>;\r\n}\r\n\r\n\r\nexport interface Answer {\r\n text: string;\r\n isRightAnswer: boolean;\r\n}\r\n\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive: boolean;\r\n rightAnswers: Array<string>;\r\n}","import { QuestionAnswerWithResult } from \"./test-solution-models\";\r\n\r\nexport interface TestSolutionWithPointsValidation {\r\n solutionId: string; \r\n hasPointsResult: boolean; \r\n questions: Array<QuestionAnswerWithResult>; \r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n inProccessQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport enum QuestionValidationSourceType {\r\n\tSystem = 'System',\r\n\tStudent = 'Student',\r\n\tCurator = 'Curator'\r\n}\r\n\r\nexport interface TestQuestionWithModifiers {\r\n questionId: string; \r\n modifiers: Array<TestQuestionModiferModel>; \r\n}\r\n\r\nexport interface TestQuestionModiferModel {\r\n name: string; \r\n data: string; \r\n}\r\n\r\nexport interface SaveQuestionPointsValidation {\r\n idModel: QuestionInSolutionIdModel; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n}\r\n\r\nexport interface QuestionInSolutionIdModel {\r\n solutionId: string; \r\n questionId: string; \r\n}","export interface CourseDetailedModel {\r\n id: string; \r\n name: string; \r\n templateId: string; \r\n weight: number; \r\n versionId: string; \r\n themes: Array<CourseThemeDetailedModel>; \r\n}\r\n\r\nexport interface CourseSimpleModel {\r\n id: string; \r\n name: string; \r\n weight: number; \r\n versionId: string; \r\n}\r\n\r\nexport interface CourseThemeDetailedModel {\r\n id: string; \r\n name: string; \r\n description: string; \r\n weight: number; \r\n courseVersionId: string; \r\n items: Array<CourseThemeItemModel>; \r\n}\r\n\r\n\r\nexport interface CourseThemeItemModel {\r\n id: string; \r\n name: string; \r\n html: string; \r\n type: CourseThemeItemType; \r\n weight: number; \r\n templateItemId: string; \r\n test: CourseThemeItemTestModel; \r\n}\r\n\r\n\r\nexport enum CourseThemeItemType {\r\n JustHtml = 'JustHtml',\r\n Test = 'Test'\r\n}\r\n\r\nexport interface CourseThemeItemTestModel {\r\n testId: string; \r\n testName: string; \r\n totalPointsToPass: number; \r\n totalPercentageToPass: number; \r\n}","import { StudentSimpleModel } from \"./student-models\";\r\n\r\nexport interface CourseItemGlobalTestRestrictionModel {\r\n courseThemeItemId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionModel {\r\n maxTriesCount: number | null;\r\n maxStartDate: string | null;\r\n}\r\n\r\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\r\n q: string;\r\n courseThemeItemId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface ThemeItemTestStudentRestrictionModel {\r\n restriction: TestRestrictionModel;\r\n student: StudentSimpleModel;\r\n}\r\n\r\nexport interface CourseItemStudentTestRestrictionModel {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionValidationResult {\r\n testRestriction: TestRestrictionModel;\r\n canStartTest: boolean;\r\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\r\n validationMessage: string;\r\n solutionsCount: number;\r\n attemptsLeft: number;\r\n}\r\n\r\nexport enum TestRestrictionValidationResultRuleType {\r\n DateExpired = 'DateExpired',\r\n AttemptsExceeded = 'AttemptsExceeded'\r\n}\r\n\r\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\r\n deadLineWarning: DeadLineWithWarningMessage;\r\n restrictionValidationResult: TestRestrictionValidationResult;\r\n}\r\n\r\nexport interface CourseThemeItemStudentDeadlineWarningModel {\r\n themeItemId: string;\r\n courseThemeId: string;\r\n deadLine: Date;\r\n warningMessage: string;\r\n}\r\n\r\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\r\n courseId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface CourseThemeIdWithDeadlineWarnings {\r\n courseThemeId: string;\r\n deadlines: Array<DeadLineWithWarningMessage>;\r\n}\r\n\r\n\r\nexport interface DeadLineWithWarningMessage {\r\n deadLine: Date;\r\n warningMessage: string;\r\n}\r\n","import { IconSimpleModel } from \"./icon-models\";\r\n\r\nexport interface SubjectMenu {\r\n root: SubjectMenuItem;\r\n}\r\n\r\nexport interface SubjectMenuItem {\r\n text: string;\r\n path: string;\r\n type: SubjectMenuItemType;\r\n workSpaceId: string;\r\n children: Array<SubjectMenuItem>;\r\n}\r\n\r\nexport enum SubjectMenuItemType {\r\n MenuItem = 'MenuItem',\r\n WorkSpaceLink = 'WorkSpaceLink',\r\n SubjectTestsLink = 'SubjectTestsLink',\r\n}\r\n\r\nexport interface SubjectModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface CreateSubject {\r\n name: string; \r\n alias: string; \r\n}\r\n\r\nexport interface UpdateSubjectRequest {\r\n id: string;\r\n name: string; \r\n alias: string; \r\n}\r\n\r\nexport interface SubjectCountsModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n questionsCount: number;\r\n testsCount: number;\r\n}\r\n\r\nexport interface ChangeSubjectConfiguration {\r\n id: string;\r\n configuration: SubjectMenu;\r\n}\r\n\r\nexport interface OrderSubjectsRequest {\r\n ids: Array<string>;\r\n}\r\n\r\nexport interface SubjectWithIconModel {\r\n id: string; \r\n name: string; \r\n alias: string; \r\n icon: IconSimpleModel; \r\n}\r\n","/**\r\n * Роли для модуля Tutor\r\n */\r\nexport class TutorRoles {\r\n\r\n /**\r\n * Куратор - проверяет домашние задания студентов (учеников).\r\n */\r\n static readonly curator: string = 'Tutor.Curator';\r\n\r\n /**\r\n * Администратор - управляет и настраивает платформу\r\n */\r\n static readonly admin: string = 'Tutor.Admin';\r\n\r\n /**\r\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\r\n */\r\n static readonly student: string = 'Tutor.Student';\r\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/extensions';\nexport * from './lib/consts'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
@@ -1,24 +1,21 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
- import { BaseApiResponse, GetListResult } from "../models";
3
- import { CourseItemGlobalTestRestrictionModel, TestRestrictionModel, CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from "../models/test-restriction-models";
2
+ import { BaseApiResponse } from "../models";
3
+ import { CourseItemGlobalTestRestrictionModel, TestRestrictionModel } from "../models/test-restriction-models";
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
6
+ * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController
7
7
  *
8
- * Предоставляет методы для управления ограничениями теста для блока курса
8
+ * Предоставляет методы для управления глобальными ограничениями теста для блока курса
9
9
  *
10
- * базовый путь = api/tutor/course-theme-item/test-restriction/student
10
+ * базовый путь = api/tutor/course-theme-item/test-restriction
11
11
  */
12
12
  export declare class CourseThemeItemTestRestrictionService {
13
- private http;
13
+ private readonly _http;
14
14
  private baseControllerUrl;
15
- constructor(http: HttpClient, baseUrl: string);
15
+ constructor(_http: HttpClient, baseUrl: string);
16
16
  setGlobal(model: CourseItemGlobalTestRestrictionModel): import("rxjs").Observable<BaseApiResponse>;
17
17
  getGlobal(id: string): import("rxjs").Observable<TestRestrictionModel>;
18
- updateForStudent(model: CourseItemStudentTestRestrictionModel): import("rxjs").Observable<BaseApiResponse>;
19
- getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest): import("rxjs").Observable<TestRestrictionValidationResult>;
20
- getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest): import("rxjs").Observable<TestRestrictionValidationWithDeadLineWarningResult>;
21
- searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest): import("rxjs").Observable<GetListResult<ThemeItemTestStudentRestrictionModel>>;
18
+ removeAll(courseId: string): import("rxjs").Observable<BaseApiResponse>;
22
19
  static ɵfac: i0.ɵɵFactoryDeclaration<CourseThemeItemTestRestrictionService, never>;
23
20
  static ɵprov: i0.ɵɵInjectableDeclaration<CourseThemeItemTestRestrictionService>;
24
21
  }
@@ -0,0 +1,22 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { BaseApiResponse, GetListResult } from "../models";
3
+ import { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from "../models/test-restriction-models";
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
7
+ *
8
+ * Предоставляет методы для управления ограничениями теста для блока курса
9
+ *
10
+ * базовый путь = api/tutor/course-theme-item/test-restriction/student
11
+ */
12
+ export declare class CourseThemeItemTestRestrictionStudentService {
13
+ private http;
14
+ private baseControllerUrl;
15
+ constructor(http: HttpClient, baseUrl: string);
16
+ updateForStudent(model: CourseItemStudentTestRestrictionModel): import("rxjs").Observable<BaseApiResponse>;
17
+ getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest): import("rxjs").Observable<TestRestrictionValidationResult>;
18
+ getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest): import("rxjs").Observable<TestRestrictionValidationWithDeadLineWarningResult>;
19
+ searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest): import("rxjs").Observable<GetListResult<ThemeItemTestStudentRestrictionModel>>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CourseThemeItemTestRestrictionStudentService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<CourseThemeItemTestRestrictionStudentService>;
22
+ }
@@ -16,3 +16,4 @@ export { CourseThemeItemTestRestrictionService } from './CourseThemeItemTestRest
16
16
  export { SubjectMenuService } from './SubjectMenuService';
17
17
  export { SubjectQueryService } from './SubjectQueryService';
18
18
  export { SubjectsService } from './SubjectsService';
19
+ export { CourseThemeItemTestRestrictionStudentService } from './CourseThemeItemTestRestrictionStudentService';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutor-logic",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.12",
6
6
  "@angular/core": "^16.2.12"