@novo-learning/novo-sdk
Version:
SDK for the Novolanguage Speech Analysis API
54 lines (47 loc) • 1.81 kB
text/typescript
import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
import { LanguageCode } from '../../entities';
import {
Configuration,
ConfigurationCreateDtoV1,
ConfigurationDtoV1,
ConfigurationResponseDtoV1,
ConfigurationsApi as GeneratedConfigurationsApi,
} from './generated';
export class ConfigurationsApi {
private readonly configurationsApi;
constructor(configuration?: Configuration | undefined, basePath?: string, axios?: AxiosInstance) {
this.configurationsApi = new GeneratedConfigurationsApi(configuration, basePath, axios);
}
public addConfiguration(
createConfigurationDto: ConfigurationCreateDtoV1,
options?: AxiosRequestConfig,
): Promise<AxiosResponse<ConfigurationResponseDtoV1>> {
return this.configurationsApi.createConfiguration(createConfigurationDto, options);
}
public deleteConfiguration(id: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
return this.configurationsApi.deleteConfiguration(id, options);
}
public getAllConfigurations(
languageCode?: LanguageCode,
options?: AxiosRequestConfig,
): Promise<AxiosResponse<ConfigurationResponseDtoV1[]>> {
if (languageCode) {
if (!options) {
options = { params: { lang: languageCode } };
} else {
options = {
...options,
params: options.params ? { ...options.params, lang: languageCode } : { lang: languageCode },
};
}
}
return this.configurationsApi.findAllConfigurations(options);
}
public updateConfiguration(
id: string,
updateConfigurationDto: ConfigurationDtoV1,
options?: AxiosRequestConfig,
): Promise<AxiosResponse<ConfigurationResponseDtoV1>> {
return this.configurationsApi.editConfiguration(id, updateConfigurationDto, options);
}
}