Project

General

Profile

1
import { Injectable } from '@angular/core';
2
import { Http, Response, Headers, RequestOptions } from '@angular/http';
3
import { Observable } from 'rxjs/Rx';
4
import {COOKIE} from "../../login/utils/helper.class"
5

    
6

    
7
@Injectable()
8
export class SubscribeService {
9

    
10
  constructor(private http:Http) {
11
    }
12
     getCommunitySubscribers(pid:string, url:string){
13
       return this.http.get(url+"/community/"+pid+"/subscribers")
14
                       .map(res => <any> res.json()).do(res => {console.log(res)}).do(res => {console.log(res)});
15
     }
16

    
17
     isSubscribedToCommunity(pid:string, email:string, url:string){
18
       return this.http.get(url+"/community/"+pid+"/subscribers")
19
                       .map(res =>  ((<any>res =="")?{}:<any> res.json()))
20

    
21
                       .map(res => {
22
                         if(res.subscribers && res.subscribers != null){
23

    
24
                           for(var i =0; i< res.subscribers.length; i++ ){
25
                             if(res.subscribers[i]!=null && res.subscribers[i].email == email){
26
                               return true;
27
                             }
28
                           }
29
                         }
30
                         return false;
31

    
32
                       }).do(res => {console.log("Response is "+res)});
33
     }
34
     subscribeToCommunity(pid:string, email:string, url:string){
35
       var subscriber = {"email":email};
36
       return this.http.post(url+"/community/"+pid+"/subscribers", JSON.stringify(subscriber), this.getAuthOptionsWithBody())
37
           .map(res => <any> res.json())
38
           .do(res => {console.log("Response is "+res)});
39
     }
40
     unSubscribeToCommunity(pid:string, email:string, url:string){
41

    
42
       return this.http.post(url+"/community/"+pid+"/subscribers/delete", JSON.stringify([email]), this.getAuthOptionsWithBody())
43
           .map(res => <any> res.json())
44
           .do(res => {console.log("Response is "+res)});
45
     }
46

    
47
     public getAuthOptionsWithBody():RequestOptions{
48
     let headers = new Headers();
49
     headers.append('Content-Type', 'application/json');
50
     headers.append('X-XSRF-TOKEN',  COOKIE.getCookie(COOKIE.cookieName_id));
51
     let options = new RequestOptions({ headers: headers, withCredentials:true  });
52
       return options;
53
     }
54

    
55
}
    (1-1/1)