tutor-logic 0.0.5 → 0.0.6

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.
@@ -0,0 +1,6 @@
1
+ export class OpenApiExtensions {
2
+ static buildOpenApiUrl(urlProvider, adding) {
3
+ return urlProvider.getUrl() + adding;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaUV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL2V4dGVuc2lvbnMvT3BlbkFwaUV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsZUFBZSxDQUFDLFdBQStCLEVBQUUsTUFBYztRQUNwRSxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkFwaVVybFByb3ZpZGVyIH0gZnJvbSBcIi4vT3BlbkFwaVVybFByb3ZpZGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgT3BlbkFwaUV4dGVuc2lvbnMge1xyXG4gIHN0YXRpYyBidWlsZE9wZW5BcGlVcmwodXJsUHJvdmlkZXI6IE9wZW5BcGlVcmxQcm92aWRlciwgYWRkaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVybFByb3ZpZGVyLmdldFVybCgpICsgYWRkaW5nO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -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
+ export class OpenApiUrlProvider {
5
+ constructor(_httpClient, baseUrl) {
6
+ this._httpClient = _httpClient;
7
+ this._urlValue = "";
8
+ this._urlValue = baseUrl;
9
+ this.getSettings();
10
+ }
11
+ getSettings() {
12
+ this._httpClient.get(this._urlValue + "api/settings/open-api/get").subscribe(data => {
13
+ if (data.useOpenApiServer && data.openApiUrl) {
14
+ this._urlValue = data.openApiUrl;
15
+ }
16
+ });
17
+ }
18
+ getUrl() {
19
+ return this._urlValue;
20
+ }
21
+ }
22
+ OpenApiUrlProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
23
+ OpenApiUrlProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, providedIn: 'root' });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: 'root',
28
+ }]
29
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
30
+ type: Inject,
31
+ args: ['BASE_URL']
32
+ }] }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaVVybFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9leHRlbnNpb25zL09wZW5BcGlVcmxQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBb0IsV0FBdUIsRUFDckIsT0FBZTtRQURqQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUYzQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBSXJCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF1QixJQUFJLENBQUMsU0FBUyxHQUFHLDJCQUEyQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hHLElBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUM7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNsQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQzs7K0dBcEJVLGtCQUFrQiw0Q0FLbkIsVUFBVTttSEFMVCxrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9wZW5BcGlTZXJ2ZXJPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wZW5BcGlVcmxQcm92aWRlciB7XHJcblxyXG4gIF91cmxWYWx1ZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl91cmxWYWx1ZSA9IGJhc2VVcmw7XHJcbiAgICB0aGlzLmdldFNldHRpbmdzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTZXR0aW5ncygpIHtcclxuICAgIHRoaXMuX2h0dHBDbGllbnQuZ2V0PE9wZW5BcGlTZXJ2ZXJPcHRpb25zPih0aGlzLl91cmxWYWx1ZSArIFwiYXBpL3NldHRpbmdzL29wZW4tYXBpL2dldFwiKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIGlmKGRhdGEudXNlT3BlbkFwaVNlcnZlciAmJiBkYXRhLm9wZW5BcGlVcmwpe1xyXG4gICAgICAgIHRoaXMuX3VybFZhbHVlID0gZGF0YS5vcGVuQXBpVXJsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VybFZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { OpenApiExtensions } from './OpenApiExtensions';
2
+ export { OpenApiUrlProvider } from './OpenApiUrlProvider';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL2V4dGVuc2lvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBPcGVuQXBpRXh0ZW5zaW9ucyB9IGZyb20gJy4vT3BlbkFwaUV4dGVuc2lvbnMnO1xyXG5leHBvcnQgeyBPcGVuQXBpVXJsUHJvdmlkZXIgfSBmcm9tICcuL09wZW5BcGlVcmxQcm92aWRlcic7Il19
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB7IEdldExpc3RSZXN1bHQgfSBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCB7IEdlbmVyaWNCYXNlQXBpUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCB7IEJhc2VBcGlSZXNwb25zZSB9IGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0IHsgQ3JlYXRlVGVzdCwgRWRpdFRlc3QsIFRlc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vdGVzdC1tb2RlbHMnXHJcbmV4cG9ydCB7IFNldHRpbmdNb2RlbCB9IGZyb20gJy4vc2V0dGluZy1tb2RlbHMnO1xyXG5leHBvcnQgeyBTdHVkZW50TW9kZWwsIFN0dWRlbnRTaW1wbGVNb2RlbCwgU2VhcmNoU3R1ZGVudHMgfSBmcm9tICcuL3N0dWRlbnQtbW9kZWxzJ1xyXG5leHBvcnQgeyBTZWFyY2hTdHVkZW50R3JvdXBzLCBTdHVkZW50R3JvdXBTaW1wbGVNb2RlbCwgU3R1ZGVudEdyb3VwRGV0YWlsZWRNb2RlbCwgU3R1ZGVudEluR3JvdXBTaW1wbGVNb2RlbCwgU2VhcmNoU3R1ZGVudHNJbkdyb3VwIH0gZnJvbSAnLi9ncm91cC1tb2RlbHMnXHJcbmV4cG9ydCB7IEdldFRvR3JvdXBCeUNvZGVSZXF1ZXN0LCBHZXRUb0dyb3VwQnlDb2RlUmVzcG9uc2UgfSBmcm9tICcuL2dyb3VwLWVudGVyLW1vZGVscyciXX0=
1
+ export { TestQuestionType, AnswerValidationResultType, } from './test-solution-models';
2
+ export { QuestionValidationSourceType, } from './solution-validation-models';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUNBLEVBR0ksZ0JBQWdCLEVBU2hCLDBCQUEwQixHQWM3QixNQUFNLHdCQUF3QixDQUFBO0FBQy9CLE9BQ0EsRUFHSSw0QkFBNEIsR0FLL0IsTUFBTSw4QkFBOEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgeyBHZXRMaXN0UmVzdWx0IH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5leHBvcnQgeyBHZW5lcmljQmFzZUFwaVJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5leHBvcnQgeyBCYXNlQXBpUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCB7IENyZWF0ZVRlc3QsIEVkaXRUZXN0LCBUZXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3Rlc3QtbW9kZWxzJ1xyXG5leHBvcnQgeyBTZXR0aW5nTW9kZWwgfSBmcm9tICcuL3NldHRpbmctbW9kZWxzJztcclxuZXhwb3J0IHsgU3R1ZGVudE1vZGVsLCBTdHVkZW50U2ltcGxlTW9kZWwsIFNlYXJjaFN0dWRlbnRzIH0gZnJvbSAnLi9zdHVkZW50LW1vZGVscydcclxuZXhwb3J0IHsgU2VhcmNoU3R1ZGVudEdyb3VwcywgU3R1ZGVudEdyb3VwU2ltcGxlTW9kZWwsIFN0dWRlbnRHcm91cERldGFpbGVkTW9kZWwsIFN0dWRlbnRJbkdyb3VwU2ltcGxlTW9kZWwsIFNlYXJjaFN0dWRlbnRzSW5Hcm91cCB9IGZyb20gJy4vZ3JvdXAtbW9kZWxzJ1xyXG5leHBvcnQgeyBHZXRUb0dyb3VwQnlDb2RlUmVxdWVzdCwgR2V0VG9Hcm91cEJ5Q29kZVJlc3BvbnNlIH0gZnJvbSAnLi9ncm91cC1lbnRlci1tb2RlbHMnXHJcbmV4cG9ydCB7IE9wZW5BcGlTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi9vcGVuLWFwaS1tb2RlbHMnXHJcbmV4cG9ydCBcclxueyBcclxuICAgIFNlYXJjaFN0dWRlbnRUZXN0U29sdXRpb25zLFxyXG4gICAgVGVzdFNvbHV0aW9uQ291cnNlRGF0YSxcclxuICAgIFRlc3RRdWVzdGlvblR5cGUsIFxyXG4gICAgU29sdXRpb25XaXRoQW5zd2VyTW9kZWwsXHJcbiAgICBTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvLFxyXG4gICAgVGVzdFNvbHV0aW9uU3lzdGVtVmFsaWRhdGlvbk1vZGVsLFxyXG4gICAgU3RhcnRTb2x1dGlvbkZyb21EaXJlY3RvcnksXHJcbiAgICBRdWVzdGlvbnNGaWx0ZXIsXHJcbiAgICBTdGFydFRlc3RTb2x1dGlvbkJ5VGVzdElkLFxyXG4gICAgU2VhcmNoTXlUZXN0U29sdXRpb25zLFxyXG4gICAgU3R1ZGVudFRlc3RTb2x1dGlvblNpbXBsZU1vZGVsLFxyXG4gICAgQW5zd2VyVmFsaWRhdGlvblJlc3VsdFR5cGUsXHJcbiAgICBTb2x1dGlvbldpdGhBbnN3ZXJzTW9kZWwsXHJcbiAgICBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwsXHJcbiAgICBTdHVkZW50VGVzdFNvbHV0aW9uRGF0YU1vZGVsLFxyXG4gICAgVGVzdE1vZGVsLFxyXG4gICAgVGVzdFF1ZXN0aW9uTW9kZWwsXHJcbiAgICBUeXBlQW5zd2VyV2l0aEVycm9yc1F1ZXN0aW9uRGF0YSxcclxuICAgIFRlc3RXaXRoQWN0aXZlU29sdXRpb25Nb2RlbCxcclxuICAgIFF1ZXN0aW9uQW5zd2VyLFxyXG4gICAgUXVlc3Rpb25BbnN3ZXJXaXRoUmVzdWx0LFxyXG4gICAgUXVlc3Rpb25Qb2ludHNWYWxpZGF0aW9uTW9kZWwsXHJcbiAgICBTZWxlY3RSaWdodEFuc3dlck9yQW5zd2Vyc1F1ZXN0aW9uRGF0YSxcclxuICAgIEFuc3dlcixcclxuICAgIFR5cGVSaWdodEFuc3dlclF1ZXN0aW9uRGF0YSxcclxufSBmcm9tICcuL3Rlc3Qtc29sdXRpb24tbW9kZWxzJ1xyXG5leHBvcnQgXHJcbnsgXHJcbiAgICBUZXN0U29sdXRpb25XaXRoUG9pbnRzVmFsaWRhdGlvbiwgXHJcbiAgICBUZXN0UXVlc3Rpb25XaXRoUG9pbnRzVmFsaWRhdGlvbixcclxuICAgIFF1ZXN0aW9uVmFsaWRhdGlvblNvdXJjZVR5cGUsXHJcbiAgICBUZXN0UXVlc3Rpb25XaXRoTW9kaWZpZXJzLFxyXG4gICAgVGVzdFF1ZXN0aW9uTW9kaWZlck1vZGVsLFxyXG4gICAgU2F2ZVF1ZXN0aW9uUG9pbnRzVmFsaWRhdGlvbixcclxuICAgIFF1ZXN0aW9uSW5Tb2x1dGlvbklkTW9kZWwsXHJcbn0gZnJvbSAnLi9zb2x1dGlvbi12YWxpZGF0aW9uLW1vZGVscyciXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGktbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9tb2RlbHMvb3Blbi1hcGktbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wZW5BcGlTZXJ2ZXJPcHRpb25zIHtcclxuICAgIHVzZU9wZW5BcGlTZXJ2ZXI6IGJvb2xlYW47IFxyXG4gICAgb3BlbkFwaVVybDogc3RyaW5nOyBcclxufSJdfQ==
@@ -0,0 +1,7 @@
1
+ export var QuestionValidationSourceType;
2
+ (function (QuestionValidationSourceType) {
3
+ QuestionValidationSourceType[QuestionValidationSourceType["System"] = 'System'] = "System";
4
+ QuestionValidationSourceType[QuestionValidationSourceType["Student"] = 'Student'] = "Student";
5
+ QuestionValidationSourceType[QuestionValidationSourceType["Curator"] = 'Curator'] = "Curator";
6
+ })(QuestionValidationSourceType || (QuestionValidationSourceType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sdXRpb24tdmFsaWRhdGlvbi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9zb2x1dGlvbi12YWxpZGF0aW9uLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsTUFBTSxDQUFOLElBQVksNEJBSVg7QUFKRCxXQUFZLDRCQUE0QjtJQUN2QyxzRUFBZSxRQUFRLFlBQUEsQ0FBQTtJQUN2Qix1RUFBZ0IsU0FBUyxhQUFBLENBQUE7SUFDekIsdUVBQWdCLFNBQVMsYUFBQSxDQUFBO0FBQzFCLENBQUMsRUFKVyw0QkFBNEIsS0FBNUIsNEJBQTRCLFFBSXZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5zd2VyVmFsaWRhdGlvblJlc3VsdFR5cGUgfSBmcm9tIFwiLi90ZXN0LXNvbHV0aW9uLW1vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0U29sdXRpb25XaXRoUG9pbnRzVmFsaWRhdGlvbiB7XHJcbiAgICBzb2x1dGlvbklkOiBzdHJpbmc7IFxyXG4gICAgaGFzUG9pbnRzUmVzdWx0OiBib29sZWFuOyBcclxuICAgIG5vUG9pbnRzVmFsaWRhdGlvbjogYm9vbGVhbjsgXHJcbiAgICBxdWVzdGlvbnM6IEFycmF5PFRlc3RRdWVzdGlvbldpdGhQb2ludHNWYWxpZGF0aW9uPjsgXHJcbiAgICBzdHVkZW50VG90YWxQb2ludHM6IG51bWJlcjsgXHJcbiAgICBtYXhUb3RhbFBvaW50czogbnVtYmVyOyBcclxuICAgIHF1ZXN0aW9uc0NvdW50OiBudW1iZXI7IFxyXG4gICAgdmFsaWRhdGVkUXVlc3Rpb25zQ291bnQ6IG51bWJlcjsgXHJcbiAgICBoYXNSaWdodEFuc3dlclF1ZXN0aW9uc0NvdW50OiBudW1iZXI7IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RRdWVzdGlvbldpdGhQb2ludHNWYWxpZGF0aW9uIHtcclxuICAgIHF1ZXN0aW9uSWQ6IHN0cmluZzsgXHJcbiAgICBhbnN3ZXJQb2ludHM6IG51bWJlcjsgXHJcbiAgICBxdWVzdGlvblRvdGFsUG9pbnRzOiBudW1iZXI7IFxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZzsgXHJcbiAgICBpc1ZhbGlkYXRlZDogYm9vbGVhbjsgXHJcbiAgICByZXN1bHRUeXBlOiBBbnN3ZXJWYWxpZGF0aW9uUmVzdWx0VHlwZTsgXHJcbiAgICBzb3VyY2VUeXBlOiBRdWVzdGlvblZhbGlkYXRpb25Tb3VyY2VUeXBlOyBcclxuICAgIHZhbGlkYXRvcklkOiBzdHJpbmc7IFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBRdWVzdGlvblZhbGlkYXRpb25Tb3VyY2VUeXBlIHtcclxuXHRTeXN0ZW0gPSA8YW55PiAnU3lzdGVtJyxcclxuXHRTdHVkZW50ID0gPGFueT4gJ1N0dWRlbnQnLFxyXG5cdEN1cmF0b3IgPSA8YW55PiAnQ3VyYXRvcidcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0UXVlc3Rpb25XaXRoTW9kaWZpZXJzIHtcclxuICAgIHF1ZXN0aW9uSWQ6IHN0cmluZzsgXHJcbiAgICBtb2RpZmllcnM6IEFycmF5PFRlc3RRdWVzdGlvbk1vZGlmZXJNb2RlbD47IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RRdWVzdGlvbk1vZGlmZXJNb2RlbCB7XHJcbiAgICBuYW1lOiBzdHJpbmc7IFxyXG4gICAgZGF0YTogc3RyaW5nOyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTYXZlUXVlc3Rpb25Qb2ludHNWYWxpZGF0aW9uIHtcclxuICAgIGlkTW9kZWw6IFF1ZXN0aW9uSW5Tb2x1dGlvbklkTW9kZWw7IFxyXG4gICAgYW5zd2VyUG9pbnRzOiBudW1iZXI7IFxyXG4gICAgcXVlc3Rpb25Ub3RhbFBvaW50czogbnVtYmVyOyBcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uSW5Tb2x1dGlvbklkTW9kZWwge1xyXG4gICAgc29sdXRpb25JZDogc3RyaW5nOyBcclxuICAgIHF1ZXN0aW9uSWQ6IHN0cmluZzsgXHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ export var TestQuestionType;
2
+ (function (TestQuestionType) {
3
+ TestQuestionType[TestQuestionType["SelectRightAnswerOrAnswers"] = 'SelectRightAnswerOrAnswers'] = "SelectRightAnswerOrAnswers";
4
+ TestQuestionType[TestQuestionType["TypeRightAnswer"] = 'TypeRightAnswer'] = "TypeRightAnswer";
5
+ TestQuestionType[TestQuestionType["DetailedAnswer"] = 'DetailedAnswer'] = "DetailedAnswer";
6
+ TestQuestionType[TestQuestionType["TypeAnswerWithErrors"] = 'TypeAnswerWithErrors'] = "TypeAnswerWithErrors";
7
+ })(TestQuestionType || (TestQuestionType = {}));
8
+ export var AnswerValidationResultType;
9
+ (function (AnswerValidationResultType) {
10
+ AnswerValidationResultType[AnswerValidationResultType["NeedToCheckByYourSelf"] = 'NeedToCheckByYourSelf'] = "NeedToCheckByYourSelf";
11
+ AnswerValidationResultType[AnswerValidationResultType["NotCorrectAnswer"] = 'NotCorrectAnswer'] = "NotCorrectAnswer";
12
+ AnswerValidationResultType[AnswerValidationResultType["PartiallyCorrectAnswer"] = 'PartiallyCorrectAnswer'] = "PartiallyCorrectAnswer";
13
+ AnswerValidationResultType[AnswerValidationResultType["CorrectAnswer"] = 'CorrectAnswer'] = "CorrectAnswer";
14
+ })(AnswerValidationResultType || (AnswerValidationResultType = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1zb2x1dGlvbi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy90ZXN0LXNvbHV0aW9uLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzNCLGtFQUFtQyw0QkFBNEIsZ0NBQUEsQ0FBQTtJQUMvRCx1REFBd0IsaUJBQWlCLHFCQUFBLENBQUE7SUFDekMsc0RBQXVCLGdCQUFnQixvQkFBQSxDQUFBO0lBQ3ZDLDREQUE2QixzQkFBc0IsMEJBQUEsQ0FBQTtBQUNwRCxDQUFDLEVBTFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUszQjtBQXNERCxNQUFNLENBQU4sSUFBWSwwQkFLWDtBQUxELFdBQVksMEJBQTBCO0lBQ25DLGlGQUE4Qix1QkFBdUIsMkJBQUEsQ0FBQTtJQUNyRCw0RUFBeUIsa0JBQWtCLHNCQUFBLENBQUE7SUFDM0Msa0ZBQStCLHdCQUF3Qiw0QkFBQSxDQUFBO0lBQ3ZELHlFQUFzQixlQUFlLG1CQUFBLENBQUE7QUFDeEMsQ0FBQyxFQUxXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFLckMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlYXJjaFN0dWRlbnRUZXN0U29sdXRpb25zIHtcclxuICAgIHN0dWRlbnRJZDogc3RyaW5nOyBcclxuICAgIGNvdW50OiBudW1iZXIgfCBudWxsOyBcclxuICAgIG9mZlNldDogbnVtYmVyOyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0U29sdXRpb25Db3Vyc2VEYXRhIHtcclxuICAgIHNvbHV0aW9uSWQ6IHN0cmluZzsgXHJcbiAgICBjb3Vyc2VUaGVtZUl0ZW1JZDogc3RyaW5nOyBcclxuICAgIGNvdXJzZVRoZW1lSWQ6IHN0cmluZzsgXHJcbiAgICBjb3Vyc2VUaGVtZU5hbWU6IHN0cmluZzsgXHJcbiAgICBjb3Vyc2VOYW1lOiBzdHJpbmc7IFxyXG4gICAgY291cnNlSWQ6IHN0cmluZzsgXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRlc3RRdWVzdGlvblR5cGUge1xyXG5cdFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzID0gPGFueT4gJ1NlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzJyxcclxuXHRUeXBlUmlnaHRBbnN3ZXIgPSA8YW55PiAnVHlwZVJpZ2h0QW5zd2VyJyxcclxuXHREZXRhaWxlZEFuc3dlciA9IDxhbnk+ICdEZXRhaWxlZEFuc3dlcicsXHJcblx0VHlwZUFuc3dlcldpdGhFcnJvcnMgPSA8YW55PiAnVHlwZUFuc3dlcldpdGhFcnJvcnMnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29sdXRpb25XaXRoQW5zd2VyTW9kZWwge1xyXG4gICAgc29sdXRpb25JZDogc3RyaW5nOyBcclxuICAgIGFuc3dlcjogUXVlc3Rpb25BbnN3ZXI7IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0dWRlbnRUZXN0U29sdXRpb25XaXRoQ2hhdEluZm8ge1xyXG4gICAgc29sdXRpb246IFN0dWRlbnRUZXN0U29sdXRpb25TaW1wbGVNb2RlbDsgXHJcbiAgICBzeXN0ZW1WYWxpZGF0aW9uOiBUZXN0U29sdXRpb25TeXN0ZW1WYWxpZGF0aW9uTW9kZWw7IFxyXG4gICAgdW5yZWFkTWVzc2FnZXNDb3VudDogbnVtYmVyOyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0U29sdXRpb25TeXN0ZW1WYWxpZGF0aW9uTW9kZWwge1xyXG4gICAgc3R1ZGVudFRvdGFsUG9pbnRzOiBudW1iZXI7IFxyXG4gICAgbWF4VG90YWxQb2ludHM6IG51bWJlcjsgXHJcbiAgICBxdWVzdGlvbnNDb3VudDogbnVtYmVyOyBcclxuICAgIHZhbGlkYXRlZFF1ZXN0aW9uc0NvdW50OiBudW1iZXI7IFxyXG4gICAgaGFzUmlnaHRBbnN3ZXJRdWVzdGlvbnNDb3VudDogbnVtYmVyOyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGFydFNvbHV0aW9uRnJvbURpcmVjdG9yeSB7XHJcbiAgICB3b3JrU3BhY2VJZDogc3RyaW5nOyBcclxuICAgIGRpcmVjdG9yeUlkOiBzdHJpbmc7IFxyXG4gICAgdXNlRmlsdGVyOiBib29sZWFuOyBcclxuICAgIGNhbkNoZWNrU2luZ2xlUXVlc3Rpb246IGJvb2xlYW47XHJcbiAgICBmaWx0ZXI6IFF1ZXN0aW9uc0ZpbHRlcjsgXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zRmlsdGVyIHtcclxuICAgIHR5cGVzOiBBcnJheTxUZXN0UXVlc3Rpb25UeXBlPjsgXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhcnRUZXN0U29sdXRpb25CeVRlc3RJZCB7XHJcbiAgICB0ZXN0SWQ6IHN0cmluZzsgXHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nOyBcclxuICAgIGNhbkNoZWNrU2luZ2xlUXVlc3Rpb246IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoTXlUZXN0U29sdXRpb25zIHtcclxuICAgIHRlc3RJZDogc3RyaW5nOyBcclxuICAgIGNvdW50OiBudW1iZXIgfCBudWxsOyBcclxuICAgIG9mZlNldDogbnVtYmVyOyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHVkZW50VGVzdFNvbHV0aW9uU2ltcGxlTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZzsgXHJcbiAgICB0ZXN0TmFtZTogc3RyaW5nOyBcclxuICAgIHRlc3RJZDogc3RyaW5nOyBcclxuICAgIGlzRmluaXNoZWQ6IGJvb2xlYW47IFxyXG4gICAgc3RhcnRlZE9uVXRjOiBEYXRlOyBcclxuICAgIGZpbmlzaGVkT25VdGM6IERhdGUgfCBudWxsOyBcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQW5zd2VyVmFsaWRhdGlvblJlc3VsdFR5cGUge1xyXG4gICBOZWVkVG9DaGVja0J5WW91clNlbGYgPSA8YW55PiAnTmVlZFRvQ2hlY2tCeVlvdXJTZWxmJyxcclxuICAgTm90Q29ycmVjdEFuc3dlciA9IDxhbnk+ICdOb3RDb3JyZWN0QW5zd2VyJyxcclxuICAgUGFydGlhbGx5Q29ycmVjdEFuc3dlciA9IDxhbnk+ICdQYXJ0aWFsbHlDb3JyZWN0QW5zd2VyJyxcclxuICAgQ29ycmVjdEFuc3dlciA9IDxhbnk+ICdDb3JyZWN0QW5zd2VyJ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvbHV0aW9uV2l0aEFuc3dlcnNNb2RlbCB7XHJcbiAgICBzb2x1dGlvbklkOiBzdHJpbmc7IFxyXG4gICAgYW5zd2VyczogQXJyYXk8UXVlc3Rpb25BbnN3ZXI+OyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwge1xyXG4gICAgc3R1ZGVudElkOiBzdHJpbmc7XHJcbiAgICBzb2x1dGlvbklkOiBzdHJpbmc7IFxyXG4gICAgc3R1ZGVudEdyb3VwSWQ6IHN0cmluZztcclxuICAgIGhhc0N1cmF0b3JWYWxpZGF0aW9uOiBib29sZWFuO1xyXG4gICAgY2FuQ2hlY2tTaW5nbGVRdWVzdGlvbjogYm9vbGVhbjtcclxuICAgIHN0YXJ0ZWRPblV0YzogRGF0ZTsgXHJcbiAgICBmaW5pc2hlZE9uVXRjOiBEYXRlIHwgbnVsbDsgXHJcbiAgICBpc0ZpbmlzaGVkOiBib29sZWFuOyBcclxuICAgIHNvbHV0aW9uOiBTdHVkZW50VGVzdFNvbHV0aW9uRGF0YU1vZGVsO1xyXG4gICAgdGVzdDogVGVzdE1vZGVsOyBcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRhdGFNb2RlbCB7XHJcbiAgICBhbnN3ZXJzOiBBcnJheTxRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQ+OyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0TW9kZWwge1xyXG4gICAgbmFtZTogc3RyaW5nOyBcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7IFxyXG4gICAgcXVlc3Rpb25zOiBBcnJheTxUZXN0UXVlc3Rpb25Nb2RlbD47IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RRdWVzdGlvbk1vZGVsIHtcclxuICAgIGlkOiBzdHJpbmc7IFxyXG4gICAgdGl0bGU6IHN0cmluZzsgXHJcbiAgICB0aXRsZUJvZHlNYXJrVXA6IHN0cmluZzsgXHJcbiAgICBoZWxwQm9keU1hcmtVcDogc3RyaW5nOyBcclxuICAgIGFuc3dlckV4cGxhbmF0aW9uTWFya1VwOiBzdHJpbmc7IFxyXG4gICAgdGl0bGVCb2R5TWFya1VwTW9iaWxlOiBzdHJpbmc7IFxyXG4gICAgaGVscEJvZHlNYXJrVXBNb2JpbGU6IHN0cmluZzsgXHJcbiAgICBhbnN3ZXJFeHBsYW5hdGlvbk1hcmtVcE1vYmlsZTogc3RyaW5nOyBcclxuICAgIHR5cGU6IFRlc3RRdWVzdGlvblR5cGU7IFxyXG4gICAgc2VsZWN0UmlnaHRBbnN3ZXJPckFuc3dlcnNEYXRhOiBTZWxlY3RSaWdodEFuc3dlck9yQW5zd2Vyc1F1ZXN0aW9uRGF0YTsgXHJcbiAgICB0eXBlUmlnaHRBbnN3ZXJRdWVzdGlvbkRhdGE6IFR5cGVSaWdodEFuc3dlclF1ZXN0aW9uRGF0YTsgXHJcbiAgICB0eXBlQW5zd2VyV2l0aEVycm9yc0RhdGE6IFR5cGVBbnN3ZXJXaXRoRXJyb3JzUXVlc3Rpb25EYXRhOyBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUeXBlQW5zd2VyV2l0aEVycm9yc1F1ZXN0aW9uRGF0YSB7XHJcbiAgICByaWdodEFuc3dlcjogc3RyaW5nOyBcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFdpdGhBY3RpdmVTb2x1dGlvbk1vZGVsIHtcclxuICAgIHRlc3RJZDogc3RyaW5nOyBcclxuICAgIGFjdGl2ZVNvbHV0aW9uSWQ6IHN0cmluZzsgXHJcbiAgICB0ZXN0OiBUZXN0TW9kZWw7IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uQW5zd2VyIHtcclxuICAgIHF1ZXN0aW9uSWQ6IHN0cmluZzsgXHJcbiAgICBhbnN3ZXJPckFuc3dlcnM6IHN0cmluZzsgXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25BbnN3ZXJXaXRoUmVzdWx0IHtcclxuICAgIGlzQ2hlY2tlZDogYm9vbGVhbjsgXHJcbiAgICBxdWVzdGlvbklkOiBzdHJpbmc7IFxyXG4gICAgYW5zd2VyT3JBbnN3ZXJzOiBzdHJpbmc7IFxyXG4gICAgcG9pbnRzVmFsaWRhdGlvbjogUXVlc3Rpb25Qb2ludHNWYWxpZGF0aW9uTW9kZWw7IFxyXG4gICAgcmVzdWx0VHlwZTogQW5zd2VyVmFsaWRhdGlvblJlc3VsdFR5cGU7IFxyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvblBvaW50c1ZhbGlkYXRpb25Nb2RlbCB7XHJcbiAgICBhbnN3ZXJQb2ludHM6IG51bWJlcjsgXHJcbiAgICBxdWVzdGlvblRvdGFsUG9pbnRzOiBudW1iZXI7IFxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZzsgXHJcbiAgICBpc1ZhbGlkYXRlZDogYm9vbGVhbjsgXHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzUXVlc3Rpb25EYXRhIHtcclxuICAgIHNlbGVjdFJpZ2h0QW5zd2VyVGl0bGU6IHN0cmluZzsgXHJcbiAgICByaWdodEFuc3dlcnNDb3VudDogbnVtYmVyOyBcclxuICAgIGFuc3dlcnM6IEFycmF5PEFuc3dlcj47IFxyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBbnN3ZXIge1xyXG4gICAgdGV4dDogc3RyaW5nOyBcclxuICAgIGlzUmlnaHRBbnN3ZXI6IGJvb2xlYW47IFxyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUeXBlUmlnaHRBbnN3ZXJRdWVzdGlvbkRhdGEge1xyXG4gICAgY2FzZUluU2Vuc2l0aXZlOmJvb2xlYW47XHJcbiAgICByaWdodEFuc3dlcnM6IEFycmF5PHN0cmluZz47IFxyXG59Il19
@@ -0,0 +1,29 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { OpenApiExtensions } from "../extensions";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ import * as i2 from "../extensions";
6
+ export class TestSolutionQueryService {
7
+ getBaseUrl() {
8
+ return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');
9
+ }
10
+ constructor(_httpClient, _urlProvider) {
11
+ this._httpClient = _httpClient;
12
+ this._urlProvider = _urlProvider;
13
+ }
14
+ searchByStudent(model) {
15
+ return this._httpClient.post(this.getBaseUrl() + "Search/By/Student", model);
16
+ }
17
+ getCourseData(id) {
18
+ return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);
19
+ }
20
+ }
21
+ TestSolutionQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: i2.OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable });
22
+ TestSolutionQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, providedIn: 'root' });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root',
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.OpenApiUrlProvider }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9zZXJ2aWNlcy9UZXN0U29sdXRpb25RdWVyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3RFLE1BQU0sT0FBTyx3QkFBd0I7SUFFakMsVUFBVTtRQUNOLE9BQU8saUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsWUFBb0IsV0FBdUIsRUFDL0IsWUFBZ0M7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQzVDLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBaUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBaUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFFTSxhQUFhLENBQUMsRUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF5QixJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7O3FIQWhCUSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzJGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcGVuQXBpRXh0ZW5zaW9ucywgT3BlbkFwaVVybFByb3ZpZGVyIH0gZnJvbSBcIi4uL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNlYXJjaFN0dWRlbnRUZXN0U29sdXRpb25zLCBHZXRMaXN0UmVzdWx0LCBUZXN0U29sdXRpb25Db3Vyc2VEYXRhLCBTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIHtcclxuXHJcbiAgICBnZXRCYXNlVXJsKCkge1xyXG4gICAgICAgIHJldHVybiBPcGVuQXBpRXh0ZW5zaW9ucy5idWlsZE9wZW5BcGlVcmwodGhpcy5fdXJsUHJvdmlkZXIsICdhcGkvdHV0b3IvdGVzdC1zb2x1dGlvbi9xdWVyeS8nKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByaXZhdGUgX3VybFByb3ZpZGVyOiBPcGVuQXBpVXJsUHJvdmlkZXIpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VhcmNoQnlTdHVkZW50KG1vZGVsOiBTZWFyY2hTdHVkZW50VGVzdFNvbHV0aW9ucyk6IE9ic2VydmFibGU8R2V0TGlzdFJlc3VsdDxTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8R2V0TGlzdFJlc3VsdDxTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvPj4odGhpcy5nZXRCYXNlVXJsKCkgKyBcIlNlYXJjaC9CeS9TdHVkZW50XCIsIG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Q291cnNlRGF0YShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZXN0U29sdXRpb25Db3Vyc2VEYXRhPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFRlc3RTb2x1dGlvbkNvdXJzZURhdGE+KHRoaXMuZ2V0QmFzZVVybCgpICsgYEdldC9CeS9JZC8ke2lkfS9jb3Vyc2UtZGF0YWApO1xyXG4gICAgfVxyXG59Il19
@@ -3,4 +3,5 @@ export { TutorCommonSettingsService } from './TutorCommonSettingsService';
3
3
  export { StudentGroupQueryService } from './StudentGroupQueryService';
