{"ast":null,"code":"import { HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class RepositoryService {\n  constructor(http) {\n    this.http = http;\n  }\n  // ✅ PDF indirme için güncellendi\n  getFile(url, options) {\n    return this.http.get(url, {\n      ...options,\n      responseType: 'blob'\n    }).pipe(catchError(this.handleError));\n  }\n  // ✅ Genel GET isteği\n  getData(route) {\n    return this.http.get(this.createCompleteRoute(route, environment.apiUrl)).pipe(catchError(this.handleError));\n  }\n  //----------------------------------------------------------------------\n  downloadAssignmentPdf(id) {\n    return this.http.get(this.createCompleteRoute(`api/assignments/download/${id}`, environment.apiUrl), {\n      responseType: 'blob'\n    }).pipe(catchError(this.handleError));\n  }\n  // ✅ Yeni veri oluşturma\n  create(route, body) {\n    return this.http.post(this.createCompleteRoute(route, environment.apiUrl), body, this.generateHeaders()).pipe(catchError(this.handleError));\n  }\n  createWithData(route) {\n    return this.http.post(this.createCompleteRoute(route, environment.apiUrl), this.generateHeaders()).pipe(catchError(this.handleError));\n  }\n  // ✅ Veri güncelleme\n  update(route, body) {\n    return this.http.put(this.createCompleteRoute(route, environment.apiUrl), body, this.generateHeaders()).pipe(catchError(this.handleError));\n  }\n  // ✅ Veri silme\n  delete(route) {\n    return this.http.delete(this.createCompleteRoute(route, environment.apiUrl)).pipe(catchError(this.handleError));\n  }\n  // ✅ URL oluşturucu\n  createCompleteRoute(route, envAddress) {\n    return `${envAddress}/${route}`;\n  }\n  // ✅ Header ayarları\n  generateHeaders() {\n    return {\n      headers: new HttpHeaders({\n        'Content-Type': 'application/json',\n        'Accept': 'application/json'\n      })\n    };\n  }\n  // ✅ Genel hata yönetimi\n  handleError(error) {\n    console.error(\"❌ Hata oluştu:\", error);\n    return throwError(() => new Error(error.message || 'Bir hata oluştu'));\n  }\n  static #_ = this.ɵfac = function RepositoryService_Factory(t) {\n    return new (t || RepositoryService)(i0.ɵɵinject(i1.HttpClient));\n  };\n  static #_2 = this.ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n    token: RepositoryService,\n    factory: RepositoryService.ɵfac,\n    providedIn: 'root'\n  });\n}","map":{"version":3,"names":["HttpHeaders","environment","throwError","catchError","RepositoryService","constructor","http","getFile","url","options","get","responseType","pipe","handleError","getData","route","createCompleteRoute","apiUrl","downloadAssignmentPdf","id","create","body","post","generateHeaders","createWithData","update","put","delete","envAddress","headers","error","console","Error","message","_","i0","ɵɵinject","i1","HttpClient","_2","factory","ɵfac","providedIn"],"sources":["C:\\Users\\Cem\\Desktop\\InventryUI-Client\\src\\app\\shared\\services\\repository.service.ts"],"sourcesContent":["import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class RepositoryService {\n\n  constructor(private http: HttpClient) { }\n\n  // ✅ PDF indirme için güncellendi\n  getFile(url: string, options?: any): Observable<Blob> {\n    return this.http.get(url, { ...options, responseType: 'blob' as 'json' }).pipe(\n      catchError(this.handleError)\n    ) as unknown as Observable<Blob>;\n  }\n  \n\n  // ✅ Genel GET isteği\n  public getData<T>(route: string): Observable<T> {\n    return this.http.get<T>(this.createCompleteRoute(route, environment.apiUrl)).pipe(\n      catchError(this.handleError)\n    );\n  }\n  //----------------------------------------------------------------------\n  public downloadAssignmentPdf(id: string): Observable<Blob> {\n    return this.http.get(this.createCompleteRoute(`api/assignments/download/${id}`, environment.apiUrl), {\n      responseType: 'blob'\n    }).pipe(catchError(this.handleError));\n  }\n\n  // ✅ Yeni veri oluşturma\n  public create(route: string, body: any): Observable<any> {\n    return this.http.post(this.createCompleteRoute(route, environment.apiUrl), body, this.generateHeaders()).pipe(\n      catchError(this.handleError)\n    );\n  }\n\n  public createWithData(route: string): Observable<any> {\n    return this.http.post(this.createCompleteRoute(route, environment.apiUrl), this.generateHeaders()).pipe(\n      catchError(this.handleError)\n    );\n  }\n\n  // ✅ Veri güncelleme\n  public update(route: string, body: any): Observable<any> {\n    return this.http.put(this.createCompleteRoute(route, environment.apiUrl), body, this.generateHeaders()).pipe(\n      catchError(this.handleError)\n    );\n  }\n\n  // ✅ Veri silme\n  public delete(route: string): Observable<void> {\n    return this.http.delete<void>(this.createCompleteRoute(route, environment.apiUrl)).pipe(\n      catchError(this.handleError)\n    );\n  }\n\n  // ✅ URL oluşturucu\n  private createCompleteRoute(route: string, envAddress: string): string {\n    return `${envAddress}/${route}`;\n  }\n\n  // ✅ Header ayarları\n  private generateHeaders() {\n    return {\n      headers: new HttpHeaders({\n        'Content-Type': 'application/json',\n        'Accept': 'application/json'\n      })\n    };\n  }\n\n  // ✅ Genel hata yönetimi\n  private handleError(error: any) {\n    console.error(\"❌ Hata oluştu:\", error);\n    return throwError(() => new Error(error.message || 'Bir hata oluştu'));\n  }\n\n  \n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}