feat: abstract classes and destroy subscriptions
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import { HttpClient } from "@angular/common/http";
|
||||
import { Injectable } from "@angular/core";
|
||||
import { Observable, catchError, map, throwError } from "rxjs";
|
||||
import { ESiteUrls } from "../urls";
|
||||
import { Parser } from "../parser";
|
||||
import { IRulibChapterResult } from "./rulib.chapter.dto";
|
||||
import { IRulibChaptersResult } from "./rulib.chapters.dto";
|
||||
import { IRulibDetailResult } from "./rulib.detail.dto";
|
||||
@@ -11,17 +10,20 @@ import { IRulibSearchResult } from "./rulib.search.dto";
|
||||
@Injectable({
|
||||
providedIn: "root",
|
||||
})
|
||||
export class LibSocialParserService {
|
||||
private readonly url = ESiteUrls.LIB_SOCIAL;
|
||||
constructor(private readonly http: HttpClient) {}
|
||||
|
||||
export class LibSocialParserService extends Parser {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
protected url = (this as any).api_url;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
private site_id = (this as any).site_id;
|
||||
get imageServer() {
|
||||
return "https://img33.imgslib.link";
|
||||
}
|
||||
|
||||
searchManga(query: string): Observable<IRulibSearchResult> {
|
||||
return this.http
|
||||
.get(`${this.url}/api/manga?fields[]=rate_avg&fields[]=rate&q=${query}&site_id[]=1`)
|
||||
.get(
|
||||
`${this.url}/api/manga?fields[]=rate_avg&fields[]=rate&q=${query}&site_id[]=${this.site_id}`,
|
||||
)
|
||||
.pipe(
|
||||
map((data: object) => {
|
||||
return data as IRulibSearchResult;
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import { Injectable } from "@angular/core";
|
||||
import { ParserDecorator } from "../decorators/parser.decorator";
|
||||
import { ESiteUrls } from "../urls";
|
||||
import { LibSocialParserService } from "./lib.social.parser.service";
|
||||
|
||||
@Injectable({
|
||||
providedIn: "root",
|
||||
})
|
||||
@ParserDecorator({ site_name: "MangaLib", url: ESiteUrls.MANGALIB, site_id: 1 })
|
||||
export class MangalibParserService extends LibSocialParserService {}
|
||||
Reference in New Issue
Block a user