4
4
  export { StudentQueryService } from './StudentQueryService';
5
5
  export { StudentGroupEnterService } from './StudentGroupEnterService';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRlc3RzU2VydmljZSB9IGZyb20gJy4vVGVzdHNTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUdXRvckNvbW1vblNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vVHV0b3JDb21tb25TZXR0aW5nc1NlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50UXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50UXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBFbnRlclNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cEVudGVyU2VydmljZSciXX0=
6
+ export { TestSolutionQueryService } from './TestSolutionQueryService';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRlc3RzU2VydmljZSB9IGZyb20gJy4vVGVzdHNTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUdXRvckNvbW1vblNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vVHV0b3JDb21tb25TZXR0aW5nc1NlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50UXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50UXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBFbnRlclNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cEVudGVyU2VydmljZSdcclxuZXhwb3J0IHsgVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0U29sdXRpb25RdWVyeVNlcnZpY2UnIl19
@@ -4,4 +4,5 @@
4
4
  export * from './lib/tutor-logic.module';
5
5
  export * from './lib/services';
6
6
  export * from './lib/models';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dXRvci1sb2dpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3R1dG9yLWxvZ2ljLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnOyJdfQ==
7
+ export * from './lib/extensions';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHR1dG9yLWxvZ2ljXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHV0b3ItbG9naWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHRlbnNpb25zJzsiXX0=
@@ -165,6 +165,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
165
165
  }] }];
