tutor-logic 2.1.0 → 2.2.0

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.
@@ -4,7 +4,6 @@ export * from './setting-models';
4
4
  export * from './student-models';
5
5
  export * from './group-models';
6
6
  export * from './group-enter-models';
7
- export * from './open-api-models';
8
7
  export * from './test-solution-models';
9
8
  export * from './solution-validation-models';
10
9
  export * from './question-like-models';
@@ -16,4 +15,4 @@ export * from './icon-models';
16
15
  export * from './course-test-models';
17
16
  export * from './landing-models';
18
17
  export * from './course-shop-models';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi90ZXN0LW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5nLW1vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3R1ZGVudC1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXAtbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLWVudGVyLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9vcGVuLWFwaS1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vdGVzdC1zb2x1dGlvbi1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vc29sdXRpb24tdmFsaWRhdGlvbi1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vcXVlc3Rpb24tbGlrZS1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vY291cnNlLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9jdXJhdG9yLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi90ZXN0LXJlc3RyaWN0aW9uLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9zdWJqZWN0Lm1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9jb3Vyc2UtdGVzdC1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZGluZy1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vY291cnNlLXNob3AtbW9kZWxzJyJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxlQUFlLENBQUE7QUFDN0IsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGVzdC1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZy1tb2RlbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0dWRlbnQtbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1lbnRlci1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vdGVzdC1zb2x1dGlvbi1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vc29sdXRpb24tdmFsaWRhdGlvbi1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vcXVlc3Rpb24tbGlrZS1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vY291cnNlLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9jdXJhdG9yLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi90ZXN0LXJlc3RyaWN0aW9uLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9zdWJqZWN0Lm1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uLW1vZGVscydcclxuZXhwb3J0ICogZnJvbSAnLi9jb3Vyc2UtdGVzdC1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZGluZy1tb2RlbHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vY291cnNlLXNob3AtbW9kZWxzJyJdfQ==
@@ -13,4 +13,4 @@ export var AnswerValidationResultType;
13
13
  AnswerValidationResultType["CorrectAnswer"] = "CorrectAnswer";
14
14
  AnswerValidationResultType["InProccess"] = "InProccess";
