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.
- package/esm2020/lib/extensions/OpenApiExtensions.mjs +6 -0
- package/esm2020/lib/extensions/OpenApiUrlProvider.mjs +33 -0
- package/esm2020/lib/extensions/index.mjs +3 -0
- package/esm2020/lib/models/index.mjs +3 -2
- package/esm2020/lib/models/open-api-models.mjs +2 -0
- package/esm2020/lib/models/solution-validation-models.mjs +7 -0
- package/esm2020/lib/models/test-solution-models.mjs +15 -0
- package/esm2020/lib/services/TestSolutionQueryService.mjs +29 -0
- package/esm2020/lib/services/index.mjs +2 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/tutor-logic.mjs +85 -1
- package/fesm2015/tutor-logic.mjs.map +1 -1
- package/fesm2020/tutor-logic.mjs +83 -1
- package/fesm2020/tutor-logic.mjs.map +1 -1
- package/lib/extensions/OpenApiExtensions.d.ts +4 -0
- package/lib/extensions/OpenApiUrlProvider.d.ts +11 -0
- package/lib/extensions/index.d.ts +2 -0
- package/lib/models/index.d.ts +3 -0
- package/lib/models/open-api-models.d.ts +4 -0
- package/lib/models/solution-validation-models.d.ts +45 -0
- package/lib/models/test-solution-models.d.ts +145 -0
- package/lib/services/TestSolutionQueryService.d.ts +15 -0
- package/lib/services/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -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
|
-
|
|
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
|
-
|
|
6
|
+
export { TestSolutionQueryService } from './TestSolutionQueryService';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRlc3RzU2VydmljZSB9IGZyb20gJy4vVGVzdHNTZXJ2aWNlJ1xyXG5leHBvcnQgeyBUdXRvckNvbW1vblNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vVHV0b3JDb21tb25TZXR0aW5nc1NlcnZpY2UnXHJcbmV4cG9ydCB7IFN0dWRlbnRHcm91cFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vU3R1ZGVudEdyb3VwUXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50UXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9TdHVkZW50UXVlcnlTZXJ2aWNlJ1xyXG5leHBvcnQgeyBTdHVkZW50R3JvdXBFbnRlclNlcnZpY2UgfSBmcm9tICcuL1N0dWRlbnRHcm91cEVudGVyU2VydmljZSdcclxuZXhwb3J0IHsgVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9UZXN0U29sdXRpb25RdWVyeVNlcnZpY2UnIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -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
|
-
|
|
7
|
+
export * from './lib/extensions';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHR1dG9yLWxvZ2ljXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHV0b3ItbG9naWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHRlbnNpb25zJzsiXX0=
|
package/fesm2015/tutor-logic.mjs
CHANGED
|
@@ -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":";;;;MAUa,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAhB,gBAAgB,EAAA,CAAA,CAAA;8GAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE,EACR;iBACF,CAAA;;;MCCY,YAAY,CAAA;IAGrB,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;AADnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAEvC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;KAC7C;AAEM,IAAA,0BAA0B,CAAC,KAAsB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;KAC5H;AAEM,IAAA,MAAM,CAAC,KAAiB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC3F;AAEM,IAAA,IAAI,CAAC,KAAe,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;KACzF;;AAnBQ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,4CAIT,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAKQ,MAAM;+BAAC,UAAU,CAAA;;;;MCLb,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;AADnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,qBAAqB,CAAC;KAC5D;AAED,IAAA,GAAG,CAAC,IAAY,EAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;KACrF;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;KACjG;AAED,IAAA,GAAG,CAAC,KAAmB,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;KACxF;;AAlBQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAKQ,MAAM;+BAAC,UAAU,CAAA;;;;MCHb,wBAAwB,CAAA;IAEjC,UAAU,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;KACrD;IAED,WAAoB,CAAA,WAAuB,EACX,QAAgB,EAAA;AAD5B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AACX,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;KAC/C;AAEM,IAAA,OAAO,CAAC,KAA0B,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,IAAI,CAAC,UAAU,EAAE,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;KACnH;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,YAAA,EAAe,EAAE,CAAA,CAAE,CAAC,CAAC;KACnG;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAC,CAAC;KAClG;AAEM,IAAA,eAAe,CAAC,KAA4B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2C,IAAI,CAAC,UAAU,EAAE,GAAG,iBAAiB,EAAE,KAAK,CAAC,CAAC;KACxH;;AAxBQ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAOrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAPb,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAQQ,MAAM;+BAAC,UAAU,CAAA;;;;MCRb,mBAAmB,CAAA;IAG5B,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;AADnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B,CAAC;KACjE;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,CAAA,KAAA,EAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;KACpF;AAEM,IAAA,eAAe,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,IAAI,CAAC,iBAAiB,GAAG,CAAA,aAAA,EAAgB,UAAU,CAAA,CAAE,CAAC,CAAC;KACpG;AAEM,IAAA,MAAM,CAAC,WAA2B,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAoC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;KACnH;;AAlBQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAIhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAKQ,MAAM;+BAAC,UAAU,CAAA;;;;MCJb,wBAAwB,CAAA;IAGjC,WAAoB,CAAA,WAAuB,EACnB,OAAe,EAAA;AADnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAEvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC,CAAC;KACvE;AAEM,IAAA,YAAY,CAAC,KAA8B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;KACrG;AAEM,IAAA,iBAAiB,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,EAAE,CAAA,CAAE,EAAE,EAAE,CAAC,CAAC;KAC7G;;AAdQ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAIrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAKQ,MAAM;+BAAC,UAAU,CAAA;;;;MCXb,iBAAiB,CAAA;AAC5B,IAAA,OAAO,eAAe,CAAC,WAA+B,EAAE,MAAc,EAAA;AACpE,QAAA,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;KACtC;AACF;;MCCY,kBAAkB,CAAA;IAI7B,WAAoB,CAAA,WAAuB,EACrB,OAAe,EAAA;AADjB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAF3C,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AAIrB,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuB,IAAI,CAAC,SAAS,GAAG,2BAA2B,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;AACxG,YAAA,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAC;AAC1C,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;AAClC,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;AApBU,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAKnB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAMI,MAAM;+BAAC,UAAU,CAAA;;;;MCHT,wBAAwB,CAAA;IAEjC,UAAU,GAAA;QACN,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;KACjG;IAED,WAAoB,CAAA,WAAuB,EAC/B,YAAgC,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAC/B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAC3C;AAEM,IAAA,eAAe,CAAC,KAAiC,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,IAAI,CAAC,UAAU,EAAE,GAAG,mBAAmB,EAAE,KAAK,CAAC,CAAC;KAChI;AAEM,IAAA,aAAa,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,YAAA,CAAc,CAAC,CAAC;KAC1G;;qHAhBQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;ACOW,IAAA,iBAKX;AALD,CAAA,UAAY,gBAAgB,EAAA;IAC3B,gBAAmC,CAAA,gBAAA,CAAA,4BAAA,CAAA,GAAA,4BAA4B,gCAAA,CAAA;IAC/D,gBAAwB,CAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAiB,qBAAA,CAAA;IACzC,gBAAuB,CAAA,gBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAgB,oBAAA,CAAA;IACvC,gBAA6B,CAAA,gBAAA,CAAA,sBAAA,CAAA,GAAA,sBAAsB,0BAAA,CAAA;AACpD,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA,CAAA;AAsDW,IAAA,2BAKX;AALD,CAAA,UAAY,0BAA0B,EAAA;IACnC,0BAA8B,CAAA,0BAAA,CAAA,uBAAA,CAAA,GAAA,uBAAuB,2BAAA,CAAA;IACrD,0BAAyB,CAAA,0BAAA,CAAA,kBAAA,CAAA,GAAA,kBAAkB,sBAAA,CAAA;IAC3C,0BAA+B,CAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,wBAAwB,4BAAA,CAAA;IACvD,0BAAsB,CAAA,0BAAA,CAAA,eAAA,CAAA,GAAA,eAAe,mBAAA,CAAA;AACxC,CAAC,EALW,0BAA0B,KAA1B,0BAA0B,GAKrC,EAAA,CAAA,CAAA;;ACtDW,IAAA,6BAIX;AAJD,CAAA,UAAY,4BAA4B,EAAA;IACvC,4BAAe,CAAA,4BAAA,CAAA,QAAA,CAAA,GAAA,QAAQ,YAAA,CAAA;IACvB,4BAAgB,CAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAS,aAAA,CAAA;IACzB,4BAAgB,CAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAS,aAAA,CAAA;AAC1B,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,GAIvC,EAAA,CAAA,CAAA;;AC7BD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/fesm2020/tutor-logic.mjs
CHANGED
|
@@ -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,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
|
+
}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -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,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
|
+
}
|
package/lib/services/index.d.ts
CHANGED
|
@@ -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
package/public-api.d.ts
CHANGED