import { typeSourceSpan } from '@angular/compiler/public_api'; import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import * as types from './types'; @Injectable() export class DataApiService { constructor(private http: HttpClient) {} getSchools(onComplete?: () => void): Promise { return new Promise((response, reject) => { this.http.get>('/api/schools').subscribe( data => { if (data.success) { response(data.data); } else { reject(data.message); } }, error => { reject(error); }, () => { if (onComplete != null) { onComplete(); } } ); }); } getAcademicPeriods(onComplete?: () => void): Promise { return new Promise((response, reject) => { this.http.get>('/api/academicPeriods').subscribe( data => { if (data.success) { response(data.data); } else { reject(data.message); } }, error => { reject(error); }, () => { if (onComplete != null) { onComplete(); } } ); }); } saveStepOneReport(reportData: any, onComplete?: () => void) { return new Promise((response, reject) => { this.http.post>('/api/stepOneSave', { reportData: reportData }).subscribe( data => { if (data.success) { response(data.data); } else { reject(data.message); } }, error => { reject(error); }, () => { if (onComplete != null) { onComplete(); } } ); }); } }