import {Injectable} from "@angular/core"; import {AppConfig} from "../../app.config"; import {HttpClient} from "../http-client"; import {Promotion} from "../../models/model-interfaces"; @Injectable() export class PromotionService { hasUnprocessedPromotion = false; constructor(private http: HttpClient, private config: AppConfig) { } getUnconfirmedPromotions(fraction?: string) { return this.http.get(this.config.apiPromotionPath + '?inProgress=true&fractFilter=' + fraction) .map(res => res.json()) } checkUnconfirmedPromotions(fraction?: string) { this.getUnconfirmedPromotions(fraction).subscribe((items) => { if (items.length > 0) { this.hasUnprocessedPromotion = true } }) } getSquadPromotions(squadId: string) { return this.http.get(this.config.apiPromotionPath + '?squadId=' + squadId) .map(res => res.json()) } requestPromotion(promotion: Promotion) { return this.http.post(this.config.apiPromotionPath, promotion) } updatePromotion(promotion) { return this.http.patch(this.config.apiPromotionPath + '/' + promotion._id, promotion) .map(res => res.json()) } deletePromotion(promotionId) { return this.http.delete(this.config.apiPromotionPath + promotionId) } }