tutor-logic 2.0.2 → 2.0.4

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1ZGVudC1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9zdHVkZW50LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFNpbXBsZU1vZGVsIHtcclxuICAgIGlkOiBzdHJpbmc7IFxyXG4gICAgc3VybmFtZTogc3RyaW5nOyBcclxuICAgIG5hbWU6IHN0cmluZzsgXHJcbiAgICBlbWFpbDogc3RyaW5nOyBcclxuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7IFxyXG4gICAgdGVsZWdyYW1Vc2VyTmFtZTogc3RyaW5nOyBcclxuICAgIHRlbGVncmFtVXNlcklkOiBudW1iZXIgfCBudWxsOyBcclxuICAgIGlzRGVsZXRpbmc6IGJvb2xlYW47IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0dWRlbnRNb2RlbCB7XHJcbiAgICBpZDogc3RyaW5nOyBcclxuICAgIGVtYWlsOiBzdHJpbmc7IFxyXG4gICAgbmFtZTogc3RyaW5nOyBcclxuICAgIHN1cm5hbWU6IHN0cmluZzsgXHJcbiAgICBwYXRyb255bWljOiBzdHJpbmc7IFxyXG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZzsgXHJcbiAgICBpc0RlbGV0aW5nOiBib29sZWFuOyBcclxuICAgIHRlbGVncmFtVXNlcklkOiBudW1iZXIgfCBudWxsOyBcclxuICAgIHRlbGVncmFtVXNlck5hbWU6IHN0cmluZzsgXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU3R1ZGVudHMge1xyXG4gICAgcTogc3RyaW5nO1xyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGw7IFxyXG4gICAgb2ZmU2V0OiBudW1iZXI7IFxyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1ZGVudC1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9zdHVkZW50LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTdHVkZW50U2ltcGxlTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZzsgXHJcbiAgICBlbWFpbDogc3RyaW5nOyBcclxuICAgIG5hbWU6IHN0cmluZzsgXHJcbiAgICBzdXJuYW1lOiBzdHJpbmc7IFxyXG4gICAgcGF0cm9ueW1pYzogc3RyaW5nOyBcclxuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7IFxyXG4gICAgaXNEZWxldGluZzogYm9vbGVhbjsgXHJcbiAgICB0ZWxlZ3JhbVVzZXJJZDogbnVtYmVyIHwgbnVsbDsgXHJcbiAgICB0ZWxlZ3JhbVVzZXJOYW1lOiBzdHJpbmc7IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFN0dWRlbnRzIHtcclxuICAgIHE6IHN0cmluZztcclxuICAgIGNvdW50OiBudW1iZXIgfCBudWxsOyBcclxuICAgIG9mZlNldDogbnVtYmVyOyBcclxufSJdfQ==
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
28
28
  type: Inject,
29
29
  args: ['BASE_URL']
30
30
  }] }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R1ZGVudFF1ZXJ5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9saWIvc2VydmljZXMvU3R1ZGVudFF1ZXJ5U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQW9CLFdBQXVCLEVBQ25CLE9BQWU7UUFEbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFFdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sR0FBRywwQkFBMEIsQ0FBQztJQUNsRSxDQUFDO0lBRU0sT0FBTyxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBZSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBa0I7UUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBZSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUEyQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BILENBQUM7OEdBbEJRLG1CQUFtQiw0Q0FJaEIsVUFBVTtrSEFKYixtQkFBbUIsY0FGaEIsTUFBTTs7MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdldExpc3RSZXN1bHQsIFNlYXJjaFN0dWRlbnRzLCBTdHVkZW50TW9kZWwsIFN0dWRlbnRTaW1wbGVNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0dWRlbnRRdWVyeVNlcnZpY2Uge1xyXG4gICAgYmFzZUNvbnRyb2xsZXJVcmw6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5iYXNlQ29udHJvbGxlclVybCA9IGJhc2VVcmwgKyAnYXBpL3R1dG9yL3N0dWRlbnQvcXVlcnkvJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTdHVkZW50TW9kZWw+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5nZXQ8U3R1ZGVudE1vZGVsPih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYEJ5SWQvJHtpZH1gKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QnlUZWxlZ3JhbUlkKHRlbGVncmFtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U3R1ZGVudE1vZGVsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFN0dWRlbnRNb2RlbD4odGhpcy5iYXNlQ29udHJvbGxlclVybCArIGBCeVRlbGVncmFtSWQvJHt0ZWxlZ3JhbUlkfWApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2goc2VhcmNoTW9kZWw6IFNlYXJjaFN0dWRlbnRzKTogT2JzZXJ2YWJsZTxHZXRMaXN0UmVzdWx0PFN0dWRlbnRTaW1wbGVNb2RlbD4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PEdldExpc3RSZXN1bHQ8U3R1ZGVudFNpbXBsZU1vZGVsPj4odGhpcy5iYXNlQ29udHJvbGxlclVybCArICdTZWFyY2gnLCBzZWFyY2hNb2RlbCk7XHJcbiAgICB9XHJcbn0iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R1ZGVudFF1ZXJ5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9saWIvc2VydmljZXMvU3R1ZGVudFF1ZXJ5U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQW9CLFdBQXVCLEVBQ25CLE9BQWU7UUFEbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFFdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sR0FBRywwQkFBMEIsQ0FBQztJQUNsRSxDQUFDO0lBRU0sT0FBTyxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBcUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU0sZUFBZSxDQUFDLFVBQWtCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQXFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQTJCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQW9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEgsQ0FBQzs4R0FsQlEsbUJBQW1CLDRDQUloQixVQUFVO2tIQUpiLG1CQUFtQixjQUZoQixNQUFNOzsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLUSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2V0TGlzdFJlc3VsdCwgU2VhcmNoU3R1ZGVudHMsIFN0dWRlbnRTaW1wbGVNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0dWRlbnRRdWVyeVNlcnZpY2Uge1xyXG4gICAgYmFzZUNvbnRyb2xsZXJVcmw6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5iYXNlQ29udHJvbGxlclVybCA9IGJhc2VVcmwgKyAnYXBpL3R1dG9yL3N0dWRlbnQvcXVlcnkvJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTdHVkZW50U2ltcGxlTW9kZWw+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5nZXQ8U3R1ZGVudFNpbXBsZU1vZGVsPih0aGlzLmJhc2VDb250cm9sbGVyVXJsICsgYEJ5SWQvJHtpZH1gKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QnlUZWxlZ3JhbUlkKHRlbGVncmFtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U3R1ZGVudFNpbXBsZU1vZGVsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFN0dWRlbnRTaW1wbGVNb2RlbD4odGhpcy5iYXNlQ29udHJvbGxlclVybCArIGBCeVRlbGVncmFtSWQvJHt0ZWxlZ3JhbUlkfWApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2goc2VhcmNoTW9kZWw6IFNlYXJjaFN0dWRlbnRzKTogT2JzZXJ2YWJsZTxHZXRMaXN0UmVzdWx0PFN0dWRlbnRTaW1wbGVNb2RlbD4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PEdldExpc3RSZXN1bHQ8U3R1ZGVudFNpbXBsZU1vZGVsPj4odGhpcy5iYXNlQ29udHJvbGxlclVybCArICdTZWFyY2gnLCBzZWFyY2hNb2RlbCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,33 @@
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ /**
5
+ * Предоставляет методы для поиска решений тестов
6
+ */
7
+ export class TestSolutionDetailedQueryService {
8
+ constructor(_httpClient, baseUrl) {
9
+ this._httpClient = _httpClient;
10
+ this._baseUrl = "";
11
+ this._baseUrl = baseUrl + "api/tutor/test-solution/query/";
12
+ }
13
+ /**
14
+ *
15
+ * @param id Идентификатор решения теста
16
+ * @returns
17
+ */
18
+ get(id) {
19
+ return this._httpClient.get(this._baseUrl + `Get/By/Id/${id}/detailed`);
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionDetailedQueryService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionDetailedQueryService, providedIn: 'root' }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionDetailedQueryService, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: 'root',
28
+ }]
29
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
30
+ type: Inject,
31
+ args: ['BASE_URL']
32
+ }] }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVzdFNvbHV0aW9uRGV0YWlsZWRRdWVyeVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL1Rlc3RTb2x1dGlvbkRldGFpbGVkUXVlcnlTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJbkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWdDO0lBSXpDLFlBQ1ksV0FBdUIsRUFDWCxPQUFlO1FBRDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBSDNCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFNMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEdBQUcsZ0NBQWdDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxHQUFHLENBQUMsRUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5RyxDQUFDOzhHQWxCUSxnQ0FBZ0MsNENBTTdCLFVBQVU7a0hBTmIsZ0NBQWdDLGNBRjdCLE1BQU07OzJGQUVULGdDQUFnQztrQkFINUMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9RLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFN0dWRlbnRUZXN0U29sdXRpb25EZXRhaWxlZE1vZGVsIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuLyoqXHJcbiAqINCf0YDQtdC00L7RgdGC0LDQstC70Y/QtdGCINC80LXRgtC+0LTRiyDQtNC70Y8g0L/QvtC40YHQutCwINGA0LXRiNC10L3QuNC5INGC0LXRgdGC0L7QsiBcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlc3RTb2x1dGlvbkRldGFpbGVkUXVlcnlTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIF9iYXNlVXJsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgQEluamVjdCgnQkFTRV9VUkwnKSBiYXNlVXJsOiBzdHJpbmdcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VVcmwgPSBiYXNlVXJsICsgXCJhcGkvdHV0b3IvdGVzdC1zb2x1dGlvbi9xdWVyeS9cIjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGA0LXRiNC10L3QuNGPINGC0LXRgdGC0LBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0dWRlbnRUZXN0U29sdXRpb25EZXRhaWxlZE1vZGVsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFN0dWRlbnRUZXN0U29sdXRpb25EZXRhaWxlZE1vZGVsPih0aGlzLl9iYXNlVXJsICsgYEdldC9CeS9JZC8ke2lkfS9kZXRhaWxlZGApO1xyXG4gICAgfVxyXG59Il19
@@ -19,4 +19,5 @@ export { SubjectsService } from './SubjectsService';
19
19
  export { CourseThemeItemTestRestrictionStudentService } from './CourseThemeItemTestRestrictionStudentService';
