UNPKG

@novo-learning/novo-sdk

Version:

SDK for the Novolanguage Speech Analysis API

58 lines 2.65 kB
"use strict"; 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