Files
doneit-web/src/app/services/publications.service.ts
T
2021-11-29 17:15:15 +01:00

166 lines
4.3 KiB
TypeScript

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { environment } from 'src/environments/environment';
import { AuthService } from '../services/auth.service';
import { LoginUserRespose } from '../models/user.model';
import { Observable, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators'
import { Publication } from '../models/publication';
@Injectable({
providedIn: 'root'
})
export class PublicationsService {
authheader = {};
loggeduser: LoginUserRespose;
headers: HttpHeaders;
constructor(private http: HttpClient, user: AuthService) {
this.loggeduser = user.ValidatedUser;
this.headers = new HttpHeaders();
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
}
GetPublicationFolderList(){
const geturl = environment.apiURL + 'presidentialActions';
let options = {
headers: this.headers,
};
return this.http.get<any>(`${geturl}`, options);
}
GetPresidentialAction(id:any){
const geturl = environment.apiURL + 'presidentialActions/'+id;
let options = {
headers: this.headers,
};
return this.http.get<any>(`${geturl}`, options);
}
UpdatePresidentialAction(body:any) {
const geturl = environment.apiURL + 'presidentialActions';
let options = {
headers: this.headers,
};
return this.http.put<any>(`${geturl}`, body, options);
}
CreatePublicationFolder(body:any){
const geturl = environment.apiURL + 'presidentialActions';
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
}
UpdatePublicationFolder(body:any) {
const geturl = environment.apiURL + 'presidentialActions';
let options = {
headers: this.headers,
};
return this.http.put<any>(`${geturl}`, body, options).toPromise().then(res =>{
console.log(res);
});
}
DeletePresidentialAction(id:any){
const geturl = environment.apiURL + 'presidentialActions/'+id;
let options = {
headers: this.headers,
};
return this.http.delete<any>(`${geturl}`, options);
}
GetPublicationsID(folder:any) {
const geturl = environment.apiURL + 'presidentialActions/'+ folder +'/posts/ids';
let params = new HttpParams();
params = params.set("folderId", folder);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Publication[]>(`${geturl}`, options)
}
GetPublications(id:any){
const geturl = environment.apiURL + 'presidentialActions/'+ id +'/posts';
let params = new HttpParams();
params = params.set("folderId", id);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Publication[]>(`${geturl}`, options)
}
GetPublicationById( publicationId:any){
const geturl = environment.apiURL + 'presidentialActions/posts/'+ publicationId;
let params = new HttpParams();
params = params.set("id", publicationId);
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
CreatePublication(folderId:any,body:any){
const geturl = environment.apiURL + 'presidentialActions/'+folderId+'/posts';
let params = new HttpParams();
params = params.set("folderId", folderId);
let options = {
headers: this.headers,
/* params: params */
};
return this.http.post<any>(`${geturl}`, body, options)
}
UpdatePublication(folderId:any,body:any){
const geturl = environment.apiURL + 'presidentialActions/'+folderId+'/posts';
let params = new HttpParams();
params = params.set("folderId", folderId);
let options = {
headers: this.headers,
/* params: params */
};
return this.http.put<any>(`${geturl}`, body, options)
}
DeletePublication(folderId:any,publicationId:any){
const geturl = environment.apiURL + 'presidentialActions/'+folderId+'/posts/'+publicationId;
let params = new HttpParams();
params = params.set("folderId", folderId);
params = params.set("id", publicationId);
let options = {
headers: this.headers,
/* params: params */
};
return this.http.delete(`${geturl}`, options)
}
handleError(error){
return throwError(error || 'Server Error');
}
}