20
20
  export { StudentSubjectViewService } from './StudentSubjectViewService';
21
21
  export { StudentCourseViewService } from './StudentCourseViewService';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbkYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVGVzdHNTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IFR1dG9yQ29tbW9uU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9UdXRvckNvbW1vblNldHRpbmdzU2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50R3JvdXBRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRRdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cEVudGVyU2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwRW50ZXJTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUZXN0U29sdXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1Rlc3RTb2x1dGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSB9IGZyb20gJy4vVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSdcclxuZXhwb3J0IHsgT3BlbkFwaVF1ZXN0aW9uTGlrZVNlcnZpY2UsIE9wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9vcGVuLWFwaSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRUZXN0U29sdXRpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBUZXN0UmVsYXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgQ3VyYXRvck1lc3NhZ2VUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuL0N1cmF0b3JNZXNzYWdlVGVtcGxhdGVTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdWJqZWN0TWVudVNlcnZpY2UgfSBmcm9tICcuL1N1YmplY3RNZW51U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3ViamVjdFF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdHNTZXJ2aWNlIH0gZnJvbSAnLi9TdWJqZWN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblN0dWRlbnRTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TdHVkZW50U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFN1YmplY3RWaWV3U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFN1YmplY3RWaWV3U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudENvdXJzZVZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50Q291cnNlVmlld1NlcnZpY2UnIl19
22
+ export { TestSolutionDetailedQueryService } from './TestSolutionDetailedQueryService';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbkYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9DQUFvQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVGVzdHNTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IFR1dG9yQ29tbW9uU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9UdXRvckNvbW1vblNldHRpbmdzU2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50R3JvdXBRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRRdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRRdWVyeVNlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cEVudGVyU2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwRW50ZXJTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUZXN0U29sdXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1Rlc3RTb2x1dGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSB9IGZyb20gJy4vVGVzdFNvbHV0aW9uUmVzdWx0U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFRlc3RTb2x1dGlvblN0YXJ0U2VydmljZSdcclxuZXhwb3J0IHsgT3BlbkFwaVF1ZXN0aW9uTGlrZVNlcnZpY2UsIE9wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9vcGVuLWFwaSdcclxuZXhwb3J0IHsgU3R1ZGVudFRlc3RTb2x1dGlvblNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRUZXN0U29sdXRpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50VGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBUZXN0UmVsYXRpb25RdWVyeVNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgQ3VyYXRvck1lc3NhZ2VUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuL0N1cmF0b3JNZXNzYWdlVGVtcGxhdGVTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VEZWFkbGluZVdhcm5pbmdTZXJ2aWNlJ1xyXG5leHBvcnQgeyBDb3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdWJqZWN0TWVudVNlcnZpY2UgfSBmcm9tICcuL1N1YmplY3RNZW51U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3ViamVjdFF1ZXJ5U2VydmljZSdcclxuZXhwb3J0IHsgU3ViamVjdHNTZXJ2aWNlIH0gZnJvbSAnLi9TdWJqZWN0c1NlcnZpY2UnXHJcbmV4cG9ydCB7IENvdXJzZVRoZW1lSXRlbVRlc3RSZXN0cmljdGlvblN0dWRlbnRTZXJ2aWNlIH0gZnJvbSAnLi9Db3Vyc2VUaGVtZUl0ZW1UZXN0UmVzdHJpY3Rpb25TdHVkZW50U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudFN1YmplY3RWaWV3U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudFN1YmplY3RWaWV3U2VydmljZSdcclxuZXhwb3J0IHsgU3R1ZGVudENvdXJzZVZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50Q291cnNlVmlld1NlcnZpY2UnXHJcbmV4cG9ydCB7IFRlc3RTb2x1dGlvbkRldGFpbGVkUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0U29sdXRpb25EZXRhaWxlZFF1ZXJ5U2VydmljZSciXX0=
@@ -711,6 +711,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
711
711
  args: ['BASE_URL']
712
712
  }] }] });
713
713
 
714
+ /**
715
+ * Предоставляет методы для поиска решений тестов
716
+ */
717
+ class TestSolutionDetailedQueryService {
718
+ constructor(_httpClient, baseUrl) {
719
+ this._httpClient = _httpClient;
720
+ this._baseUrl = "";
721
+ this._baseUrl = baseUrl + "api/tutor/test-solution/query/";
722
+ }
723
+ /**
724
+ *
725
+ * @param id Идентификатор решения теста
726
+ * @returns
727
+ */
728
+ get(id) {
729
+ return this._httpClient.get(this._baseUrl + `Get/By/Id/${id}/detailed`);
730
+ }
731
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionDetailedQueryService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
732
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionDetailedQueryService, providedIn: 'root' }); }
733
+ }
734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionDetailedQueryService, decorators: [{
735
+ type: Injectable,
736
+ args: [{
737
+ providedIn: 'root',
738
+ }]
739
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
740
+ type: Inject,
741
+ args: ['BASE_URL']
742
+ }] }] });
743
+
714
744
  var TestQuestionType;