166
166
  } });
167
167
 
168
+ class OpenApiExtensions {
169
+ static buildOpenApiUrl(urlProvider, adding) {
170
+ return urlProvider.getUrl() + adding;
171
+ }
172
+ }
173
+
174
+ class OpenApiUrlProvider {
175
+ constructor(_httpClient, baseUrl) {
176
+ this._httpClient = _httpClient;
177
+ this._urlValue = "";
178
+ this._urlValue = baseUrl;
179
+ this.getSettings();
180
+ }
181
+ getSettings() {
182
+ this._httpClient.get(this._urlValue + "api/settings/open-api/get").subscribe(data => {
183
+ if (data.useOpenApiServer && data.openApiUrl) {
184
+ this._urlValue = data.openApiUrl;
185
+ }
186
+ });
187
+ }
188
+ getUrl() {
189
+ return this._urlValue;
190
+ }
191
+ }
192
+ OpenApiUrlProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
193
+ OpenApiUrlProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, providedIn: 'root' });
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, decorators: [{
195
+ type: Injectable,
196
+ args: [{
197
+ providedIn: 'root',
198
+ }]
199
+ }], ctorParameters: function () {
200
+ return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
201
+ type: Inject,
202
+ args: ['BASE_URL']
203
+ }] }];
204
+ } });
205
+
206
+ class TestSolutionQueryService {
207
+ getBaseUrl() {
208
+ return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');
209
+ }
210
+ constructor(_httpClient, _urlProvider) {
211
+ this._httpClient = _httpClient;
212
+ this._urlProvider = _urlProvider;
213
+ }
214
+ searchByStudent(model) {
215
+ return this._httpClient.post(this.getBaseUrl() + "Search/By/Student", model);
216
+ }
217
+ getCourseData(id) {
218
+ return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);
219
+ }
220
+ }
221
+ TestSolutionQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable });
222
+ TestSolutionQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, providedIn: 'root' });
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, decorators: [{
224
+ type: Injectable,
225
+ args: [{
226
+ providedIn: 'root',
227
+ }]
228
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: OpenApiUrlProvider }]; } });
229
+
230
+ var TestQuestionType;
231
+ (function (TestQuestionType) {
232
+ TestQuestionType[TestQuestionType["SelectRightAnswerOrAnswers"] = 'SelectRightAnswerOrAnswers'] = "SelectRightAnswerOrAnswers";
233
+ TestQuestionType[TestQuestionType["TypeRightAnswer"] = 'TypeRightAnswer'] = "TypeRightAnswer";
234
+ TestQuestionType[TestQuestionType["DetailedAnswer"] = 'DetailedAnswer'] = "DetailedAnswer";
235
+ TestQuestionType[TestQuestionType["TypeAnswerWithErrors"] = 'TypeAnswerWithErrors'] = "TypeAnswerWithErrors";
236
+ })(TestQuestionType || (TestQuestionType = {}));
237
+ var AnswerValidationResultType;
238
+ (function (AnswerValidationResultType) {
239
+ AnswerValidationResultType[AnswerValidationResultType["NeedToCheckByYourSelf"] = 'NeedToCheckByYourSelf'] = "NeedToCheckByYourSelf";
240
+ AnswerValidationResultType[AnswerValidationResultType["NotCorrectAnswer"] = 'NotCorrectAnswer'] = "NotCorrectAnswer";
241
+ AnswerValidationResultType[AnswerValidationResultType["PartiallyCorrectAnswer"] = 'PartiallyCorrectAnswer'] = "PartiallyCorrectAnswer";
242
+ AnswerValidationResultType[AnswerValidationResultType["CorrectAnswer"] = 'CorrectAnswer'] = "CorrectAnswer";
243
+ })(AnswerValidationResultType || (AnswerValidationResultType = {}));
244
+
245
+ var QuestionValidationSourceType;
246
+ (function (QuestionValidationSourceType) {
247
+ QuestionValidationSourceType[QuestionValidationSourceType["System"] = 'System'] = "System";
248
+ QuestionValidationSourceType[QuestionValidationSourceType["Student"] = 'Student'] = "Student";
249
+ QuestionValidationSourceType[QuestionValidationSourceType["Curator"] = 'Curator'] = "Curator";
250
+ })(QuestionValidationSourceType || (QuestionValidationSourceType = {}));
251
+
168
252
  /*
169
253
  * Public API Surface of tutor-logic
170
254
  */
