import { Injectable } from '@angular/core'; import { HttpRestService } from '@core/services/http-rest.service'; import { ApplicationByFormFromApi, EligibilityResponse, MyApplicationsApi, SaveApplication, SaveApplicationResponse, SubmitEligibility } from '@core/typings/application.typing'; import { ClientBrandingFromApi } from '@core/typings/branding.typing'; import { CancelApplicationPayload } from '@core/typings/ui/cancel-application.typing'; @Injectable({ providedIn: 'root' }) export class ApplicationApplicantResources { constructor ( private httpRestService: HttpRestService ) { } getApplicationByForm ( applicationId: number, formId: number ): Promise { const endpoint = 'api/portal/applications/' + applicationId + '/forms/' + formId; return this.httpRestService.get(endpoint); } getApplications ( page: number, pageSize: number, includeDraft = false ): Promise { const endpoint = 'api/portal/applications?page=' + page + '&pageSize=' + pageSize + '&includeDraft=' + includeDraft; return this.httpRestService.get(endpoint); } deleteApplication (id: number) { const endpoint = `api/portal/applications/${id}`; return this.httpRestService.delete(endpoint); } saveApplication (data: SaveApplication): Promise { return this.httpRestService.post('api/portal/applications', data); } submitEligibility (data: SubmitEligibility): Promise { const endpoint = 'api/portal/applicant/PreApplicationFormResponse'; return this.httpRestService.post(endpoint, data); } cancelApplication ( payload: CancelApplicationPayload ) { return this.httpRestService.post('api/portal/applications/CancelApplication', payload); } getClientBranding (clientId: number): Promise { const endpoint = 'api/portal/programs/branding?clientId=' + clientId; return this.httpRestService.get(endpoint); } }