715
745
  (function (TestQuestionType) {
716
746
  TestQuestionType["SelectRightAnswerOrAnswers"] = "SelectRightAnswerOrAnswers";
@@ -779,5 +809,5 @@ class TutorRoles {
779
809
  * Generated bundle index. Do not edit.
780
810
  */
781
811
 
782
- export { AnswerValidationResultType, CourseDeadlineWarningService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentCourseViewService, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentSubjectViewService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
812
+ export { AnswerValidationResultType, CourseDeadlineWarningService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentCourseViewService, StudentGroupEnterService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentSubjectViewService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
783
813
  //# sourceMappingURL=tutor-logic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/TutorCommonSettingsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiExtensions.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiUrlProvider.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentSubjectViewService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/subject.models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\r\n\r\n/**\r\n* Методы контроллера StudentGroupQueryController\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupQueryService {\r\n\r\n getBaseUrl() {\r\n return this._baseUrl + 'api/tutor/student-group/';\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string) {\r\n }\r\n\r\n public search(model: SearchStudentGroups): Observable<GetListResult<StudentGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.getBaseUrl() + 'query/search', model);\r\n }\r\n\r\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(this.getBaseUrl() + 'query/search/with-progresses', model);\r\n }\r\n\r\n public getById(id: string): Observable<StudentGroupDetailedModel> {\r\n return this._httpClient.get<StudentGroupDetailedModel>(this.getBaseUrl() + `query/by-id/${id}`);\r\n }\r\n\r\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\r\n return this._httpClient.get<StudentGroupSimpleModel[]>(this.getBaseUrl() + `by-student/${id}`);\r\n }\r\n\r\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(this.getBaseUrl() + 'students/search', model);\r\n }\r\n}\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, SearchStudents, StudentModel, StudentSimpleModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\r\n }\r\n\r\n public getById(id: string): Observable<StudentModel> {\r\n return this._httpClient.get<StudentModel>(this.baseControllerUrl + `ById/${id}`);\r\n }\r\n\r\n public getByTelegramId(telegramId: number): Observable<StudentModel> {\r\n return this._httpClient.get<StudentModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\r\n }\r\n\r\n public search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupEnterService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\r\n }\r\n\r\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\r\n }\r\n\r\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\r\n }\r\n}\r\n","import { OpenApiUrlProvider } from \"./OpenApiUrlProvider\";\r\n\r\nexport class OpenApiExtensions {\r\n static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string {\r\n return urlProvider.getUrl() + adding;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { OpenApiServerOptions } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiUrlProvider {\r\n\r\n _urlValue: string = \"\";\r\n _data: OpenApiServerOptions = {\r\n useOpenApiServer: false,\r\n openApiUrl: \"\"\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings(baseUrl);\r\n }\r\n\r\n getSettings(baseUrl: string) {\r\n this._httpClient.get<OpenApiServerOptions>(baseUrl + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._data = data;\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\r\n }\r\n\r\n getData() {\r\n return this._data;\r\n }\r\n\r\n getUrl(): string {\r\n return this._urlValue;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.getBaseUrl() + \"Search/By/Student\", model);\r\n }\r\n\r\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\r\n return this._httpClient.get<TestSolutionCourseData>(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);\r\n }\r\n\r\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + `Get/By/Id/${id}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\r\nBasePath = api/tutor/test-solution-result\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionResultService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution-result/';\r\n }\r\n\r\n public getQuestionsWithModifiersBySolution(solutionId: string) {\r\n return this._httpClient.get<TestQuestionWithModifiers[]>(this.baseControllerUrl + `modifiers/${solutionId}`);\r\n }\r\n\r\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\r\n return this._httpClient.get<TestSolutionWithPointsValidation>(this.baseControllerUrl + `points/${solutionId}`);\r\n }\r\n\r\n public create(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `create/${solutionId}`, {});\r\n }\r\n\r\n public recalculate(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `recalculate/${solutionId}`, {});\r\n }\r\n\r\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/save`, model);\r\n }\r\n\r\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/remove`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GenericBaseApiResponse, StartSolutionFromDirectory, StartTestSolutionByTestId, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionStartService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/Start/';\r\n }\r\n\r\n startByTestId(model: StartTestSolutionByTestId): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/TestId`, model);\r\n }\r\n\r\n startByDirectory(model: StartSolutionFromDirectory): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/Directory`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiQuestionLikeService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public search(model: SearchQuestionsByLikes) {\r\n return this._httpClient.post<GetListResult<TestQuestionModel>>(this.getBaseUrl() + 'search', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { StudentTestSolutionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiTestSolutionService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public getById(id: string) {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + id);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\r\n }\r\n\r\n checkAnswer(model: SolutionWithAnswerModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\r\n }\r\n\r\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\r\nBasePath = api/tutor/test-solution/query/mine\r\n*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\r\n }\r\n\r\n search(model: SearchMyTestSolutions) {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\r\n }\r\n\r\n getResultById(id: string){\r\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\r\n\r\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\r\n }\r\n\r\n getByTestId(testId: string){\r\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\r\n\r\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupTestRelationQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _baseUrlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n getById(studentGroupId: string, testId: string) {\r\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiResponse, GetListResult } from '../models';\r\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CuratorMessageTemplateService {\r\n getBaseControllerUrl() {\r\n return this._baseUrl + 'api/tutor/curator/message-template/';\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\r\n }\r\n\r\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\r\n }\r\n\r\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\r\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\r\n this.getBaseControllerUrl() + 'search',\r\n model,\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseDeadlineWarningService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\r\n }\r\n\r\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\r\n }\r\n\r\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { CourseItemGlobalTestRestrictionModel, TestRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\r\n * \r\n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + 'global', model);\r\n }\r\n\r\n getGlobal(id: string) {\r\n return this._http.get<TestRestrictionModel>(this.baseControllerUrl + `global/${id}`);\r\n }\r\n\r\n removeAll(courseId: string) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `remove-all/${courseId}`, {});\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeSubjectConfiguration, SubjectMenu } from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\r\n * \r\n * Базовый урл = api/tutor/subject/menu\r\n * \r\n * Методы для работы с меню предмета\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectMenuService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/menu/';\r\n }\r\n\r\n public getByAliasOrId(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public update(model: ChangeSubjectConfiguration): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `Update`, model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n SubjectCountsModel,\r\n SubjectModel,\r\n SubjectWithIconModel\r\n} from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\r\n * \r\n * Базовый урл = api/tutor/subject/query\r\n * \r\n * Методы для получения предметов\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/query/';\r\n }\r\n\r\n public getAll(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll`);\r\n }\r\n\r\n public getAllCached(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll/Cached`);\r\n }\r\n\r\n public getAllWithIconsCached(iconSetId: string): Observable<SubjectWithIconModel[]> {\r\n return this._httpClient.get<SubjectWithIconModel[]>(this.baseControllerUrl + `GetAll/with-icons/Cached?iconSetId=${iconSetId}`);\r\n }\r\n\r\n public getByAliasOrId(id: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId?aliasOrId=${id}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CreateSubject,\r\n OrderSubjectsRequest,\r\n UpdateSubjectRequest,\r\n} from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\r\n * \r\n * Базовый урл = api/tutor/subject\r\n * \r\n * Методы для работы с предметами\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\r\n }\r\n\r\n public create(model: CreateSubject): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\r\n }\r\n\r\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GetListResult } from \"../models\";\r\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n *\r\n * Предоставляет методы для управления ограничениями теста для блока курса\r\n *\r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionStudentService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\r\n }\r\n\r\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\r\n }\r\n\r\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\r\n }\r\n\r\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `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 + 'query/search', 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 { SubjectForStudentDetailedViewModel, SubjectModel } from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController\r\n *\r\n * Базовый урл = api/tutor/student-subject-view\r\n *\r\n * Методы для построения меню предмета\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentSubjectViewService {\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/student-subject-view/';\r\n }\r\n\r\n public getV1(idOrAlias: string, iconSetId: string): Observable<SubjectForStudentDetailedViewModel> {\r\n return this._httpClient.get<SubjectForStudentDetailedViewModel>(this.baseControllerUrl + `get/v1?idOrAlias=${idOrAlias}&iconSetId=${iconSetId}`);\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 { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\r\n * Оптимизированные методы для работы студентов с курсами\r\n * Базовый урл = api/tutor/student-course-view\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentCourseViewService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\r\n }\r\n\r\n /**\r\n * \r\n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \r\n * @param themeItemId \r\n * @returns \r\n */\r\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\r\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\r\n }\r\n}\r\n","import { CourseThemeItemModel } from \"./course-models\";\r\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\r\n\r\nexport interface SearchStudentTestSolutions {\r\n isFinished: boolean | null;\r\n studentId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface TestSolutionCourseData {\r\n solutionId: string;\r\n courseThemeItemId: string;\r\n courseThemeItemIndex: number;\r\n courseThemeId: string;\r\n courseThemeName: string;\r\n courseName: string;\r\n courseId: string;\r\n nextItem: CourseThemeItemModel;\r\n}\r\n\r\nexport enum TestQuestionType {\r\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\r\n TypeRightAnswer = 'TypeRightAnswer',\r\n DetailedAnswer = 'DetailedAnswer',\r\n TypeAnswerWithErrors = 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string;\r\n answer: QuestionAnswer;\r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel;\r\n systemValidation: TestSolutionSystemValidationModel;\r\n unreadMessagesCount: number;\r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number;\r\n studentProgressPercents: number;\r\n maxTotalPoints: number;\r\n questionsCount: number;\r\n validatedQuestionsCount: number;\r\n hasRightAnswerQuestionsCount: number;\r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string;\r\n directoryId: string;\r\n useFilter: boolean;\r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter;\r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>;\r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string;\r\n studentGroupId: string;\r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n isFinished: boolean | null;\r\n testId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface StudentTestSolutionSimpleModel {\r\n id: string;\r\n testName: string;\r\n testId: string;\r\n isFinished: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\r\n CorrectAnswer = 'CorrectAnswer',\r\n InProccess = 'InProccess'\r\n}\r\n\r\nexport interface SolutionWithAnswersModel {\r\n solutionId: string;\r\n answers: Array<QuestionAnswer>;\r\n}\r\n\r\nexport interface StudentTestSolutionModel {\r\n studentId: string;\r\n solutionId: string;\r\n studentGroupId: string;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n isFinished: boolean;\r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel;\r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\r\n /**\r\n * Есть ли вопросы, которые находятся в процессе расчёта результата\r\n */\r\n hasAnswersInProccess: boolean;\r\n answers: Array<QuestionAnswerWithResult>;\r\n}\r\n\r\nexport interface TestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<TestQuestionModel>;\r\n}\r\n\r\nexport interface TestQuestionModel {\r\n id: string;\r\n title: string;\r\n titleBodyMarkUp: string;\r\n helpBodyMarkUp: string;\r\n answerExplanationMarkUp: string;\r\n titleBodyMarkUpMobile: string;\r\n helpBodyMarkUpMobile: string;\r\n answerExplanationMarkUpMobile: string;\r\n type: TestQuestionType;\r\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\r\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\r\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\r\n}\r\n\r\nexport interface TypeAnswerWithErrorsQuestionData {\r\n rightAnswer: string;\r\n}\r\n\r\n\r\nexport interface TestWithActiveSolutionModel {\r\n testId: string;\r\n activeSolutionId: string;\r\n test: TestModel;\r\n}\r\n\r\nexport interface QuestionAnswer {\r\n questionId: string;\r\n answerOrAnswers: string;\r\n}\r\n\r\nexport interface QuestionAnswerWithResult {\r\n isChecked: boolean;\r\n questionId: string;\r\n answerOrAnswers: string;\r\n pointsValidation: QuestionPointsValidationModel;\r\n resultType: AnswerValidationResultType;\r\n}\r\n\r\nexport interface QuestionPointsValidationModel {\r\n errorOccured: boolean;\r\n inProccess: boolean;\r\n answerPoints: number;\r\n questionTotalPoints: number;\r\n description: string;\r\n isValidated: boolean;\r\n sourceType: QuestionValidationSourceType;\r\n validatorId: string;\r\n}\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string;\r\n rightAnswersCount: number;\r\n answers: Array<Answer>;\r\n}\r\n\r\nexport interface Answer {\r\n text: string;\r\n isRightAnswer: boolean;\r\n}\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive: boolean;\r\n rightAnswers: Array<string>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedModel {\r\n solutionId: string;\r\n hasAnswersInProccess: boolean;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n studentGroupId: string;\r\n studentId: string;\r\n startedOnUtc: Date;\r\n finishedOnUtc: Date | null;\r\n isFinished: boolean;\r\n test: StudentTestSolutionDetailedTestModel;\r\n cdnOptions: S3CdnPublicOptions;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestQuestion {\r\n question: TestQuestionModel;\r\n answerWithValidation: QuestionAnswerWithResult;\r\n isQuestionLikedByStudent: boolean;\r\n}\r\n\r\nexport interface S3CdnPublicOptions {\r\n useCdn: boolean;\r\n imageUrlFormat: 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: string;\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\nexport interface DeadLineWithWarningMessage {\r\n deadLine: string;\r\n warningMessage: string;\r\n}\r\n","import { IconSimpleModel } from \"./icon-models\";\r\n\r\nexport interface SubjectMenu {\r\n root: SubjectMenuItem;\r\n}\r\n\r\nexport interface SubjectMenuItem {\r\n text: string;\r\n path: string;\r\n type: SubjectMenuItemType;\r\n workSpaceId: string;\r\n children: Array<SubjectMenuItem>;\r\n}\r\n\r\nexport enum SubjectMenuItemType {\r\n MenuItem = 'MenuItem',\r\n WorkSpaceLink = 'WorkSpaceLink',\r\n SubjectTestsLink = 'SubjectTestsLink',\r\n}\r\n\r\nexport interface SubjectModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface CreateSubject {\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface UpdateSubjectRequest {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface SubjectCountsModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n questionsCount: number;\r\n testsCount: number;\r\n}\r\n\r\nexport interface ChangeSubjectConfiguration {\r\n id: string;\r\n configuration: SubjectMenu;\r\n}\r\n\r\nexport interface OrderSubjectsRequest {\r\n ids: Array<string>;\r\n}\r\n\r\nexport interface SubjectWithIconModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n icon: IconSimpleModel;\r\n}\r\n\r\nexport interface SubjectForStudentDetailedViewModel {\r\n icon: IconSimpleModel;\r\n subject: SubjectModel;\r\n menu: SubjectMenu;\r\n globalTests: Array<SubjectTestSimpleModel>;\r\n}\r\n\r\nexport interface SubjectTestSimpleModel {\r\n id: string;\r\n name: string;\r\n}\r\n","/**\r\n * Роли для модуля Tutor\r\n */\r\nexport class TutorRoles {\r\n\r\n /**\r\n * Куратор - проверяет домашние задания студентов (учеников).\r\n */\r\n static readonly curator: string = 'Tutor.Curator';\r\n\r\n /**\r\n * Администратор - управляет и настраивает платформу\r\n */\r\n static readonly admin: string = 'Tutor.Admin';\r\n\r\n /**\r\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\r\n */\r\n static readonly student: string = 'Tutor.Student';\r\n}","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/extensions';\nexport * from './lib/consts'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":";;;;MAUa,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAhB,gBAAgB,EAAA,CAAA,CAAA,EAAA;+GAAhB,gBAAgB,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE,EACR;AACF,iBAAA,CAAA;;;MCCY,YAAY,CAAA;IAGrB,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAEvC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;KAC7C;AAEM,IAAA,0BAA0B,CAAC,KAAsB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;KAC5H;AAEM,IAAA,MAAM,CAAC,KAAiB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC3F;AAEM,IAAA,IAAI,CAAC,KAAe,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;KACzF;AAnBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,4CAIT,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCLb,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,qBAAqB,CAAC;KAC5D;AAED,IAAA,GAAG,CAAC,IAAY,EAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;KACrF;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;KACjG;AAED,IAAA,GAAG,CAAC,KAAmB,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;KACxF;AAlBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;ACN1B;;AAEE;MAIW,wBAAwB,CAAA;IAEjC,UAAU,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;KACrD;IAED,WAAoB,CAAA,WAAuB,EACX,QAAgB,EAAA;QAD5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACX,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;KAC/C;AAEM,IAAA,MAAM,CAAC,KAA0B,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,IAAI,CAAC,UAAU,EAAE,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;KACnH;AAEM,IAAA,oBAAoB,CAAC,KAA0C,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAqD,IAAI,CAAC,UAAU,EAAE,GAAG,8BAA8B,EAAE,KAAK,CAAC,CAAC;KAC/I;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,YAAA,EAAe,EAAE,CAAA,CAAE,CAAC,CAAC;KACnG;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAC,CAAC;KAClG;AAEM,IAAA,eAAe,CAAC,KAA4B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2C,IAAI,CAAC,UAAU,EAAE,GAAG,iBAAiB,EAAE,KAAK,CAAC,CAAC;KACxH;AA5BQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAOrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAPb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAQQ,MAAM;2BAAC,UAAU,CAAA;;;MCXb,mBAAmB,CAAA;IAG5B,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KACjE;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,CAAA,KAAA,EAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;KACpF;AAEM,IAAA,eAAe,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,CAAA,aAAA,EAAgB,UAAU,CAAA,CAAE,CAAC,CAAC;KACpG;AAEM,IAAA,MAAM,CAAC,WAA2B,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAoC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;KACnH;AAlBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAIhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCJb,wBAAwB,CAAA;IAGjC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC,CAAC;KACvE;AAEM,IAAA,YAAY,CAAC,KAA8B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;KACrG;AAEM,IAAA,iBAAiB,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,EAAE,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KAC7G;AAdQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAIrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCXb,iBAAiB,CAAA;AAC5B,IAAA,OAAO,eAAe,CAAC,WAA+B,EAAE,MAAc,EAAA;AACpE,QAAA,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;KACtC;AACF;;MCCY,kBAAkB,CAAA;IAQ7B,WAAoB,CAAA,WAAuB,EACrB,OAAe,EAAA;QADjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAN3C,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AACvB,QAAA,IAAA,CAAA,KAAK,GAAyB;AAC5B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,UAAU,EAAE,EAAE;SACf,CAAA;AAIC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC3B;AAED,IAAA,WAAW,CAAC,OAAe,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuB,OAAO,GAAG,2BAA2B,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;YACjG,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAC;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;aAClC;AACH,SAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AA7BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CASnB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AATT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAUI,MAAM;2BAAC,UAAU,CAAA;;;MCPT,wBAAwB,CAAA;IAEjC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;KACjG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;QADxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,eAAe,CAAC,KAAiC,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,IAAI,CAAC,UAAU,EAAE,GAAG,mBAAmB,EAAE,KAAK,CAAC,CAAC;KAChI;AAEM,IAAA,aAAa,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,YAAA,CAAc,CAAC,CAAC;KAC1G;AAEM,IAAA,eAAe,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,CAAE,CAAC,CAAC;KAChG;8GApBQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACJD;;;AAGE;MAIW,yBAAyB,CAAA;IAGlC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,iCAAiC,CAAC;KACxE;AAEM,IAAA,mCAAmC,CAAC,UAAkB,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8B,IAAI,CAAC,iBAAiB,GAAG,CAAA,UAAA,EAAa,UAAU,CAAA,CAAE,CAAC,CAAC;KAChH;AAEM,IAAA,0CAA0C,CAAC,UAAkB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmC,IAAI,CAAC,iBAAiB,GAAG,CAAA,OAAA,EAAU,UAAU,CAAA,CAAE,CAAC,CAAC;KAClH;AAEM,IAAA,MAAM,CAAC,UAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,UAAU,UAAU,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KACtG;AAEM,IAAA,WAAW,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,eAAe,UAAU,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KAC3G;AAEM,IAAA,kBAAkB,CAAC,KAAmC,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,wBAAA,CAA0B,EAAE,KAAK,CAAC,CAAC;KAC9I;AAEM,IAAA,oBAAoB,CAAC,KAAgC,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,0BAAA,CAA4B,EAAE,KAAK,CAAC,CAAC;KAChJ;AA9BQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4CAItB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFtB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;MCTb,+BAA+B,CAAA;IAGxC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC,CAAC;KACvE;AAED,IAAA,aAAa,CAAC,KAAgC,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,SAAA,CAAW,EAAE,KAAK,CAAC,CAAC;KAC/H;AAED,IAAA,gBAAgB,CAAC,KAAiC,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC,CAAC;KAClI;AAdQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAI5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAKzB,MAAM;2BAAC,UAAU,CAAA;;;MCFb,0BAA0B,CAAA;IAEnC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;KACpG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;QADxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,MAAM,CAAC,KAA6B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACvG;8GAZQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCCY,0BAA0B,CAAA;IAEnC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;KACnG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;QADxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;KACjF;8GAZQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCDY,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KACjE;AAED,IAAA,WAAW,CAAC,KAA8B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC,CAAC;KAClI;AAED,IAAA,cAAc,CAAC,KAA+B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAuD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChI;AAdQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAKzB,MAAM;2BAAC,UAAU,CAAA;;;ACN1B;;;AAGE;MAEW,+BAA+B,CAAA;IAGxC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,qCAAqC,CAAC;KAC5E;AAED,IAAA,MAAM,CAAC,KAA4B,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,CAAC;KAC1H;AAED,IAAA,aAAa,CAAC,EAAU,EAAA;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,OAAA,CAAS,CAAC;QAE5D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuD,GAAG,CAAC,CAAC;KAC1F;AAED,IAAA,WAAW,CAAC,MAAc,EAAA;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAA,cAAA,EAAiB,MAAM,CAAA,CAAE,CAAC;QAE7D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;KACjE;AAtBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAI5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAKzB,MAAM;2BAAC,UAAU,CAAA;;;MCLb,oCAAoC,CAAA;IAE7C,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;KACrG;IAED,WAAoB,CAAA,WAAuB,EAC/B,gBAAoC,EAAA;QAD5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC/B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAoB;KAC/C;IAED,OAAO,CAAC,cAAsB,EAAE,MAAc,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAwC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAW,QAAA,EAAA,MAAM,IAAI,cAAc,CAAA,CAAE,CAAC,CAAC;KACjI;8GAZQ,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAApC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFjC,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCGY,6BAA6B,CAAA;IACxC,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,qCAAqC,CAAC;KAC9D;IAID,WACmB,CAAA,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAHzB,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;AAMrC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;AAEM,IAAA,cAAc,CAAC,KAA2C,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;KACxG;AAEM,IAAA,MAAM,CAAC,KAAmC,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,oBAAoB,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC9F;AAEM,IAAA,MAAM,CAAC,KAAoC,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAC1B,IAAI,CAAC,oBAAoB,EAAE,GAAG,QAAQ,EACtC,KAAK,CACN,CAAC;KACH;AA3BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,4CAS9B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AATT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAUI,MAAM;2BAAC,UAAU,CAAA;;;ACdtB;;;;;;AAMG;MAIU,4BAA4B,CAAA;IAGrC,WACY,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oCAAoC,CAAC;KAC3E;AAED,IAAA,kBAAkB,CAAC,KAAwD,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA+C,IAAI,CAAC,iBAAiB,GAAG,CAAA,qBAAA,CAAuB,EAAE,KAAK,CAAC,CAAC;KACvI;AAED,IAAA,yBAAyB,CAAC,KAAwD,EAAA;AAC9E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAsC,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,CAA2B,EAAE,KAAK,CAAC,CAAC;KAClI;AAhBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,4CAKzB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAFzB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;;ACd1B;;;;;;AAMG;MAIU,qCAAqC,CAAA;IAG9C,WACqB,CAAA,KAAiB,EACd,OAAe,EAAA;QADlB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AAGlC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,+CAA+C,CAAC;KACtF;AAED,IAAA,SAAS,CAAC,KAA2C,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACrF;AAED,IAAA,SAAS,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAA,OAAA,EAAU,EAAE,CAAA,CAAE,CAAC,CAAC;KACxF;AAED,IAAA,SAAS,CAAC,QAAgB,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,cAAc,QAAQ,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KAClG;AApBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,4CAKlC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cAFlC,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;;ACf1B;;;;;;AAMG;MAIU,kBAAkB,CAAA;IAG7B,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,yBAAyB,CAAC;KAC9D;AAEM,IAAA,cAAc,CAAC,SAAiB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAc,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,EAA4B,SAAS,CAAA,CAAE,CAAC,CAAC;KAC5G;AAEM,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAc,IAAI,CAAC,iBAAiB,GAAG,CAAA,gCAAA,EAAmC,SAAS,CAAA,CAAE,CAAC,CAAC;KACnH;AAEM,IAAA,MAAM,CAAC,KAAiC,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,CAAC;KACzF;AApBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAKnB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ACZtB;;;;;;AAMG;MAIU,mBAAmB,CAAA;IAG9B,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KAC/D;IAEM,MAAM,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,IAAI,CAAC,iBAAiB,GAAG,CAAQ,MAAA,CAAA,CAAC,CAAC;KAChF;IAEM,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,IAAI,CAAC,iBAAiB,GAAG,CAAe,aAAA,CAAA,CAAC,CAAC;KACvF;AAEM,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,IAAI,CAAC,iBAAiB,GAAG,CAAA,mCAAA,EAAsC,SAAS,CAAA,CAAE,CAAC,CAAC;KACjI;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,EAA4B,EAAE,CAAA,CAAE,CAAC,CAAC;KAC5G;AAEM,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,IAAI,CAAC,iBAAiB,GAAG,CAAA,gCAAA,EAAmC,SAAS,CAAA,CAAE,CAAC,CAAC;KAC1H;AA5BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAKpB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ACdtB;;;;;;AAMG;MAIU,eAAe,CAAA;IAG1B,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oBAAoB,CAAC;KACzD;AAEM,IAAA,MAAM,CAAC,KAAoB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACzF;AAEM,IAAA,KAAK,CAAC,KAA2B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;KACxF;AAEM,IAAA,MAAM,CAAC,KAA2B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KACzF;AApBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,4CAKhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ACnBtB;;;;;;AAMG;MAKU,4CAA4C,CAAA;IAGrD,WACY,CAAA,IAAgB,EACJ,OAAe,EAAA;QAD3B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAGxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,uDAAuD,CAAC;KAC9F;AAED,IAAA,gBAAgB,CAAC,KAA4C,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,CAAC;KACpF;AAED,IAAA,qBAAqB,CAAC,KAAsD,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,iBAAiB,GAAG,CAAA,oCAAA,CAAsC,EAAE,KAAK,CAAC,CAAC;KAClI;AAED,IAAA,wCAAwC,CAAC,KAAsD,EAAA;AAC3F,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqD,IAAI,CAAC,iBAAiB,GAAG,CAAA,0DAAA,CAA4D,EAAE,KAAK,CAAC,CAAC;KAC3K;AAED,IAAA,cAAc,CAAC,KAAoD,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsD,IAAI,CAAC,iBAAiB,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;KAC9H;AAxBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4CAA4C,4CAKzC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4CAA4C,cAFzC,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAHxD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;;ACjB1B;;;;;;AAMG;MAKU,yBAAyB,CAAA;IAGpC,WACU,CAAA,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAG/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,iCAAiC,CAAC;KACtE;IAEM,KAAK,CAAC,SAAiB,EAAE,SAAiB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,SAAS,CAAA,WAAA,EAAc,SAAS,CAAA,CAAE,CAAC,CAAC;KAClJ;AAZU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4CAK1B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFxB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,MAAM;2BAAC,UAAU,CAAA;;;ACftB;;;;AAIG;MAIU,wBAAwB,CAAA;IAGjC,WAA6B,CAAA,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEhD,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC,CAAC;KACvE;AAED;;;;;AAKG;IACI,oCAAoC,CAAC,iBAAyB,EAAE,WAAmB,EAAA;AACtF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAoD,IAAI,CAAC,iBAAiB,GAAG,0DAA0D,iBAAiB,CAAA,aAAA,EAAgB,WAAW,CAAA,CAAE,CAAC,CAAC;KACrN;AAhBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAIrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,UAAU,CAAA;;;ICGd,iBAKX;AALD,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AACzD,IAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,gBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,gBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AACjD,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA,CAAA;IAwDW,2BAMX;AAND,CAAA,UAAY,0BAA0B,EAAA;AAClC,IAAA,0BAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,IAAA,0BAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,IAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,0BAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,0BAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC7B,CAAC,EANW,0BAA0B,KAA1B,0BAA0B,GAMrC,EAAA,CAAA,CAAA;;IC1EW,6BAIX;AAJD,CAAA,UAAY,4BAA4B,EAAA;AACvC,IAAA,4BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACpB,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,GAIvC,EAAA,CAAA,CAAA;;ICmBW,oBAGX;AAHD,CAAA,UAAY,mBAAmB,EAAA;AAC5B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AAChB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAG9B,EAAA,CAAA,CAAA;;ICDW,wCAGX;AAHD,CAAA,UAAY,uCAAuC,EAAA;AAC/C,IAAA,uCAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,uCAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACzC,CAAC,EAHW,uCAAuC,KAAvC,uCAAuC,GAGlD,EAAA,CAAA,CAAA;;IC5BW,oBAIX;AAJD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACvC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAI9B,EAAA,CAAA,CAAA;;AClBD;;AAEG;MACU,UAAU,CAAA;AAEnB;;AAEG;aACa,IAAO,CAAA,OAAA,GAAW,eAAe,CAAC,EAAA;AAElD;;AAEG;aACa,IAAK,CAAA,KAAA,GAAW,aAAa,CAAC,EAAA;AAE9C;;AAEG;aACa,IAAO,CAAA,OAAA,GAAW,eAAe,CAAC,EAAA;;;AClBtD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/TutorCommonSettingsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiExtensions.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiUrlProvider.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentSubjectViewService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/subject.models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\r\n\r\n/**\r\n* Методы контроллера StudentGroupQueryController\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupQueryService {\r\n\r\n getBaseUrl() {\r\n return this._baseUrl + 'api/tutor/student-group/';\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string) {\r\n }\r\n\r\n public search(model: SearchStudentGroups): Observable<GetListResult<StudentGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.getBaseUrl() + 'query/search', model);\r\n }\r\n\r\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(this.getBaseUrl() + 'query/search/with-progresses', model);\r\n }\r\n\r\n public getById(id: string): Observable<StudentGroupDetailedModel> {\r\n return this._httpClient.get<StudentGroupDetailedModel>(this.getBaseUrl() + `query/by-id/${id}`);\r\n }\r\n\r\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\r\n return this._httpClient.get<StudentGroupSimpleModel[]>(this.getBaseUrl() + `by-student/${id}`);\r\n }\r\n\r\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(this.getBaseUrl() + 'students/search', model);\r\n }\r\n}\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, SearchStudents, 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<StudentSimpleModel> {\r\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\r\n }\r\n\r\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\r\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\r\n }\r\n\r\n public search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupEnterService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\r\n }\r\n\r\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\r\n }\r\n\r\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\r\n }\r\n}\r\n","import { OpenApiUrlProvider } from \"./OpenApiUrlProvider\";\r\n\r\nexport class OpenApiExtensions {\r\n static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string {\r\n return urlProvider.getUrl() + adding;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { OpenApiServerOptions } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiUrlProvider {\r\n\r\n _urlValue: string = \"\";\r\n _data: OpenApiServerOptions = {\r\n useOpenApiServer: false,\r\n openApiUrl: \"\"\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings(baseUrl);\r\n }\r\n\r\n getSettings(baseUrl: string) {\r\n this._httpClient.get<OpenApiServerOptions>(baseUrl + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._data = data;\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\r\n }\r\n\r\n getData() {\r\n return this._data;\r\n }\r\n\r\n getUrl(): string {\r\n return this._urlValue;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.getBaseUrl() + \"Search/By/Student\", model);\r\n }\r\n\r\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\r\n return this._httpClient.get<TestSolutionCourseData>(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);\r\n }\r\n\r\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + `Get/By/Id/${id}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\r\nBasePath = api/tutor/test-solution-result\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionResultService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution-result/';\r\n }\r\n\r\n public getQuestionsWithModifiersBySolution(solutionId: string) {\r\n return this._httpClient.get<TestQuestionWithModifiers[]>(this.baseControllerUrl + `modifiers/${solutionId}`);\r\n }\r\n\r\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\r\n return this._httpClient.get<TestSolutionWithPointsValidation>(this.baseControllerUrl + `points/${solutionId}`);\r\n }\r\n\r\n public create(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `create/${solutionId}`, {});\r\n }\r\n\r\n public recalculate(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `recalculate/${solutionId}`, {});\r\n }\r\n\r\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/save`, model);\r\n }\r\n\r\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/remove`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GenericBaseApiResponse, StartSolutionFromDirectory, StartTestSolutionByTestId, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionStartService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/Start/';\r\n }\r\n\r\n startByTestId(model: StartTestSolutionByTestId): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/TestId`, model);\r\n }\r\n\r\n startByDirectory(model: StartSolutionFromDirectory): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/Directory`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiQuestionLikeService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public search(model: SearchQuestionsByLikes) {\r\n return this._httpClient.post<GetListResult<TestQuestionModel>>(this.getBaseUrl() + 'search', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { StudentTestSolutionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiTestSolutionService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public getById(id: string) {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + id);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\r\n }\r\n\r\n checkAnswer(model: SolutionWithAnswerModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\r\n }\r\n\r\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\r\nBasePath = api/tutor/test-solution/query/mine\r\n*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\r\n }\r\n\r\n search(model: SearchMyTestSolutions) {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\r\n }\r\n\r\n getResultById(id: string){\r\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\r\n\r\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\r\n }\r\n\r\n getByTestId(testId: string){\r\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\r\n\r\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupTestRelationQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _baseUrlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n getById(studentGroupId: string, testId: string) {\r\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiResponse, GetListResult } from '../models';\r\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CuratorMessageTemplateService {\r\n getBaseControllerUrl() {\r\n return this._baseUrl + 'api/tutor/curator/message-template/';\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\r\n }\r\n\r\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\r\n }\r\n\r\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\r\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\r\n this.getBaseControllerUrl() + 'search',\r\n model,\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseDeadlineWarningService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\r\n }\r\n\r\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\r\n }\r\n\r\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { CourseItemGlobalTestRestrictionModel, TestRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\r\n * \r\n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + 'global', model);\r\n }\r\n\r\n getGlobal(id: string) {\r\n return this._http.get<TestRestrictionModel>(this.baseControllerUrl + `global/${id}`);\r\n }\r\n\r\n removeAll(courseId: string) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `remove-all/${courseId}`, {});\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeSubjectConfiguration, SubjectMenu } from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\r\n * \r\n * Базовый урл = api/tutor/subject/menu\r\n * \r\n * Методы для работы с меню предмета\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectMenuService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/menu/';\r\n }\r\n\r\n public getByAliasOrId(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public update(model: ChangeSubjectConfiguration): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `Update`, model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n SubjectCountsModel,\r\n SubjectModel,\r\n SubjectWithIconModel\r\n} from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\r\n * \r\n * Базовый урл = api/tutor/subject/query\r\n * \r\n * Методы для получения предметов\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/query/';\r\n }\r\n\r\n public getAll(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll`);\r\n }\r\n\r\n public getAllCached(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll/Cached`);\r\n }\r\n\r\n public getAllWithIconsCached(iconSetId: string): Observable<SubjectWithIconModel[]> {\r\n return this._httpClient.get<SubjectWithIconModel[]>(this.baseControllerUrl + `GetAll/with-icons/Cached?iconSetId=${iconSetId}`);\r\n }\r\n\r\n public getByAliasOrId(id: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId?aliasOrId=${id}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CreateSubject,\r\n OrderSubjectsRequest,\r\n UpdateSubjectRequest,\r\n} from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\r\n * \r\n * Базовый урл = api/tutor/subject\r\n * \r\n * Методы для работы с предметами\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\r\n }\r\n\r\n public create(model: CreateSubject): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\r\n }\r\n\r\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GetListResult } from \"../models\";\r\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n *\r\n * Предоставляет методы для управления ограничениями теста для блока курса\r\n *\r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionStudentService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\r\n }\r\n\r\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\r\n }\r\n\r\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\r\n }\r\n\r\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `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 + 'query/search', 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 { SubjectForStudentDetailedViewModel, SubjectModel } from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController\r\n *\r\n * Базовый урл = api/tutor/student-subject-view\r\n *\r\n * Методы для построения меню предмета\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentSubjectViewService {\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/student-subject-view/';\r\n }\r\n\r\n public getV1(idOrAlias: string, iconSetId: string): Observable<SubjectForStudentDetailedViewModel> {\r\n return this._httpClient.get<SubjectForStudentDetailedViewModel>(this.baseControllerUrl + `get/v1?idOrAlias=${idOrAlias}&iconSetId=${iconSetId}`);\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 { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\r\n * Оптимизированные методы для работы студентов с курсами\r\n * Базовый урл = api/tutor/student-course-view\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentCourseViewService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\r\n }\r\n\r\n /**\r\n * \r\n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \r\n * @param themeItemId \r\n * @returns \r\n */\r\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\r\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\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 { StudentTestSolutionDetailedModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы для поиска решений тестов \r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionDetailedQueryService {\r\n\r\n private _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\r\n }\r\n\r\n /**\r\n * \r\n * @param id Идентификатор решения теста\r\n * @returns \r\n */\r\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\r\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\r\n }\r\n}","import { CourseThemeItemModel } from \"./course-models\";\r\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\r\n\r\nexport interface SearchStudentTestSolutions {\r\n isFinished: boolean | null;\r\n studentId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface TestSolutionCourseData {\r\n solutionId: string;\r\n courseThemeItemId: string;\r\n courseThemeItemIndex: number;\r\n courseThemeId: string;\r\n courseThemeName: string;\r\n courseName: string;\r\n courseId: string;\r\n nextItem: CourseThemeItemModel;\r\n}\r\n\r\nexport enum TestQuestionType {\r\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\r\n TypeRightAnswer = 'TypeRightAnswer',\r\n DetailedAnswer = 'DetailedAnswer',\r\n TypeAnswerWithErrors = 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string;\r\n answer: QuestionAnswer;\r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel;\r\n systemValidation: TestSolutionSystemValidationModel;\r\n unreadMessagesCount: number;\r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number;\r\n studentProgressPercents: number;\r\n maxTotalPoints: number;\r\n questionsCount: number;\r\n validatedQuestionsCount: number;\r\n hasRightAnswerQuestionsCount: number;\r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string;\r\n directoryId: string;\r\n useFilter: boolean;\r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter;\r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>;\r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string;\r\n studentGroupId: string;\r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n isFinished: boolean | null;\r\n testId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface StudentTestSolutionSimpleModel {\r\n id: string;\r\n testName: string;\r\n testId: string;\r\n isFinished: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\r\n CorrectAnswer = 'CorrectAnswer',\r\n InProccess = 'InProccess'\r\n}\r\n\r\nexport interface SolutionWithAnswersModel {\r\n solutionId: string;\r\n answers: Array<QuestionAnswer>;\r\n}\r\n\r\nexport interface StudentTestSolutionModel {\r\n studentId: string;\r\n solutionId: string;\r\n studentGroupId: string;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n isFinished: boolean;\r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel;\r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\r\n /**\r\n * Есть ли вопросы, которые находятся в процессе расчёта результата\r\n */\r\n hasAnswersInProccess: boolean;\r\n answers: Array<QuestionAnswerWithResult>;\r\n}\r\n\r\nexport interface TestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<TestQuestionModel>;\r\n}\r\n\r\nexport interface TestQuestionModel {\r\n id: string;\r\n title: string;\r\n titleBodyMarkUp: string;\r\n helpBodyMarkUp: string;\r\n answerExplanationMarkUp: string;\r\n titleBodyMarkUpMobile: string;\r\n helpBodyMarkUpMobile: string;\r\n answerExplanationMarkUpMobile: string;\r\n type: TestQuestionType;\r\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\r\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\r\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\r\n}\r\n\r\nexport interface TypeAnswerWithErrorsQuestionData {\r\n rightAnswer: string;\r\n}\r\n\r\n\r\nexport interface TestWithActiveSolutionModel {\r\n testId: string;\r\n activeSolutionId: string;\r\n test: TestModel;\r\n}\r\n\r\nexport interface QuestionAnswer {\r\n questionId: string;\r\n answerOrAnswers: string;\r\n}\r\n\r\nexport interface QuestionAnswerWithResult {\r\n isChecked: boolean;\r\n questionId: string;\r\n answerOrAnswers: string;\r\n pointsValidation: QuestionPointsValidationModel;\r\n resultType: AnswerValidationResultType;\r\n}\r\n\r\nexport interface QuestionPointsValidationModel {\r\n errorOccured: boolean;\r\n inProccess: boolean;\r\n answerPoints: number;\r\n questionTotalPoints: number;\r\n description: string;\r\n isValidated: boolean;\r\n sourceType: QuestionValidationSourceType;\r\n validatorId: string;\r\n}\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string;\r\n rightAnswersCount: number;\r\n answers: Array<Answer>;\r\n}\r\n\r\nexport interface Answer {\r\n text: string;\r\n isRightAnswer: boolean;\r\n}\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive: boolean;\r\n rightAnswers: Array<string>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedModel {\r\n solutionId: string;\r\n hasAnswersInProccess: boolean;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n studentGroupId: string;\r\n studentId: string;\r\n startedOnUtc: Date;\r\n finishedOnUtc: Date | null;\r\n isFinished: boolean;\r\n test: StudentTestSolutionDetailedTestModel;\r\n cdnOptions: S3CdnPublicOptions;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestQuestion {\r\n question: TestQuestionModel;\r\n answerWithValidation: QuestionAnswerWithResult;\r\n isQuestionLikedByStudent: boolean;\r\n}\r\n\r\nexport interface S3CdnPublicOptions {\r\n useCdn: boolean;\r\n imageUrlFormat: 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: string;\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\nexport interface DeadLineWithWarningMessage {\r\n deadLine: string;\r\n warningMessage: string;\r\n}\r\n","import { IconSimpleModel } from \"./icon-models\";\r\n\r\nexport interface SubjectMenu {\r\n root: SubjectMenuItem;\r\n}\r\n\r\nexport interface SubjectMenuItem {\r\n text: string;\r\n path: string;\r\n type: SubjectMenuItemType;\r\n workSpaceId: string;\r\n children: Array<SubjectMenuItem>;\r\n}\r\n\r\nexport enum SubjectMenuItemType {\r\n MenuItem = 'MenuItem',\r\n WorkSpaceLink = 'WorkSpaceLink',\r\n SubjectTestsLink = 'SubjectTestsLink',\r\n}\r\n\r\nexport interface SubjectModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface CreateSubject {\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface UpdateSubjectRequest {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface SubjectCountsModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n questionsCount: number;\r\n testsCount: number;\r\n}\r\n\r\nexport interface ChangeSubjectConfiguration {\r\n id: string;\r\n configuration: SubjectMenu;\r\n}\r\n\r\nexport interface OrderSubjectsRequest {\r\n ids: Array<string>;\r\n}\r\n\r\nexport interface SubjectWithIconModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n icon: IconSimpleModel;\r\n}\r\n\r\nexport interface SubjectForStudentDetailedViewModel {\r\n icon: IconSimpleModel;\r\n subject: SubjectModel;\r\n menu: SubjectMenu;\r\n globalTests: Array<SubjectTestSimpleModel>;\r\n}\r\n\r\nexport interface SubjectTestSimpleModel {\r\n id: string;\r\n name: string;\r\n}\r\n","/**\r\n * Роли для модуля Tutor\r\n */\r\nexport class TutorRoles {\r\n\r\n /**\r\n * Куратор - проверяет домашние задания студентов (учеников).\r\n */\r\n static readonly curator: string = 'Tutor.Curator';\r\n\r\n /**\r\n * Администратор - управляет и настраивает платформу\r\n */\r\n static readonly admin: string = 'Tutor.Admin';\r\n\r\n /**\r\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\r\n */\r\n static readonly student: string = 'Tutor.Student';\r\n}","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/extensions';\nexport * from './lib/consts'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
@@ -1,14 +1,4 @@
1
1
  export interface StudentSimpleModel {
2
- id: string;
3
- surname: string;
4
- name: string;
5
- email: string;
6
- phoneNumber: string;
7
- telegramUserName: string;
8
- telegramUserId: number | null;
9
- isDeleting: boolean;
10
- }
11
- export interface StudentModel {
12
2
  id: string;
13
3
  email: string;
14
4
  name: string;
@@ -1,13 +1,13 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
2
  import { Observable } from "rxjs";
3
- import { GetListResult, SearchStudents, StudentModel, StudentSimpleModel } from "../models";
3
+ import { GetListResult, SearchStudents, StudentSimpleModel } from "../models";
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class StudentQueryService {
6
6
  private _httpClient;
7
7
  baseControllerUrl: string;
8
8
  constructor(_httpClient: HttpClient, baseUrl: string);
9
- getById(id: string): Observable<StudentModel>;
10
- getByTelegramId(telegramId: number): Observable<StudentModel>;
9
+ getById(id: string): Observable<StudentSimpleModel>;
10
+ getByTelegramId(telegramId: number): Observable<StudentSimpleModel>;
11
11
  search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>>;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<StudentQueryService, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<StudentQueryService>;
@@ -0,0 +1,20 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { Observable } from "rxjs";
3
+ import { StudentTestSolutionDetailedModel } from "../models";
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Предоставляет методы для поиска решений тестов
7
+ */
8
+ export declare class TestSolutionDetailedQueryService {
9
+ private _httpClient;
10
+ private _baseUrl;
11
+ constructor(_httpClient: HttpClient, baseUrl: string);
12
+ /**
13
+ *
14
+ * @param id Идентификатор решения теста
15
+ * @returns
16
+ */
17
+ get(id: string): Observable<StudentTestSolutionDetailedModel>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TestSolutionDetailedQueryService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<TestSolutionDetailedQueryService>;
20
+ }
@@ -19,3 +19,4 @@ export { SubjectsService } from './SubjectsService';
19
19
  export { CourseThemeItemTestRestrictionStudentService } from './CourseThemeItemTestRestrictionStudentService';
20
20
  export { StudentSubjectViewService } from './StudentSubjectViewService';
21
21
  export { StudentCourseViewService } from './StudentCourseViewService';
22
+ export { TestSolutionDetailedQueryService } from './TestSolutionDetailedQueryService';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutor-logic",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.4",
6
6
  "@angular/core": "^17.3.4"