@@ -173,5 +257,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
173
257
  * Generated bundle index. Do not edit.
174
258
  */
175
259
 
176
- export { StudentGroupEnterService, StudentGroupQueryService, StudentQueryService, TestsService, TutorCommonSettingsService, TutorLogicModule };
260
+ export { AnswerValidationResultType, OpenApiExtensions, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentQueryService, TestQuestionType, TestSolutionQueryService, TestsService, TutorCommonSettingsService, TutorLogicModule };
177
261
  //# 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/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 } from \"../models/group-models\";\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 getList(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 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}\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","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/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/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel } from \"../models/group-models\";\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 getList(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 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}\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\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings();\r\n }\r\n\r\n getSettings() {\r\n this._httpClient.get<OpenApiServerOptions>(this._urlValue + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\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 } 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}","export interface SearchStudentTestSolutions {\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 courseThemeId: string; \r\n courseThemeName: string; \r\n courseName: string; \r\n courseId: string; \r\n}\r\n\r\nexport enum TestQuestionType {\r\n\tSelectRightAnswerOrAnswers = <any> 'SelectRightAnswerOrAnswers',\r\n\tTypeRightAnswer = <any> 'TypeRightAnswer',\r\n\tDetailedAnswer = <any> 'DetailedAnswer',\r\n\tTypeAnswerWithErrors = <any> 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string; \r\n answer: QuestionAnswer; \r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel; \r\n systemValidation: TestSolutionSystemValidationModel; \r\n unreadMessagesCount: number; \r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string; \r\n directoryId: string; \r\n useFilter: boolean; \r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter; \r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>; \r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string; \r\n studentGroupId: string; \r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n 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: Date; \r\n finishedOnUtc: Date | null; \r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = <any> 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = <any> 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = <any> 'PartiallyCorrectAnswer',\r\n CorrectAnswer = <any> 'CorrectAnswer'\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: Date; \r\n finishedOnUtc: Date | null; \r\n isFinished: boolean; \r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel; \r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\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\n\r\nexport interface QuestionPointsValidationModel {\r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n isValidated: boolean; \r\n}\r\n\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string; \r\n rightAnswersCount: number; \r\n answers: Array<Answer>; \r\n}\r\n\r\n\r\nexport interface Answer {\r\n text: string; \r\n isRightAnswer: boolean; \r\n}\r\n\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive:boolean;\r\n rightAnswers: Array<string>; \r\n}","import { AnswerValidationResultType } from \"./test-solution-models\";\r\n\r\nexport interface TestSolutionWithPointsValidation {\r\n solutionId: string; \r\n hasPointsResult: boolean; \r\n noPointsValidation: boolean; \r\n questions: Array<TestQuestionWithPointsValidation>; \r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport interface TestQuestionWithPointsValidation {\r\n questionId: string; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n isValidated: boolean; \r\n resultType: AnswerValidationResultType; \r\n sourceType: QuestionValidationSourceType; \r\n validatorId: string; \r\n}\r\n\r\nexport enum QuestionValidationSourceType {\r\n\tSystem = <any> 'System',\r\n\tStudent = <any> 'Student',\r\n\tCurator = <any> '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}\r\n\r\n\r\n","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/extensions';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
