tutor-logic 0.0.35 → 0.0.36
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.
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/test-restriction-models.mjs +6 -0
- package/esm2020/lib/services/CourseDeadlineWarningService.mjs +35 -0
- package/esm2020/lib/services/CourseThemeItemTestRestrictionService.mjs +47 -0
- package/esm2020/lib/services/index.mjs +3 -1
- package/fesm2015/tutor-logic.mjs +85 -1
- package/fesm2015/tutor-logic.mjs.map +1 -1
- package/fesm2020/tutor-logic.mjs +81 -1
- package/fesm2020/tutor-logic.mjs.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/test-restriction-models.d.ts +62 -0
- package/lib/services/CourseDeadlineWarningService.d.ts +19 -0
- package/lib/services/CourseThemeItemTestRestrictionService.d.ts +24 -0
- package/lib/services/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -10,4 +10,5 @@ export * from './solution-validation-models';
|
|
|
10
10
|
export * from './question-like-models';
|
|
11
11
|
export * from './course-models';
|
|
12
12
|
export * from './curator-models';
|
|
13
|
-
|
|
13
|
+
export * from './test-restriction-models';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rlc3QtbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NldHRpbmctbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHVkZW50LW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXAtZW50ZXItbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL29wZW4tYXBpLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi90ZXN0LXNvbHV0aW9uLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9zb2x1dGlvbi12YWxpZGF0aW9uLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9xdWVzdGlvbi1saWtlLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9jb3Vyc2UtbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2N1cmF0b3ItbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL3Rlc3QtcmVzdHJpY3Rpb24tbW9kZWxzJyJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var TestRestrictionValidationResultRuleType;
|
|
2
|
+
(function (TestRestrictionValidationResultRuleType) {
|
|
3
|
+
TestRestrictionValidationResultRuleType["DateExpired"] = "DateExpired";
|
|
4
|
+
TestRestrictionValidationResultRuleType["AttemptsExceeded"] = "AttemptsExceeded";
|
|
5
|
+
})(TestRestrictionValidationResultRuleType || (TestRestrictionValidationResultRuleType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1yZXN0cmljdGlvbi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy90ZXN0LXJlc3RyaWN0aW9uLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q0EsTUFBTSxDQUFOLElBQVksdUNBR1g7QUFIRCxXQUFZLHVDQUF1QztJQUMvQyxzRUFBMkIsQ0FBQTtJQUMzQixnRkFBcUMsQ0FBQTtBQUN6QyxDQUFDLEVBSFcsdUNBQXVDLEtBQXZDLHVDQUF1QyxRQUdsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0dWRlbnRTaW1wbGVNb2RlbCB9IGZyb20gXCIuL3N0dWRlbnQtbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCB7XHJcbiAgICBjb3Vyc2VUaGVtZUl0ZW1JZDogc3RyaW5nO1xyXG4gICAgdGVzdFJlc3RyaWN0aW9uOiBUZXN0UmVzdHJpY3Rpb25Nb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0UmVzdHJpY3Rpb25Nb2RlbCB7XHJcbiAgICBtYXhUcmllc0NvdW50OiBudW1iZXIgfCBudWxsO1xyXG4gICAgbWF4U3RhcnREYXRlOiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFN0dWRlbnRUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25zUmVxdWVzdCB7XHJcbiAgICBxOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VUaGVtZUl0ZW1JZDogc3RyaW5nO1xyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGw7XHJcbiAgICBvZmZTZXQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaGVtZUl0ZW1UZXN0U3R1ZGVudFJlc3RyaWN0aW9uTW9kZWwge1xyXG4gICAgcmVzdHJpY3Rpb246IFRlc3RSZXN0cmljdGlvbk1vZGVsO1xyXG4gICAgc3R1ZGVudDogU3R1ZGVudFNpbXBsZU1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uTW9kZWwge1xyXG4gICAgY291cnNlVGhlbWVJdGVtSWQ6IHN0cmluZztcclxuICAgIHN0dWRlbnRJZDogc3RyaW5nO1xyXG4gICAgdGVzdFJlc3RyaWN0aW9uOiBUZXN0UmVzdHJpY3Rpb25Nb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0IHtcclxuICAgIHRlc3RSZXN0cmljdGlvbjogVGVzdFJlc3RyaWN0aW9uTW9kZWw7XHJcbiAgICBjYW5TdGFydFRlc3Q6IGJvb2xlYW47XHJcbiAgICByZXN0cmljdGlvblJ1bGVUeXBlOiBUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0UnVsZVR5cGUgfCBudWxsO1xyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcclxuICAgIHNvbHV0aW9uc0NvdW50OiBudW1iZXI7XHJcbiAgICBhdHRlbXB0c0xlZnQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGVzdFJlc3RyaWN0aW9uVmFsaWRhdGlvblJlc3VsdFJ1bGVUeXBlIHtcclxuICAgIERhdGVFeHBpcmVkID0gJ0RhdGVFeHBpcmVkJyxcclxuICAgIEF0dGVtcHRzRXhjZWVkZWQgPSAnQXR0ZW1wdHNFeGNlZWRlZCdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZXRDb3Vyc2VUaGVtZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uUmVxdWVzdCB7XHJcbiAgICBjb3Vyc2VUaGVtZUl0ZW1JZDogc3RyaW5nO1xyXG4gICAgc3R1ZGVudElkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFJlc3RyaWN0aW9uVmFsaWRhdGlvbldpdGhEZWFkTGluZVdhcm5pbmdSZXN1bHQge1xyXG4gICAgZGVhZExpbmVXYXJuaW5nOiBEZWFkTGluZVdpdGhXYXJuaW5nTWVzc2FnZTtcclxuICAgIHJlc3RyaWN0aW9uVmFsaWRhdGlvblJlc3VsdDogVGVzdFJlc3RyaWN0aW9uVmFsaWRhdGlvblJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VUaGVtZUl0ZW1TdHVkZW50RGVhZGxpbmVXYXJuaW5nTW9kZWwge1xyXG4gICAgdGhlbWVJdGVtSWQ6IHN0cmluZztcclxuICAgIGNvdXJzZVRoZW1lSWQ6IHN0cmluZztcclxuICAgIGRlYWRMaW5lOiBEYXRlO1xyXG4gICAgd2FybmluZ01lc3NhZ2U6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZXRTdHVkZW50Q291cnNlVGhlbWVJdGVtc0RlYWRsaW5lV2FybmluZ3NSZXF1ZXN0IHtcclxuICAgIGNvdXJzZUlkOiBzdHJpbmc7XHJcbiAgICBzdHVkZW50SWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VUaGVtZUlkV2l0aERlYWRsaW5lV2FybmluZ3Mge1xyXG4gICAgY291cnNlVGhlbWVJZDogc3RyaW5nO1xyXG4gICAgZGVhZGxpbmVzOiBBcnJheTxEZWFkTGluZVdpdGhXYXJuaW5nTWVzc2FnZT47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlYWRMaW5lV2l0aFdhcm5pbmdNZXNzYWdlIHtcclxuICAgIGRlYWRMaW5lOiBEYXRlO1xyXG4gICAgd2FybmluZ01lc3NhZ2U6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
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 CourseDeadlineWarningService {
|
|
13
|
+
constructor(_httpClient, baseUrl) {
|
|
14
|
+
this._httpClient = _httpClient;
|
|
15
|
+
this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';
|
|
16
|
+
}
|
|
17
|
+
getStudentWarnings(model) {
|
|
18
|
+
return this._httpClient.post(this.baseControllerUrl + `query/for-student/all`, model);
|
|
19
|
+
}
|
|
20
|
+
getStudentWarningsGrouped(model) {
|
|
21
|
+
return this._httpClient.post(this.baseControllerUrl + `query/for-student/grouped`, model);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
CourseDeadlineWarningService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
CourseDeadlineWarningService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, providedIn: 'root' });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root',
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
32
|
+
type: Inject,
|
|
33
|
+
args: ['BASE_URL']
|
|
34
|
+
}] }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291cnNlRGVhZGxpbmVXYXJuaW5nU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9saWIvc2VydmljZXMvQ291cnNlRGVhZGxpbmVXYXJuaW5nU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczQzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBR3JDLFlBQ1ksV0FBdUIsRUFDWCxPQUFlO1FBRDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBRy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLEdBQUcsb0NBQW9DLENBQUM7SUFDNUUsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQXdEO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQStDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBd0Q7UUFDOUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBc0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25JLENBQUM7O3lIQWhCUSw0QkFBNEIsNENBS3pCLFVBQVU7NkhBTGIsNEJBQTRCLGNBRnpCLE1BQU07MkZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBTVEsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgR2V0U3R1ZGVudENvdXJzZVRoZW1lSXRlbXNEZWFkbGluZVdhcm5pbmdzUmVxdWVzdCwgQ291cnNlVGhlbWVJdGVtU3R1ZGVudERlYWRsaW5lV2FybmluZ01vZGVsLCBDb3Vyc2VUaGVtZUlkV2l0aERlYWRsaW5lV2FybmluZ3MgfSBmcm9tIFwiLi4vbW9kZWxzL3Rlc3QtcmVzdHJpY3Rpb24tbW9kZWxzXCI7XHJcblxyXG4vKipcclxuICog0JzQtdGC0L7QtNGLINC60L7QvdGC0YDQvtC70LvQtdGA0LAgVHV0b3IuQXBpLkNvbnRyb2xsZXJzLkNvdXJzZXMuQ291cnNlVGhlbWVJdGVtU3R1ZGVudFRlc3RSZXN0cmljdGlvbkNvbnRyb2xsZXJcclxuICogXHJcbiAqINCf0YDQtdC00L7RgdGC0LDQstC70Y/QtdGCINC80LXRgtC+0LTRiyDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40Y/QvNC4INC+INC90LDRgdGC0YPQv9Cw0Y7RidC10Lwg0LTQtdC00LvQsNC50L3QtSDQsiDQutGD0YDRgdC1XHJcbiAqIFxyXG4gKiDQsdCw0LfQvtCy0YvQuSDQv9GD0YLRjCA9IGFwaS90dXRvci9jb3Vyc2UtdGhlbWUtaXRlbS90ZXN0LXJlc3RyaWN0aW9uL3N0dWRlbnRcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvdXJzZURlYWRsaW5lV2FybmluZ1NlcnZpY2Uge1xyXG4gICAgYmFzZUNvbnRyb2xsZXJVcmw6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmJhc2VDb250cm9sbGVyVXJsID0gYmFzZVVybCArICdhcGkvdHV0b3IvY291cnNlLWRlYWRsaW5lLXdhcm5pbmcvJztcclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHVkZW50V2FybmluZ3MobW9kZWw6IEdldFN0dWRlbnRDb3Vyc2VUaGVtZUl0ZW1zRGVhZGxpbmVXYXJuaW5nc1JlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PENvdXJzZVRoZW1lSXRlbVN0dWRlbnREZWFkbGluZVdhcm5pbmdNb2RlbFtdPih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHF1ZXJ5L2Zvci1zdHVkZW50L2FsbGAsIG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHVkZW50V2FybmluZ3NHcm91cGVkKG1vZGVsOiBHZXRTdHVkZW50Q291cnNlVGhlbWVJdGVtc0RlYWRsaW5lV2FybmluZ3NSZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQucG9zdDxDb3Vyc2VUaGVtZUlkV2l0aERlYWRsaW5lV2FybmluZ3NbXT4odGhpcy5iYXNlQ29udHJvbGxlclVybCArIGBxdWVyeS9mb3Itc3R1ZGVudC9ncm91cGVkYCwgbW9kZWwpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
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 CourseThemeItemTestRestrictionService {
|
|
13
|
+
constructor(http, baseUrl) {
|
|
14
|
+
this.http = http;
|
|
15
|
+
this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
|
|
16
|
+
}
|
|
17
|
+
setGlobal(model) {
|
|
18
|
+
return this.http.post(this.baseControllerUrl + 'global', model);
|
|
19
|
+
}
|
|
20
|
+
getGlobal(id) {
|
|
21
|
+
return this.http.get(this.baseControllerUrl + `global/${id}`);
|
|
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);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
CourseThemeItemTestRestrictionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
CourseThemeItemTestRestrictionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, providedIn: 'root' });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, decorators: [{
|
|
39
|
+
type: Injectable,
|
|
40
|
+
args: [{
|
|
41
|
+
providedIn: 'root',
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: ['BASE_URL']
|
|
46
|
+
}] }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9saWIvc2VydmljZXMvQ291cnNlVGhlbWVJdGVtVGVzdFJlc3RyaWN0aW9uU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8scUNBQXFDO0lBRzlDLFlBQ1ksSUFBZ0IsRUFDSixPQUFlO1FBRDNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFHeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sR0FBRywrQ0FBK0MsQ0FBQztJQUN2RixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTJDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTRDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBc0Q7UUFDeEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBa0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLDhDQUE4QyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFFRCx3Q0FBd0MsQ0FBQyxLQUFzRDtRQUMzRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsb0VBQW9FLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEwsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvRDtRQUMvRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkksQ0FBQzs7a0lBaENRLHFDQUFxQyw0Q0FLbEMsVUFBVTtzSUFMYixxQ0FBcUMsY0FGbEMsTUFBTTsyRkFFVCxxQ0FBcUM7a0JBSGpELFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UsIEdldExpc3RSZXN1bHQgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCwgVGVzdFJlc3RyaWN0aW9uTW9kZWwsIENvdXJzZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uTW9kZWwsIEdldENvdXJzZVRoZW1lSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25SZXF1ZXN0LCBUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0LCBUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uV2l0aERlYWRMaW5lV2FybmluZ1Jlc3VsdCwgU2VhcmNoU3R1ZGVudFRoZW1lSXRlbVRlc3RSZXN0cmljdGlvbnNSZXF1ZXN0LCBUaGVtZUl0ZW1UZXN0U3R1ZGVudFJlc3RyaWN0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL3Rlc3QtcmVzdHJpY3Rpb24tbW9kZWxzXCI7XHJcblxyXG4vKipcclxuICog0JzQtdGC0L7QtNGLINC60L7QvdGC0YDQvtC70LvQtdGA0LAgVHV0b3IuQXBpLkNvbnRyb2xsZXJzLkNvdXJzZXMuQ291cnNlVGhlbWVJdGVtU3R1ZGVudFRlc3RSZXN0cmljdGlvbkNvbnRyb2xsZXJcclxuICogXHJcbiAqINCf0YDQtdC00L7RgdGC0LDQstC70Y/QtdGCINC80LXRgtC+0LTRiyDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0L7Qs9GA0LDQvdC40YfQtdC90LjRj9C80Lgg0YLQtdGB0YLQsCDQtNC70Y8g0LHQu9C+0LrQsCDQutGD0YDRgdCwXHJcbiAqIFxyXG4gKiDQsdCw0LfQvtCy0YvQuSDQv9GD0YLRjCA9IGFwaS90dXRvci9jb3Vyc2UtdGhlbWUtaXRlbS90ZXN0LXJlc3RyaWN0aW9uL3N0dWRlbnRcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBiYXNlQ29udHJvbGxlclVybDogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBASW5qZWN0KCdCQVNFX1VSTCcpIGJhc2VVcmw6IHN0cmluZ1xyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5iYXNlQ29udHJvbGxlclVybCA9IGJhc2VVcmwgKyAnYXBpL3R1dG9yL2NvdXJzZS10aGVtZS1pdGVtL3Rlc3QtcmVzdHJpY3Rpb24vJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRHbG9iYWwobW9kZWw6IENvdXJzZUl0ZW1HbG9iYWxUZXN0UmVzdHJpY3Rpb25Nb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCYXNlQXBpUmVzcG9uc2U+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyAnZ2xvYmFsJywgbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEdsb2JhbChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VGVzdFJlc3RyaWN0aW9uTW9kZWw+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyBgZ2xvYmFsLyR7aWR9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRm9yU3R1ZGVudChtb2RlbDogQ291cnNlSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25Nb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCYXNlQXBpUmVzcG9uc2U+KHRoaXMuYmFzZUNvbnRyb2xsZXJVcmwgKyBgc3R1ZGVudC91cGRhdGVgLCBtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3R1ZGVudFJlc3RyaWN0aW9uKG1vZGVsOiBHZXRDb3Vyc2VUaGVtZUl0ZW1TdHVkZW50VGVzdFJlc3RyaWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUZXN0UmVzdHJpY3Rpb25WYWxpZGF0aW9uUmVzdWx0Pih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHN0dWRlbnQvcXVlcnkvZ2V0LXZhbGlkYXRlZC1pdGVtLXJlc3RyaWN0aW9uYCwgbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFN0dWRlbnRSZXN0cmljdGlvbldpdGhEZWFkTGluZVdhcm5pbmcobW9kZWw6IEdldENvdXJzZVRoZW1lSXRlbVN0dWRlbnRUZXN0UmVzdHJpY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFRlc3RSZXN0cmljdGlvblZhbGlkYXRpb25XaXRoRGVhZExpbmVXYXJuaW5nUmVzdWx0Pih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYHN0dWRlbnQvcXVlcnkvZ2V0LXZhbGlkYXRlZC1pdGVtLXJlc3RyaWN0aW9uLXdpdGgtZGVhZGxpbmUtd2FybmluZ2AsIG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2hTdHVkZW50cyhtb2RlbDogU2VhcmNoU3R1ZGVudFRoZW1lSXRlbVRlc3RSZXN0cmljdGlvbnNSZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldExpc3RSZXN1bHQ8VGhlbWVJdGVtVGVzdFN0dWRlbnRSZXN0cmljdGlvbk1vZGVsPj4odGhpcy5iYXNlQ29udHJvbGxlclVybCArICdzdHVkZW50L3F1ZXJ5L3NlYXJjaCcsIG1vZGVsKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -11,4 +11,6 @@ export { StudentTestSolutionService } from './StudentTestSolutionService';
|
|
|
11
11
|
export { StudentTestSolutionQueryService } from './StudentTestSolutionQueryService';
|
|
12
12
|
export { StudentGroupTestRelationQueryService } from './StudentGroupTestRelationQueryService';
|
|
13
13
|
export { CuratorMessageTemplateService } from './CuratorMessageTemplateService';
|
|
14
|
-
|
|
14
|
+
export { CourseDeadlineWarningService } from './CourseDeadlineWarningService';
|
|
15
|
+
export { CourseThemeItemTestRestrictionService } from './CourseThemeItemTestRestrictionService';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbkYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0seUNBQXlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBUZXN0c1NlcnZpY2UgfSBmcm9tICcuL1Rlc3RzU2VydmljZSdcclxuZXhwb3J0IHsgVHV0b3JDb21tb25TZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL1R1dG9yQ29tbW9uU2V0dGluZ3NTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBRdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cFF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudEdyb3VwRW50ZXJTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50R3JvdXBFbnRlclNlcnZpY2UnXHJcbmV4cG9ydCB7IFRlc3RTb2x1dGlvblF1ZXJ5U2VydmljZSB9IGZyb20gJy4vVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUZXN0U29sdXRpb25SZXN1bHRTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0U29sdXRpb25SZXN1bHRTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uU3RhcnRTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50VGVzdFNvbHV0aW9uU3RhcnRTZXJ2aWNlJ1xyXG5leHBvcnQgeyBPcGVuQXBpUXVlc3Rpb25MaWtlU2VydmljZSwgT3BlbkFwaVRlc3RTb2x1dGlvblNlcnZpY2UgfSBmcm9tICcuL29wZW4tYXBpJ1xyXG5leHBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uU2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFRlc3RTb2x1dGlvblNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRUZXN0U29sdXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRUZXN0U29sdXRpb25RdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwVGVzdFJlbGF0aW9uUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDdXJhdG9yTWVzc2FnZVRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4vQ3VyYXRvck1lc3NhZ2VUZW1wbGF0ZVNlcnZpY2UnXHJcbmV4cG9ydCB7IENvdXJzZURlYWRsaW5lV2FybmluZ1NlcnZpY2UgfSBmcm9tICcuL0NvdXJzZURlYWRsaW5lV2FybmluZ1NlcnZpY2UnXHJcbmV4cG9ydCB7IENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblNlcnZpY2UgfSBmcm9tICcuL0NvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblNlcnZpY2UnIl19
|
package/fesm2015/tutor-logic.mjs
CHANGED
|
@@ -463,6 +463,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
463
463
|
}] }];
|
|
464
464
|
} });
|
|
465
465
|
|
|
466
|
+
/**
|
|
467
|
+
* Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
|
|
468
|
+
*
|
|
469
|
+
* Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе
|
|
470
|
+
*
|
|
471
|
+
* базовый путь = api/tutor/course-theme-item/test-restriction/student
|
|
472
|
+
*/
|
|
473
|
+
class CourseDeadlineWarningService {
|
|
474
|
+
constructor(_httpClient, baseUrl) {
|
|
475
|
+
this._httpClient = _httpClient;
|
|
476
|
+
this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';
|
|
477
|
+
}
|
|
478
|
+
getStudentWarnings(model) {
|
|
479
|
+
return this._httpClient.post(this.baseControllerUrl + `query/for-student/all`, model);
|
|
480
|
+
}
|
|
481
|
+
getStudentWarningsGrouped(model) {
|
|
482
|
+
return this._httpClient.post(this.baseControllerUrl + `query/for-student/grouped`, model);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
CourseDeadlineWarningService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
486
|
+
CourseDeadlineWarningService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, providedIn: 'root' });
|
|
487
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, decorators: [{
|
|
488
|
+
type: Injectable,
|
|
489
|
+
args: [{
|
|
490
|
+
providedIn: 'root',
|
|
491
|
+
}]
|
|
492
|
+
}], ctorParameters: function () {
|
|
493
|
+
return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
494
|
+
type: Inject,
|
|
495
|
+
args: ['BASE_URL']
|
|
496
|
+
}] }];
|
|
497
|
+
} });
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
|
|
501
|
+
*
|
|
502
|
+
* Предоставляет методы для управления ограничениями теста для блока курса
|
|
503
|
+
*
|
|
504
|
+
* базовый путь = api/tutor/course-theme-item/test-restriction/student
|
|
505
|
+
*/
|
|
506
|
+
class CourseThemeItemTestRestrictionService {
|
|
507
|
+
constructor(http, baseUrl) {
|
|
508
|
+
this.http = http;
|
|
509
|
+
this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
|
|
510
|
+
}
|
|
511
|
+
setGlobal(model) {
|
|
512
|
+
return this.http.post(this.baseControllerUrl + 'global', model);
|
|
513
|
+
}
|
|
514
|
+
getGlobal(id) {
|
|
515
|
+
return this.http.get(this.baseControllerUrl + `global/${id}`);
|
|
516
|
+
}
|
|
517
|
+
updateForStudent(model) {
|
|
518
|
+
return this.http.post(this.baseControllerUrl + `student/update`, model);
|
|
519
|
+
}
|
|
520
|
+
getStudentRestriction(model) {
|
|
521
|
+
return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction`, model);
|
|
522
|
+
}
|
|
523
|
+
getStudentRestrictionWithDeadLineWarning(model) {
|
|
524
|
+
return this.http.post(this.baseControllerUrl + `student/query/get-validated-item-restriction-with-deadline-warning`, model);
|
|
525
|
+
}
|
|
526
|
+
searchStudents(model) {
|
|
527
|
+
return this.http.post(this.baseControllerUrl + 'student/query/search', model);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
CourseThemeItemTestRestrictionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
531
|
+
CourseThemeItemTestRestrictionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, providedIn: 'root' });
|
|
532
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, decorators: [{
|
|
533
|
+
type: Injectable,
|
|
534
|
+
args: [{
|
|
535
|
+
providedIn: 'root',
|
|
536
|
+
}]
|
|
537
|
+
}], ctorParameters: function () {
|
|
538
|
+
return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
539
|
+
type: Inject,
|
|
540
|
+
args: ['BASE_URL']
|
|
541
|
+
}] }];
|
|
542
|
+
} });
|
|
543
|
+
|
|
466
544
|
var TestQuestionType;
|
|
467
545
|
(function (TestQuestionType) {
|
|
468
546
|
TestQuestionType["SelectRightAnswerOrAnswers"] = "SelectRightAnswerOrAnswers";
|
|
@@ -492,6 +570,12 @@ var CourseThemeItemType;
|
|
|
492
570
|
CourseThemeItemType["Test"] = "Test";
|
|
493
571
|
})(CourseThemeItemType || (CourseThemeItemType = {}));
|
|
494
572
|
|
|
573
|
+
var TestRestrictionValidationResultRuleType;
|
|
574
|
+
(function (TestRestrictionValidationResultRuleType) {
|
|
575
|
+
TestRestrictionValidationResultRuleType["DateExpired"] = "DateExpired";
|
|
576
|
+
TestRestrictionValidationResultRuleType["AttemptsExceeded"] = "AttemptsExceeded";
|
|
577
|
+
})(TestRestrictionValidationResultRuleType || (TestRestrictionValidationResultRuleType = {}));
|
|
578
|
+
|
|
495
579
|
/*
|
|
496
580
|
* Public API Surface of tutor-logic
|
|
497
581
|
*/
|
|
@@ -500,5 +584,5 @@ var CourseThemeItemType;
|
|
|
500
584
|
* Generated bundle index. Do not edit.
|
|
501
585
|
*/
|
|
502
586
|
|
|
503
|
-
export { AnswerValidationResultType, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, TestQuestionType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule };
|
|
587
|
+
export { AnswerValidationResultType, CourseDeadlineWarningService, CourseThemeItemTestRestrictionService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule };
|
|
504
588
|
//# 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/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/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 { 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 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}","/*\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';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/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/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/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 { 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 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","/*\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';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
|
package/fesm2020/tutor-logic.mjs
CHANGED
|
@@ -441,6 +441,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
441
441
|
args: ['BASE_URL']
|
|
442
442
|
}] }]; } });
|
|
443
443
|
|
|
444
|
+
/**
|
|
445
|
+
* Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
|
|
446
|
+
*
|
|
447
|
+
* Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе
|
|
448
|
+
*
|
|
449
|
+
* базовый путь = api/tutor/course-theme-item/test-restriction/student
|
|
450
|
+
*/
|
|
451
|
+
class CourseDeadlineWarningService {
|
|
452
|
+
constructor(_httpClient, baseUrl) {
|
|
453
|
+
this._httpClient = _httpClient;
|
|
454
|
+
this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';
|
|
455
|
+
}
|
|
456
|
+
getStudentWarnings(model) {
|
|
457
|
+
return this._httpClient.post(this.baseControllerUrl + `query/for-student/all`, model);
|
|
458
|
+
}
|
|
459
|
+
getStudentWarningsGrouped(model) {
|
|
460
|
+
return this._httpClient.post(this.baseControllerUrl + `query/for-student/grouped`, model);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
CourseDeadlineWarningService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
464
|
+
CourseDeadlineWarningService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, providedIn: 'root' });
|
|
465
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseDeadlineWarningService, decorators: [{
|
|
466
|
+
type: Injectable,
|
|
467
|
+
args: [{
|
|
468
|
+
providedIn: 'root',
|
|
469
|
+
}]
|
|
470
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
471
|
+
type: Inject,
|
|
472
|
+
args: ['BASE_URL']
|
|
473
|
+
}] }]; } });
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
|
|
477
|
+
*
|
|
478
|
+
* Предоставляет методы для управления ограничениями теста для блока курса
|
|
479
|
+
*
|
|
480
|
+
* базовый путь = api/tutor/course-theme-item/test-restriction/student
|
|
481
|
+
*/
|
|
482
|
+
class CourseThemeItemTestRestrictionService {
|
|
483
|
+
constructor(http, baseUrl) {
|
|
484
|
+
this.http = http;
|
|
485
|
+
this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';
|
|
486
|
+
}
|
|
487
|
+
setGlobal(model) {
|
|
488
|
+
return this.http.post(this.baseControllerUrl + 'global', model);
|
|
489
|
+
}
|
|
490
|
+
getGlobal(id) {
|
|
491
|
+
return this.http.get(this.baseControllerUrl + `global/${id}`);
|
|
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);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
CourseThemeItemTestRestrictionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
507
|
+
CourseThemeItemTestRestrictionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, providedIn: 'root' });
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CourseThemeItemTestRestrictionService, decorators: [{
|
|
509
|
+
type: Injectable,
|
|
510
|
+
args: [{
|
|
511
|
+
providedIn: 'root',
|
|
512
|
+
}]
|
|
513
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
514
|
+
type: Inject,
|
|
515
|
+
args: ['BASE_URL']
|
|
516
|
+
}] }]; } });
|
|
517
|
+
|
|
444
518
|
var TestQuestionType;
|
|
445
519
|
(function (TestQuestionType) {
|
|
446
520
|
TestQuestionType["SelectRightAnswerOrAnswers"] = "SelectRightAnswerOrAnswers";
|
|
@@ -470,6 +544,12 @@ var CourseThemeItemType;
|
|
|
470
544
|
CourseThemeItemType["Test"] = "Test";
|
|
471
545
|
})(CourseThemeItemType || (CourseThemeItemType = {}));
|
|
472
546
|
|
|
547
|
+
var TestRestrictionValidationResultRuleType;
|
|
548
|
+
(function (TestRestrictionValidationResultRuleType) {
|
|
549
|
+
TestRestrictionValidationResultRuleType["DateExpired"] = "DateExpired";
|
|
550
|
+
TestRestrictionValidationResultRuleType["AttemptsExceeded"] = "AttemptsExceeded";
|
|
551
|
+
})(TestRestrictionValidationResultRuleType || (TestRestrictionValidationResultRuleType = {}));
|
|
552
|
+
|
|
473
553
|
/*
|
|
474
554
|
* Public API Surface of tutor-logic
|
|
475
555
|
*/
|
|
@@ -478,5 +558,5 @@ var CourseThemeItemType;
|
|
|
478
558
|
* Generated bundle index. Do not edit.
|
|
479
559
|
*/
|
|
480
560
|
|
|
481
|
-
export { AnswerValidationResultType, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, TestQuestionType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule };
|
|
561
|
+
export { AnswerValidationResultType, CourseDeadlineWarningService, CourseThemeItemTestRestrictionService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule };
|
|
482
562
|
//# 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/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/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 { 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 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}","/*\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';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/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/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/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 { 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 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","/*\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';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { StudentSimpleModel } from "./student-models";
|
|
2
|
+
export interface CourseItemGlobalTestRestrictionModel {
|
|
3
|
+
courseThemeItemId: string;
|
|
4
|
+
testRestriction: TestRestrictionModel;
|
|
5
|
+
}
|
|
6
|
+
export interface TestRestrictionModel {
|
|
7
|
+
maxTriesCount: number | null;
|
|
8
|
+
maxStartDate: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface SearchStudentThemeItemTestRestrictionsRequest {
|
|
11
|
+
q: string;
|
|
12
|
+
courseThemeItemId: string;
|
|
13
|
+
count: number | null;
|
|
14
|
+
offSet: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ThemeItemTestStudentRestrictionModel {
|
|
17
|
+
restriction: TestRestrictionModel;
|
|
18
|
+
student: StudentSimpleModel;
|
|
19
|
+
}
|
|
20
|
+
export interface CourseItemStudentTestRestrictionModel {
|
|
21
|
+
courseThemeItemId: string;
|
|
22
|
+
studentId: string;
|
|
23
|
+
testRestriction: TestRestrictionModel;
|
|
24
|
+
}
|
|
25
|
+
export interface TestRestrictionValidationResult {
|
|
26
|
+
testRestriction: TestRestrictionModel;
|
|
27
|
+
canStartTest: boolean;
|
|
28
|
+
restrictionRuleType: TestRestrictionValidationResultRuleType | null;
|
|
29
|
+
validationMessage: string;
|
|
30
|
+
solutionsCount: number;
|
|
31
|
+
attemptsLeft: number;
|
|
32
|
+
}
|
|
33
|
+
export declare enum TestRestrictionValidationResultRuleType {
|
|
34
|
+
DateExpired = "DateExpired",
|
|
35
|
+
AttemptsExceeded = "AttemptsExceeded"
|
|
36
|
+
}
|
|
37
|
+
export interface GetCourseThemeItemStudentTestRestrictionRequest {
|
|
38
|
+
courseThemeItemId: string;
|
|
39
|
+
studentId: string;
|
|
40
|
+
}
|
|
41
|
+
export interface TestRestrictionValidationWithDeadLineWarningResult {
|
|
42
|
+
deadLineWarning: DeadLineWithWarningMessage;
|
|
43
|
+
restrictionValidationResult: TestRestrictionValidationResult;
|
|
44
|
+
}
|
|
45
|
+
export interface CourseThemeItemStudentDeadlineWarningModel {
|
|
46
|
+
themeItemId: string;
|
|
47
|
+
courseThemeId: string;
|
|
48
|
+
deadLine: Date;
|
|
49
|
+
warningMessage: string;
|
|
50
|
+
}
|
|
51
|
+
export interface GetStudentCourseThemeItemsDeadlineWarningsRequest {
|
|
52
|
+
courseId: string;
|
|
53
|
+
studentId: string;
|
|
54
|
+
}
|
|
55
|
+
export interface CourseThemeIdWithDeadlineWarnings {
|
|
56
|
+
courseThemeId: string;
|
|
57
|
+
deadlines: Array<DeadLineWithWarningMessage>;
|
|
58
|
+
}
|
|
59
|
+
export interface DeadLineWithWarningMessage {
|
|
60
|
+
deadLine: Date;
|
|
61
|
+
warningMessage: string;
|
|
62
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HttpClient } from "@angular/common/http";
|
|
2
|
+
import { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from "../models/test-restriction-models";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController
|
|
6
|
+
*
|
|
7
|
+
* Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе
|
|
8
|
+
*
|
|
9
|
+
* базовый путь = api/tutor/course-theme-item/test-restriction/student
|
|
10
|
+
*/
|
|
11
|
+
export declare class CourseDeadlineWarningService {
|
|
12
|
+
private _httpClient;
|
|
13
|
+
baseControllerUrl: string;
|
|
14
|
+
constructor(_httpClient: HttpClient, baseUrl: string);
|
|
15
|
+
getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest): import("rxjs").Observable<CourseThemeItemStudentDeadlineWarningModel[]>;
|
|
16
|
+
getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest): import("rxjs").Observable<CourseThemeIdWithDeadlineWarnings[]>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CourseDeadlineWarningService, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CourseDeadlineWarningService>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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";
|
|
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 CourseThemeItemTestRestrictionService {
|
|
13
|
+
private http;
|
|
14
|
+
private baseControllerUrl;
|
|
15
|
+
constructor(http: HttpClient, baseUrl: string);
|
|
16
|
+
setGlobal(model: CourseItemGlobalTestRestrictionModel): import("rxjs").Observable<BaseApiResponse>;
|
|
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>>;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CourseThemeItemTestRestrictionService, never>;
|
|
23
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CourseThemeItemTestRestrictionService>;
|
|
24
|
+
}
|
package/lib/services/index.d.ts
CHANGED
|
@@ -11,3 +11,5 @@ export { StudentTestSolutionService } from './StudentTestSolutionService';
|
|
|
11
11
|
export { StudentTestSolutionQueryService } from './StudentTestSolutionQueryService';
|
|
12
12
|
export { StudentGroupTestRelationQueryService } from './StudentGroupTestRelationQueryService';
|
|
13
13
|
export { CuratorMessageTemplateService } from './CuratorMessageTemplateService';
|
|
14
|
+
export { CourseDeadlineWarningService } from './CourseDeadlineWarningService';
|
|
15
|
+
export { CourseThemeItemTestRestrictionService } from './CourseThemeItemTestRestrictionService';
|