15
15
  })(AnswerValidationResultType || (AnswerValidationResultType = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1zb2x1dGlvbi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy90ZXN0LXNvbHV0aW9uLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUN4Qiw2RUFBeUQsQ0FBQTtJQUN6RCx1REFBbUMsQ0FBQTtJQUNuQyxxREFBaUMsQ0FBQTtJQUNqQyxpRUFBNkMsQ0FBQTtBQUNqRCxDQUFDLEVBTFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUszQjtBQXdERCxNQUFNLENBQU4sSUFBWSwwQkFNWDtBQU5ELFdBQVksMEJBQTBCO0lBQ2xDLDZFQUErQyxDQUFBO0lBQy9DLG1FQUFxQyxDQUFBO0lBQ3JDLCtFQUFpRCxDQUFBO0lBQ2pELDZEQUErQixDQUFBO0lBQy9CLHVEQUF5QixDQUFBO0FBQzdCLENBQUMsRUFOVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBTXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ291cnNlVGhlbWVJdGVtTW9kZWwgfSBmcm9tIFwiLi9jb3Vyc2UtbW9kZWxzXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVmFsaWRhdGlvblNvdXJjZVR5cGUgfSBmcm9tIFwiLi9zb2x1dGlvbi12YWxpZGF0aW9uLW1vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hTdHVkZW50VGVzdFNvbHV0aW9ucyB7XHJcbiAgICBpc0ZpbmlzaGVkOiBib29sZWFuIHwgbnVsbDtcclxuICAgIHN0dWRlbnRJZDogc3RyaW5nO1xyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGw7XHJcbiAgICBvZmZTZXQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0U29sdXRpb25Db3Vyc2VEYXRhIHtcclxuICAgIHNvbHV0aW9uSWQ6IHN0cmluZztcclxuICAgIGNvdXJzZVRoZW1lSXRlbUlkOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VUaGVtZUl0ZW1JbmRleDogbnVtYmVyO1xyXG4gICAgY291cnNlVGhlbWVJZDogc3RyaW5nO1xyXG4gICAgY291cnNlVGhlbWVOYW1lOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VOYW1lOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VJZDogc3RyaW5nO1xyXG4gICAgbmV4dEl0ZW06IENvdXJzZVRoZW1lSXRlbU1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUZXN0UXVlc3Rpb25UeXBlIHtcclxuICAgIFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzID0gJ1NlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzJyxcclxuICAgIFR5cGVSaWdodEFuc3dlciA9ICdUeXBlUmlnaHRBbnN3ZXInLFxyXG4gICAgRGV0YWlsZWRBbnN3ZXIgPSAnRGV0YWlsZWRBbnN3ZXInLFxyXG4gICAgVHlwZUFuc3dlcldpdGhFcnJvcnMgPSAnVHlwZUFuc3dlcldpdGhFcnJvcnMnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29sdXRpb25XaXRoQW5zd2VyTW9kZWwge1xyXG4gICAgc29sdXRpb25JZDogc3RyaW5nO1xyXG4gICAgYW5zd2VyOiBRdWVzdGlvbkFuc3dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvIHtcclxuICAgIHNvbHV0aW9uOiBTdHVkZW50VGVzdFNvbHV0aW9uU2ltcGxlTW9kZWw7XHJcbiAgICBzeXN0ZW1WYWxpZGF0aW9uOiBUZXN0U29sdXRpb25TeXN0ZW1WYWxpZGF0aW9uTW9kZWw7XHJcbiAgICB1bnJlYWRNZXNzYWdlc0NvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFNvbHV0aW9uU3lzdGVtVmFsaWRhdGlvbk1vZGVsIHtcclxuICAgIHN0dWRlbnRUb3RhbFBvaW50czogbnVtYmVyO1xyXG4gICAgc3R1ZGVudFByb2dyZXNzUGVyY2VudHM6IG51bWJlcjtcclxuICAgIG1heFRvdGFsUG9pbnRzOiBudW1iZXI7XHJcbiAgICBxdWVzdGlvbnNDb3VudDogbnVtYmVyO1xyXG4gICAgdmFsaWRhdGVkUXVlc3Rpb25zQ291bnQ6IG51bWJlcjtcclxuICAgIGhhc1JpZ2h0QW5zd2VyUXVlc3Rpb25zQ291bnQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGFydFNvbHV0aW9uRnJvbURpcmVjdG9yeSB7XHJcbiAgICB3b3JrU3BhY2VJZDogc3RyaW5nO1xyXG4gICAgZGlyZWN0b3J5SWQ6IHN0cmluZztcclxuICAgIHVzZUZpbHRlcjogYm9vbGVhbjtcclxuICAgIGNhbkNoZWNrU2luZ2xlUXVlc3Rpb246IGJvb2xlYW47XHJcbiAgICBmaWx0ZXI6IFF1ZXN0aW9uc0ZpbHRlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnNGaWx0ZXIge1xyXG4gICAgdHlwZXM6IEFycmF5PFRlc3RRdWVzdGlvblR5cGU+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0VGVzdFNvbHV0aW9uQnlUZXN0SWQge1xyXG4gICAgdGVzdElkOiBzdHJpbmc7XHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nO1xyXG4gICAgY2FuQ2hlY2tTaW5nbGVRdWVzdGlvbjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hNeVRlc3RTb2x1dGlvbnMge1xyXG4gICAgaXNGaW5pc2hlZDogYm9vbGVhbiB8IG51bGw7XHJcbiAgICB0ZXN0SWQ6IHN0cmluZztcclxuICAgIGNvdW50OiBudW1iZXIgfCBudWxsO1xyXG4gICAgb2ZmU2V0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvblNpbXBsZU1vZGVsIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICB0ZXN0TmFtZTogc3RyaW5nO1xyXG4gICAgdGVzdElkOiBzdHJpbmc7XHJcbiAgICBpc0ZpbmlzaGVkOiBib29sZWFuO1xyXG4gICAgc3RhcnRlZE9uVXRjOiBzdHJpbmc7IC8qIERhdGUgKi9cclxuICAgIGZpbmlzaGVkT25VdGM6IHN0cmluZyB8IG51bGw7IC8qIERhdGUgKi9cclxufVxyXG5cclxuZXhwb3J0IGVudW0gQW5zd2VyVmFsaWRhdGlvblJlc3VsdFR5cGUge1xyXG4gICAgTmVlZFRvQ2hlY2tCeVlvdXJTZWxmID0gJ05lZWRUb0NoZWNrQnlZb3VyU2VsZicsXHJcbiAgICBOb3RDb3JyZWN0QW5zd2VyID0gJ05vdENvcnJlY3RBbnN3ZXInLFxyXG4gICAgUGFydGlhbGx5Q29ycmVjdEFuc3dlciA9ICdQYXJ0aWFsbHlDb3JyZWN0QW5zd2VyJyxcclxuICAgIENvcnJlY3RBbnN3ZXIgPSAnQ29ycmVjdEFuc3dlcicsXHJcbiAgICBJblByb2NjZXNzID0gJ0luUHJvY2Nlc3MnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29sdXRpb25XaXRoQW5zd2Vyc01vZGVsIHtcclxuICAgIHNvbHV0aW9uSWQ6IHN0cmluZztcclxuICAgIGFuc3dlcnM6IEFycmF5PFF1ZXN0aW9uQW5zd2VyPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwge1xyXG4gICAgc3R1ZGVudElkOiBzdHJpbmc7XHJcbiAgICBzb2x1dGlvbklkOiBzdHJpbmc7XHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nO1xyXG4gICAgaGFzQ3VyYXRvclZhbGlkYXRpb246IGJvb2xlYW47XHJcbiAgICBjYW5DaGVja1NpbmdsZVF1ZXN0aW9uOiBib29sZWFuO1xyXG4gICAgc3RhcnRlZE9uVXRjOiBzdHJpbmc7IC8qIERhdGUgKi9cclxuICAgIGZpbmlzaGVkT25VdGM6IHN0cmluZyB8IG51bGw7IC8qIERhdGUgKi9cclxuICAgIGlzRmluaXNoZWQ6IGJvb2xlYW47XHJcbiAgICBzb2x1dGlvbjogU3R1ZGVudFRlc3RTb2x1dGlvbkRhdGFNb2RlbDtcclxuICAgIHRlc3Q6IFRlc3RNb2RlbDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRhdGFNb2RlbCB7XHJcbiAgICAvKipcclxuICAgICAqINCV0YHRgtGMINC70Lgg0LLQvtC/0YDQvtGB0YssINC60L7RgtC+0YDRi9C1INC90LDRhdC+0LTRj9GC0YHRjyDQsiDQv9GA0L7RhtC10YHRgdC1INGA0LDRgdGH0ZHRgtCwINGA0LXQt9GD0LvRjNGC0LDRgtCwXHJcbiAgICAqL1xyXG4gICAgaGFzQW5zd2Vyc0luUHJvY2Nlc3M6IGJvb2xlYW47XHJcbiAgICBhbnN3ZXJzOiBBcnJheTxRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RNb2RlbCB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcXVlc3Rpb25zOiBBcnJheTxUZXN0UXVlc3Rpb25Nb2RlbD47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFF1ZXN0aW9uTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0aXRsZUJvZHlNYXJrVXA6IHN0cmluZztcclxuICAgIGhlbHBCb2R5TWFya1VwOiBzdHJpbmc7XHJcbiAgICBhbnN3ZXJFeHBsYW5hdGlvbk1hcmtVcDogc3RyaW5nO1xyXG4gICAgdGl0bGVCb2R5TWFya1VwTW9iaWxlOiBzdHJpbmc7XHJcbiAgICBoZWxwQm9keU1hcmtVcE1vYmlsZTogc3RyaW5nO1xyXG4gICAgYW5zd2VyRXhwbGFuYXRpb25NYXJrVXBNb2JpbGU6IHN0cmluZztcclxuICAgIHR5cGU6IFRlc3RRdWVzdGlvblR5cGU7XHJcbiAgICBzZWxlY3RSaWdodEFuc3dlck9yQW5zd2Vyc0RhdGE6IFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzUXVlc3Rpb25EYXRhO1xyXG4gICAgdHlwZVJpZ2h0QW5zd2VyUXVlc3Rpb25EYXRhOiBUeXBlUmlnaHRBbnN3ZXJRdWVzdGlvbkRhdGE7XHJcbiAgICB0eXBlQW5zd2VyV2l0aEVycm9yc0RhdGE6IFR5cGVBbnN3ZXJXaXRoRXJyb3JzUXVlc3Rpb25EYXRhO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVBbnN3ZXJXaXRoRXJyb3JzUXVlc3Rpb25EYXRhIHtcclxuICAgIHJpZ2h0QW5zd2VyOiBzdHJpbmc7XHJcbiAgICBpZ25vcmVUZXh0T3JkZXI6IGJvb2xlYW47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RXaXRoQWN0aXZlU29sdXRpb25Nb2RlbCB7XHJcbiAgICB0ZXN0SWQ6IHN0cmluZztcclxuICAgIGFjdGl2ZVNvbHV0aW9uSWQ6IHN0cmluZztcclxuICAgIHRlc3Q6IFRlc3RNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbkFuc3dlciB7XHJcbiAgICBxdWVzdGlvbklkOiBzdHJpbmc7XHJcbiAgICBhbnN3ZXJPckFuc3dlcnM6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQge1xyXG4gICAgaXNDaGVja2VkOiBib29sZWFuO1xyXG4gICAgcXVlc3Rpb25JZDogc3RyaW5nO1xyXG4gICAgYW5zd2VyT3JBbnN3ZXJzOiBzdHJpbmc7XHJcbiAgICBwb2ludHNWYWxpZGF0aW9uOiBRdWVzdGlvblBvaW50c1ZhbGlkYXRpb25Nb2RlbDtcclxuICAgIHJlc3VsdFR5cGU6IEFuc3dlclZhbGlkYXRpb25SZXN1bHRUeXBlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uUG9pbnRzVmFsaWRhdGlvbk1vZGVsIHtcclxuICAgIGVycm9yT2NjdXJlZDogYm9vbGVhbjtcclxuICAgIGluUHJvY2Nlc3M6IGJvb2xlYW47XHJcbiAgICBhbnN3ZXJQb2ludHM6IG51bWJlcjtcclxuICAgIHF1ZXN0aW9uVG90YWxQb2ludHM6IG51bWJlcjtcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBpc1ZhbGlkYXRlZDogYm9vbGVhbjtcclxuICAgIHNvdXJjZVR5cGU6IFF1ZXN0aW9uVmFsaWRhdGlvblNvdXJjZVR5cGU7XHJcbiAgICB2YWxpZGF0b3JJZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzUXVlc3Rpb25EYXRhIHtcclxuICAgIHNlbGVjdFJpZ2h0QW5zd2VyVGl0bGU6IHN0cmluZztcclxuICAgIHJpZ2h0QW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgICBhbnN3ZXJzOiBBcnJheTxBbnN3ZXI+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuc3dlciB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBpc1JpZ2h0QW5zd2VyOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVSaWdodEFuc3dlclF1ZXN0aW9uRGF0YSB7XHJcbiAgICBjYXNlSW5TZW5zaXRpdmU6IGJvb2xlYW47XHJcbiAgICByaWdodEFuc3dlcnM6IEFycmF5PHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRldGFpbGVkTW9kZWwge1xyXG4gICAgc29sdXRpb25JZDogc3RyaW5nO1xyXG4gICAgaGFzQW5zd2Vyc0luUHJvY2Nlc3M6IGJvb2xlYW47XHJcbiAgICBoYXNDdXJhdG9yVmFsaWRhdGlvbjogYm9vbGVhbjtcclxuICAgIGNhbkNoZWNrU2luZ2xlUXVlc3Rpb246IGJvb2xlYW47XHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nO1xyXG4gICAgc3R1ZGVudElkOiBzdHJpbmc7XHJcbiAgICBzdGFydGVkT25VdGM6IERhdGU7XHJcbiAgICBmaW5pc2hlZE9uVXRjOiBEYXRlIHwgbnVsbDtcclxuICAgIGlzRmluaXNoZWQ6IGJvb2xlYW47XHJcbiAgICB0ZXN0OiBTdHVkZW50VGVzdFNvbHV0aW9uRGV0YWlsZWRUZXN0TW9kZWw7XHJcbiAgICBjZG5PcHRpb25zOiBTM0NkblB1YmxpY09wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRldGFpbGVkVGVzdE1vZGVsIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBxdWVzdGlvbnM6IEFycmF5PFN0dWRlbnRUZXN0U29sdXRpb25EZXRhaWxlZFRlc3RRdWVzdGlvbj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRldGFpbGVkVGVzdFF1ZXN0aW9uIHtcclxuICAgIHF1ZXN0aW9uOiBUZXN0UXVlc3Rpb25Nb2RlbDtcclxuICAgIGFuc3dlcldpdGhWYWxpZGF0aW9uOiBRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQ7XHJcbiAgICBpc1F1ZXN0aW9uTGlrZWRCeVN0dWRlbnQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUzNDZG5QdWJsaWNPcHRpb25zIHtcclxuICAgIHVzZUNkbjogYm9vbGVhbjtcclxuICAgIGltYWdlVXJsRm9ybWF0OiBzdHJpbmc7XHJcbn0iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1zb2x1dGlvbi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL21vZGVscy90ZXN0LXNvbHV0aW9uLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUN4Qiw2RUFBeUQsQ0FBQTtJQUN6RCx1REFBbUMsQ0FBQTtJQUNuQyxxREFBaUMsQ0FBQTtJQUNqQyxpRUFBNkMsQ0FBQTtBQUNqRCxDQUFDLEVBTFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUszQjtBQXdERCxNQUFNLENBQU4sSUFBWSwwQkFNWDtBQU5ELFdBQVksMEJBQTBCO0lBQ2xDLDZFQUErQyxDQUFBO0lBQy9DLG1FQUFxQyxDQUFBO0lBQ3JDLCtFQUFpRCxDQUFBO0lBQ2pELDZEQUErQixDQUFBO0lBQy9CLHVEQUF5QixDQUFBO0FBQzdCLENBQUMsRUFOVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBTXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ291cnNlVGhlbWVJdGVtTW9kZWwgfSBmcm9tIFwiLi9jb3Vyc2UtbW9kZWxzXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVmFsaWRhdGlvblNvdXJjZVR5cGUgfSBmcm9tIFwiLi9zb2x1dGlvbi12YWxpZGF0aW9uLW1vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hTdHVkZW50VGVzdFNvbHV0aW9ucyB7XHJcbiAgICBpc0ZpbmlzaGVkOiBib29sZWFuIHwgbnVsbDtcclxuICAgIHN0dWRlbnRJZDogc3RyaW5nO1xyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGw7XHJcbiAgICBvZmZTZXQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0U29sdXRpb25Db3Vyc2VEYXRhIHtcclxuICAgIHNvbHV0aW9uSWQ6IHN0cmluZztcclxuICAgIGNvdXJzZVRoZW1lSXRlbUlkOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VUaGVtZUl0ZW1JbmRleDogbnVtYmVyO1xyXG4gICAgY291cnNlVGhlbWVJZDogc3RyaW5nO1xyXG4gICAgY291cnNlVGhlbWVOYW1lOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VOYW1lOiBzdHJpbmc7XHJcbiAgICBjb3Vyc2VJZDogc3RyaW5nO1xyXG4gICAgbmV4dEl0ZW06IENvdXJzZVRoZW1lSXRlbU1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUZXN0UXVlc3Rpb25UeXBlIHtcclxuICAgIFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzID0gJ1NlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzJyxcclxuICAgIFR5cGVSaWdodEFuc3dlciA9ICdUeXBlUmlnaHRBbnN3ZXInLFxyXG4gICAgRGV0YWlsZWRBbnN3ZXIgPSAnRGV0YWlsZWRBbnN3ZXInLFxyXG4gICAgVHlwZUFuc3dlcldpdGhFcnJvcnMgPSAnVHlwZUFuc3dlcldpdGhFcnJvcnMnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29sdXRpb25XaXRoQW5zd2VyTW9kZWwge1xyXG4gICAgc29sdXRpb25JZDogc3RyaW5nO1xyXG4gICAgYW5zd2VyOiBRdWVzdGlvbkFuc3dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvIHtcclxuICAgIHNvbHV0aW9uOiBTdHVkZW50VGVzdFNvbHV0aW9uU2ltcGxlTW9kZWw7XHJcbiAgICBzeXN0ZW1WYWxpZGF0aW9uOiBUZXN0U29sdXRpb25TeXN0ZW1WYWxpZGF0aW9uTW9kZWw7XHJcbiAgICB1bnJlYWRNZXNzYWdlc0NvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFNvbHV0aW9uU3lzdGVtVmFsaWRhdGlvbk1vZGVsIHtcclxuICAgIHN0dWRlbnRUb3RhbFBvaW50czogbnVtYmVyO1xyXG4gICAgc3R1ZGVudFByb2dyZXNzUGVyY2VudHM6IG51bWJlcjtcclxuICAgIG1heFRvdGFsUG9pbnRzOiBudW1iZXI7XHJcbiAgICBxdWVzdGlvbnNDb3VudDogbnVtYmVyO1xyXG4gICAgdmFsaWRhdGVkUXVlc3Rpb25zQ291bnQ6IG51bWJlcjtcclxuICAgIGhhc1JpZ2h0QW5zd2VyUXVlc3Rpb25zQ291bnQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGFydFNvbHV0aW9uRnJvbURpcmVjdG9yeSB7XHJcbiAgICB3b3JrU3BhY2VJZDogc3RyaW5nO1xyXG4gICAgZGlyZWN0b3J5SWQ6IHN0cmluZztcclxuICAgIHVzZUZpbHRlcjogYm9vbGVhbjtcclxuICAgIGNhbkNoZWNrU2luZ2xlUXVlc3Rpb246IGJvb2xlYW47XHJcbiAgICBmaWx0ZXI6IFF1ZXN0aW9uc0ZpbHRlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnNGaWx0ZXIge1xyXG4gICAgdHlwZXM6IEFycmF5PFRlc3RRdWVzdGlvblR5cGU+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0VGVzdFNvbHV0aW9uQnlUZXN0SWQge1xyXG4gICAgdGVzdElkOiBzdHJpbmc7XHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nO1xyXG4gICAgY2FuQ2hlY2tTaW5nbGVRdWVzdGlvbjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hNeVRlc3RTb2x1dGlvbnMge1xyXG4gICAgaXNGaW5pc2hlZDogYm9vbGVhbiB8IG51bGw7XHJcbiAgICB0ZXN0SWQ6IHN0cmluZztcclxuICAgIGNvdW50OiBudW1iZXIgfCBudWxsO1xyXG4gICAgb2ZmU2V0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvblNpbXBsZU1vZGVsIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICB0ZXN0TmFtZTogc3RyaW5nO1xyXG4gICAgdGVzdElkOiBzdHJpbmc7XHJcbiAgICBpc0ZpbmlzaGVkOiBib29sZWFuO1xyXG4gICAgc3RhcnRlZE9uVXRjOiBzdHJpbmc7IC8qIERhdGUgKi9cclxuICAgIGZpbmlzaGVkT25VdGM6IHN0cmluZyB8IG51bGw7IC8qIERhdGUgKi9cclxufVxyXG5cclxuZXhwb3J0IGVudW0gQW5zd2VyVmFsaWRhdGlvblJlc3VsdFR5cGUge1xyXG4gICAgTmVlZFRvQ2hlY2tCeVlvdXJTZWxmID0gJ05lZWRUb0NoZWNrQnlZb3VyU2VsZicsXHJcbiAgICBOb3RDb3JyZWN0QW5zd2VyID0gJ05vdENvcnJlY3RBbnN3ZXInLFxyXG4gICAgUGFydGlhbGx5Q29ycmVjdEFuc3dlciA9ICdQYXJ0aWFsbHlDb3JyZWN0QW5zd2VyJyxcclxuICAgIENvcnJlY3RBbnN3ZXIgPSAnQ29ycmVjdEFuc3dlcicsXHJcbiAgICBJblByb2NjZXNzID0gJ0luUHJvY2Nlc3MnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29sdXRpb25XaXRoQW5zd2Vyc01vZGVsIHtcclxuICAgIHNvbHV0aW9uSWQ6IHN0cmluZztcclxuICAgIGFuc3dlcnM6IEFycmF5PFF1ZXN0aW9uQW5zd2VyPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwge1xyXG4gICAgc3R1ZGVudElkOiBzdHJpbmc7XHJcbiAgICBzb2x1dGlvbklkOiBzdHJpbmc7XHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nO1xyXG4gICAgaGFzQ3VyYXRvclZhbGlkYXRpb246IGJvb2xlYW47XHJcbiAgICBjYW5DaGVja1NpbmdsZVF1ZXN0aW9uOiBib29sZWFuO1xyXG4gICAgc3RhcnRlZE9uVXRjOiBzdHJpbmc7IC8qIERhdGUgKi9cclxuICAgIGZpbmlzaGVkT25VdGM6IHN0cmluZyB8IG51bGw7IC8qIERhdGUgKi9cclxuICAgIGlzRmluaXNoZWQ6IGJvb2xlYW47XHJcbiAgICBzb2x1dGlvbjogU3R1ZGVudFRlc3RTb2x1dGlvbkRhdGFNb2RlbDtcclxuICAgIHRlc3Q6IFRlc3RNb2RlbDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRhdGFNb2RlbCB7XHJcbiAgICAvKipcclxuICAgICAqINCV0YHRgtGMINC70Lgg0LLQvtC/0YDQvtGB0YssINC60L7RgtC+0YDRi9C1INC90LDRhdC+0LTRj9GC0YHRjyDQsiDQv9GA0L7RhtC10YHRgdC1INGA0LDRgdGH0ZHRgtCwINGA0LXQt9GD0LvRjNGC0LDRgtCwXHJcbiAgICAqL1xyXG4gICAgaGFzQW5zd2Vyc0luUHJvY2Nlc3M6IGJvb2xlYW47XHJcbiAgICBhbnN3ZXJzOiBBcnJheTxRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RNb2RlbCB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcXVlc3Rpb25zOiBBcnJheTxUZXN0UXVlc3Rpb25Nb2RlbD47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFF1ZXN0aW9uTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0aXRsZUJvZHlNYXJrVXA6IHN0cmluZztcclxuICAgIGhlbHBCb2R5TWFya1VwOiBzdHJpbmc7XHJcbiAgICBhbnN3ZXJFeHBsYW5hdGlvbk1hcmtVcDogc3RyaW5nO1xyXG4gICAgdGl0bGVCb2R5TWFya1VwTW9iaWxlOiBzdHJpbmc7XHJcbiAgICBoZWxwQm9keU1hcmtVcE1vYmlsZTogc3RyaW5nO1xyXG4gICAgYW5zd2VyRXhwbGFuYXRpb25NYXJrVXBNb2JpbGU6IHN0cmluZztcclxuICAgIHR5cGU6IFRlc3RRdWVzdGlvblR5cGU7XHJcbiAgICBzZWxlY3RSaWdodEFuc3dlck9yQW5zd2Vyc0RhdGE6IFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzUXVlc3Rpb25EYXRhO1xyXG4gICAgdHlwZVJpZ2h0QW5zd2VyUXVlc3Rpb25EYXRhOiBUeXBlUmlnaHRBbnN3ZXJRdWVzdGlvbkRhdGE7XHJcbiAgICB0eXBlQW5zd2VyV2l0aEVycm9yc0RhdGE6IFR5cGVBbnN3ZXJXaXRoRXJyb3JzUXVlc3Rpb25EYXRhO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVBbnN3ZXJXaXRoRXJyb3JzUXVlc3Rpb25EYXRhIHtcclxuICAgIHJpZ2h0QW5zd2VyOiBzdHJpbmc7XHJcbiAgICBpZ25vcmVUZXh0T3JkZXI6IGJvb2xlYW47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RXaXRoQWN0aXZlU29sdXRpb25Nb2RlbCB7XHJcbiAgICB0ZXN0SWQ6IHN0cmluZztcclxuICAgIGFjdGl2ZVNvbHV0aW9uSWQ6IHN0cmluZztcclxuICAgIHRlc3Q6IFRlc3RNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbkFuc3dlciB7XHJcbiAgICBxdWVzdGlvbklkOiBzdHJpbmc7XHJcbiAgICBhbnN3ZXJPckFuc3dlcnM6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQge1xyXG4gICAgaXNDaGVja2VkOiBib29sZWFuO1xyXG4gICAgcXVlc3Rpb25JZDogc3RyaW5nO1xyXG4gICAgYW5zd2VyT3JBbnN3ZXJzOiBzdHJpbmc7XHJcbiAgICBwb2ludHNWYWxpZGF0aW9uOiBRdWVzdGlvblBvaW50c1ZhbGlkYXRpb25Nb2RlbDtcclxuICAgIHJlc3VsdFR5cGU6IEFuc3dlclZhbGlkYXRpb25SZXN1bHRUeXBlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uUG9pbnRzVmFsaWRhdGlvbk1vZGVsIHtcclxuICAgIGVycm9yT2NjdXJlZDogYm9vbGVhbjtcclxuICAgIGluUHJvY2Nlc3M6IGJvb2xlYW47XHJcbiAgICBhbnN3ZXJQb2ludHM6IG51bWJlcjtcclxuICAgIHF1ZXN0aW9uVG90YWxQb2ludHM6IG51bWJlcjtcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBpc1ZhbGlkYXRlZDogYm9vbGVhbjtcclxuICAgIHNvdXJjZVR5cGU6IFF1ZXN0aW9uVmFsaWRhdGlvblNvdXJjZVR5cGU7XHJcbiAgICB2YWxpZGF0b3JJZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdFJpZ2h0QW5zd2VyT3JBbnN3ZXJzUXVlc3Rpb25EYXRhIHtcclxuICAgIHNlbGVjdFJpZ2h0QW5zd2VyVGl0bGU6IHN0cmluZztcclxuICAgIHJpZ2h0QW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgICBhbnN3ZXJzOiBBcnJheTxBbnN3ZXI+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuc3dlciB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBpc1JpZ2h0QW5zd2VyOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVSaWdodEFuc3dlclF1ZXN0aW9uRGF0YSB7XHJcbiAgICBjYXNlSW5TZW5zaXRpdmU6IGJvb2xlYW47XHJcbiAgICByaWdodEFuc3dlcnM6IEFycmF5PHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRldGFpbGVkTW9kZWwge1xyXG4gICAgc29sdXRpb25JZDogc3RyaW5nO1xyXG4gICAgaGFzQW5zd2Vyc0luUHJvY2Nlc3M6IGJvb2xlYW47XHJcbiAgICBoYXNDdXJhdG9yVmFsaWRhdGlvbjogYm9vbGVhbjtcclxuICAgIGNhbkNoZWNrU2luZ2xlUXVlc3Rpb246IGJvb2xlYW47XHJcbiAgICBzdHVkZW50R3JvdXBJZDogc3RyaW5nO1xyXG4gICAgc3R1ZGVudElkOiBzdHJpbmc7XHJcbiAgICBzdGFydGVkT25VdGM6IERhdGU7XHJcbiAgICBmaW5pc2hlZE9uVXRjOiBEYXRlIHwgbnVsbDtcclxuICAgIGlzRmluaXNoZWQ6IGJvb2xlYW47XHJcbiAgICB0ZXN0OiBTdHVkZW50VGVzdFNvbHV0aW9uRGV0YWlsZWRUZXN0TW9kZWw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRldGFpbGVkVGVzdE1vZGVsIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBxdWVzdGlvbnM6IEFycmF5PFN0dWRlbnRUZXN0U29sdXRpb25EZXRhaWxlZFRlc3RRdWVzdGlvbj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudFRlc3RTb2x1dGlvbkRldGFpbGVkVGVzdFF1ZXN0aW9uIHtcclxuICAgIHF1ZXN0aW9uOiBUZXN0UXVlc3Rpb25Nb2RlbDtcclxuICAgIGFuc3dlcldpdGhWYWxpZGF0aW9uOiBRdWVzdGlvbkFuc3dlcldpdGhSZXN1bHQ7XHJcbiAgICBpc1F1ZXN0aW9uTGlrZWRCeVN0dWRlbnQ6IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -1,20 +1,19 @@
1
- import { Injectable } from "@angular/core";
2
- import { OpenApiExtensions } from "../extensions";
1
+ import { Inject, Injectable } from "@angular/core";
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@angular/common/http";
5
- import * as i2 from "../extensions";
6
4
  export class StudentGroupTestRelationQueryService {
7
5
  getBaseUrl() {
8
- return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');
6
+ return `${this._baseUrl}api/tutor/student-group/tests`;
9
7
  }
10
- constructor(_httpClient, _baseUrlProvider) {
8
+ constructor(_httpClient, baseUrl) {
11
9
  this._httpClient = _httpClient;
12
- this._baseUrlProvider = _baseUrlProvider;
10
+ this._baseUrl = "";
11
+ this._baseUrl = baseUrl;
13
12
  }
14
13
  getById(studentGroupId, testId) {
15
- return this._httpClient.get(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);
14
+ return this._httpClient.get(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);
16
15
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, deps: [{ token: i1.HttpClient }, { token: i2.OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
17
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, providedIn: 'root' }); }
19
18
  }
20
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, decorators: [{
@@ -22,5 +21,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
22
21
  args: [{
23
22
  providedIn: 'root',
24
23
  }]
25
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.OpenApiUrlProvider }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R1ZGVudEdyb3VwVGVzdFJlbGF0aW9uUXVlcnlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9zZXJ2aWNlcy9TdHVkZW50R3JvdXBUZXN0UmVsYXRpb25RdWVyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sZUFBZSxDQUFDOzs7O0FBTXRFLE1BQU0sT0FBTyxvQ0FBb0M7SUFFN0MsVUFBVTtRQUNOLE9BQU8saUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxZQUFvQixXQUF1QixFQUMvQixnQkFBb0M7UUFENUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtJQUNoRCxDQUFDO0lBRUQsT0FBTyxDQUFDLGNBQXNCLEVBQUUsTUFBYztRQUMxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsV0FBVyxNQUFNLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNsSSxDQUFDOzhHQVpRLG9DQUFvQztrSEFBcEMsb0NBQW9DLGNBRmpDLE1BQU07OzJGQUVULG9DQUFvQztrQkFIaEQsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcGVuQXBpRXh0ZW5zaW9ucywgT3BlbkFwaVVybFByb3ZpZGVyIH0gZnJvbSBcIi4uL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgU3R1ZGVudFRlc3RHcm91cFJlbGF0aW9uRGV0YWlsZWRNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSB7XHJcblxyXG4gICAgZ2V0QmFzZVVybCgpIHtcclxuICAgICAgICByZXR1cm4gT3BlbkFwaUV4dGVuc2lvbnMuYnVpbGRPcGVuQXBpVXJsKHRoaXMuX2Jhc2VVcmxQcm92aWRlciwgJ2FwaS90dXRvci9zdHVkZW50LWdyb3VwL3Rlc3RzLycpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfYmFzZVVybFByb3ZpZGVyOiBPcGVuQXBpVXJsUHJvdmlkZXIpIHtcclxuICAgIH1cclxuXHJcbiAgICBnZXRCeUlkKHN0dWRlbnRHcm91cElkOiBzdHJpbmcsIHRlc3RJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQuZ2V0PFN0dWRlbnRUZXN0R3JvdXBSZWxhdGlvbkRldGFpbGVkTW9kZWw+KHRoaXMuZ2V0QmFzZVVybCgpICsgYGdldEJ5SWQvJHt0ZXN0SWR9LyR7c3R1ZGVudEdyb3VwSWR9YCk7XHJcbiAgICB9XHJcbn1cclxuIl19
24
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
25
+ type: Inject,
26
+ args: ['BASE_URL']
27
+ }] }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R1ZGVudEdyb3VwVGVzdFJlbGF0aW9uUXVlcnlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9zZXJ2aWNlcy9TdHVkZW50R3JvdXBUZXN0UmVsYXRpb25RdWVyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sb0NBQW9DO0lBRTdDLFVBQVU7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsK0JBQStCLENBQUM7SUFDM0QsQ0FBQztJQUlELFlBQ3FCLFdBQXVCLEVBQ3BCLE9BQWU7UUFEbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFIM0IsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQU1uQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxDQUFDLGNBQXNCLEVBQUUsTUFBYztRQUMxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsWUFBWSxNQUFNLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuSSxDQUFDOzhHQWpCUSxvQ0FBb0MsNENBVWpDLFVBQVU7a0hBVmIsb0NBQW9DLGNBRmpDLE1BQU07OzJGQUVULG9DQUFvQztrQkFIaEQsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQVdRLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3R1ZGVudFRlc3RHcm91cFJlbGF0aW9uRGV0YWlsZWRNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0dWRlbnRHcm91cFRlc3RSZWxhdGlvblF1ZXJ5U2VydmljZSB7XHJcblxyXG4gICAgZ2V0QmFzZVVybCgpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5fYmFzZVVybH1hcGkvdHV0b3Ivc3R1ZGVudC1ncm91cC90ZXN0c2A7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYmFzZVVybDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5fYmFzZVVybCA9IGJhc2VVcmw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnlJZChzdHVkZW50R3JvdXBJZDogc3RyaW5nLCB0ZXN0SWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LmdldDxTdHVkZW50VGVzdEdyb3VwUmVsYXRpb25EZXRhaWxlZE1vZGVsPihgJHt0aGlzLmdldEJhc2VVcmwoKX0vZ2V0QnlJZC8ke3Rlc3RJZH0vJHtzdHVkZW50R3JvdXBJZH1gKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,26 +1,22 @@
1
- import { Injectable } from "@angular/core";
2
- import { OpenApiExtensions } from "../extensions";
1
+ import { Inject, Injectable } from "@angular/core";
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@angular/common/http";
5
- import * as i2 from "../extensions";
6
4
  export class TestSolutionQueryService {
7
- getBaseUrl() {
8
- return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');
9
- }
10
- constructor(_httpClient, _urlProvider) {
5
+ constructor(_httpClient, baseUrl) {
11
6
  this._httpClient = _httpClient;
12
- this._urlProvider = _urlProvider;
7
+ this._baseUrl = "";
8
+ this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;
13
9
  }
14
10
  searchByStudent(model) {
15
- return this._httpClient.post(this.getBaseUrl() + "Search/By/Student", model);
11
+ return this._httpClient.post(`${this._baseUrl}/Search/By/Student`, model);
16
12
  }
17
13
  getCourseData(id) {
18
- return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);
14
+ return this._httpClient.get(`${this._baseUrl}/Get/By/Id/${id}/course-data`);
19
15
  }
20
16
  getSolutionById(id) {
21
- return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}`);
17
+ return this._httpClient.get(`${this._baseUrl}/Get/By/Id/${id}`);
22
18
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: i2.OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
20
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, providedIn: 'root' }); }
25
21
  }
26
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, decorators: [{
@@ -28,5 +24,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
28
24
  args: [{
29
25
  providedIn: 'root',
30
26
  }]
31
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.OpenApiUrlProvider }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9zZXJ2aWNlcy9UZXN0U29sdXRpb25RdWVyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3RFLE1BQU0sT0FBTyx3QkFBd0I7SUFFakMsVUFBVTtRQUNOLE9BQU8saUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsWUFBb0IsV0FBdUIsRUFDL0IsWUFBZ0M7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQzVDLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBaUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBaUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFFTSxhQUFhLENBQUMsRUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF5QixJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7OEdBcEJRLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnJCLE1BQU07OzJGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcGVuQXBpRXh0ZW5zaW9ucywgT3BlbkFwaVVybFByb3ZpZGVyIH0gZnJvbSBcIi4uL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNlYXJjaFN0dWRlbnRUZXN0U29sdXRpb25zLCBHZXRMaXN0UmVzdWx0LCBUZXN0U29sdXRpb25Db3Vyc2VEYXRhLCBTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvLCBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXN0U29sdXRpb25RdWVyeVNlcnZpY2Uge1xyXG5cclxuICAgIGdldEJhc2VVcmwoKSB7XHJcbiAgICAgICAgcmV0dXJuIE9wZW5BcGlFeHRlbnNpb25zLmJ1aWxkT3BlbkFwaVVybCh0aGlzLl91cmxQcm92aWRlciwgJ2FwaS90dXRvci90ZXN0LXNvbHV0aW9uL3F1ZXJ5LycpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfdXJsUHJvdmlkZXI6IE9wZW5BcGlVcmxQcm92aWRlcikge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hCeVN0dWRlbnQobW9kZWw6IFNlYXJjaFN0dWRlbnRUZXN0U29sdXRpb25zKTogT2JzZXJ2YWJsZTxHZXRMaXN0UmVzdWx0PFN0dWRlbnRUZXN0U29sdXRpb25XaXRoQ2hhdEluZm8+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQucG9zdDxHZXRMaXN0UmVzdWx0PFN0dWRlbnRUZXN0U29sdXRpb25XaXRoQ2hhdEluZm8+Pih0aGlzLmdldEJhc2VVcmwoKSArIFwiU2VhcmNoL0J5L1N0dWRlbnRcIiwgbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRDb3Vyc2VEYXRhKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlc3RTb2x1dGlvbkNvdXJzZURhdGE+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5nZXQ8VGVzdFNvbHV0aW9uQ291cnNlRGF0YT4odGhpcy5nZXRCYXNlVXJsKCkgKyBgR2V0L0J5L0lkLyR7aWR9L2NvdXJzZS1kYXRhYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFNvbHV0aW9uQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWw+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5nZXQ8U3R1ZGVudFRlc3RTb2x1dGlvbk1vZGVsPih0aGlzLmdldEJhc2VVcmwoKSArIGBHZXQvQnkvSWQvJHtpZH1gKTtcclxuICAgIH1cclxufSJdfQ==
27
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
28
+ type: Inject,
29
+ args: ['BASE_URL']
30
+ }] }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVzdFNvbHV0aW9uUXVlcnlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9zZXJ2aWNlcy9UZXN0U29sdXRpb25RdWVyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sd0JBQXdCO0lBSWpDLFlBQ3FCLFdBQXVCLEVBQ3BCLE9BQWU7UUFEbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFIM0IsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQU1uQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsT0FBTywrQkFBK0IsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWlDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQWlELEdBQUcsSUFBSSxDQUFDLFFBQVEsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUgsQ0FBQztJQUVNLGFBQWEsQ0FBQyxFQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixHQUFHLElBQUksQ0FBQyxRQUFRLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDOzhHQXJCUSx3QkFBd0IsNENBTXJCLFVBQVU7a0hBTmIsd0JBQXdCLGNBRnJCLE1BQU07OzJGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9RLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNlYXJjaFN0dWRlbnRUZXN0U29sdXRpb25zLCBHZXRMaXN0UmVzdWx0LCBUZXN0U29sdXRpb25Db3Vyc2VEYXRhLCBTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvLCBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXN0U29sdXRpb25RdWVyeVNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Jhc2VVcmw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBASW5qZWN0KCdCQVNFX1VSTCcpIGJhc2VVcmw6IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VVcmwgPSBgJHtiYXNlVXJsfWFwaS90dXRvci90ZXN0LXNvbHV0aW9uL3F1ZXJ5YDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VhcmNoQnlTdHVkZW50KG1vZGVsOiBTZWFyY2hTdHVkZW50VGVzdFNvbHV0aW9ucyk6IE9ic2VydmFibGU8R2V0TGlzdFJlc3VsdDxTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8R2V0TGlzdFJlc3VsdDxTdHVkZW50VGVzdFNvbHV0aW9uV2l0aENoYXRJbmZvPj4oYCR7dGhpcy5fYmFzZVVybH0vU2VhcmNoL0J5L1N0dWRlbnRgLCBtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldENvdXJzZURhdGEoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGVzdFNvbHV0aW9uQ291cnNlRGF0YT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LmdldDxUZXN0U29sdXRpb25Db3Vyc2VEYXRhPihgJHt0aGlzLl9iYXNlVXJsfS9HZXQvQnkvSWQvJHtpZH0vY291cnNlLWRhdGFgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29sdXRpb25CeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0dWRlbnRUZXN0U29sdXRpb25Nb2RlbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LmdldDxTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWw+KGAke3RoaXMuX2Jhc2VVcmx9L0dldC9CeS9JZC8ke2lkfWApO1xyXG4gICAgfVxyXG59Il19
@@ -1,20 +1,16 @@
1
- import { Injectable } from "@angular/core";
2
- import { OpenApiExtensions } from "../../extensions";
1
+ import { Inject, Injectable } from "@angular/core";
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@angular/common/http";
5
- import * as i2 from "../../extensions";
6
4
  export class OpenApiQuestionLikeService {
7
- getBaseUrl() {
8
- return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');
9
- }
10
- constructor(_httpClient, _urlProvider) {
5
+ constructor(_httpClient, baseUrl) {
11
6
  this._httpClient = _httpClient;
12
- this._urlProvider = _urlProvider;
7
+ this._baseUrl = "";
8
+ this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;
13
9
  }
14
10
  search(model) {
15
- return this._httpClient.post(this.getBaseUrl() + 'search', model);
11
+ return this._httpClient.post(`${this._baseUrl}/search`, model);
16
12
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, deps: [{ token: i1.HttpClient }, { token: i2.OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
14
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, providedIn: 'root' }); }
19
15
  }
20
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, decorators: [{
@@ -22,5 +18,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
22
18
  args: [{
23
19
  providedIn: 'root',
24
20
  }]
25
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.OpenApiUrlProvider }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaVF1ZXN0aW9uTGlrZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL29wZW4tYXBpL09wZW5BcGlRdWVzdGlvbkxpa2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLGtCQUFrQixDQUFDOzs7O0FBTXpFLE1BQU0sT0FBTywwQkFBMEI7SUFFbkMsVUFBVTtRQUNOLE9BQU8saUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsWUFBb0IsV0FBdUIsRUFDL0IsWUFBZ0M7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQzVDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBNkI7UUFDdkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBbUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RyxDQUFDOzhHQVpRLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcGVuQXBpRXh0ZW5zaW9ucywgT3BlbkFwaVVybFByb3ZpZGVyIH0gZnJvbSBcIi4uLy4uL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgR2V0TGlzdFJlc3VsdCwgU2VhcmNoUXVlc3Rpb25zQnlMaWtlcywgVGVzdFF1ZXN0aW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcGVuQXBpUXVlc3Rpb25MaWtlU2VydmljZSB7XHJcbiAgICBcclxuICAgIGdldEJhc2VVcmwoKXtcclxuICAgICAgICByZXR1cm4gT3BlbkFwaUV4dGVuc2lvbnMuYnVpbGRPcGVuQXBpVXJsKHRoaXMuX3VybFByb3ZpZGVyLCAnYXBpL3R1dG9yL29wZW4tYXBpL3F1ZXN0aW9uLWxpa2UvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIF91cmxQcm92aWRlcjogT3BlbkFwaVVybFByb3ZpZGVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlYXJjaChtb2RlbDogU2VhcmNoUXVlc3Rpb25zQnlMaWtlcykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8R2V0TGlzdFJlc3VsdDxUZXN0UXVlc3Rpb25Nb2RlbD4+KHRoaXMuZ2V0QmFzZVVybCgpICsgJ3NlYXJjaCcsIG1vZGVsKTtcclxuICAgIH1cclxufVxyXG4iXX0=
21
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: ['BASE_URL']
24
+ }] }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaVF1ZXN0aW9uTGlrZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL29wZW4tYXBpL09wZW5BcGlRdWVzdGlvbkxpa2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUNxQixXQUF1QixFQUNwQixPQUFlO1FBRGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBSDNCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFNbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLE9BQU8sa0NBQWtDLENBQUM7SUFDakUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUE2QjtRQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFtQyxHQUFHLElBQUksQ0FBQyxRQUFRLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRyxDQUFDOzhHQWJRLDBCQUEwQiw0Q0FNdkIsVUFBVTtrSEFOYiwwQkFBMEIsY0FGdkIsTUFBTTs7MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBHZXRMaXN0UmVzdWx0LCBTZWFyY2hRdWVzdGlvbnNCeUxpa2VzLCBUZXN0UXVlc3Rpb25Nb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wZW5BcGlRdWVzdGlvbkxpa2VTZXJ2aWNlIHtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYmFzZVVybDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5fYmFzZVVybCA9IGAke2Jhc2VVcmx9YXBpL3R1dG9yL29wZW4tYXBpL3F1ZXN0aW9uLWxpa2VgO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2gobW9kZWw6IFNlYXJjaFF1ZXN0aW9uc0J5TGlrZXMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PEdldExpc3RSZXN1bHQ8VGVzdFF1ZXN0aW9uTW9kZWw+PihgJHt0aGlzLl9iYXNlVXJsfS9zZWFyY2hgLCBtb2RlbCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,20 +1,16 @@
1
- import { Injectable } from "@angular/core";
2
- import { OpenApiExtensions } from "../../extensions";
1
+ import { Inject, Injectable } from "@angular/core";
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@angular/common/http";
5
- import * as i2 from "../../extensions";
6
4
  export class OpenApiTestSolutionService {
7
- getBaseUrl() {
8
- return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');
9
- }
10
- constructor(_httpClient, _urlProvider) {
5
+ constructor(_httpClient, baseUrl) {
11
6
  this._httpClient = _httpClient;
12
- this._urlProvider = _urlProvider;
7
+ this._baseUrl = "";
8
+ this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;
13
9
  }
14
10
  getById(id) {
15
- return this._httpClient.get(this.getBaseUrl() + id);
11
+ return this._httpClient.get(`${this._baseUrl}/${id}`);
16
12
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, deps: [{ token: i1.HttpClient }, { token: i2.OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
14
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, providedIn: 'root' }); }
19
15
  }
20
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, decorators: [{
@@ -22,5 +18,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
22
18
  args: [{
23
19
  providedIn: 'root',
24
20
  }]
25
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.OpenApiUrlProvider }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaVRlc3RTb2x1dGlvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL29wZW4tYXBpL09wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLGtCQUFrQixDQUFDOzs7O0FBTXpFLE1BQU0sT0FBTywwQkFBMEI7SUFFbkMsVUFBVTtRQUNOLE9BQU8saUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsWUFBb0IsV0FBdUIsRUFDL0IsWUFBZ0M7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQzVDLENBQUM7SUFFTSxPQUFPLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQzs4R0FaUSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ2QixNQUFNOzsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT3BlbkFwaUV4dGVuc2lvbnMsIE9wZW5BcGlVcmxQcm92aWRlciB9IGZyb20gXCIuLi8uLi9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IFN0dWRlbnRUZXN0U29sdXRpb25Nb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlIHtcclxuICAgIFxyXG4gICAgZ2V0QmFzZVVybCgpe1xyXG4gICAgICAgIHJldHVybiBPcGVuQXBpRXh0ZW5zaW9ucy5idWlsZE9wZW5BcGlVcmwodGhpcy5fdXJsUHJvdmlkZXIsICdhcGkvdHV0b3Ivb3Blbi1hcGkvdGVzdC1zb2x1dG9uLycpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfdXJsUHJvdmlkZXI6IE9wZW5BcGlVcmxQcm92aWRlcikge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRCeUlkKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5nZXQ8U3R1ZGVudFRlc3RTb2x1dGlvbk1vZGVsPih0aGlzLmdldEJhc2VVcmwoKSArIGlkKTtcclxuICAgIH1cclxufVxyXG4iXX0=
21
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: ['BASE_URL']
24
+ }] }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaVRlc3RTb2x1dGlvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL3NlcnZpY2VzL29wZW4tYXBpL09wZW5BcGlUZXN0U29sdXRpb25TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUNxQixXQUF1QixFQUNwQixPQUFlO1FBRGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBSDNCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFNbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLGlDQUFpQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxPQUFPLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDOzhHQWJRLDBCQUEwQiw0Q0FNdkIsVUFBVTtrSEFOYiwwQkFBMEIsY0FGdkIsTUFBTTs7MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdHVkZW50VGVzdFNvbHV0aW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcGVuQXBpVGVzdFNvbHV0aW9uU2VydmljZSB7XHJcbiAgICBcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Jhc2VVcmw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBASW5qZWN0KCdCQVNFX1VSTCcpIGJhc2VVcmw6IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VVcmwgPSBgJHt0aGlzLl9iYXNlVXJsfWFwaS90dXRvci9vcGVuLWFwaS90ZXN0LXNvbHV0b25gO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRCeUlkKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5nZXQ8U3R1ZGVudFRlc3RTb2x1dGlvbk1vZGVsPihgJHt0aGlzLl9iYXNlVXJsfS8ke2lkfWApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -4,6 +4,5 @@
4
4
  export * from './lib/tutor-logic.module';
5
5
  export * from './lib/services';
6
6
  export * from './lib/models';
7
- export * from './lib/extensions';
8
7
  export * from './lib/consts';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHR1dG9yLWxvZ2ljXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHV0b3ItbG9naWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHRlbnNpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0cyciXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1dG9yLWxvZ2ljL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dXRvci1sb2dpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3R1dG9yLWxvZ2ljLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RzJyJdfQ==
@@ -184,68 +184,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
184
184
  args: ['BASE_URL']
185
185
  }] }] });
186
186
 
187
- class OpenApiExtensions {
188
- static buildOpenApiUrl(urlProvider, adding) {
189
- return urlProvider.getUrl() + adding;
190
- }
191
- }
192
-
193
- class OpenApiUrlProvider {
194
- constructor(_httpClient, baseUrl) {
195
- this._httpClient = _httpClient;
196
- this._urlValue = "";
197
- this._data = {
198
- useOpenApiServer: false,
199
- openApiUrl: ""
200
- };
201
- this._urlValue = baseUrl;
202
- this.getSettings(baseUrl);
203
- }
204
- getSettings(baseUrl) {
205
- this._httpClient.get(baseUrl + "api/settings/open-api/get").subscribe(data => {
206
- if (data.useOpenApiServer && data.openApiUrl) {
207
- this._data = data;
208
- this._urlValue = data.openApiUrl;
209
- }
210
- });
211
- }
212
- getData() {
213
- return this._data;
214
- }
215
- getUrl() {
216
- return this._urlValue;
217
- }
218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiUrlProvider, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
219
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiUrlProvider, providedIn: 'root' }); }
220
- }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiUrlProvider, decorators: [{
222
- type: Injectable,
223
- args: [{
224
- providedIn: 'root',
225
- }]
226
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
227
- type: Inject,
228
- args: ['BASE_URL']
229
- }] }] });
230
-
231
187
  class TestSolutionQueryService {
232
- getBaseUrl() {
233
- return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');
234
- }
235
- constructor(_httpClient, _urlProvider) {
188
+ constructor(_httpClient, baseUrl) {
236
189
  this._httpClient = _httpClient;
237
- this._urlProvider = _urlProvider;
190
+ this._baseUrl = "";
191
+ this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;
238
192
  }
239
193
  searchByStudent(model) {
240
- return this._httpClient.post(this.getBaseUrl() + "Search/By/Student", model);
194
+ return this._httpClient.post(`${this._baseUrl}/Search/By/Student`, model);
241
195
  }
242
196
  getCourseData(id) {
243
- return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);
197
+ return this._httpClient.get(`${this._baseUrl}/Get/By/Id/${id}/course-data`);
244
198
  }
245
199
  getSolutionById(id) {
246
- return this._httpClient.get(this.getBaseUrl() + `Get/By/Id/${id}`);
200
+ return this._httpClient.get(`${this._baseUrl}/Get/By/Id/${id}`);
247
201
  }
248
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
249
203
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, providedIn: 'root' }); }
250
204
  }
251
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TestSolutionQueryService, decorators: [{
@@ -253,7 +207,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
253
207
  args: [{
254
208
  providedIn: 'root',
255
209
  }]
256
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: OpenApiUrlProvider }] });
210
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
211
+ type: Inject,
212
+ args: ['BASE_URL']
213
+ }] }] });
257
214
 
258
215
  /**
259
216
  Методы контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController
@@ -318,17 +275,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
318
275
  }] }] });
319
276
 
320
277
  class OpenApiQuestionLikeService {
321
- getBaseUrl() {
322
- return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');
323
- }
324
- constructor(_httpClient, _urlProvider) {
278
+ constructor(_httpClient, baseUrl) {
325
279
  this._httpClient = _httpClient;
326
- this._urlProvider = _urlProvider;
280
+ this._baseUrl = "";
281
+ this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;
327
282
  }
328
283
  search(model) {
329
- return this._httpClient.post(this.getBaseUrl() + 'search', model);
284
+ return this._httpClient.post(`${this._baseUrl}/search`, model);
330
285
  }
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, deps: [{ token: i1.HttpClient }, { token: OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
332
287
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, providedIn: 'root' }); }
333
288
  }
334
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiQuestionLikeService, decorators: [{
@@ -336,20 +291,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
336
291
  args: [{
337
292
  providedIn: 'root',
338
293
  }]
339
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: OpenApiUrlProvider }] });
294
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
295
+ type: Inject,
296
+ args: ['BASE_URL']
297
+ }] }] });
340
298
 
341
299
  class OpenApiTestSolutionService {
342
- getBaseUrl() {
343
- return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');
344
- }
345
- constructor(_httpClient, _urlProvider) {
300
+ constructor(_httpClient, baseUrl) {
346
301
  this._httpClient = _httpClient;
347
- this._urlProvider = _urlProvider;
302
+ this._baseUrl = "";
303
+ this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;
348
304
  }
349
305
  getById(id) {
350
- return this._httpClient.get(this.getBaseUrl() + id);
306
+ return this._httpClient.get(`${this._baseUrl}/${id}`);
351
307
  }
352
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, deps: [{ token: i1.HttpClient }, { token: OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
308
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
353
309
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, providedIn: 'root' }); }
354
310
  }
355
311
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiTestSolutionService, decorators: [{
@@ -357,7 +313,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
357
313
  args: [{
358
314
  providedIn: 'root',
359
315
  }]
360
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: OpenApiUrlProvider }] });
316
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
317
+ type: Inject,
318
+ args: ['BASE_URL']
319
+ }] }] });
361
320
 
362
321
  class StudentTestSolutionService {
363
322
  constructor(_httpClient, baseUrl) {
@@ -414,16 +373,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
414
373
 
415
374
  class StudentGroupTestRelationQueryService {
416
375
  getBaseUrl() {
417
- return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');
376
+ return `${this._baseUrl}api/tutor/student-group/tests`;
418
377
  }
419
- constructor(_httpClient, _baseUrlProvider) {
378
+ constructor(_httpClient, baseUrl) {
420
379
  this._httpClient = _httpClient;
421
- this._baseUrlProvider = _baseUrlProvider;
380
+ this._baseUrl = "";
381
+ this._baseUrl = baseUrl;
422
382
  }
423
383
  getById(studentGroupId, testId) {
424
- return this._httpClient.get(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);
384
+ return this._httpClient.get(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);
425
385
  }
426
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, deps: [{ token: i1.HttpClient }, { token: OpenApiUrlProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
427
387
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, providedIn: 'root' }); }
428
388
  }
429
389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: StudentGroupTestRelationQueryService, decorators: [{
@@ -431,7 +391,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
431
391
  args: [{
432
392
  providedIn: 'root',
433
393
  }]
434
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: OpenApiUrlProvider }] });
394
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
395
+ type: Inject,
396
+ args: ['BASE_URL']
397
+ }] }] });
435
398
 
436
399
  class CuratorMessageTemplateService {
437
400
  getBaseControllerUrl() {
@@ -1017,5 +980,5 @@ class TutorRoles {
1017
980
  * Generated bundle index. Do not edit.
1018
981
  */
1019
982
 
1020
- export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, OpenApiUrlProvider, QuestionValidationSourceType, StudentCourseViewService, StudentGroupEnterService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentSubjectViewService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
983
+ export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, OpenApiQuestionLikeService, OpenApiTestSolutionService, QuestionValidationSourceType, StudentCourseViewService, StudentGroupEnterService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentSubjectViewService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
1021
984
  //# sourceMappingURL=tutor-logic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/TutorCommonSettingsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiExtensions.ts","../../../projects/tutor-logic/src/lib/extensions/OpenApiUrlProvider.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentSubjectViewService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseOrderService.ts","../../../projects/tutor-logic/src/lib/services/CourseShopWindowDetailedService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupPaymentPlanQueryService.ts","../../../projects/tutor-logic/src/lib/services/TutorAppConfigurationService.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/subject.models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\r\n\r\n/**\r\n* Методы контроллера StudentGroupQueryController\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupQueryService {\r\n\r\n getBaseUrl() {\r\n return this._baseUrl + 'api/tutor/student-group';\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string) {\r\n }\r\n\r\n /**\r\n * Поиск групп студентов\r\n */\r\n public search(model: SearchStudentGroups): Observable<GetListResult<StudentGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.getBaseUrl()}/query/search`, model);\r\n }\r\n\r\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(`${this.getBaseUrl()}/query/search/with-progresses`, model);\r\n }\r\n\r\n /**\r\n * Получить группу по идентификатору\r\n * @param id идентификатор группы учеников\r\n * @returns группу учеников\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 /**\r\n * Получить список студентов в группе по фильтру\r\n * @param model модель для поиска\r\n * @returns список студентов\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 * Получить студента в группе\r\n * @param groupId идентификатор группы\r\n * @param studentId идентификатор студента\r\n * @returns \r\n */\r\n public getStudentById(groupId: string, studentId: string): Observable<StudentInGroupSimpleModel> {\r\n return this._httpClient.get<StudentInGroupSimpleModel>(`${this.getBaseUrl()}/students/get-by-id/${groupId}/${studentId}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, SearchStudents, StudentSimpleModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\r\n }\r\n\r\n public getById(id: string): Observable<StudentSimpleModel> {\r\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\r\n }\r\n\r\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\r\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\r\n }\r\n\r\n public search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupEnterService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\r\n }\r\n\r\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\r\n }\r\n\r\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\r\n }\r\n}\r\n","import { OpenApiUrlProvider } from \"./OpenApiUrlProvider\";\r\n\r\nexport class OpenApiExtensions {\r\n static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string {\r\n return urlProvider.getUrl() + adding;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { OpenApiServerOptions } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiUrlProvider {\r\n\r\n _urlValue: string = \"\";\r\n _data: OpenApiServerOptions = {\r\n useOpenApiServer: false,\r\n openApiUrl: \"\"\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this._urlValue = baseUrl;\r\n this.getSettings(baseUrl);\r\n }\r\n\r\n getSettings(baseUrl: string) {\r\n this._httpClient.get<OpenApiServerOptions>(baseUrl + \"api/settings/open-api/get\").subscribe(data => {\r\n if(data.useOpenApiServer && data.openApiUrl){\r\n this._data = data;\r\n this._urlValue = data.openApiUrl;\r\n }\r\n });\r\n }\r\n\r\n getData() {\r\n return this._data;\r\n }\r\n\r\n getUrl(): string {\r\n return this._urlValue;\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/test-solution/query/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.getBaseUrl() + \"Search/By/Student\", model);\r\n }\r\n\r\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\r\n return this._httpClient.get<TestSolutionCourseData>(this.getBaseUrl() + `Get/By/Id/${id}/course-data`);\r\n }\r\n\r\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + `Get/By/Id/${id}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\r\nBasePath = api/tutor/test-solution-result\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionResultService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution-result/';\r\n }\r\n\r\n public getQuestionsWithModifiersBySolution(solutionId: string) {\r\n return this._httpClient.get<TestQuestionWithModifiers[]>(this.baseControllerUrl + `modifiers/${solutionId}`);\r\n }\r\n\r\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\r\n return this._httpClient.get<TestSolutionWithPointsValidation>(this.baseControllerUrl + `points/${solutionId}`);\r\n }\r\n\r\n public create(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `create/${solutionId}`, {});\r\n }\r\n\r\n public recalculate(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `recalculate/${solutionId}`, {});\r\n }\r\n\r\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/save`, model);\r\n }\r\n\r\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/remove`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GenericBaseApiResponse, StartSolutionFromDirectory, StartTestSolutionByTestId, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionStartService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/Start/';\r\n }\r\n\r\n startByTestId(model: StartTestSolutionByTestId): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/TestId`, model);\r\n }\r\n\r\n startByDirectory(model: StartSolutionFromDirectory): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/Directory`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiQuestionLikeService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/question-like/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public search(model: SearchQuestionsByLikes) {\r\n return this._httpClient.post<GetListResult<TestQuestionModel>>(this.getBaseUrl() + 'search', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../../extensions\";\r\nimport { StudentTestSolutionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiTestSolutionService {\r\n \r\n getBaseUrl(){\r\n return OpenApiExtensions.buildOpenApiUrl(this._urlProvider, 'api/tutor/open-api/test-soluton/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _urlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n public getById(id: string) {\r\n return this._httpClient.get<StudentTestSolutionModel>(this.getBaseUrl() + id);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\r\n }\r\n\r\n checkAnswer(model: SolutionWithAnswerModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\r\n }\r\n\r\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\r\nBasePath = api/tutor/test-solution/query/mine\r\n*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\r\n }\r\n\r\n search(model: SearchMyTestSolutions) {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\r\n }\r\n\r\n getResultById(id: string){\r\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\r\n\r\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\r\n }\r\n\r\n getByTestId(testId: string){\r\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\r\n\r\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { OpenApiExtensions, OpenApiUrlProvider } from \"../extensions\";\r\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupTestRelationQueryService {\r\n\r\n getBaseUrl() {\r\n return OpenApiExtensions.buildOpenApiUrl(this._baseUrlProvider, 'api/tutor/student-group/tests/');\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n private _baseUrlProvider: OpenApiUrlProvider) {\r\n }\r\n\r\n getById(studentGroupId: string, testId: string) {\r\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(this.getBaseUrl() + `getById/${testId}/${studentGroupId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiResponse, GetListResult } from '../models';\r\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CuratorMessageTemplateService {\r\n getBaseControllerUrl() {\r\n return this._baseUrl + 'api/tutor/curator/message-template/';\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\r\n }\r\n\r\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\r\n }\r\n\r\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\r\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\r\n this.getBaseControllerUrl() + 'search',\r\n model,\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseDeadlineWarningService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\r\n }\r\n\r\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\r\n }\r\n\r\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { CourseItemGlobalTestRestrictionModel, TestRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\r\n * \r\n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + 'global', model);\r\n }\r\n\r\n getGlobal(id: string) {\r\n return this._http.get<TestRestrictionModel>(this.baseControllerUrl + `global/${id}`);\r\n }\r\n\r\n removeAll(courseId: string) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `remove-all/${courseId}`, {});\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeSubjectConfiguration, SubjectMenu } from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\r\n * \r\n * Базовый урл = api/tutor/subject/menu\r\n * \r\n * Методы для работы с меню предмета\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectMenuService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/menu/';\r\n }\r\n\r\n public getByAliasOrId(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public update(model: ChangeSubjectConfiguration): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `Update`, model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n SubjectCountsModel,\r\n SubjectModel,\r\n SubjectWithIconModel\r\n} from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\r\n * \r\n * Базовый урл = api/tutor/subject/query\r\n * \r\n * Методы для получения предметов\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/query/';\r\n }\r\n\r\n public getAll(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll`);\r\n }\r\n\r\n public getAllCached(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll/Cached`);\r\n }\r\n\r\n public getAllWithIconsCached(iconSetId: string): Observable<SubjectWithIconModel[]> {\r\n return this._httpClient.get<SubjectWithIconModel[]>(this.baseControllerUrl + `GetAll/with-icons/Cached?iconSetId=${iconSetId}`);\r\n }\r\n\r\n public getByAliasOrId(id: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId?aliasOrId=${id}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CreateSubject,\r\n OrderSubjectsRequest,\r\n UpdateSubjectRequest,\r\n} from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\r\n * \r\n * Базовый урл = api/tutor/subject\r\n * \r\n * Методы для работы с предметами\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\r\n }\r\n\r\n public create(model: CreateSubject): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\r\n }\r\n\r\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GetListResult } from \"../models\";\r\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n *\r\n * Предоставляет методы для управления ограничениями теста для блока курса\r\n *\r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionStudentService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\r\n }\r\n\r\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\r\n }\r\n\r\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\r\n }\r\n\r\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `query/get-validated-item-restriction-with-deadline-warning`, model);\r\n }\r\n\r\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\r\n return this.http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'query/search', model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { SubjectForStudentDetailedViewModel, SubjectModel } from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController\r\n *\r\n * Базовый урл = api/tutor/student-subject-view\r\n *\r\n * Методы для построения меню предмета\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentSubjectViewService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-subject-view/';\r\n }\r\n\r\n public getV1(idOrAlias: string, iconSetId: string): Observable<SubjectForStudentDetailedViewModel> {\r\n return this._httpClient.get<SubjectForStudentDetailedViewModel>(this.baseControllerUrl + `get/v1?idOrAlias=${idOrAlias}&iconSetId=${iconSetId}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\r\n * Оптимизированные методы для работы студентов с курсами\r\n * Базовый урл = api/tutor/student-course-view\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentCourseViewService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\r\n }\r\n\r\n /**\r\n * \r\n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \r\n * @param themeItemId \r\n * @returns \r\n */\r\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\r\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { StudentTestSolutionDetailedModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы для поиска решений тестов \r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionDetailedQueryService {\r\n\r\n private _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\r\n }\r\n\r\n /**\r\n * \r\n * @param id Идентификатор решения теста\r\n * @returns \r\n */\r\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\r\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\r\n }\r\n}","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, SearchCourseLandingPageRequest } from '../models';\r\nimport { GetListResult } from 'croco-generic-app-logic';\r\n\r\n/**\r\n * Предоставляет методы для работы с лендинг страницами для курса\r\n * Контроллер = Tutor.Api.Controllers.Landings.CourseLandingPageController\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseLandingPageQueryService {\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this._baseUrl = baseUrl + 'api/tutor/course-landing-page/query';\r\n }\r\n\r\n /**\r\n * Поиск лендинг страниц\r\n * @param model \r\n * @returns \r\n */\r\n search(model: SearchCourseLandingPageRequest) {\r\n return this._httpClient.post<GetListResult<CourseLandingPageSimpleModel>>(`${this._baseUrl}/search`, model);\r\n }\r\n\r\n /**\r\n * Получить лендинг страницу по идентификатору\r\n * @param id \r\n * @returns \r\n */\r\n getById(id: string) {\r\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id?id=${id}`);\r\n }\r\n\r\n getByIdCached(id: string) {\r\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id/cached?id=${id}`);\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 { CourseOrderModel, CreateCourseOrderRequest, CreateCourseOrderResponse } from \"../models/course-shop-models\";\r\n\r\n/**\r\n * Предоставляем методы контроллера Tutor.Api.Controllers.Courses.CourseOrderController\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseOrderService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-order';\r\n }\r\n\r\n /**\r\n * Получить заказ на покупку курса по идентификатору\r\n * @param id идентификатор заказа\r\n * @returns \r\n */\r\n getById(id: string) {\r\n return this._httpClient.get<CourseOrderModel>(`${this.baseControllerUrl}/query/get-by-id/${id}`);\r\n }\r\n\r\n /**\r\n * созать заказ на покупку курса\r\n * @param model запрос для создания заказа на покупку курса\r\n * @returns \r\n */\r\n create(model: CreateCourseOrderRequest) {\r\n return this._httpClient.post<CreateCourseOrderResponse>(`${this.baseControllerUrl}/create`, 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 { CourseShopWindowDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseShopWindowDetailedService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-shop-window-detailed/';\r\n }\r\n\r\n getDefault() {\r\n return this._httpClient.get<CourseShopWindowDetailedModel>(this.baseControllerUrl + 'default');\r\n }\r\n\r\n getById(id: string) {\r\n return this._httpClient.get<CourseShopWindowDetailedModel>(this.baseControllerUrl + `byId/${id}`);\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 { StudentGroupPaymentPlansModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы контроллера Tutor.Api.Controllers.StudentGroupPaymentPlans.StudentGroupPaymentPlanQueryController\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupPaymentPlanQueryService {\r\n getBaseUrl() {\r\n return `${this._baseUrl}api/tutor/student-group-payment-plan/query`;\r\n }\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string\r\n ) { }\r\n\r\n /**\r\n * Получить группу и глобальные планы оплаты с ней связанные\r\n * @param id идентификатор группы\r\n * @returns групп с планами оплаты\r\n */\r\n public getPaymentPlans(id: string): Observable<StudentGroupPaymentPlansModel> {\r\n return this._httpClient.get<StudentGroupPaymentPlansModel>(`${this.getBaseUrl()}/payment-plans/${id}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable, Inject } from \"@angular/core\";\r\nimport { TutorFullApplicationPublicOptions } from \"../models\";\r\nimport { of, tap } from \"rxjs\";\r\n\r\n/**\r\n * Сервис для предоставления публичной конфигурации по приложению\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorAppConfigurationService {\r\n\r\n static readonly VariableKey = \"__Tutor.FullConfiguration\";\r\n\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = `${baseUrl}api/tutor/settings/application`;\r\n }\r\n\r\n /**\r\n * Получить конифгурацию из window\r\n * @returns\r\n */\r\n get(): TutorFullApplicationPublicOptions {\r\n\r\n const value = window[TutorAppConfigurationService.VariableKey];\r\n\r\n if (value === undefined || value === null) {\r\n throw new Error(`в window не установлена переменная ${TutorAppConfigurationService.VariableKey}`);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n set(value: TutorFullApplicationPublicOptions) {\r\n window[TutorAppConfigurationService.VariableKey] = value;\r\n }\r\n\r\n getFromServerIfValueNotSet() {\r\n\r\n const value = window[TutorAppConfigurationService.VariableKey];\r\n\r\n if (value === undefined || value === null) {\r\n return this._http.get<TutorFullApplicationPublicOptions>(this.baseControllerUrl).pipe(tap(value => {\r\n this.set(value);\r\n return value;\r\n }));\r\n }\r\n\r\n\r\n return of<TutorFullApplicationPublicOptions>(value);\r\n }\r\n}\r\n","import { CourseThemeItemModel } from \"./course-models\";\r\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\r\n\r\nexport interface SearchStudentTestSolutions {\r\n isFinished: boolean | null;\r\n studentId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface TestSolutionCourseData {\r\n solutionId: string;\r\n courseThemeItemId: string;\r\n courseThemeItemIndex: number;\r\n courseThemeId: string;\r\n courseThemeName: string;\r\n courseName: string;\r\n courseId: string;\r\n nextItem: CourseThemeItemModel;\r\n}\r\n\r\nexport enum TestQuestionType {\r\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\r\n TypeRightAnswer = 'TypeRightAnswer',\r\n DetailedAnswer = 'DetailedAnswer',\r\n TypeAnswerWithErrors = 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string;\r\n answer: QuestionAnswer;\r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel;\r\n systemValidation: TestSolutionSystemValidationModel;\r\n unreadMessagesCount: number;\r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number;\r\n studentProgressPercents: number;\r\n maxTotalPoints: number;\r\n questionsCount: number;\r\n validatedQuestionsCount: number;\r\n hasRightAnswerQuestionsCount: number;\r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string;\r\n directoryId: string;\r\n useFilter: boolean;\r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter;\r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>;\r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string;\r\n studentGroupId: string;\r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n isFinished: boolean | null;\r\n testId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface StudentTestSolutionSimpleModel {\r\n id: string;\r\n testName: string;\r\n testId: string;\r\n isFinished: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\r\n CorrectAnswer = 'CorrectAnswer',\r\n InProccess = 'InProccess'\r\n}\r\n\r\nexport interface SolutionWithAnswersModel {\r\n solutionId: string;\r\n answers: Array<QuestionAnswer>;\r\n}\r\n\r\nexport interface StudentTestSolutionModel {\r\n studentId: string;\r\n solutionId: string;\r\n studentGroupId: string;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n isFinished: boolean;\r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel;\r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\r\n /**\r\n * Есть ли вопросы, которые находятся в процессе расчёта результата\r\n */\r\n hasAnswersInProccess: boolean;\r\n answers: Array<QuestionAnswerWithResult>;\r\n}\r\n\r\nexport interface TestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<TestQuestionModel>;\r\n}\r\n\r\nexport interface TestQuestionModel {\r\n id: string;\r\n title: string;\r\n titleBodyMarkUp: string;\r\n helpBodyMarkUp: string;\r\n answerExplanationMarkUp: string;\r\n titleBodyMarkUpMobile: string;\r\n helpBodyMarkUpMobile: string;\r\n answerExplanationMarkUpMobile: string;\r\n type: TestQuestionType;\r\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\r\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\r\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\r\n}\r\n\r\nexport interface TypeAnswerWithErrorsQuestionData {\r\n rightAnswer: string;\r\n ignoreTextOrder: boolean;\r\n}\r\n\r\n\r\nexport interface TestWithActiveSolutionModel {\r\n testId: string;\r\n activeSolutionId: string;\r\n test: TestModel;\r\n}\r\n\r\nexport interface QuestionAnswer {\r\n questionId: string;\r\n answerOrAnswers: string;\r\n}\r\n\r\nexport interface QuestionAnswerWithResult {\r\n isChecked: boolean;\r\n questionId: string;\r\n answerOrAnswers: string;\r\n pointsValidation: QuestionPointsValidationModel;\r\n resultType: AnswerValidationResultType;\r\n}\r\n\r\nexport interface QuestionPointsValidationModel {\r\n errorOccured: boolean;\r\n inProccess: boolean;\r\n answerPoints: number;\r\n questionTotalPoints: number;\r\n description: string;\r\n isValidated: boolean;\r\n sourceType: QuestionValidationSourceType;\r\n validatorId: string;\r\n}\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string;\r\n rightAnswersCount: number;\r\n answers: Array<Answer>;\r\n}\r\n\r\nexport interface Answer {\r\n text: string;\r\n isRightAnswer: boolean;\r\n}\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive: boolean;\r\n rightAnswers: Array<string>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedModel {\r\n solutionId: string;\r\n hasAnswersInProccess: boolean;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n studentGroupId: string;\r\n studentId: string;\r\n startedOnUtc: Date;\r\n finishedOnUtc: Date | null;\r\n isFinished: boolean;\r\n test: StudentTestSolutionDetailedTestModel;\r\n cdnOptions: S3CdnPublicOptions;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestQuestion {\r\n question: TestQuestionModel;\r\n answerWithValidation: QuestionAnswerWithResult;\r\n isQuestionLikedByStudent: boolean;\r\n}\r\n\r\nexport interface S3CdnPublicOptions {\r\n useCdn: boolean;\r\n imageUrlFormat: string;\r\n}","import { QuestionAnswerWithResult } from \"./test-solution-models\";\r\n\r\nexport interface TestSolutionWithPointsValidation {\r\n solutionId: string; \r\n hasPointsResult: boolean; \r\n questions: Array<QuestionAnswerWithResult>; \r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n inProccessQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport enum QuestionValidationSourceType {\r\n\tSystem = 'System',\r\n\tStudent = 'Student',\r\n\tCurator = 'Curator'\r\n}\r\n\r\nexport interface TestQuestionWithModifiers {\r\n questionId: string; \r\n modifiers: Array<TestQuestionModiferModel>; \r\n}\r\n\r\nexport interface TestQuestionModiferModel {\r\n name: string; \r\n data: string; \r\n}\r\n\r\nexport interface SaveQuestionPointsValidation {\r\n idModel: QuestionInSolutionIdModel; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n}\r\n\r\nexport interface QuestionInSolutionIdModel {\r\n solutionId: string; \r\n questionId: string; \r\n}","export interface CourseDetailedModel {\r\n id: string; \r\n name: string; \r\n templateId: string; \r\n weight: number; \r\n versionId: string; \r\n themes: Array<CourseThemeDetailedModel>; \r\n}\r\n\r\nexport interface CourseSimpleModel {\r\n id: string; \r\n name: string; \r\n weight: number; \r\n versionId: string; \r\n}\r\n\r\nexport interface CourseThemeDetailedModel {\r\n id: string; \r\n name: string; \r\n description: string; \r\n weight: number; \r\n courseVersionId: string; \r\n items: Array<CourseThemeItemModel>; \r\n}\r\n\r\n\r\nexport interface CourseThemeItemModel {\r\n id: string; \r\n name: string; \r\n html: string; \r\n type: CourseThemeItemType; \r\n weight: number; \r\n templateItemId: string; \r\n test: CourseThemeItemTestModel; \r\n}\r\n\r\n\r\nexport enum CourseThemeItemType {\r\n JustHtml = 'JustHtml',\r\n Test = 'Test'\r\n}\r\n\r\nexport interface CourseThemeItemTestModel {\r\n testId: string; \r\n testName: string; \r\n totalPointsToPass: number; \r\n totalPercentageToPass: number; \r\n}","import { StudentSimpleModel } from \"./student-models\";\r\n\r\nexport interface CourseItemGlobalTestRestrictionModel {\r\n courseThemeItemId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionModel {\r\n maxTriesCount: number | null;\r\n maxStartDate: string | null;\r\n}\r\n\r\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\r\n q: string;\r\n courseThemeItemId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface ThemeItemTestStudentRestrictionModel {\r\n restriction: TestRestrictionModel;\r\n student: StudentSimpleModel;\r\n}\r\n\r\nexport interface CourseItemStudentTestRestrictionModel {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionValidationResult {\r\n testRestriction: TestRestrictionModel;\r\n canStartTest: boolean;\r\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\r\n validationMessage: string;\r\n solutionsCount: number;\r\n attemptsLeft: number;\r\n}\r\n\r\nexport enum TestRestrictionValidationResultRuleType {\r\n DateExpired = 'DateExpired',\r\n AttemptsExceeded = 'AttemptsExceeded'\r\n}\r\n\r\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\r\n deadLineWarning: DeadLineWithWarningMessage;\r\n restrictionValidationResult: TestRestrictionValidationResult;\r\n}\r\n\r\nexport interface CourseThemeItemStudentDeadlineWarningModel {\r\n themeItemId: string;\r\n courseThemeId: string;\r\n deadLine: string;\r\n warningMessage: string;\r\n}\r\n\r\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\r\n courseId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface CourseThemeIdWithDeadlineWarnings {\r\n courseThemeId: string;\r\n deadlines: Array<DeadLineWithWarningMessage>;\r\n}\r\n\r\nexport interface DeadLineWithWarningMessage {\r\n deadLine: string;\r\n warningMessage: string;\r\n}\r\n","import { IconSimpleModel } from \"./icon-models\";\r\n\r\nexport interface SubjectMenu {\r\n root: SubjectMenuItem;\r\n}\r\n\r\nexport interface SubjectMenuItem {\r\n text: string;\r\n path: string;\r\n type: SubjectMenuItemType;\r\n workSpaceId: string;\r\n children: Array<SubjectMenuItem>;\r\n}\r\n\r\nexport enum SubjectMenuItemType {\r\n MenuItem = 'MenuItem',\r\n WorkSpaceLink = 'WorkSpaceLink',\r\n SubjectTestsLink = 'SubjectTestsLink',\r\n}\r\n\r\nexport interface SubjectModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface CreateSubject {\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface UpdateSubjectRequest {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface SubjectCountsModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n questionsCount: number;\r\n testsCount: number;\r\n}\r\n\r\nexport interface ChangeSubjectConfiguration {\r\n id: string;\r\n configuration: SubjectMenu;\r\n}\r\n\r\nexport interface OrderSubjectsRequest {\r\n ids: Array<string>;\r\n}\r\n\r\nexport interface SubjectWithIconModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n icon: IconSimpleModel;\r\n}\r\n\r\nexport interface SubjectForStudentDetailedViewModel {\r\n icon: IconSimpleModel;\r\n subject: SubjectModel;\r\n menu: SubjectMenu;\r\n globalTests: Array<SubjectTestSimpleModel>;\r\n}\r\n\r\nexport interface SubjectTestSimpleModel {\r\n id: string;\r\n name: string;\r\n}\r\n","/**\r\n * Роли для модуля Tutor\r\n */\r\nexport class TutorRoles {\r\n\r\n /**\r\n * Куратор - проверяет домашние задания студентов (учеников).\r\n */\r\n static readonly curator: string = 'Tutor.Curator';\r\n\r\n /**\r\n * Администратор - управляет и настраивает платформу\r\n */\r\n static readonly admin: string = 'Tutor.Admin';\r\n\r\n /**\r\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\r\n */\r\n static readonly student: string = 'Tutor.Student';\r\n\r\n /**\r\n * Пользователь, который может вносить вопросы\r\n */\r\n static readonly testAuthor: string = 'Tutor.TestAuthor';\r\n}","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/extensions';\nexport * from './lib/consts'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.OpenApiUrlProvider"],"mappings":"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"}
1
+ {"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/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentSubjectViewService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseOrderService.ts","../../../projects/tutor-logic/src/lib/services/CourseShopWindowDetailedService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupPaymentPlanQueryService.ts","../../../projects/tutor-logic/src/lib/services/TutorAppConfigurationService.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/subject.models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { TestSearchModel, CreateTest, EditTest } from \"../models/test-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestsService {\r\n baseControllerUrl:string;\r\n \r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string){\r\n const adding = 'api/tutor/tests/';\r\n this.baseControllerUrl = baseUrl + adding;\r\n }\r\n\r\n public searchGroupRelationsInTest(model: TestSearchModel): Observable<GetListResult<StudentGroupSimpleModel>>{\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(this.baseControllerUrl + 'groups/search/in', model);\r\n }\r\n\r\n public create(model: CreateTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public edit(model: EditTest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Edit', model);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { SettingModel } from \"../models/setting-models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorCommonSettingsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/settings/';\r\n }\r\n\r\n get(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name);\r\n }\r\n\r\n getCached(name: string) {\r\n return this._httpClient.get<SettingModel>(this.baseControllerUrl + 'get/' + name + '/cached');\r\n }\r\n\r\n set(model: SettingModel) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'set', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\r\nimport { SearchStudentGroups, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\r\n\r\n/**\r\n* Методы контроллера StudentGroupQueryController\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupQueryService {\r\n\r\n getBaseUrl() {\r\n return this._baseUrl + 'api/tutor/student-group';\r\n }\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string) {\r\n }\r\n\r\n /**\r\n * Поиск групп студентов\r\n */\r\n public search(model: SearchStudentGroups): Observable<GetListResult<StudentGroupSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.getBaseUrl()}/query/search`, model);\r\n }\r\n\r\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\r\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(`${this.getBaseUrl()}/query/search/with-progresses`, model);\r\n }\r\n\r\n /**\r\n * Получить группу по идентификатору\r\n * @param id идентификатор группы учеников\r\n * @returns группу учеников\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 /**\r\n * Получить список студентов в группе по фильтру\r\n * @param model модель для поиска\r\n * @returns список студентов\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 * Получить студента в группе\r\n * @param groupId идентификатор группы\r\n * @param studentId идентификатор студента\r\n * @returns \r\n */\r\n public getStudentById(groupId: string, studentId: string): Observable<StudentInGroupSimpleModel> {\r\n return this._httpClient.get<StudentInGroupSimpleModel>(`${this.getBaseUrl()}/students/get-by-id/${groupId}/${studentId}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetListResult, SearchStudents, StudentSimpleModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\r\n }\r\n\r\n public getById(id: string): Observable<StudentSimpleModel> {\r\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\r\n }\r\n\r\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\r\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\r\n }\r\n\r\n public search(searchModel: SearchStudents): Observable<GetListResult<StudentSimpleModel>> {\r\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupEnterService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\r\n }\r\n\r\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\r\n }\r\n\r\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\r\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionQueryService {\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;\r\n }\r\n\r\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this._baseUrl}/Search/By/Student`, model);\r\n }\r\n\r\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\r\n return this._httpClient.get<TestSolutionCourseData>(`${this._baseUrl}/Get/By/Id/${id}/course-data`);\r\n }\r\n\r\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\r\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/Get/By/Id/${id}`);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\r\nBasePath = api/tutor/test-solution-result\r\n*/\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionResultService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution-result/';\r\n }\r\n\r\n public getQuestionsWithModifiersBySolution(solutionId: string) {\r\n return this._httpClient.get<TestQuestionWithModifiers[]>(this.baseControllerUrl + `modifiers/${solutionId}`);\r\n }\r\n\r\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\r\n return this._httpClient.get<TestSolutionWithPointsValidation>(this.baseControllerUrl + `points/${solutionId}`);\r\n }\r\n\r\n public create(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `create/${solutionId}`, {});\r\n }\r\n\r\n public recalculate(solutionId: string) {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `recalculate/${solutionId}`, {});\r\n }\r\n\r\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/save`, model);\r\n }\r\n\r\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `question/validation/remove`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GenericBaseApiResponse, StartSolutionFromDirectory, StartTestSolutionByTestId, StudentTestSolutionModel } from \"../models\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionStartService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/Start/';\r\n }\r\n\r\n startByTestId(model: StartTestSolutionByTestId): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/TestId`, model);\r\n }\r\n\r\n startByDirectory(model: StartSolutionFromDirectory): Observable<GenericBaseApiResponse<StudentTestSolutionModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionModel>>(this.baseControllerUrl + `By/Directory`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiQuestionLikeService {\r\n \r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;\r\n }\r\n\r\n public search(model: SearchQuestionsByLikes) {\r\n return this._httpClient.post<GetListResult<TestQuestionModel>>(`${this._baseUrl}/search`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { StudentTestSolutionModel } from \"../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OpenApiTestSolutionService {\r\n \r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;\r\n }\r\n\r\n public getById(id: string) {\r\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/${id}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\r\n }\r\n\r\n checkAnswer(model: SolutionWithAnswerModel) {\r\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\r\n }\r\n\r\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\r\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\r\n\r\n/**\r\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\r\nBasePath = api/tutor/test-solution/query/mine\r\n*/\r\n@Injectable({ providedIn: 'root' })\r\nexport class StudentTestSolutionQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\r\n }\r\n\r\n search(model: SearchMyTestSolutions) {\r\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\r\n }\r\n\r\n getResultById(id: string){\r\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\r\n\r\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\r\n }\r\n\r\n getByTestId(testId: string){\r\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\r\n\r\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupTestRelationQueryService {\r\n\r\n getBaseUrl() {\r\n return `${this._baseUrl}api/tutor/student-group/tests`;\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n getById(studentGroupId: string, testId: string) {\r\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiResponse, GetListResult } from '../models';\r\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CuratorMessageTemplateService {\r\n getBaseControllerUrl() {\r\n return this._baseUrl + 'api/tutor/curator/message-template/';\r\n }\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this._baseUrl = baseUrl;\r\n }\r\n\r\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\r\n }\r\n\r\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\r\n }\r\n\r\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\r\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\r\n this.getBaseControllerUrl() + 'search',\r\n model,\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n * \r\n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseDeadlineWarningService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\r\n }\r\n\r\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\r\n }\r\n\r\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\r\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse } from \"../models\";\r\nimport { CourseItemGlobalTestRestrictionModel, TestRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\r\n * \r\n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\r\n * \r\n * базовый путь = api/tutor/course-theme-item/test-restriction\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/';\r\n }\r\n\r\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + 'global', model);\r\n }\r\n\r\n getGlobal(id: string) {\r\n return this._http.get<TestRestrictionModel>(this.baseControllerUrl + `global/${id}`);\r\n }\r\n\r\n removeAll(courseId: string) {\r\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `remove-all/${courseId}`, {});\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeSubjectConfiguration, SubjectMenu } from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\r\n * \r\n * Базовый урл = api/tutor/subject/menu\r\n * \r\n * Методы для работы с меню предмета\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectMenuService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/menu/';\r\n }\r\n\r\n public getByAliasOrId(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectMenu> {\r\n return this._httpClient.get<SubjectMenu>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n\r\n public update(model: ChangeSubjectConfiguration): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `Update`, model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n SubjectCountsModel,\r\n SubjectModel,\r\n SubjectWithIconModel\r\n} from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\r\n * \r\n * Базовый урл = api/tutor/subject/query\r\n * \r\n * Методы для получения предметов\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectQueryService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/query/';\r\n }\r\n\r\n public getAll(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll`);\r\n }\r\n\r\n public getAllCached(): Observable<SubjectModel[]> {\r\n return this._httpClient.get<SubjectModel[]>(this.baseControllerUrl + `GetAll/Cached`);\r\n }\r\n\r\n public getAllWithIconsCached(iconSetId: string): Observable<SubjectWithIconModel[]> {\r\n return this._httpClient.get<SubjectWithIconModel[]>(this.baseControllerUrl + `GetAll/with-icons/Cached?iconSetId=${iconSetId}`);\r\n }\r\n\r\n public getByAliasOrId(id: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId?aliasOrId=${id}`);\r\n }\r\n\r\n public getByAliasOrIdCached(idOrAlias: string): Observable<SubjectCountsModel> {\r\n return this._httpClient.get<SubjectCountsModel>(this.baseControllerUrl + `GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n CreateSubject,\r\n OrderSubjectsRequest,\r\n UpdateSubjectRequest,\r\n} from '../models/subject.models';\r\nimport { BaseApiResponse } from '../models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\r\n * \r\n * Базовый урл = api/tutor/subject\r\n * \r\n * Методы для работы с предметами\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubjectsService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string,\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\r\n }\r\n\r\n public create(model: CreateSubject): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\r\n }\r\n\r\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\r\n }\r\n\r\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\r\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseApiResponse, GetListResult } from \"../models\";\r\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\r\n *\r\n * Предоставляет методы для управления ограничениями теста для блока курса\r\n *\r\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseThemeItemTestRestrictionStudentService {\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\r\n }\r\n\r\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\r\n return this.http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\r\n }\r\n\r\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\r\n }\r\n\r\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\r\n return this.http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `query/get-validated-item-restriction-with-deadline-warning`, model);\r\n }\r\n\r\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\r\n return this.http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'query/search', model);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { SubjectForStudentDetailedViewModel, SubjectModel } from '../models/subject.models';\r\n\r\n/**\r\n * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController\r\n *\r\n * Базовый урл = api/tutor/student-subject-view\r\n *\r\n * Методы для построения меню предмета\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentSubjectViewService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-subject-view/';\r\n }\r\n\r\n public getV1(idOrAlias: string, iconSetId: string): Observable<SubjectForStudentDetailedViewModel> {\r\n return this._httpClient.get<SubjectForStudentDetailedViewModel>(this.baseControllerUrl + `get/v1?idOrAlias=${idOrAlias}&iconSetId=${iconSetId}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\r\n * Оптимизированные методы для работы студентов с курсами\r\n * Базовый урл = api/tutor/student-course-view\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentCourseViewService {\r\n baseControllerUrl: string;\r\n\r\n constructor(private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\r\n }\r\n\r\n /**\r\n * \r\n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \r\n * @param themeItemId \r\n * @returns \r\n */\r\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\r\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { StudentTestSolutionDetailedModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы для поиска решений тестов \r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TestSolutionDetailedQueryService {\r\n\r\n private _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\r\n }\r\n\r\n /**\r\n * \r\n * @param id Идентификатор решения теста\r\n * @returns \r\n */\r\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\r\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\r\n }\r\n}","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, SearchCourseLandingPageRequest } from '../models';\r\nimport { GetListResult } from 'croco-generic-app-logic';\r\n\r\n/**\r\n * Предоставляет методы для работы с лендинг страницами для курса\r\n * Контроллер = Tutor.Api.Controllers.Landings.CourseLandingPageController\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseLandingPageQueryService {\r\n\r\n private readonly _baseUrl: string = \"\";\r\n\r\n constructor(\r\n private readonly _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this._baseUrl = baseUrl + 'api/tutor/course-landing-page/query';\r\n }\r\n\r\n /**\r\n * Поиск лендинг страниц\r\n * @param model \r\n * @returns \r\n */\r\n search(model: SearchCourseLandingPageRequest) {\r\n return this._httpClient.post<GetListResult<CourseLandingPageSimpleModel>>(`${this._baseUrl}/search`, model);\r\n }\r\n\r\n /**\r\n * Получить лендинг страницу по идентификатору\r\n * @param id \r\n * @returns \r\n */\r\n getById(id: string) {\r\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id?id=${id}`);\r\n }\r\n\r\n getByIdCached(id: string) {\r\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id/cached?id=${id}`);\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 { CourseOrderModel, CreateCourseOrderRequest, CreateCourseOrderResponse } from \"../models/course-shop-models\";\r\n\r\n/**\r\n * Предоставляем методы контроллера Tutor.Api.Controllers.Courses.CourseOrderController\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseOrderService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-order';\r\n }\r\n\r\n /**\r\n * Получить заказ на покупку курса по идентификатору\r\n * @param id идентификатор заказа\r\n * @returns \r\n */\r\n getById(id: string) {\r\n return this._httpClient.get<CourseOrderModel>(`${this.baseControllerUrl}/query/get-by-id/${id}`);\r\n }\r\n\r\n /**\r\n * созать заказ на покупку курса\r\n * @param model запрос для создания заказа на покупку курса\r\n * @returns \r\n */\r\n create(model: CreateCourseOrderRequest) {\r\n return this._httpClient.post<CreateCourseOrderResponse>(`${this.baseControllerUrl}/create`, 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 { CourseShopWindowDetailedModel } from \"../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CourseShopWindowDetailedService {\r\n baseControllerUrl: string;\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = baseUrl + 'api/tutor/course-shop-window-detailed/';\r\n }\r\n\r\n getDefault() {\r\n return this._httpClient.get<CourseShopWindowDetailedModel>(this.baseControllerUrl + 'default');\r\n }\r\n\r\n getById(id: string) {\r\n return this._httpClient.get<CourseShopWindowDetailedModel>(this.baseControllerUrl + `byId/${id}`);\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 { StudentGroupPaymentPlansModel } from \"../models\";\r\n\r\n/**\r\n * Предоставляет методы контроллера Tutor.Api.Controllers.StudentGroupPaymentPlans.StudentGroupPaymentPlanQueryController\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentGroupPaymentPlanQueryService {\r\n getBaseUrl() {\r\n return `${this._baseUrl}api/tutor/student-group-payment-plan/query`;\r\n }\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n @Inject('BASE_URL') private _baseUrl: string\r\n ) { }\r\n\r\n /**\r\n * Получить группу и глобальные планы оплаты с ней связанные\r\n * @param id идентификатор группы\r\n * @returns групп с планами оплаты\r\n */\r\n public getPaymentPlans(id: string): Observable<StudentGroupPaymentPlansModel> {\r\n return this._httpClient.get<StudentGroupPaymentPlansModel>(`${this.getBaseUrl()}/payment-plans/${id}`);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable, Inject } from \"@angular/core\";\r\nimport { TutorFullApplicationPublicOptions } from \"../models\";\r\nimport { of, tap } from \"rxjs\";\r\n\r\n/**\r\n * Сервис для предоставления публичной конфигурации по приложению\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TutorAppConfigurationService {\r\n\r\n static readonly VariableKey = \"__Tutor.FullConfiguration\";\r\n\r\n private baseControllerUrl: string;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string\r\n ) {\r\n this.baseControllerUrl = `${baseUrl}api/tutor/settings/application`;\r\n }\r\n\r\n /**\r\n * Получить конифгурацию из window\r\n * @returns\r\n */\r\n get(): TutorFullApplicationPublicOptions {\r\n\r\n const value = window[TutorAppConfigurationService.VariableKey];\r\n\r\n if (value === undefined || value === null) {\r\n throw new Error(`в window не установлена переменная ${TutorAppConfigurationService.VariableKey}`);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n set(value: TutorFullApplicationPublicOptions) {\r\n window[TutorAppConfigurationService.VariableKey] = value;\r\n }\r\n\r\n getFromServerIfValueNotSet() {\r\n\r\n const value = window[TutorAppConfigurationService.VariableKey];\r\n\r\n if (value === undefined || value === null) {\r\n return this._http.get<TutorFullApplicationPublicOptions>(this.baseControllerUrl).pipe(tap(value => {\r\n this.set(value);\r\n return value;\r\n }));\r\n }\r\n\r\n\r\n return of<TutorFullApplicationPublicOptions>(value);\r\n }\r\n}\r\n","import { CourseThemeItemModel } from \"./course-models\";\r\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\r\n\r\nexport interface SearchStudentTestSolutions {\r\n isFinished: boolean | null;\r\n studentId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface TestSolutionCourseData {\r\n solutionId: string;\r\n courseThemeItemId: string;\r\n courseThemeItemIndex: number;\r\n courseThemeId: string;\r\n courseThemeName: string;\r\n courseName: string;\r\n courseId: string;\r\n nextItem: CourseThemeItemModel;\r\n}\r\n\r\nexport enum TestQuestionType {\r\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\r\n TypeRightAnswer = 'TypeRightAnswer',\r\n DetailedAnswer = 'DetailedAnswer',\r\n TypeAnswerWithErrors = 'TypeAnswerWithErrors'\r\n}\r\n\r\nexport interface SolutionWithAnswerModel {\r\n solutionId: string;\r\n answer: QuestionAnswer;\r\n}\r\n\r\nexport interface StudentTestSolutionWithChatInfo {\r\n solution: StudentTestSolutionSimpleModel;\r\n systemValidation: TestSolutionSystemValidationModel;\r\n unreadMessagesCount: number;\r\n}\r\n\r\nexport interface TestSolutionSystemValidationModel {\r\n studentTotalPoints: number;\r\n studentProgressPercents: number;\r\n maxTotalPoints: number;\r\n questionsCount: number;\r\n validatedQuestionsCount: number;\r\n hasRightAnswerQuestionsCount: number;\r\n}\r\n\r\nexport interface StartSolutionFromDirectory {\r\n workSpaceId: string;\r\n directoryId: string;\r\n useFilter: boolean;\r\n canCheckSingleQuestion: boolean;\r\n filter: QuestionsFilter;\r\n}\r\n\r\nexport interface QuestionsFilter {\r\n types: Array<TestQuestionType>;\r\n}\r\n\r\nexport interface StartTestSolutionByTestId {\r\n testId: string;\r\n studentGroupId: string;\r\n canCheckSingleQuestion: boolean;\r\n}\r\n\r\nexport interface SearchMyTestSolutions {\r\n isFinished: boolean | null;\r\n testId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface StudentTestSolutionSimpleModel {\r\n id: string;\r\n testName: string;\r\n testId: string;\r\n isFinished: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n}\r\n\r\nexport enum AnswerValidationResultType {\r\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\r\n NotCorrectAnswer = 'NotCorrectAnswer',\r\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\r\n CorrectAnswer = 'CorrectAnswer',\r\n InProccess = 'InProccess'\r\n}\r\n\r\nexport interface SolutionWithAnswersModel {\r\n solutionId: string;\r\n answers: Array<QuestionAnswer>;\r\n}\r\n\r\nexport interface StudentTestSolutionModel {\r\n studentId: string;\r\n solutionId: string;\r\n studentGroupId: string;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n startedOnUtc: string; /* Date */\r\n finishedOnUtc: string | null; /* Date */\r\n isFinished: boolean;\r\n solution: StudentTestSolutionDataModel;\r\n test: TestModel;\r\n}\r\n\r\n\r\nexport interface StudentTestSolutionDataModel {\r\n /**\r\n * Есть ли вопросы, которые находятся в процессе расчёта результата\r\n */\r\n hasAnswersInProccess: boolean;\r\n answers: Array<QuestionAnswerWithResult>;\r\n}\r\n\r\nexport interface TestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<TestQuestionModel>;\r\n}\r\n\r\nexport interface TestQuestionModel {\r\n id: string;\r\n title: string;\r\n titleBodyMarkUp: string;\r\n helpBodyMarkUp: string;\r\n answerExplanationMarkUp: string;\r\n titleBodyMarkUpMobile: string;\r\n helpBodyMarkUpMobile: string;\r\n answerExplanationMarkUpMobile: string;\r\n type: TestQuestionType;\r\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\r\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\r\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\r\n}\r\n\r\nexport interface TypeAnswerWithErrorsQuestionData {\r\n rightAnswer: string;\r\n ignoreTextOrder: boolean;\r\n}\r\n\r\n\r\nexport interface TestWithActiveSolutionModel {\r\n testId: string;\r\n activeSolutionId: string;\r\n test: TestModel;\r\n}\r\n\r\nexport interface QuestionAnswer {\r\n questionId: string;\r\n answerOrAnswers: string;\r\n}\r\n\r\nexport interface QuestionAnswerWithResult {\r\n isChecked: boolean;\r\n questionId: string;\r\n answerOrAnswers: string;\r\n pointsValidation: QuestionPointsValidationModel;\r\n resultType: AnswerValidationResultType;\r\n}\r\n\r\nexport interface QuestionPointsValidationModel {\r\n errorOccured: boolean;\r\n inProccess: boolean;\r\n answerPoints: number;\r\n questionTotalPoints: number;\r\n description: string;\r\n isValidated: boolean;\r\n sourceType: QuestionValidationSourceType;\r\n validatorId: string;\r\n}\r\n\r\nexport interface SelectRightAnswerOrAnswersQuestionData {\r\n selectRightAnswerTitle: string;\r\n rightAnswersCount: number;\r\n answers: Array<Answer>;\r\n}\r\n\r\nexport interface Answer {\r\n text: string;\r\n isRightAnswer: boolean;\r\n}\r\n\r\nexport interface TypeRightAnswerQuestionData {\r\n caseInSensitive: boolean;\r\n rightAnswers: Array<string>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedModel {\r\n solutionId: string;\r\n hasAnswersInProccess: boolean;\r\n hasCuratorValidation: boolean;\r\n canCheckSingleQuestion: boolean;\r\n studentGroupId: string;\r\n studentId: string;\r\n startedOnUtc: Date;\r\n finishedOnUtc: Date | null;\r\n isFinished: boolean;\r\n test: StudentTestSolutionDetailedTestModel;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestModel {\r\n name: string;\r\n description: string;\r\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\r\n}\r\n\r\nexport interface StudentTestSolutionDetailedTestQuestion {\r\n question: TestQuestionModel;\r\n answerWithValidation: QuestionAnswerWithResult;\r\n isQuestionLikedByStudent: boolean;\r\n}\r\n","import { QuestionAnswerWithResult } from \"./test-solution-models\";\r\n\r\nexport interface TestSolutionWithPointsValidation {\r\n solutionId: string; \r\n hasPointsResult: boolean; \r\n questions: Array<QuestionAnswerWithResult>; \r\n studentTotalPoints: number; \r\n maxTotalPoints: number; \r\n questionsCount: number; \r\n validatedQuestionsCount: number; \r\n inProccessQuestionsCount: number; \r\n hasRightAnswerQuestionsCount: number; \r\n}\r\n\r\nexport enum QuestionValidationSourceType {\r\n\tSystem = 'System',\r\n\tStudent = 'Student',\r\n\tCurator = 'Curator'\r\n}\r\n\r\nexport interface TestQuestionWithModifiers {\r\n questionId: string; \r\n modifiers: Array<TestQuestionModiferModel>; \r\n}\r\n\r\nexport interface TestQuestionModiferModel {\r\n name: string; \r\n data: string; \r\n}\r\n\r\nexport interface SaveQuestionPointsValidation {\r\n idModel: QuestionInSolutionIdModel; \r\n answerPoints: number; \r\n questionTotalPoints: number; \r\n description: string; \r\n}\r\n\r\nexport interface QuestionInSolutionIdModel {\r\n solutionId: string; \r\n questionId: string; \r\n}","export interface CourseDetailedModel {\r\n id: string; \r\n name: string; \r\n templateId: string; \r\n weight: number; \r\n versionId: string; \r\n themes: Array<CourseThemeDetailedModel>; \r\n}\r\n\r\nexport interface CourseSimpleModel {\r\n id: string; \r\n name: string; \r\n weight: number; \r\n versionId: string; \r\n}\r\n\r\nexport interface CourseThemeDetailedModel {\r\n id: string; \r\n name: string; \r\n description: string; \r\n weight: number; \r\n courseVersionId: string; \r\n items: Array<CourseThemeItemModel>; \r\n}\r\n\r\n\r\nexport interface CourseThemeItemModel {\r\n id: string; \r\n name: string; \r\n html: string; \r\n type: CourseThemeItemType; \r\n weight: number; \r\n templateItemId: string; \r\n test: CourseThemeItemTestModel; \r\n}\r\n\r\n\r\nexport enum CourseThemeItemType {\r\n JustHtml = 'JustHtml',\r\n Test = 'Test'\r\n}\r\n\r\nexport interface CourseThemeItemTestModel {\r\n testId: string; \r\n testName: string; \r\n totalPointsToPass: number; \r\n totalPercentageToPass: number; \r\n}","import { StudentSimpleModel } from \"./student-models\";\r\n\r\nexport interface CourseItemGlobalTestRestrictionModel {\r\n courseThemeItemId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionModel {\r\n maxTriesCount: number | null;\r\n maxStartDate: string | null;\r\n}\r\n\r\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\r\n q: string;\r\n courseThemeItemId: string;\r\n count: number | null;\r\n offSet: number;\r\n}\r\n\r\nexport interface ThemeItemTestStudentRestrictionModel {\r\n restriction: TestRestrictionModel;\r\n student: StudentSimpleModel;\r\n}\r\n\r\nexport interface CourseItemStudentTestRestrictionModel {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n testRestriction: TestRestrictionModel;\r\n}\r\n\r\nexport interface TestRestrictionValidationResult {\r\n testRestriction: TestRestrictionModel;\r\n canStartTest: boolean;\r\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\r\n validationMessage: string;\r\n solutionsCount: number;\r\n attemptsLeft: number;\r\n}\r\n\r\nexport enum TestRestrictionValidationResultRuleType {\r\n DateExpired = 'DateExpired',\r\n AttemptsExceeded = 'AttemptsExceeded'\r\n}\r\n\r\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\r\n courseThemeItemId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\r\n deadLineWarning: DeadLineWithWarningMessage;\r\n restrictionValidationResult: TestRestrictionValidationResult;\r\n}\r\n\r\nexport interface CourseThemeItemStudentDeadlineWarningModel {\r\n themeItemId: string;\r\n courseThemeId: string;\r\n deadLine: string;\r\n warningMessage: string;\r\n}\r\n\r\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\r\n courseId: string;\r\n studentId: string;\r\n}\r\n\r\nexport interface CourseThemeIdWithDeadlineWarnings {\r\n courseThemeId: string;\r\n deadlines: Array<DeadLineWithWarningMessage>;\r\n}\r\n\r\nexport interface DeadLineWithWarningMessage {\r\n deadLine: string;\r\n warningMessage: string;\r\n}\r\n","import { IconSimpleModel } from \"./icon-models\";\r\n\r\nexport interface SubjectMenu {\r\n root: SubjectMenuItem;\r\n}\r\n\r\nexport interface SubjectMenuItem {\r\n text: string;\r\n path: string;\r\n type: SubjectMenuItemType;\r\n workSpaceId: string;\r\n children: Array<SubjectMenuItem>;\r\n}\r\n\r\nexport enum SubjectMenuItemType {\r\n MenuItem = 'MenuItem',\r\n WorkSpaceLink = 'WorkSpaceLink',\r\n SubjectTestsLink = 'SubjectTestsLink',\r\n}\r\n\r\nexport interface SubjectModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface CreateSubject {\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface UpdateSubjectRequest {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n}\r\n\r\nexport interface SubjectCountsModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n questionsCount: number;\r\n testsCount: number;\r\n}\r\n\r\nexport interface ChangeSubjectConfiguration {\r\n id: string;\r\n configuration: SubjectMenu;\r\n}\r\n\r\nexport interface OrderSubjectsRequest {\r\n ids: Array<string>;\r\n}\r\n\r\nexport interface SubjectWithIconModel {\r\n id: string;\r\n name: string;\r\n alias: string;\r\n icon: IconSimpleModel;\r\n}\r\n\r\nexport interface SubjectForStudentDetailedViewModel {\r\n icon: IconSimpleModel;\r\n subject: SubjectModel;\r\n menu: SubjectMenu;\r\n globalTests: Array<SubjectTestSimpleModel>;\r\n}\r\n\r\nexport interface SubjectTestSimpleModel {\r\n id: string;\r\n name: string;\r\n}\r\n","/**\r\n * Роли для модуля Tutor\r\n */\r\nexport class TutorRoles {\r\n\r\n /**\r\n * Куратор - проверяет домашние задания студентов (учеников).\r\n */\r\n static readonly curator: string = 'Tutor.Curator';\r\n\r\n /**\r\n * Администратор - управляет и настраивает платформу\r\n */\r\n static readonly admin: string = 'Tutor.Admin';\r\n\r\n /**\r\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\r\n */\r\n static readonly student: string = 'Tutor.Student';\r\n\r\n /**\r\n * Пользователь, который может вносить вопросы\r\n */\r\n static readonly testAuthor: string = 'Tutor.TestAuthor';\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/consts'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ export * from './setting-models';
4
4
  export * from './student-models';
5
5
  export * from './group-models';
6
6
  export * from './group-enter-models';
7
- export * from './open-api-models';
8
7
  export * from './test-solution-models';
9
8
  export * from './solution-validation-models';
10
9
  export * from './question-like-models';
@@ -171,7 +171,6 @@ export interface StudentTestSolutionDetailedModel {
171
171
  finishedOnUtc: Date | null;
172
172
  isFinished: boolean;
173
173
  test: StudentTestSolutionDetailedTestModel;
174
- cdnOptions: S3CdnPublicOptions;
175
174
  }
176
175
  export interface StudentTestSolutionDetailedTestModel {
177
176
  name: string;
@@ -183,7 +182,3 @@ export interface StudentTestSolutionDetailedTestQuestion {
183
182
  answerWithValidation: QuestionAnswerWithResult;
184
183
  isQuestionLikedByStudent: boolean;
185
184
  }
186
- export interface S3CdnPublicOptions {
187
- useCdn: boolean;
188
- imageUrlFormat: string;
189
- }
@@ -1,12 +1,11 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
- import { OpenApiUrlProvider } from "../extensions";
3
2
  import { StudentTestGroupRelationDetailedModel } from "../models";
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class StudentGroupTestRelationQueryService {
6
- private _httpClient;
7
- private _baseUrlProvider;
5
+ private readonly _httpClient;
8
6
  getBaseUrl(): string;
9
- constructor(_httpClient: HttpClient, _baseUrlProvider: OpenApiUrlProvider);
7
+ private readonly _baseUrl;
8
+ constructor(_httpClient: HttpClient, baseUrl: string);
10
9
  getById(studentGroupId: string, testId: string): import("rxjs").Observable<StudentTestGroupRelationDetailedModel>;
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<StudentGroupTestRelationQueryService, never>;
12
11
  static ɵprov: i0.ɵɵInjectableDeclaration<StudentGroupTestRelationQueryService>;
@@ -1,13 +1,11 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
- import { OpenApiUrlProvider } from "../extensions";
3
2
  import { Observable } from "rxjs";
4
3
  import { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from "../models";
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class TestSolutionQueryService {
7
- private _httpClient;
8
- private _urlProvider;
9
- getBaseUrl(): string;
10
- constructor(_httpClient: HttpClient, _urlProvider: OpenApiUrlProvider);
6
+ private readonly _httpClient;
7
+ private readonly _baseUrl;
8
+ constructor(_httpClient: HttpClient, baseUrl: string);
11
9
  searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>>;
12
10
  getCourseData(id: string): Observable<TestSolutionCourseData>;
13
11
  getSolutionById(id: string): Observable<StudentTestSolutionModel>;
@@ -1,12 +1,10 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
- import { OpenApiUrlProvider } from "../../extensions";
3
2
  import { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from "../../models";
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class OpenApiQuestionLikeService {
6
- private _httpClient;
7
- private _urlProvider;
8
- getBaseUrl(): string;
9
- constructor(_httpClient: HttpClient, _urlProvider: OpenApiUrlProvider);
5
+ private readonly _httpClient;
6
+ private readonly _baseUrl;
7
+ constructor(_httpClient: HttpClient, baseUrl: string);
10
8
  search(model: SearchQuestionsByLikes): import("rxjs").Observable<GetListResult<TestQuestionModel>>;
11
9
  static ɵfac: i0.ɵɵFactoryDeclaration<OpenApiQuestionLikeService, never>;
12
10
  static ɵprov: i0.ɵɵInjectableDeclaration<OpenApiQuestionLikeService>;
@@ -1,12 +1,10 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
- import { OpenApiUrlProvider } from "../../extensions";
3
2
  import { StudentTestSolutionModel } from "../../models";
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class OpenApiTestSolutionService {
6
- private _httpClient;
7
- private _urlProvider;
8
- getBaseUrl(): string;
9
- constructor(_httpClient: HttpClient, _urlProvider: OpenApiUrlProvider);
5
+ private readonly _httpClient;
6
+ private readonly _baseUrl;
7
+ constructor(_httpClient: HttpClient, baseUrl: string);
10
8
  getById(id: string): import("rxjs").Observable<StudentTestSolutionModel>;
11
9
  static ɵfac: i0.ɵɵFactoryDeclaration<OpenApiTestSolutionService, never>;
12
10
  static ɵprov: i0.ɵɵInjectableDeclaration<OpenApiTestSolutionService>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutor-logic",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.4",
6
6
  "@angular/core": "^17.3.4"
package/public-api.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './lib/tutor-logic.module';
2
2
  export * from './lib/services';
3
3
  export * from './lib/models';
4
- export * from './lib/extensions';
5
4
  export * from './lib/consts';
@@ -1,6 +0,0 @@
1
- export class OpenApiExtensions {
2
- static buildOpenApiUrl(urlProvider, adding) {
3
- return urlProvider.getUrl() + adding;
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaUV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL2V4dGVuc2lvbnMvT3BlbkFwaUV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsZUFBZSxDQUFDLFdBQStCLEVBQUUsTUFBYztRQUNwRSxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkFwaVVybFByb3ZpZGVyIH0gZnJvbSBcIi4vT3BlbkFwaVVybFByb3ZpZGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgT3BlbkFwaUV4dGVuc2lvbnMge1xyXG4gIHN0YXRpYyBidWlsZE9wZW5BcGlVcmwodXJsUHJvdmlkZXI6IE9wZW5BcGlVcmxQcm92aWRlciwgYWRkaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVybFByb3ZpZGVyLmdldFVybCgpICsgYWRkaW5nO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,41 +0,0 @@
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._data = {
9
- useOpenApiServer: false,
10
- openApiUrl: ""
11
- };
12
- this._urlValue = baseUrl;
13
- this.getSettings(baseUrl);
14
- }
15
- getSettings(baseUrl) {
16
- this._httpClient.get(baseUrl + "api/settings/open-api/get").subscribe(data => {
17
- if (data.useOpenApiServer && data.openApiUrl) {
18
- this._data = data;
19
- this._urlValue = data.openApiUrl;
20
- }
21
- });
22
- }
23
- getData() {
24
- return this._data;
25
- }
26
- getUrl() {
27
- return this._urlValue;
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiUrlProvider, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiUrlProvider, providedIn: 'root' }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OpenApiUrlProvider, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root',
36
- }]
37
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
38
- type: Inject,
39
- args: ['BASE_URL']
40
- }] }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaVVybFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9leHRlbnNpb25zL09wZW5BcGlVcmxQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFRN0IsWUFBb0IsV0FBdUIsRUFDckIsT0FBZTtRQURqQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQU4zQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFVBQUssR0FBeUI7WUFDNUIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUE7UUFJQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBdUIsT0FBTyxHQUFHLDJCQUEyQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pHLElBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOzhHQTdCVSxrQkFBa0IsNENBU25CLFVBQVU7a0hBVFQsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT3BlbkFwaVNlcnZlck9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3BlbkFwaVVybFByb3ZpZGVyIHtcclxuXHJcbiAgX3VybFZhbHVlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIF9kYXRhOiBPcGVuQXBpU2VydmVyT3B0aW9ucyA9IHtcclxuICAgIHVzZU9wZW5BcGlTZXJ2ZXI6IGZhbHNlLFxyXG4gICAgb3BlbkFwaVVybDogXCJcIlxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ0JBU0VfVVJMJykgYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl91cmxWYWx1ZSA9IGJhc2VVcmw7XHJcbiAgICB0aGlzLmdldFNldHRpbmdzKGJhc2VVcmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2V0dGluZ3MoYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9odHRwQ2xpZW50LmdldDxPcGVuQXBpU2VydmVyT3B0aW9ucz4oYmFzZVVybCArIFwiYXBpL3NldHRpbmdzL29wZW4tYXBpL2dldFwiKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIGlmKGRhdGEudXNlT3BlbkFwaVNlcnZlciAmJiBkYXRhLm9wZW5BcGlVcmwpe1xyXG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuX3VybFZhbHVlID0gZGF0YS5vcGVuQXBpVXJsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcblxyXG4gIGdldFVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VybFZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,3 +0,0 @@
1
- export { OpenApiExtensions } from './OpenApiExtensions';
2
- export { OpenApiUrlProvider } from './OpenApiUrlProvider';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXRvci1sb2dpYy9zcmMvbGliL2V4dGVuc2lvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBPcGVuQXBpRXh0ZW5zaW9ucyB9IGZyb20gJy4vT3BlbkFwaUV4dGVuc2lvbnMnO1xyXG5leHBvcnQgeyBPcGVuQXBpVXJsUHJvdmlkZXIgfSBmcm9tICcuL09wZW5BcGlVcmxQcm92aWRlcic7Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGktbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHV0b3ItbG9naWMvc3JjL2xpYi9tb2RlbHMvb3Blbi1hcGktbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wZW5BcGlTZXJ2ZXJPcHRpb25zIHtcclxuICAgIHVzZU9wZW5BcGlTZXJ2ZXI6IGJvb2xlYW47IFxyXG4gICAgb3BlbkFwaVVybDogc3RyaW5nOyBcclxufSJdfQ==
@@ -1,4 +0,0 @@
1
- import { OpenApiUrlProvider } from "./OpenApiUrlProvider";
2
- export declare class OpenApiExtensions {
3
- static buildOpenApiUrl(urlProvider: OpenApiUrlProvider, adding: string): string;
4
- }
@@ -1,14 +0,0 @@
1
- import { HttpClient } from "@angular/common/http";
2
- import { OpenApiServerOptions } from "../models";
3
- import * as i0 from "@angular/core";
4
- export declare class OpenApiUrlProvider {
5
- private _httpClient;
6
- _urlValue: string;
7
- _data: OpenApiServerOptions;
8
- constructor(_httpClient: HttpClient, baseUrl: string);
9
- getSettings(baseUrl: string): void;
10
- getData(): OpenApiServerOptions;
11
- getUrl(): string;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<OpenApiUrlProvider, never>;
13
- static ɵprov: i0.ɵɵInjectableDeclaration<OpenApiUrlProvider>;
14
- }
@@ -1,2 +0,0 @@
1
- export { OpenApiExtensions } from './OpenApiExtensions';
2
- export { OpenApiUrlProvider } from './OpenApiUrlProvider';
@@ -1,4 +0,0 @@
1
- export interface OpenApiServerOptions {
2
- useOpenApiServer: boolean;
3
- openApiUrl: string;
4
- }