@novo-learning/novo-sdk
Version:
SDK for the Novolanguage Speech Analysis API
58 lines • 2.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExerciseApi = void 0;
const exercise_definition_mapper_1 = require("../../mappers/exercise-definition.mapper");
const exercise_type_mapper_1 = require("../../mappers/exercise-type.mapper");
const language_code_mapper_1 = require("../../mappers/language-code.mapper");
const generated_1 = require("./generated");
class ExerciseApi {
constructor(configuration, basePath, axios) {
this.api = new generated_1.ExercisesApi(configuration, basePath, axios);
this.languageCodeMapper = new language_code_mapper_1.LanguageCodeMapper();
this.exerciseTypeMapper = new exercise_type_mapper_1.ExerciseTypeMapper();
this.exerciseDefinitionMapper = new exercise_definition_mapper_1.ExerciseDefinitionMapper();
}
mapGeneratedExerciseResponse(dto) {
return {
...dto,
data: {
...dto.data,
exercise: this.exerciseDefinitionMapper.mapFromGenerated(dto.data.exercise),
languageCode: this.languageCodeMapper.mapFromGenerated(dto.data.languageCode),
type: this.exerciseTypeMapper.mapFromGenerated(dto.data.type),
customProperties: dto.data.customProperties,
},
};
}
createExerciseV1(createExerciseDto, options) {
return this.api
.createExercise({
...createExerciseDto,
languageCode: this.languageCodeMapper.mapToGenerated(createExerciseDto.languageCode),
}, options)
.then((response) => this.mapGeneratedExerciseResponse(response));
}
deleteExerciseV1(id, options) {
return this.api.deleteExercise(id, options);
}
getExerciseV1(id, options) {
return this.api.getExercise(id, options).then((response) => this.mapGeneratedExerciseResponse(response));
}
getExerciseListV1(custom, exerciseType, languageCode, options) {
return this.api.getExerciseList(custom, exerciseType, languageCode, options).then((r) => ({
...r,
data: r.data.map((dto) => ({
...dto,
languageCode: this.languageCodeMapper.mapFromGenerated(dto.languageCode),
type: this.exerciseTypeMapper.mapFromGenerated(dto.type),
})),
}));
}
replaceExerciseV1(id, replaceExerciseDto, options) {
return this.api
.replaceExercise(id, replaceExerciseDto, options)
.then((response) => this.mapGeneratedExerciseResponse(response));
}
}
exports.ExerciseApi = ExerciseApi;
//# sourceMappingURL=exercise-api.js.map