{ "version": 3, "sources": ["src/app/_services/library.service.ts"], "sourcesContent": ["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { JumpKey } from '../_models/jumpbar/jump-key';\r\nimport { Library, LibraryType } from '../_models/library/library';\r\nimport { DirectoryDto } from '../_models/system/directory-dto';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LibraryService {\r\n\r\n baseUrl = environment.apiUrl;\r\n\r\n private libraryNames: {[key:number]: string} | undefined = undefined;\r\n private libraryTypes: {[key: number]: LibraryType} | undefined = undefined;\r\n\r\n constructor(private httpClient: HttpClient) {}\r\n\r\n getLibraryNames() {\r\n if (this.libraryNames != undefined) {\r\n return of(this.libraryNames);\r\n }\r\n\r\n return this.httpClient.get(this.baseUrl + 'library').pipe(map(libraries => {\r\n this.libraryNames = {};\r\n libraries.forEach(lib => {\r\n if (this.libraryNames !== undefined) {\r\n this.libraryNames[lib.id] = lib.name;\r\n }\r\n });\r\n return this.libraryNames;\r\n }));\r\n }\r\n\r\n getLibraryName(libraryId: number) {\r\n if (this.libraryNames != undefined && this.libraryNames.hasOwnProperty(libraryId)) {\r\n return of(this.libraryNames[libraryId]);\r\n }\r\n return this.httpClient.get(this.baseUrl + 'library').pipe(map(l => {\r\n this.libraryNames = {};\r\n l.forEach(lib => {\r\n if (this.libraryNames !== undefined) {\r\n this.libraryNames[lib.id] = lib.name;\r\n }\r\n });\r\n return this.libraryNames[libraryId];\r\n }));\r\n }\r\n\r\n libraryNameExists(name: string) {\r\n return this.httpClient.get(this.baseUrl + 'library/name-exists?name=' + name);\r\n }\r\n\r\n listDirectories(rootPath: string) {\r\n let query = '';\r\n if (rootPath !== undefined && rootPath.length > 0) {\r\n query = '?path=' + encodeURIComponent(rootPath);\r\n }\r\n\r\n return this.httpClient.get(this.baseUrl + 'library/list' + query);\r\n }\r\n\r\n getJumpBar(libraryId: number) {\r\n return this.httpClient.get(this.baseUrl + 'library/jump-bar?libraryId=' + libraryId);\r\n }\r\n\r\n getLibraries() {\r\n return this.httpClient.get(this.baseUrl + 'library');\r\n }\r\n\r\n updateLibrariesForMember(username: string, selectedLibraries: Library[]) {\r\n return this.httpClient.post(this.baseUrl + 'library/grant-access', {username, selectedLibraries});\r\n }\r\n\r\n scan(libraryId: number, force = false) {\r\n return this.httpClient.post(this.baseUrl + 'library/scan?libraryId=' + libraryId + '&force=' + force, {});\r\n }\r\n\r\n analyze(libraryId: number) {\r\n return this.httpClient.post(this.baseUrl + 'library/analyze?libraryId=' + libraryId, {});\r\n }\r\n\r\n refreshMetadata(libraryId: number, forceUpdate = false) {\r\n return this.httpClient.post(this.baseUrl + 'library/refresh-metadata?libraryId=' + libraryId + '&force=' + forceUpdate, {});\r\n }\r\n\r\n create(model: {name: string, type: number, folders: string[]}) {\r\n return this.httpClient.post(this.baseUrl + 'library/create', model);\r\n }\r\n\r\n delete(libraryId: number) {\r\n return this.httpClient.delete(this.baseUrl + 'library/delete?libraryId=' + libraryId, {});\r\n }\r\n\r\n update(model: {name: string, folders: string[], id: number}) {\r\n return this.httpClient.post(this.baseUrl + 'library/update', model);\r\n }\r\n\r\n getLibraryType(libraryId: number) {\r\n if (this.libraryTypes != undefined && this.libraryTypes.hasOwnProperty(libraryId)) {\r\n return of(this.libraryTypes[libraryId]);\r\n }\r\n return this.httpClient.get(this.baseUrl + 'library/type?libraryId=' + libraryId).pipe(map(l => {\r\n if (this.libraryTypes === undefined) {\r\n this.libraryTypes = {};\r\n }\r\n\r\n this.libraryTypes[libraryId] = l;\r\n return this.libraryTypes[libraryId];\r\n }));\r\n }\r\n}\r\n"], "mappings": "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", "names": ["LibraryService", "constructor", "httpClient", "baseUrl", "environment", "apiUrl", "libraryNames", "undefined", "libraryTypes", "getLibraryNames", "of", "get", "pipe", "map", "libraries", "forEach", "lib", "id", "name", "getLibraryName", "libraryId", "hasOwnProperty", "l", "libraryNameExists", "listDirectories", "rootPath", "query", "length", "encodeURIComponent", "getJumpBar", "getLibraries", "updateLibrariesForMember", "username", "selectedLibraries", "post", "scan", "force", "analyze", "refreshMetadata", "forceUpdate", "create", "model", "delete", "update", "getLibraryType", "\u0275\u0275inject", "HttpClient", "factory", "\u0275fac", "providedIn", "_LibraryService"] }