import { Injectable } from '@angular/core'; import { HttpRestService } from '@core/services/http-rest.service'; import { PaginatedResponse, PaginationOptions } from '@yourcause/common'; import { Audience, AudienceMember, AudienceModalResponse } from './audience.typing'; @Injectable({ providedIn: 'root' }) export class AudienceResources { constructor ( private httpRestService: HttpRestService ) { } getAudiencesPaginated ( paginationOptions: PaginationOptions ): Promise> { const endpoint = 'api/manager/audience/Paginated/Audience'; return this.httpRestService.post(endpoint, { paginationOptions }); } getAudienceMembers (audienceId: number): Promise { const endpoint = `api/manager/audience/AudienceMembers/${audienceId}`; return this.httpRestService.get(endpoint); } createOrEditAudience (payload: AudienceModalResponse) { const endpoint = 'api/manager/audience/CreateAndEdit'; return this.httpRestService.post(endpoint, payload); } deleteAudience (audienceId: number) { const endpoint = `api/manager/audience/Delete/${audienceId}`; return this.httpRestService.post(endpoint, {}); } }