@novo-learning/novo-sdk
Version:
SDK for the Novolanguage Speech Analysis API
92 lines • 4.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PublisherApi = void 0;
const language_code_mapper_1 = require("../../mappers/language-code.mapper");
const permission_type_mapper_1 = require("../../mappers/permission-type.mapper");
const generated_1 = require("./generated");
class PublisherApi {
constructor(configuration, basePath, axios) {
this.publishersApi = new generated_1.PublishersApi(configuration, basePath, axios);
this.permissionTypeMapper = new permission_type_mapper_1.PermissionTypeMapper();
this.languageCodeMapper = new language_code_mapper_1.LanguageCodeMapper();
}
mapGeneratedPublisherResponseDto(dto) {
const settings = dto.data.settings
? {
...dto.data.settings,
allowedPermissions: dto.data.settings.allowedPermissions.map((p) => this.permissionTypeMapper.mapFromGenerated(p)),
allowedLanguages: dto.data.settings.allowedLanguages.map((l) => this.languageCodeMapper.mapFromGenerated(l)),
expirationDate: dto.data.settings.expirationDate ? new Date(dto.data.settings.expirationDate) : undefined,
}
: undefined;
return {
...dto,
data: {
...dto.data,
settings,
},
};
}
addPublisher(createPublisherDto, options) {
return this.publishersApi
.addPublisher({
...createPublisherDto,
settings: {
...createPublisherDto.settings,
logSettings: {
confirmAudioReceived: createPublisherDto.settings.logSettings?.confirmAudioReceived ?? false,
},
languageSettings: createPublisherDto.settings.languageSettings,
allowedPermissions: createPublisherDto.settings.allowedPermissions.map((p) => this.permissionTypeMapper.mapToGenerated(p)),
allowedLanguages: createPublisherDto.settings.allowedLanguages.map((l) => this.languageCodeMapper.mapToGenerated(l)),
expirationDate: createPublisherDto.settings.expirationDate
? createPublisherDto.settings.expirationDate.toISOString()
: undefined,
},
}, options)
.then((r) => ({
...r,
data: {
...r.data,
settings: {
...r.data.settings,
allowedPermissions: r.data.settings.allowedPermissions.map((p) => this.permissionTypeMapper.mapFromGenerated(p)),
languageSettings: r.data.settings.languageSettings ?? {},
allowedLanguages: r.data.settings.allowedLanguages.map((l) => this.languageCodeMapper.mapFromGenerated(l)),
expirationDate: r.data.settings.expirationDate ? new Date(r.data.settings.expirationDate) : undefined,
},
},
}));
}
deletePublisher(id, options) {
return this.publishersApi.deletePublisher(id, options);
}
findAllPublishers(options) {
return this.publishersApi.findAllPublishers(options);
}
getAndValidatePublisher(id, apiKey, anonymous, options) {
return this.publishersApi
.getAndValidatePublisher(id, apiKey, anonymous, options)
.then((response) => this.mapGeneratedPublisherResponseDto(response));
}
updatePublisher(id, updatePublisherDto, apiKey, options) {
return this.publishersApi
.updatePublisher(id, updatePublisherDto, apiKey, options)
.then((response) => this.mapGeneratedPublisherResponseDto(response));
}
getOAuthSettings(id, options) {
return this.publishersApi.getPublisherOAuthSettings(id, options);
}
async requestTrialAccount(contactName, email, accountName, languages, otherInfo, options) {
const requestDto = {
contactName,
email,
accountName,
languages,
metadata: otherInfo,
};
await this.publishersApi.requestAccount(requestDto, options);
}
}
exports.PublisherApi = PublisherApi;
//# sourceMappingURL=publisher-api.js.map