{ "version": 3, "sources": ["src/app/preferences/services/voicemail-settings-api.service.ts", "src/app/preferences/services/voicemail-settings-state.service.ts", "src/app/preferences/models/audio-type.enum.ts", "src/app/preferences/services/voicemail-settings-facade.service.ts"], "sourcesContent": ["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AudioType } from '@app/preferences/models/audio-type.enum';\nimport {\n TTSLanguagesDto,\n TTSVoice,\n VoicemailGreetingAudioItem,\n VoicemailSettingsModel,\n VoicemailTTSGreeting,\n} from '@app/preferences/models/voicemail.model';\nimport { environment } from '@environment/environment';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class VoicemailSettingsApiService {\n private _baseUrl: string = environment.gateway;\n constructor(private httpClient: HttpClient) {}\n\n getVoicemailSettings(): Observable {\n return this.httpClient.get(`${this._baseUrl}/users/{me}/voicemail/settings`);\n }\n\n saveVoicemailSettings(settings: VoicemailSettingsModel): Observable<{ success: boolean }> {\n return this.httpClient.put<{ success: boolean }>(`${this._baseUrl}/users/{me}/voicemail/settings`, settings);\n }\n\n updatePin(pin: string): Observable<{ success: boolean }> {\n const body = {\n pin,\n };\n return this.httpClient.post<{ success: boolean }>(`${this._baseUrl}/users/{me}/update-pin`, body);\n }\n\n getTTSLanguages(): Observable {\n return this.httpClient.get(`${this._baseUrl}/users/{me}/tts/languages`);\n }\n\n getTTSVoices(languageId: string): Observable {\n return this.httpClient.get(`${this._baseUrl}/users/{me}/tts/voices/${languageId}`);\n }\n\n uploadTTS(greeting: VoicemailTTSGreeting, index: number | string, audioType: AudioType): Observable<{ url: string }> {\n return this.httpClient.post<{ url: string }>(\n `${this._baseUrl}/users/{me}/audio/${audioType}/${index}/upload`,\n greeting\n );\n }\n\n previewTTS(voice: TTSVoice, text: string): Observable {\n return this.httpClient.post(\n `${this._baseUrl}/users/{me}/tts/preview`,\n { text: text, voice: voice },\n { responseType: 'blob' }\n );\n }\n\n uploadAudio(\n name: string,\n description: string,\n index: number | string,\n audioType: AudioType,\n format: string\n ): Observable<{ url: string }> {\n return this.httpClient.post<{ url: string }>(`${this._baseUrl}/users/{me}/audio/${audioType}/${index}/upload`, {\n description,\n name,\n format: `audio/${format}`,\n });\n }\n\n uploadFileGreeting(blobfile: Blob, url: string): Observable {\n return this.httpClient.put(url, blobfile);\n }\n\n getListOfGreetings(): Observable {\n return this.httpClient.get(`${this._baseUrl}/users/{me}/audio/greeting/list`);\n }\n\n getListOfRecordedNames(): Observable {\n return this.httpClient.get(`${this._baseUrl}/users/{me}/audio/name/list`);\n }\n\n deleteAudioFile(audioType: AudioType, index: string): Observable {\n return this.httpClient.delete(`${this._baseUrl}/users/{me}/audio/${audioType}/${index}`);\n }\n\n downloadAudioFile(index: string, type: AudioType): Observable {\n return this.httpClient.get(`${this._baseUrl}/users/{me}/audio/${type}/${index}/download`, {\n responseType: 'blob' as 'json',\n });\n }\n}\n", "import { Injectable } from '@angular/core';\nimport { Contact } from '@app/contacts/models/contact';\nimport {\n TTSLanguage,\n TTSVoice,\n TTSVoicesOfLanguage,\n VoicemailGreetingAudioItem,\n VoicemailSettingsModel,\n} from '@app/preferences/models/voicemail.model';\nimport { AudioUtil } from '@app/shared/utils/audio.util';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class VoicemailSettingsStateService {\n private voicemailSettings = new BehaviorSubject(undefined);\n private voicemailSettingsSaved = new Subject();\n private greetingsList = new BehaviorSubject([]);\n private recordedName = new BehaviorSubject(undefined);\n private voicemailPinUpdated = new Subject();\n private audioUploaded = new Subject();\n private ttsLanguages = new BehaviorSubject([]);\n private ttsVoices = new BehaviorSubject([]);\n private playingAudio = new BehaviorSubject(undefined);\n private currentUser = new BehaviorSubject(undefined);\n private ttsVoicesOfLanguages: TTSVoicesOfLanguage[] = [];\n\n public getVoiceMailSettings$(): Observable {\n return this.voicemailSettings.asObservable();\n }\n\n public updateVoiceMailSettings(settings: VoicemailSettingsModel) {\n settings.greetings = settings.greetings.map((greeting) => {\n return { ...greeting, recordingMethod: greeting.recordingMethod ?? 'Upload' };\n });\n this.voicemailSettings.next(settings);\n }\n\n public getVoicemailSettingsSaved$(): Observable {\n return this.voicemailSettingsSaved.asObservable();\n }\n\n public updateVoicemailSettingsSaved(successful: boolean) {\n this.voicemailSettingsSaved.next(successful);\n }\n\n public getGreetingsList$(): Observable {\n return this.greetingsList.asObservable();\n }\n\n public updateGreetingsList(greetings: VoicemailGreetingAudioItem[]) {\n this.greetingsList.next([...greetings]);\n }\n\n public getRecordedName$(): Observable {\n return this.recordedName.asObservable();\n }\n\n public setRecordedName(recordedName?: VoicemailGreetingAudioItem) {\n this.recordedName.next(recordedName);\n }\n public deleteGreetingAudioItem(greetingAudioItem: VoicemailGreetingAudioItem) {\n const transformedAudioList = this.greetingsList\n .getValue()\n .filter((greeting) => greeting.index != greetingAudioItem.index);\n this.updateGreetingsList(transformedAudioList);\n const settingsValue = this.voicemailSettings.getValue();\n if (settingsValue) {\n const transformedGreetingList = settingsValue?.greetings.filter(\n (greeting) => greeting.index != greetingAudioItem.index\n );\n this.updateVoiceMailSettings({ ...settingsValue, greetings: transformedGreetingList });\n }\n }\n\n public getCurrentUser$(): Observable {\n return this.currentUser.asObservable();\n }\n\n public setCurrentUser(user: Contact | undefined) {\n this.currentUser.next(user);\n }\n\n public getVoicemailPinUpdated$(): Observable {\n return this.voicemailPinUpdated.asObservable();\n }\n\n public setVoicemailPinUpdated() {\n this.voicemailPinUpdated.next(true);\n }\n\n public getAudioUploaded$(): Observable {\n return this.audioUploaded.asObservable();\n }\n\n public setAudioUploaded() {\n this.audioUploaded.next(true);\n }\n\n public getTTSLanguages$(): Observable {\n return this.ttsLanguages.asObservable();\n }\n\n public setTTSLanguages$(languages: TTSLanguage[]) {\n return this.ttsLanguages.next(languages);\n }\n\n public getTTSVoices$(): Observable {\n return this.ttsVoices.asObservable();\n }\n\n public setTTSVoices(language: string) {\n const ttsVoiceOfLanguage: TTSVoicesOfLanguage | undefined = this.ttsVoicesOfLanguages.find(\n (ttsVoicesOfLanguage: TTSVoicesOfLanguage) => ttsVoicesOfLanguage.language === language\n );\n if (ttsVoiceOfLanguage) {\n this.ttsVoices.next(ttsVoiceOfLanguage.voices);\n }\n }\n public setTTSVoicesOfLanguage(ttsVoiceOfLanguage: TTSVoicesOfLanguage) {\n this.ttsVoicesOfLanguages.push(ttsVoiceOfLanguage);\n }\n\n public isVoiceOfLanguageLoaded(language: string): boolean {\n return this.ttsVoicesOfLanguages.some(\n (ttsVoiceOfLanguage: TTSVoicesOfLanguage) => ttsVoiceOfLanguage.language === language\n );\n }\n\n public getPlayingAudio$(): Observable {\n return this.playingAudio.asObservable();\n }\n\n public setPlayingAudio(audio?: AudioUtil) {\n const currentAudio = this.playingAudio.getValue();\n currentAudio?.pause();\n this.playingAudio.next(audio);\n }\n}\n", "export enum AudioType {\n moh = 'moh',\n greeting = 'greeting',\n name = 'name',\n}\n", "import { Injectable } from '@angular/core';\nimport { Contact } from '@app/contacts/models/contact';\nimport { ContactService } from '@app/contacts/services/contact.service';\nimport { AudioType } from '@app/preferences/models/audio-type.enum';\nimport {\n TTSLanguage,\n TTSLanguagesDto,\n TTSVoice,\n VoicemailFileGreeting,\n VoicemailGreetingAudioItem,\n VoicemailSettingsModel,\n VoicemailTTSGreeting,\n} from '@app/preferences/models/voicemail.model';\nimport { SettingsService } from '@app/preferences/services/settings.service';\nimport { AudioUtil } from '@app/shared/utils/audio.util';\nimport { saveAs } from 'file-saver-es';\nimport { Observable } from 'rxjs';\n\nimport { VoicemailSettingsApiService } from './voicemail-settings-api.service';\nimport { VoicemailSettingsStateService } from './voicemail-settings-state.service';\n\n@Injectable()\nexport class VoicemailSettingsFacadeService {\n constructor(\n private api: VoicemailSettingsApiService,\n private state: VoicemailSettingsStateService,\n private settingsService: SettingsService,\n private contactService: ContactService\n ) {}\n\n getVoicemailSettings(): void {\n this.getCurrentUser();\n this.api.getVoicemailSettings().subscribe((response: VoicemailSettingsModel) => {\n this.state.updateVoiceMailSettings(response);\n this.getTTSLanguages();\n this.getGreetingsList();\n this.loadRecordedName();\n });\n }\n\n getVoicemailSettings$(): Observable {\n return this.state.getVoiceMailSettings$();\n }\n\n getGreetingList$(): Observable {\n return this.state.getGreetingsList$();\n }\n\n deleteGreetingAudioItem(greetingAudioItem: VoicemailGreetingAudioItem) {\n this.api.deleteAudioFile(AudioType.greeting, greetingAudioItem.index).subscribe(() => {\n this.state.deleteGreetingAudioItem(greetingAudioItem);\n });\n }\n\n deleteRecordedNameAudioItem() {\n this.api.deleteAudioFile(AudioType.name, '1').subscribe(() => {\n this.state.setRecordedName();\n });\n }\n\n saveVoicemailSettings(settings: VoicemailSettingsModel): void {\n this.api.saveVoicemailSettings(settings).subscribe(() => {\n this.state.updateVoiceMailSettings(settings);\n this.updateVoicemailSettingsSaved(true);\n });\n }\n\n getVoicemailSettingsSaved$(): Observable {\n return this.state.getVoicemailSettingsSaved$();\n }\n\n updateVoicemailSettingsSaved(successful: boolean): void {\n this.state.updateVoicemailSettingsSaved(successful);\n }\n\n getVoicemailPinUpdated$(): Observable {\n return this.state.getVoicemailPinUpdated$();\n }\n\n updatePin(pin: string): void {\n this.api.updatePin(pin).subscribe(() => {\n this.state.setVoicemailPinUpdated();\n });\n }\n\n getTTSLanguages(): void {\n this.api.getTTSLanguages().subscribe((response: TTSLanguagesDto) => {\n this.state.setTTSLanguages$(response.languages);\n });\n }\n\n getTTSLanguages$(): Observable {\n return this.state.getTTSLanguages$();\n }\n\n getTTSVoices$(): Observable {\n return this.state.getTTSVoices$();\n }\n\n getTTSVoiceOfLanguage(languageId: string): void {\n if (this.state.isVoiceOfLanguageLoaded(languageId)) {\n this.state.setTTSVoices(languageId);\n } else {\n this.api.getTTSVoices(languageId).subscribe((voices: TTSVoice[]) => {\n this.state.setTTSVoicesOfLanguage({ language: languageId, voices });\n this.state.setTTSVoices(languageId);\n });\n }\n }\n\n getCurrentUser() {\n this.contactService.currentUser$.subscribe((contact) => this.state.setCurrentUser(contact));\n }\n\n getCurrentUser$(): Observable {\n return this.state.getCurrentUser$();\n }\n\n getAudioUploaded$(): Observable {\n return this.state.getAudioUploaded$();\n }\n\n getRecordedName$(): Observable {\n return this.state.getRecordedName$();\n }\n\n setRecordedName(recordedName: VoicemailGreetingAudioItem | undefined) {\n this.state.setRecordedName(recordedName);\n }\n\n loadRecordedName(): void {\n this.api.getListOfRecordedNames().subscribe((recordedNames) => {\n this.setRecordedName(recordedNames.length > 0 ? recordedNames[0] : undefined);\n });\n }\n\n uploadTTS(audio: VoicemailTTSGreeting, index: number | string, audioType: AudioType) {\n this.api.uploadTTS(audio, index, audioType).subscribe(() => {\n this.state.setAudioUploaded();\n });\n }\n\n uploadAudioFile(greeting: VoicemailFileGreeting, audioType: AudioType) {\n if (greeting.file) {\n this.api\n .uploadAudio(\n greeting.name,\n greeting.description,\n greeting.index,\n audioType,\n greeting.file.name.split('.').pop() || 'wav'\n )\n .subscribe((res) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(greeting.file!);\n reader.addEventListener('load', () => {\n const blob = new Blob([reader.result!], { type: greeting.file!.type });\n this.api.uploadFileGreeting(blob, res.url).subscribe(() => {\n this.state.setAudioUploaded();\n });\n });\n });\n }\n }\n\n downloadAudioFile(index: string, type: AudioType, description: string) {\n this.api.downloadAudioFile(index, type).subscribe((response) => {\n saveAs(response, `${type}-${description}.wav`);\n });\n }\n\n getGreetingsList() {\n this.api.getListOfGreetings().subscribe((res) => {\n this.state.updateGreetingsList(res);\n });\n }\n\n previewTts(voice: TTSVoice, text: string) {\n this.api.previewTTS(voice, text).subscribe((response) => {\n const audioUtil: AudioUtil = new Audio(URL.createObjectURL(new Blob([response]))) as AudioUtil;\n void this.playAudio(audioUtil);\n });\n }\n\n getPlayingAudio$(): Observable {\n return this.state.getPlayingAudio$();\n }\n\n async playAudio(audio: AudioUtil) {\n audio.addEventListener('play', () => {\n this.state.setPlayingAudio(audio);\n });\n audio.addEventListener('ended', () => {\n this.state.setPlayingAudio();\n });\n await this.settingsService.playAudio(audio);\n }\n\n stopAudio() {\n this.state.setPlayingAudio();\n }\n}\n"], "mappings": "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", "names": ["VoicemailSettingsApiService", "constructor", "httpClient", "_baseUrl", "environment", "gateway", "getVoicemailSettings", "get", "saveVoicemailSettings", "settings", "put", "updatePin", "pin", "body", "post", "getTTSLanguages", "getTTSVoices", "languageId", "uploadTTS", "greeting", "index", "audioType", "previewTTS", "voice", "text", "responseType", "uploadAudio", "name", "description", "format", "uploadFileGreeting", "blobfile", "url", "getListOfGreetings", "getListOfRecordedNames", "deleteAudioFile", "delete", "downloadAudioFile", "type", "\u0275\u0275inject", "HttpClient", "factory", "\u0275fac", "VoicemailSettingsStateService", "constructor", "voicemailSettings", "BehaviorSubject", "undefined", "voicemailSettingsSaved", "Subject", "greetingsList", "recordedName", "voicemailPinUpdated", "audioUploaded", "ttsLanguages", "ttsVoices", "playingAudio", "currentUser", "ttsVoicesOfLanguages", "getVoiceMailSettings$", "asObservable", "updateVoiceMailSettings", "settings", "greetings", "map", "greeting", "__spreadProps", "__spreadValues", "recordingMethod", "next", "getVoicemailSettingsSaved$", "updateVoicemailSettingsSaved", "successful", "getGreetingsList$", "updateGreetingsList", "getRecordedName$", "setRecordedName", "deleteGreetingAudioItem", "greetingAudioItem", "transformedAudioList", "getValue", "filter", "index", "settingsValue", "transformedGreetingList", "getCurrentUser$", "setCurrentUser", "user", "getVoicemailPinUpdated$", "setVoicemailPinUpdated", "getAudioUploaded$", "setAudioUploaded", "getTTSLanguages$", "setTTSLanguages$", "languages", "getTTSVoices$", "setTTSVoices", "language", "ttsVoiceOfLanguage", "find", "ttsVoicesOfLanguage", "voices", "setTTSVoicesOfLanguage", "push", "isVoiceOfLanguageLoaded", "some", "getPlayingAudio$", "setPlayingAudio", "audio", "pause", "factory", "\u0275fac", "AudioType", "VoicemailSettingsFacadeService", "constructor", "api", "state", "settingsService", "contactService", "getVoicemailSettings", "getCurrentUser", "subscribe", "response", "updateVoiceMailSettings", "getTTSLanguages", "getGreetingsList", "loadRecordedName", "getVoicemailSettings$", "getVoiceMailSettings$", "getGreetingList$", "getGreetingsList$", "deleteGreetingAudioItem", "greetingAudioItem", "deleteAudioFile", "AudioType", "greeting", "index", "deleteRecordedNameAudioItem", "name", "setRecordedName", "saveVoicemailSettings", "settings", "updateVoicemailSettingsSaved", "getVoicemailSettingsSaved$", "successful", "getVoicemailPinUpdated$", "updatePin", "pin", "setVoicemailPinUpdated", "setTTSLanguages$", "languages", "getTTSLanguages$", "getTTSVoices$", "getTTSVoiceOfLanguage", "languageId", "isVoiceOfLanguageLoaded", "setTTSVoices", "getTTSVoices", "voices", "setTTSVoicesOfLanguage", "language", "currentUser$", "contact", "setCurrentUser", "getCurrentUser$", "getAudioUploaded$", "getRecordedName$", "recordedName", "getListOfRecordedNames", "recordedNames", "length", "undefined", "uploadTTS", "audio", "audioType", "setAudioUploaded", "uploadAudioFile", "file", "uploadAudio", "description", "split", "pop", "res", "reader", "FileReader", "readAsArrayBuffer", "addEventListener", "blob", "Blob", "result", "type", "uploadFileGreeting", "url", "downloadAudioFile", "saveAs", "getListOfGreetings", "updateGreetingsList", "previewTts", "voice", "text", "previewTTS", "audioUtil", "Audio", "URL", "createObjectURL", "playAudio", "getPlayingAudio$", "__async", "setPlayingAudio", "stopAudio", "\u0275\u0275inject", "VoicemailSettingsApiService", "VoicemailSettingsStateService", "SettingsService", "ContactService", "factory", "\u0275fac"] }