Files
doneit-web/src/app/services/search.service.ts
T

143 lines
4.2 KiB
TypeScript
Raw Normal View History

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';
2023-01-24 15:56:47 +01:00
import { ChangeProfileService } from './change-profile.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
2023-01-24 15:56:47 +01:00
constructor(
private http: HttpClient,
user: AuthService,
private changeProfileService: ChangeProfileService) {
this.setHeader();
this.changeProfileService.registerCallback(() => {
this.setHeader()
})
}
setHeader() {
2022-10-12 17:01:09 +01:00
this.loggeduser = SessionStore.user;
2023-10-25 09:08:49 +01:00
this.headers = new HttpHeaders();;
2023-11-29 12:17:52 +01:00
this.headers = this.headers.set('Authorization', 'Bearer ' + SessionStore.user.Authorization);
2021-01-08 11:02:44 +01:00
}
2023-10-19 16:51:12 +01:00
basicSearch(subject:string, date:string = null, dateend:string = null, sender:number = null, organicEntity:number = 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);
2023-10-19 16:51:12 +01:00
params = params.set("StartDate", date);
params = params.set("EndDate", dateend);
2021-01-08 11:02:44 +01:00
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);
}
2023-01-24 15:56:47 +01:00
2023-10-19 16:51:12 +01:00
basicSearchPublication(subject:string, date:string = null, dateEnd:string = null, sender:number = null, organicEntity:number = null, docTypeId:string = null, applicationType:string): Observable<EventSearch>{
2023-01-24 15:56:47 +01:00
// Endpoint
const geturl = environment.apiURL + 'search';
// store params
let params = new HttpParams();
// set https params
params = params.set("assunto", subject);
2023-10-19 16:51:12 +01:00
params = params.set("StartDate", date);
params = params.set("EndDate", dateEnd);
2023-01-24 15:56:47 +01:00
params = params.set("remetente", sender);
params = params.set("entidadeOrganica", organicEntity);
params = params.set("docTypeId", docTypeId);
params = params.set("applicationType", applicationType);
params = params.set("listOnlyFolders", true)
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
}
2023-08-11 16:14:25 +01:00
searchForDoc(subject:string, date:string, sender:number, organicEntity:number, docTypeId:string, applicationType:string): Observable<EventSearch> {
2021-05-07 13:19:50 +01:00
// 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
}