import { Injectable } from '@angular/core'; import { Http, Response, URLSearchParams, RequestOptions, Headers } from '@angular/http'; import * as globals from '../core/common'; import { Observable } from 'rxjs'; import { map,catchError } from 'rxjs/operators'; import { IPermission } from '../core/IPermission'; import { environment } from '../../environments/environment'; @Injectable({ providedIn: 'root' }) export class PermissionService { private getPermissionUrl = globals.serverBase + '/api/Role/GetRolePermission'; private savePermissionUrl = globals.serverBase + '/api/Role/SetRolePermission'; constructor(private _http: Http) { } getPermissions(organisationId:number,id:string,actionType): Observable { let myparams = new URLSearchParams(); myparams.append("organisationId", organisationId.toString()); myparams.append("id", id); myparams.append("actionType", actionType); let options = new RequestOptions({ params: myparams }); // return this._http.get(this.getOrgTypeUrl,options) // .pipe(map((response: Response) => response.json()), // catchError(this.handleError)) if(environment.useDummyData == false){ return this._http.get(this.getPermissionUrl,options) .pipe(map((response: Response) => response.json()), catchError(this.handleError)) } else{ var permission:IPermission = {Id:1,AccessToAll:false,AccessToStaffManagement:true,AllowEditOrganisation:true,AllowEditPermissions:true,AllowEditStaff:false,AllowRemoveItems:false,IsSimpleMode:true}; return this._http.get('') .pipe(map((response: Response) => permission), catchError(this.handleError)) } } savePermissions(permission:IPermission, saveOption:string, organisationId:number):Observable{ let myparams = new URLSearchParams(); myparams.append("saveOption", saveOption); myparams.append("organisationId", organisationId.toString()); let options = new RequestOptions({ params: myparams }); if(environment.useDummyData == false){ return this._http.post(this.savePermissionUrl,permission,options) .pipe(map((response: Response) => true), catchError(this.handleError)) } else{ return this._http.get('') .pipe(map((response: Response) => true), catchError(this.handleError)) } } //The function of handling the error private handleError(error: Response) { console.log("Error in contact service"); console.log(error); return Observable.throw(error.json().error || 'Server error'); } }