Projekt

Obecné

Profil

Stáhnout (1.54 KB) Statistiky
| Větev: | Tag: | Revize:
1
import { Injectable } from '@angular/core';
2
import { HttpClient, HttpHeaders } from '@angular/common/http';
3
import { Observable } from 'rxjs';
4
import { DocumentResponse } from '../../model/DocumentResponse';
5
import { SearchResponse } from '../../model/SearchResponse';
6
import { SearchRequest } from '../../model/SearchRequest';
7
import { DocumentDetailResponse } from '../../model/DocumentDetailResponse';
8

    
9
const httpOptions = {
10
  headers: new HttpHeaders( {
11
    'Content-Type': 'application/json'
12
  })
13
};
14

    
15
@Injectable({
16
  providedIn: 'root'
17
})
18
export class QueryService {
19

    
20
  backendUrl = 'http://localhost:8080/';
21
  uploadFileUrl = 'upload';
22
  documentsUrl = 'documents';
23

    
24
  constructor(private httpClient: HttpClient) {}
25

    
26
  searchPost(searchRequest: SearchRequest): Observable<SearchResponse> {
27
    return this.httpClient.post<SearchResponse>(this.backendUrl, searchRequest, httpOptions);
28
  }
29

    
30
  uploadFile(files: File[]): Observable<any> {
31
    const formDate = new FormData();
32
    for (const file of files) {
33
      formDate.append('file', file);
34
    }
35
    return this.httpClient.post(this.backendUrl + this.uploadFileUrl, formDate, {
36
      reportProgress: true,
37
      observe: 'events'
38
    });
39
  }
40

    
41
  getDocuments(): Observable<DocumentResponse[]> {
42
    return this.httpClient.get<DocumentResponse[]>(this.backendUrl + this.documentsUrl, httpOptions);
43
  }
44

    
45
  getDocumentPictureByName(documentName: string): Observable<DocumentDetailResponse> {
46
    return this.httpClient.get<DocumentDetailResponse>(this.backendUrl + this.documentsUrl + '/' + documentName, httpOptions);
47
  }
48

    
49
}
(2-2/2)