{"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 fonksiyonu\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  // ✅ Tüm atamaları getir\n  getAssignments() {\n    return this.http.get(this.createCompleteRoute('api/assignments', environment.apiUrl)).pipe(catchError(this.handleError));\n  }\n  // ✅ Yeni atama oluştur ve PDF indir\n  createAssignment(route, body) {\n    return this.http.post(this.createCompleteRoute(route, environment.apiUrl), body, {\n      headers: new HttpHeaders({\n        'Content-Type': 'application/json',\n        'Accept': 'application/pdf'\n      }),\n      responseType: 'blob'\n    }).pipe(catchError(error => this.handleError(error)));\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","downloadAssignmentPdf","id","get","createCompleteRoute","apiUrl","responseType","pipe","handleError","getAssignments","createAssignment","route","body","post","headers","error","update","put","generateHeaders","delete","envAddress","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 fonksiyonu\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  // ✅ Tüm atamaları getir\n  public getAssignments<T>(): Observable<T> {\n    return this.http.get<T>(this.createCompleteRoute('api/assignments', environment.apiUrl)).pipe(\n      catchError(this.handleError)\n    );\n  }\n\n  // ✅ Yeni atama oluştur ve PDF indir\n  public createAssignment(route: string, body: any): Observable<Blob> {\n    return this.http.post(this.createCompleteRoute(route, environment.apiUrl), body, {\n      headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Accept': 'application/pdf' }),\n      responseType: 'blob'\n    }).pipe(\n      catchError((error) => this.handleError(error))\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"],"mappings":"AAAA,SAAqBA,WAAW,QAAQ,sBAAsB;AAE9D,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAAqBC,UAAU,QAAQ,MAAM;AAC7C,SAASC,UAAU,QAAQ,gBAAgB;;;AAK3C,OAAM,MAAOC,iBAAiB;EAE5BC,YAAoBC,IAAgB;IAAhB,KAAAA,IAAI,GAAJA,IAAI;EAAgB;EAExC;EACOC,qBAAqBA,CAACC,EAAU;IACrC,OAAO,IAAI,CAACF,IAAI,CAACG,GAAG,CAAC,IAAI,CAACC,mBAAmB,CAAC,4BAA4BF,EAAE,EAAE,EAAEP,WAAW,CAACU,MAAM,CAAC,EAAE;MACnGC,YAAY,EAAE;KACf,CAAC,CAACC,IAAI,CAACV,UAAU,CAAC,IAAI,CAACW,WAAW,CAAC,CAAC;EACvC;EAEA;EACOC,cAAcA,CAAA;IACnB,OAAO,IAAI,CAACT,IAAI,CAACG,GAAG,CAAI,IAAI,CAACC,mBAAmB,CAAC,iBAAiB,EAAET,WAAW,CAACU,MAAM,CAAC,CAAC,CAACE,IAAI,CAC3FV,UAAU,CAAC,IAAI,CAACW,WAAW,CAAC,CAC7B;EACH;EAEA;EACOE,gBAAgBA,CAACC,KAAa,EAAEC,IAAS;IAC9C,OAAO,IAAI,CAACZ,IAAI,CAACa,IAAI,CAAC,IAAI,CAACT,mBAAmB,CAACO,KAAK,EAAEhB,WAAW,CAACU,MAAM,CAAC,EAAEO,IAAI,EAAE;MAC/EE,OAAO,EAAE,IAAIpB,WAAW,CAAC;QAAE,cAAc,EAAE,kBAAkB;QAAE,QAAQ,EAAE;MAAiB,CAAE,CAAC;MAC7FY,YAAY,EAAE;KACf,CAAC,CAACC,IAAI,CACLV,UAAU,CAAEkB,KAAK,IAAK,IAAI,CAACP,WAAW,CAACO,KAAK,CAAC,CAAC,CAC/C;EACH;EAEA;EACOC,MAAMA,CAACL,KAAa,EAAEC,IAAS;IACpC,OAAO,IAAI,CAACZ,IAAI,CAACiB,GAAG,CAAC,IAAI,CAACb,mBAAmB,CAACO,KAAK,EAAEhB,WAAW,CAACU,MAAM,CAAC,EAAEO,IAAI,EAAE,IAAI,CAACM,eAAe,EAAE,CAAC,CAACX,IAAI,CAC1GV,UAAU,CAAC,IAAI,CAACW,WAAW,CAAC,CAC7B;EACH;EAEA;EACOW,MAAMA,CAACR,KAAa;IACzB,OAAO,IAAI,CAACX,IAAI,CAACmB,MAAM,CAAO,IAAI,CAACf,mBAAmB,CAACO,KAAK,EAAEhB,WAAW,CAACU,MAAM,CAAC,CAAC,CAACE,IAAI,CACrFV,UAAU,CAAC,IAAI,CAACW,WAAW,CAAC,CAC7B;EACH;EAEA;EACQJ,mBAAmBA,CAACO,KAAa,EAAES,UAAkB;IAC3D,OAAO,GAAGA,UAAU,IAAIT,KAAK,EAAE;EACjC;EAEA;EACQO,eAAeA,CAAA;IACrB,OAAO;MACLJ,OAAO,EAAE,IAAIpB,WAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;QAClC,QAAQ,EAAE;OACX;KACF;EACH;EAEA;EACQc,WAAWA,CAACO,KAAU;IAC5BM,OAAO,CAACN,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;IACtC,OAAOnB,UAAU,CAAC,MAAM,IAAI0B,KAAK,CAACP,KAAK,CAACQ,OAAO,IAAI,iBAAiB,CAAC,CAAC;EACxE;EAAC,QAAAC,CAAA,G;qBA7DU1B,iBAAiB,EAAA2B,EAAA,CAAAC,QAAA,CAAAC,EAAA,CAAAC,UAAA;EAAA;EAAA,QAAAC,EAAA,G;WAAjB/B,iBAAiB;IAAAgC,OAAA,EAAjBhC,iBAAiB,CAAAiC,IAAA;IAAAC,UAAA,EAFhB;EAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}