import { IPaginatedResponse } from '@/core/models/service.model'; import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { GUILDS_API_ROUTES } from '../constants'; import { IGuildRawResponse, IGuildRequest, IGuildResponse } from '../models'; @Injectable({ providedIn: 'root' }) export class GuildsService { constructor(private http: HttpClient) {} private apiRoutes = GUILDS_API_ROUTES; getAll(): Observable> { return this.http.get>(this.apiRoutes.list()); } getSingle(id: string): Observable { return this.http.get(this.apiRoutes.single(id)); } create(data: IGuildRequest): Observable { return this.http.post(this.apiRoutes.list(), data); } update(id: string, data: IGuildRequest): Observable { return this.http.patch(this.apiRoutes.single(id), data); } }