{ "version": 3, "sources": ["src/app/_services/series.service.ts"], "sourcesContent": ["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UtilityService } from '../shared/_services/utility.service';\r\nimport { Chapter } from '../_models/chapter';\r\nimport { PaginatedResult } from '../_models/pagination';\r\nimport { Series } from '../_models/series';\r\nimport { RelatedSeries } from '../_models/series-detail/related-series';\r\nimport { SeriesDetail } from '../_models/series-detail/series-detail';\r\nimport { SeriesGroup } from '../_models/series-group';\r\nimport { SeriesMetadata } from '../_models/metadata/series-metadata';\r\nimport { Volume } from '../_models/volume';\r\nimport { ImageService } from './image.service';\r\nimport { TextResonse } from '../_types/text-response';\r\nimport { SeriesFilterV2 } from '../_models/metadata/v2/series-filter-v2';\r\nimport {UserReview} from \"../_single-module/review-card/user-review\";\r\nimport {Rating} from \"../_models/rating\";\r\nimport {Recommendation} from \"../_models/series-detail/recommendation\";\r\nimport {ExternalSeriesDetail} from \"../_models/series-detail/external-series-detail\";\r\nimport {NextExpectedChapter} from \"../_models/series-detail/next-expected-chapter\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SeriesService {\r\n\r\n baseUrl = environment.apiUrl;\r\n paginatedResults: PaginatedResult = new PaginatedResult();\r\n paginatedSeriesForTagsResults: PaginatedResult = new PaginatedResult();\r\n\r\n constructor(private httpClient: HttpClient, private imageService: ImageService,\r\n private utilityService: UtilityService) { }\r\n\r\n getAllSeriesV2(pageNum?: number, itemsPerPage?: number, filter?: SeriesFilterV2) {\r\n let params = new HttpParams();\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n const data = filter || {};\r\n\r\n return this.httpClient.post>(this.baseUrl + 'series/all-v2', data, {observe: 'response', params}).pipe(\r\n map((response: any) => {\r\n return this.utilityService.createPaginatedResult(response, this.paginatedResults);\r\n })\r\n );\r\n }\r\n\r\n getSeriesForLibraryV2(pageNum?: number, itemsPerPage?: number, filter?: SeriesFilterV2) {\r\n let params = new HttpParams();\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n const data = filter || {};\r\n\r\n return this.httpClient.post>(this.baseUrl + 'series/v2', data, {observe: 'response', params}).pipe(\r\n map((response: any) => {\r\n return this.utilityService.createPaginatedResult(response, this.paginatedResults);\r\n })\r\n );\r\n }\r\n\r\n getAllSeriesByIds(seriesIds: Array) {\r\n return this.httpClient.post(this.baseUrl + 'series/series-by-ids', {seriesIds: seriesIds});\r\n }\r\n\r\n getSeries(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/' + seriesId);\r\n }\r\n\r\n getVolumes(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/volumes?seriesId=' + seriesId);\r\n }\r\n\r\n getChapter(chapterId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/chapter?chapterId=' + chapterId);\r\n }\r\n\r\n delete(seriesId: number) {\r\n return this.httpClient.delete(this.baseUrl + 'series/' + seriesId, TextResonse).pipe(map(s => s === \"true\"));\r\n }\r\n\r\n deleteMultipleSeries(seriesIds: Array) {\r\n return this.httpClient.post(this.baseUrl + 'series/delete-multiple', {seriesIds}, TextResonse).pipe(map(s => s === \"true\"));\r\n }\r\n\r\n updateRating(seriesId: number, userRating: number) {\r\n return this.httpClient.post(this.baseUrl + 'series/update-rating', {seriesId, userRating});\r\n }\r\n\r\n updateSeries(model: any) {\r\n return this.httpClient.post(this.baseUrl + 'series/update', model);\r\n }\r\n\r\n markRead(seriesId: number) {\r\n return this.httpClient.post(this.baseUrl + 'reader/mark-read', {seriesId});\r\n }\r\n\r\n markUnread(seriesId: number) {\r\n return this.httpClient.post(this.baseUrl + 'reader/mark-unread', {seriesId});\r\n }\r\n\r\n getRecentlyAdded(pageNum?: number, itemsPerPage?: number, filter?: SeriesFilterV2) {\r\n let params = new HttpParams();\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n\r\n const data = filter || {};\r\n return this.httpClient.post(this.baseUrl + 'series/recently-added-v2', data, {observe: 'response', params}).pipe(\r\n map(response => {\r\n return this.utilityService.createPaginatedResult(response, new PaginatedResult());\r\n })\r\n );\r\n }\r\n\r\n getRecentlyUpdatedSeries() {\r\n return this.httpClient.post(this.baseUrl + 'series/recently-updated-series', {});\r\n }\r\n\r\n getWantToRead(pageNum?: number, itemsPerPage?: number, filter?: SeriesFilterV2): Observable> {\r\n let params = new HttpParams();\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n const data = filter || {};\r\n\r\n return this.httpClient.post(this.baseUrl + 'want-to-read/v2', data, {observe: 'response', params}).pipe(\r\n map(response => {\r\n return this.utilityService.createPaginatedResult(response, new PaginatedResult());\r\n }));\r\n }\r\n\r\n isWantToRead(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'want-to-read?seriesId=' + seriesId, TextResonse)\r\n .pipe(map(val => {\r\n return val === 'true';\r\n }));\r\n }\r\n\r\n getOnDeck(libraryId: number = 0, pageNum?: number, itemsPerPage?: number, filter?: SeriesFilterV2) {\r\n let params = new HttpParams();\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n const data = filter || {};\r\n\r\n return this.httpClient.post(this.baseUrl + 'series/on-deck?libraryId=' + libraryId, data, {observe: 'response', params}).pipe(\r\n map(response => {\r\n return this.utilityService.createPaginatedResult(response, new PaginatedResult());\r\n }));\r\n }\r\n\r\n\r\n refreshMetadata(series: Series) {\r\n return this.httpClient.post(this.baseUrl + 'series/refresh-metadata', {libraryId: series.libraryId, seriesId: series.id});\r\n }\r\n\r\n scan(libraryId: number, seriesId: number, force = false) {\r\n return this.httpClient.post(this.baseUrl + 'series/scan', {libraryId: libraryId, seriesId: seriesId, forceUpdate: force});\r\n }\r\n\r\n analyzeFiles(libraryId: number, seriesId: number) {\r\n return this.httpClient.post(this.baseUrl + 'series/analyze', {libraryId: libraryId, seriesId: seriesId});\r\n }\r\n\r\n getMetadata(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/metadata?seriesId=' + seriesId);\r\n }\r\n\r\n updateMetadata(seriesMetadata: SeriesMetadata) {\r\n const data = {\r\n seriesMetadata,\r\n };\r\n return this.httpClient.post(this.baseUrl + 'series/metadata', data, TextResonse);\r\n }\r\n\r\n getSeriesForTag(collectionTagId: number, pageNum?: number, itemsPerPage?: number) {\r\n let params = new HttpParams();\r\n\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n\r\n return this.httpClient.get>(this.baseUrl + 'series/series-by-collection?collectionId=' + collectionTagId, {observe: 'response', params}).pipe(\r\n map((response: any) => {\r\n return this.utilityService.createPaginatedResult(response, this.paginatedSeriesForTagsResults);\r\n })\r\n );\r\n }\r\n\r\n getRelatedForSeries(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/all-related?seriesId=' + seriesId);\r\n }\r\n\r\n getRecommendationsForSeries(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'recommended/recommendations?seriesId=' + seriesId);\r\n }\r\n\r\n updateRelationships(seriesId: number, adaptations: Array, characters: Array,\r\n contains: Array, others: Array, prequels: Array,\r\n sequels: Array, sideStories: Array, spinOffs: Array,\r\n alternativeSettings: Array, alternativeVersions: Array,\r\n doujinshis: Array, editions: Array, annuals: Array) {\r\n return this.httpClient.post(this.baseUrl + 'series/update-related?seriesId=' + seriesId,\r\n {seriesId, adaptations, characters, sequels, prequels, contains, others, sideStories, spinOffs,\r\n alternativeSettings, alternativeVersions, doujinshis, editions, annuals});\r\n }\r\n\r\n getSeriesDetail(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/series-detail?seriesId=' + seriesId);\r\n }\r\n\r\n\r\n\r\n deleteReview(seriesId: number) {\r\n return this.httpClient.delete(this.baseUrl + 'review?seriesId=' + seriesId);\r\n }\r\n updateReview(seriesId: number, body: string) {\r\n return this.httpClient.post(this.baseUrl + 'review', {\r\n seriesId, body\r\n });\r\n }\r\n\r\n getReviews(seriesId: number) {\r\n return this.httpClient.get>(this.baseUrl + 'review?seriesId=' + seriesId);\r\n }\r\n\r\n getRatings(seriesId: number) {\r\n return this.httpClient.get>(this.baseUrl + 'rating?seriesId=' + seriesId);\r\n }\r\n getOverallRating(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'rating/overall?seriesId=' + seriesId);\r\n }\r\n\r\n removeFromOnDeck(seriesId: number) {\r\n return this.httpClient.post(this.baseUrl + 'series/remove-from-on-deck?seriesId=' + seriesId, {});\r\n }\r\n\r\n getExternalSeriesDetails(aniListId?: number, malId?: number, seriesId?: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/external-series-detail?aniListId=' + (aniListId || 0) + '&malId=' + (malId || 0) + '&seriesId=' + (seriesId || 0));\r\n }\r\n\r\n getNextExpectedChapterDate(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'series/next-expected?seriesId=' + seriesId);\r\n }\r\n\r\n}\r\n"], "mappings": "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", "names": ["SeriesService", "constructor", "httpClient", "imageService", "utilityService", "baseUrl", "environment", "apiUrl", "paginatedResults", "PaginatedResult", "paginatedSeriesForTagsResults", "getAllSeriesV2", "pageNum", "itemsPerPage", "filter", "params", "HttpParams", "addPaginationIfExists", "data", "post", "observe", "pipe", "map", "response", "createPaginatedResult", "getSeriesForLibraryV2", "getAllSeriesByIds", "seriesIds", "getSeries", "seriesId", "get", "getVolumes", "getChapter", "chapterId", "delete", "TextResonse", "s", "deleteMultipleSeries", "updateRating", "userRating", "updateSeries", "model", "markRead", "markUnread", "getRecentlyAdded", "getRecentlyUpdatedSeries", "getWantToRead", "isWantToRead", "val", "getOnDeck", "libraryId", "refreshMetadata", "series", "id", "scan", "force", "forceUpdate", "analyzeFiles", "getMetadata", "updateMetadata", "seriesMetadata", "getSeriesForTag", "collectionTagId", "getRelatedForSeries", "getRecommendationsForSeries", "updateRelationships", "adaptations", "characters", "contains", "others", "prequels", "sequels", "sideStories", "spinOffs", "alternativeSettings", "alternativeVersions", "doujinshis", "editions", "annuals", "getSeriesDetail", "deleteReview", "updateReview", "body", "getReviews", "getRatings", "getOverallRating", "removeFromOnDeck", "getExternalSeriesDetails", "aniListId", "malId", "getNextExpectedChapterDate", "\u0275\u0275inject", "HttpClient", "ImageService", "UtilityService", "factory", "\u0275fac", "providedIn", "_SeriesService"] }