2021-01-08 11:02:44 +01:00
|
|
|
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
|
|
|
import { Injectable } from '@angular/core';
|
|
|
|
|
import { Event } from '../models/event.model';
|
2021-02-08 12:27:45 +01:00
|
|
|
import { from, Observable } from 'rxjs';
|
2021-01-08 11:02:44 +01:00
|
|
|
import { environment } from 'src/environments/environment';
|
|
|
|
|
import { AuthService } from '../services/auth.service';
|
2021-08-27 15:21:15 +01:00
|
|
|
import { LoginUserRespose } from '../models/user.model';
|
2021-01-08 11:02:44 +01:00
|
|
|
import { EventSearch } from "src/app/models/event-search";
|
2021-02-08 12:27:45 +01:00
|
|
|
import { TopSearch } from 'src/app/models/top-search';
|
2022-10-12 17:01:09 +01:00
|
|
|
import { SessionStore } from '../store/session.service';
|
2021-01-08 11:02:44 +01:00
|
|
|
|
|
|
|
|
@Injectable({
|
|
|
|
|
providedIn: 'root'
|
|
|
|
|
})
|
|
|
|
|
export class SearchService {
|
|
|
|
|
// state
|
|
|
|
|
authheader = {};
|
2021-08-27 15:21:15 +01:00
|
|
|
loggeduser: LoginUserRespose;
|
2021-01-08 11:02:44 +01:00
|
|
|
headers: HttpHeaders;
|
|
|
|
|
|
|
|
|
|
categories= Array;
|
|
|
|
|
|
|
|
|
|
// setup
|
|
|
|
|
constructor(private http: HttpClient, user: AuthService) {
|
2022-10-12 17:01:09 +01:00
|
|
|
this.loggeduser = SessionStore.user;
|
2021-01-08 11:02:44 +01:00
|
|
|
this.headers = new HttpHeaders();
|
|
|
|
|
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-06-23 15:39:45 +01:00
|
|
|
basicSearch(subject:string, date:string = null, sender:string = null, organicEntity:string = null, docTypeId:string = null, applicationType:string): Observable<EventSearch>{
|
2021-01-08 11:02:44 +01:00
|
|
|
// Endpoint
|
|
|
|
|
const geturl = environment.apiURL + 'search';
|
|
|
|
|
// store params
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
// set https params
|
2022-04-28 09:32:27 +01:00
|
|
|
|
2021-01-08 11:02:44 +01:00
|
|
|
|
2021-01-08 11:43:47 +01:00
|
|
|
params = params.set("assunto", subject);
|
2021-01-08 11:02:44 +01:00
|
|
|
params = params.set("data", date);
|
|
|
|
|
params = params.set("remetente", sender);
|
|
|
|
|
params = params.set("entidadeOrganica", organicEntity);
|
|
|
|
|
params = params.set("docTypeId", docTypeId);
|
2021-01-29 14:13:31 +01:00
|
|
|
params = params.set("applicationType", applicationType);
|
2021-01-08 11:02:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
const options = {
|
|
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return this.http.get<EventSearch>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
2021-02-08 16:55:55 +01:00
|
|
|
mostSeachWord(size:string):Observable<any>{
|
2021-02-08 12:27:45 +01:00
|
|
|
// Endpoint
|
2021-03-31 16:55:00 +01:00
|
|
|
|
|
|
|
|
let UserId = (this.loggeduser.UserId).toString();
|
|
|
|
|
|
|
|
|
|
const geturl = environment.apiURL + 'Processes/GetHitsByUserId';
|
2021-02-08 12:27:45 +01:00
|
|
|
// store params
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
// set https params
|
|
|
|
|
|
2021-03-31 16:55:00 +01:00
|
|
|
params = params.set("userId", UserId);
|
2021-02-08 12:27:45 +01:00
|
|
|
params = params.set("size", size);
|
|
|
|
|
|
2021-03-31 16:55:00 +01:00
|
|
|
const options = {
|
2021-02-08 12:27:45 +01:00
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
|
2021-02-08 16:55:55 +01:00
|
|
|
return this.http.get<any>(`${geturl}`, options);
|
2021-02-08 12:27:45 +01:00
|
|
|
}
|
|
|
|
|
|
2021-05-07 13:19:50 +01:00
|
|
|
searchForDoc(subject:string, date:string, sender:string, organicEntity:string, docTypeId:string, applicationType:string): Observable<EventSearch> {
|
|
|
|
|
// Endpoint
|
|
|
|
|
const geturl = environment.apiURL + 'search/attachment?';
|
|
|
|
|
// store params
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
// set https params
|
2022-04-28 09:32:27 +01:00
|
|
|
|
2021-05-07 13:19:50 +01:00
|
|
|
|
|
|
|
|
params = params.set("assunto", subject);
|
|
|
|
|
params = params.set("data", date);
|
|
|
|
|
params = params.set("remetente", sender);
|
|
|
|
|
params = params.set("entidadeOrganica", organicEntity);
|
|
|
|
|
params = params.set("docTypeId", docTypeId);
|
|
|
|
|
params = params.set("applicationType", applicationType);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const options = {
|
|
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return this.http.get<EventSearch>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
2021-01-08 11:02:44 +01:00
|
|
|
}
|