opt-cc/static/src/app/services/army-management/promotion.service.ts

48 lines
1.3 KiB
TypeScript

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)
}
}