UNPKG

@novo-learning/novo-sdk

Version:

SDK for the Novolanguage Speech Analysis API

92 lines 4.24 kB
"use strict"; 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