import { Injectable } from '@angular/core'
import { Http }       from '@angular/http'

import { Subject } from 'rxjs/Subject';

import 'rxjs/add/operator/toPromise'

import { HelperService } from './svc.helper'

@Injectable()
export class StudioService {
    
    // Observable String Source
    private storeSource = new Subject<String>();

    // Observable String Stream
    state$ = this.storeSource.asObservable();

    constructor(
        private _helper: HelperService,
        private http: Http
    ) {}
    
    api = this._helper.server + 'feed/get/block'
    key = this._helper.getCustomCredentials(30)

    getStudios(): Promise<any> {
        return this.http.get(this.api + this.key + '&stripContent').toPromise().then(response => {
            return response.json().data
        })
    }

    getSpecificStudio(urlkey): Promise<any> {
        return this.http.get(this.api + this.key + '&block=' + urlkey).toPromise().then(response => {
            return response.json().data
        })
    }

    updateStore(store) {
        console.log('trying to push ' + store + ' into observable')
        this.storeSource.next(store)
    }
}