@@ -155,6 +155,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
155
155
  args: ['BASE_URL']
156
156
  }] }]; } });
157
157
 
158
+ class OpenApiExtensions {
159
+ static buildOpenApiUrl(urlProvider, adding) {
160
+ return urlProvider.getUrl() + adding;
161
+ }
162
+ }
163
+
164
+ class OpenApiUrlProvider {
165
+ constructor(_httpClient, baseUrl) {
166
+ this._httpClient = _httpClient;
167
+ this._urlValue = "";
168
+ this._urlValue = baseUrl;
169
+ this.getSettings();
170
+ }
171
+ getSettings() {
172
+ this._httpClient.get(this._urlValue + "api/settings/open-api/get").subscribe(data => {
173
+ if (data.useOpenApiServer && data.openApiUrl) {
174
+ this._urlValue = data.openApiUrl;
175
+ }
176
+ });
177
+ }
178
+ getUrl() {
179
+ return this._urlValue;
180
+ }
181
+ }
182
+ OpenApiUrlProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
183
+ OpenApiUrlProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, providedIn: 'root' });
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OpenApiUrlProvider, decorators: [{
185
+ type: Injectable,
186
+ args: [{
187
+ providedIn: 'root',
188
+ }]
189
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
190
+ type: Inject,
191
+ args: ['BASE_URL']
192
+ }] }]; } });
193
+
194
+ class TestSolutionQueryService {
195
+ getBaseUrl() {
196
+ return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');
197
+ }
198
+ constructor(_httpClient, _urlProvider) {
199
+ this._httpClient = _httpClient;
200
+ this._urlProvider = _urlProvider;
201
+ }
202
+ searchByStudent(model) {
203
+ return this._httpClient.post(this.getBaseUrl() + "Search/By/Student", model);
204
+ }
205
+ getCourseData(id) {
206
+ return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);
207
+ }
208
+ }
209
+ TestSolutionQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable });
210
+ TestSolutionQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, providedIn: 'root' });
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestSolutionQueryService, decorators: [{
212
+ type: Injectable,
213
+ args: [{
214
+ providedIn: 'root',
215
+ }]
216
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: OpenApiUrlProvider }]; } });
217
+
218
+ var TestQuestionType;
219
+ (function (TestQuestionType) {
220
+ TestQuestionType[TestQuestionType["SelectRightAnswerOrAnswers"] = 'SelectRightAnswerOrAnswers'] = "SelectRightAnswerOrAnswers";
221
+ TestQuestionType[TestQuestionType["TypeRightAnswer"] = 'TypeRightAnswer'] = "TypeRightAnswer";
222
+ TestQuestionType[TestQuestionType["DetailedAnswer"] = 'DetailedAnswer'] = "DetailedAnswer";
223
+ TestQuestionType[TestQuestionType["TypeAnswerWithErrors"] = 'TypeAnswerWithErrors'] = "TypeAnswerWithErrors";
224
+ })(TestQuestionType || (TestQuestionType = {}));
225
+ var AnswerValidationResultType;
226
+ (function (AnswerValidationResultType) {
227
+ AnswerValidationResultType[AnswerValidationResultType["NeedToCheckByYourSelf"] = 'NeedToCheckByYourSelf'] = "NeedToCheckByYourSelf";
228
+ AnswerValidationResultType[AnswerValidationResultType["NotCorrectAnswer"] = 'NotCorrectAnswer'] = "NotCorrectAnswer";
229
+ AnswerValidationResultType[AnswerValidationResultType["PartiallyCorrectAnswer"] = 'PartiallyCorrectAnswer'] = "PartiallyCorrectAnswer";
230
+ AnswerValidationResultType[AnswerValidationResultType["CorrectAnswer"] = 'CorrectAnswer'] = "CorrectAnswer";
231
+ })(AnswerValidationResultType || (AnswerValidationResultType = {}));
232
+
233
+ var QuestionValidationSourceType;
234
+ (function (QuestionValidationSourceType) {
235
+ QuestionValidationSourceType[QuestionValidationSourceType["System"] = 'System'] = "System";
236
+ QuestionValidationSourceType[QuestionValidationSourceType["Student"] = 'Student'] = "Student";
237
+ QuestionValidationSourceType[QuestionValidationSourceType["Curator"] = 'Curator'] = "Curator";
238
+ })(QuestionValidationSourceType || (QuestionValidationSourceType = {}));
239
+
158
240
  /*
159
241
  * Public API Surface of tutor-logic
160
242
  */
