import { Injectable } from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; import { environment } from '../../../environments/environment'; @Injectable({ providedIn: 'root', }) export class ShortenedUrlManagementService { constructor(private http: HttpClient) { } getShortenedUrls(page: number = 0, size: number = 10, search: string = '') { let params = new HttpParams() .set('page', page.toString()) .set('size', size.toString()) .set('search', search); return this.http.get(environment.apiUrl + "/url/shortener/manage", { params }); } createOrUpdateShortenedUrl(shortenedUrl: any) { return this.http.post(environment.apiUrl + "/url/shortener/manage", shortenedUrl); } deleteShortenedUrl(code: string, quota: boolean = false) { let params = new HttpParams().set('quota', quota.toString()); return this.http.delete(environment.apiUrl + "/url/shortener/manage/" + code, { params }); } deleteAll(owner: number, quota: boolean = false) { let params = new HttpParams().set('quota', quota.toString()); return this.http.delete(environment.apiUrl + "/url/shortener/manage/all/" + owner, { params }); } }