Newer
Older
import { HttpClient, HttpResponse, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
import { SERVER_API_URL } from 'app/app.constants';
import { SearchResultsDTO } from 'app/shared/model/search/search-results-dto.model';
import { SearchInput } from 'app/shared/model/search/search-input.model';
type EntityResponseTypeAutoComplete = HttpResponse<Array<string>>;
@Injectable({ providedIn: 'root' })
export class SearchService {
public resourceSearchUrlPageDetails = SERVER_API_URL + 'api/search/page-details';
public resourceKeywordsAutoCompleteDetails = SERVER_API_URL + 'api/search/keywordsAutoComplete';
public resourceProgrammingLanguageAutoCompleteDetails = SERVER_API_URL + 'api/search/programmingLanguageAutoComplete';
public resourceContributorAutoCompleteDetails = SERVER_API_URL + 'api/search/contributorAutoComplete';
constructor(protected http: HttpClient) {}
searchPageDetails(searchInput: SearchInput): Observable<SearchResultsDTO> {
return this.http.post<SearchResultsDTO>(this.resourceSearchUrlPageDetails, searchInput);
}
getKeywordsAutoComplete(prefix: string): Observable<Array<string>> {
const options: HttpParams = new HttpParams();
options.append('keyWordPrefix', prefix);
return this.http.get<Array<string>>(this.resourceKeywordsAutoCompleteDetails, {
params: new HttpParams().set('keyWordPrefix', prefix),
});
}
getProgrammingLanguageAutoComplete(prefix: string): Observable<Array<string>> {
const options: HttpParams = new HttpParams();
options.append('keyWordPrefix', prefix);
return this.http.get<Array<string>>(this.resourceProgrammingLanguageAutoCompleteDetails, {
params: new HttpParams().set('programmingLanguagePrefix', prefix),
getContributorAutoComplete(prefix: string): Observable<Array<string>> {
const options: HttpParams = new HttpParams();
options.append('keyWordPrefix', prefix);
return this.http.get<Array<string>>(this.resourceContributorAutoCompleteDetails, {
params: new HttpParams().set('contributorPrefix', prefix),
});