@@ -163,5 +245,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
163
245
  * Generated bundle index. Do not edit.
164
246
  */
165
247
 
166
- export { StudentGroupEnterService, StudentGroupQueryService, StudentQueryService, TestsService, TutorCommonSettingsService, TutorLogicModule };
248
+ export { AnswerValidationResultType, OpenApiExtensions, OpenApiUrlProvider, QuestionValidationSourceType, StudentGroupEnterService, StudentGroupQueryService, StudentQueryService, TestQuestionType, TestSolutionQueryService, TestsService, TutorCommonSettingsService, TutorLogicModule };
167
249
  //# 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/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 } from \"../models/group-models\";\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 getList(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 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}\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","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/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/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel } from \"../models/group-models\";\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 getList(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 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}\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\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings();\r\n }\r\n\r\n getSettings() {\r\n this._httpClient.get<OpenApiServerOptions>(this._urlValue + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\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 } 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}","export interface SearchStudentTestSolutions {\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 courseThemeId: string; \r\n courseThemeName: string; \r\n courseName: string; \r\n courseId: string; \r\n}\r\n\r\nexport enum TestQuestionType {\r\n\tSelectRightAnswerOrAnswers = <any> 'SelectRightAnswerOrAnswers',\r\n\tTypeRightAnswer = <any> 'TypeRightAnswer',\r\n\tDetailedAnswer = <any> 'DetailedAnswer',\r\n\tTypeAnswerWithErrors = <any> 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string; \r\n answer: QuestionAnswer; \r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel; \r\n systemValidation: TestSolutionSystemValidationModel; \r\n unreadMessagesCount: number; \r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string; \r\n directoryId: string; \r\n useFilter: boolean; \r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter; \r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>; \r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string; \r\n studentGroupId: string; \r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n 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: Date; \r\n finishedOnUtc: Date | null; \r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = <any> 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = <any> 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = <any> 'PartiallyCorrectAnswer',\r\n CorrectAnswer = <any> 'CorrectAnswer'\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: Date; \r\n finishedOnUtc: Date | null; \r\n isFinished: boolean; \r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel; \r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\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\n\r\nexport interface QuestionPointsValidationModel {\r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n isValidated: boolean; \r\n}\r\n\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string; \r\n rightAnswersCount: number; \r\n answers: Array<Answer>; \r\n}\r\n\r\n\r\nexport interface Answer {\r\n text: string; \r\n isRightAnswer: boolean; \r\n}\r\n\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive:boolean;\r\n rightAnswers: Array<string>; \r\n}","import { AnswerValidationResultType } from \"./test-solution-models\";\r\n\r\nexport interface TestSolutionWithPointsValidation {\r\n solutionId: string; \r\n hasPointsResult: boolean; \r\n noPointsValidation: boolean; \r\n questions: Array<TestQuestionWithPointsValidation>; \r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport interface TestQuestionWithPointsValidation {\r\n questionId: string; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n isValidated: boolean; \r\n resultType: AnswerValidationResultType; \r\n sourceType: QuestionValidationSourceType; \r\n validatorId: string; \r\n}\r\n\r\nexport enum QuestionValidationSourceType {\r\n\tSystem = <any> 'System',\r\n\tStudent = <any> 'Student',\r\n\tCurator = <any> '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}\r\n\r\n\r\n","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/extensions';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { OpenApiUrlProvider } from "./OpenApiUrlProvider";
2
+ export declare class OpenApiExtensions {
3
+ static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string;
4
+ }
@@ -0,0 +1,11 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import * as i0 from "@angular/core";
3
+ export declare class OpenApiUrlProvider {
4
+ private _httpClient;
5
+ _urlValue: string;
6
+ constructor(_httpClient: HttpClient, baseUrl: string);
7
+ getSettings(): void;
8
+ getUrl(): string;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<OpenApiUrlProvider, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<OpenApiUrlProvider>;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { OpenApiExtensions } from './OpenApiExtensions';
2
+ export { OpenApiUrlProvider } from './OpenApiUrlProvider';
@@ -6,3 +6,6 @@ export { SettingModel } from './setting-models';
6
6
  export { StudentModel, StudentSimpleModel, SearchStudents } from './student-models';
7
7
  export { SearchStudentGroups, StudentGroupSimpleModel, StudentGroupDetailedModel, StudentInGroupSimpleModel, SearchStudentsInGroup } from './group-models';
8
8
  export { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from './group-enter-models';
9
+ export { OpenApiServerOptions } from './open-api-models';
10
+ export { SearchStudentTestSolutions, TestSolutionCourseData, TestQuestionType, SolutionWithAnswerModel, StudentTestSolutionWithChatInfo, TestSolutionSystemValidationModel, StartSolutionFromDirectory, QuestionsFilter, StartTestSolutionByTestId, SearchMyTestSolutions, StudentTestSolutionSimpleModel, AnswerValidationResultType, SolutionWithAnswersModel, StudentTestSolutionModel, StudentTestSolutionDataModel, TestModel, TestQuestionModel, TypeAnswerWithErrorsQuestionData, TestWithActiveSolutionModel, QuestionAnswer, QuestionAnswerWithResult, QuestionPointsValidationModel, SelectRightAnswerOrAnswersQuestionData, Answer, TypeRightAnswerQuestionData, } from './test-solution-models';
11
+ export { TestSolutionWithPointsValidation, TestQuestionWithPointsValidation, QuestionValidationSourceType, TestQuestionWithModifiers, TestQuestionModiferModel, SaveQuestionPointsValidation, QuestionInSolutionIdModel, } from './solution-validation-models';
@@ -0,0 +1,4 @@
1
+ export interface OpenApiServerOptions {
2
+ useOpenApiServer: boolean;
3
+ openApiUrl: string;
4
+ }
@@ -0,0 +1,45 @@
1
+ import { AnswerValidationResultType } from "./test-solution-models";
2
+ export interface TestSolutionWithPointsValidation {
3
+ solutionId: string;
4
+ hasPointsResult: boolean;
5
+ noPointsValidation: boolean;
6
+ questions: Array<TestQuestionWithPointsValidation>;
7
+ studentTotalPoints: number;
8
+ maxTotalPoints: number;
9
+ questionsCount: number;
10
+ validatedQuestionsCount: number;
11
+ hasRightAnswerQuestionsCount: number;
12
+ }
13
+ export interface TestQuestionWithPointsValidation {
14
+ questionId: string;
15
+ answerPoints: number;
16
+ questionTotalPoints: number;
17
+ description: string;
18
+ isValidated: boolean;
19
+ resultType: AnswerValidationResultType;
20
+ sourceType: QuestionValidationSourceType;
21
+ validatorId: string;
22
+ }
23
+ export declare enum QuestionValidationSourceType {
24
+ System,
25
+ Student,
26
+ Curator
27
+ }
28
+ export interface TestQuestionWithModifiers {
29
+ questionId: string;
30
+ modifiers: Array<TestQuestionModiferModel>;
31
+ }
32
+ export interface TestQuestionModiferModel {
33
+ name: string;
34
+ data: string;
35
+ }
36
+ export interface SaveQuestionPointsValidation {
37
+ idModel: QuestionInSolutionIdModel;
38
+ answerPoints: number;
39
+ questionTotalPoints: number;
40
+ description: string;
41
+ }
42
+ export interface QuestionInSolutionIdModel {
43
+ solutionId: string;
44
+ questionId: string;
45
+ }
@@ -0,0 +1,145 @@
1
+ export interface SearchStudentTestSolutions {
2
+ studentId: string;
3
+ count: number | null;
4
+ offSet: number;
5
+ }
6
+ export interface TestSolutionCourseData {
7
+ solutionId: string;
8
+ courseThemeItemId: string;
9
+ courseThemeId: string;
10
+ courseThemeName: string;
11
+ courseName: string;
12
+ courseId: string;
13
+ }
14
+ export declare enum TestQuestionType {
15
+ SelectRightAnswerOrAnswers,
16
+ TypeRightAnswer,
17
+ DetailedAnswer,
18
+ TypeAnswerWithErrors
19
+ }
20
+ export interface SolutionWithAnswerModel {
21
+ solutionId: string;
22
+ answer: QuestionAnswer;
23
+ }
24
+ export interface StudentTestSolutionWithChatInfo {
25
+ solution: StudentTestSolutionSimpleModel;
26
+ systemValidation: TestSolutionSystemValidationModel;
27
+ unreadMessagesCount: number;
28
+ }
29
+ export interface TestSolutionSystemValidationModel {
30
+ studentTotalPoints: number;
31
+ maxTotalPoints: number;
32
+ questionsCount: number;
33
+ validatedQuestionsCount: number;
34
+ hasRightAnswerQuestionsCount: number;
35
+ }
36
+ export interface StartSolutionFromDirectory {
37
+ workSpaceId: string;
38
+ directoryId: string;
39
+ useFilter: boolean;
40
+ canCheckSingleQuestion: boolean;
41
+ filter: QuestionsFilter;
42
+ }
43
+ export interface QuestionsFilter {
44
+ types: Array<TestQuestionType>;
45
+ }
46
+ export interface StartTestSolutionByTestId {
47
+ testId: string;
48
+ studentGroupId: string;
49
+ canCheckSingleQuestion: boolean;
50
+ }
51
+ export interface SearchMyTestSolutions {
52
+ testId: string;
53
+ count: number | null;
54
+ offSet: number;
55
+ }
56
+ export interface StudentTestSolutionSimpleModel {
57
+ id: string;
58
+ testName: string;
59
+ testId: string;
60
+ isFinished: boolean;
61
+ startedOnUtc: Date;
62
+ finishedOnUtc: Date | null;
63
+ }
64
+ export declare enum AnswerValidationResultType {
65
+ NeedToCheckByYourSelf,
66
+ NotCorrectAnswer,
67
+ PartiallyCorrectAnswer,
68
+ CorrectAnswer
69
+ }
70
+ export interface SolutionWithAnswersModel {
71
+ solutionId: string;
72
+ answers: Array<QuestionAnswer>;
73
+ }
74
+ export interface StudentTestSolutionModel {
75
+ studentId: string;
76
+ solutionId: string;
77
+ studentGroupId: string;
78
+ hasCuratorValidation: boolean;
79
+ canCheckSingleQuestion: boolean;
80
+ startedOnUtc: Date;
81
+ finishedOnUtc: Date | null;
82
+ isFinished: boolean;
83
+ solution: StudentTestSolutionDataModel;
84
+ test: TestModel;
85
+ }
86
+ export interface StudentTestSolutionDataModel {
87
+ answers: Array<QuestionAnswerWithResult>;
88
+ }
89
+ export interface TestModel {
90
+ name: string;
91
+ description: string;
92
+ questions: Array<TestQuestionModel>;
93
+ }
94
+ export interface TestQuestionModel {
95
+ id: string;
96
+ title: string;
97
+ titleBodyMarkUp: string;
98
+ helpBodyMarkUp: string;
99
+ answerExplanationMarkUp: string;
100
+ titleBodyMarkUpMobile: string;
101
+ helpBodyMarkUpMobile: string;
102
+ answerExplanationMarkUpMobile: string;
103
+ type: TestQuestionType;
104
+ selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;
105
+ typeRightAnswerQuestionData: TypeRightAnswerQuestionData;
106
+ typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;
107
+ }
108
+ export interface TypeAnswerWithErrorsQuestionData {
109
+ rightAnswer: string;
110
+ }
111
+ export interface TestWithActiveSolutionModel {
112
+ testId: string;
113
+ activeSolutionId: string;
114
+ test: TestModel;
115
+ }
116
+ export interface QuestionAnswer {
117
+ questionId: string;
118
+ answerOrAnswers: string;
119
+ }
120
+ export interface QuestionAnswerWithResult {
121
+ isChecked: boolean;
122
+ questionId: string;
123
+ answerOrAnswers: string;
124
+ pointsValidation: QuestionPointsValidationModel;
125
+ resultType: AnswerValidationResultType;
126
+ }
127
+ export interface QuestionPointsValidationModel {
128
+ answerPoints: number;
129
+ questionTotalPoints: number;
130
+ description: string;
131
+ isValidated: boolean;
132
+ }
133
+ export interface SelectRightAnswerOrAnswersQuestionData {
134
+ selectRightAnswerTitle: string;
135
+ rightAnswersCount: number;
136
+ answers: Array<Answer>;
137
+ }
138
+ export interface Answer {
139
+ text: string;
140
+ isRightAnswer: boolean;
141
+ }
142
+ export interface TypeRightAnswerQuestionData {
143
+ caseInSensitive: boolean;
144
+ rightAnswers: Array<string>;
145
+ }
@@ -0,0 +1,15 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { OpenApiUrlProvider } from "../extensions";
3
+ import { Observable } from "rxjs";
4
+ import { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo } from "../models";
5
+ import * as i0 from "@angular/core";
6
+ export declare class TestSolutionQueryService {
7
+ private _httpClient;
8
+ private _urlProvider;
9
+ getBaseUrl(): string;
10
+ constructor(_httpClient: HttpClient, _urlProvider: OpenApiUrlProvider);
11
+ searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>>;
12
+ getCourseData(id: string): Observable<TestSolutionCourseData>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TestSolutionQueryService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<TestSolutionQueryService>;
15
+ }
@@ -3,3 +3,4 @@ export { TutorCommonSettingsService } from './TutorCommonSettingsService';
3
3
  export { StudentGroupQueryService } from './StudentGroupQueryService';
4
4
  export { StudentQueryService } from './StudentQueryService';
5
5
  export { StudentGroupEnterService } from './StudentGroupEnterService';
6
+ export { TestSolutionQueryService } from './TestSolutionQueryService';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutor-logic",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"
package/public-api.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './lib/tutor-logic.module';
2
2
  export * from './lib/services';
3
3
  export * from './lib/models';
4
+ export * from './lib/extensions';