fuse-angular/src/app/modules/admin/pages/activities/activities.service.ts
sercan 3a1a7d44b6 Updated RxJS to 7.4.0
Optimized import paths
2021-11-05 11:36:03 +03:00

49 lines
1.4 KiB
TypeScript

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { BehaviorSubject, Observable, tap } from 'rxjs';
import { Activity } from 'app/modules/admin/pages/activities/activities.types';
@Injectable({
providedIn: 'root'
})
export class ActivitiesService
{
// Private
private _activities: BehaviorSubject<any> = new BehaviorSubject(null);
/**
* Constructor
*/
constructor(private _httpClient: HttpClient)
{
}
// -----------------------------------------------------------------------------------------------------
// @ Accessors
// -----------------------------------------------------------------------------------------------------
/**
* Getter for activities
*/
get activities(): Observable<any>
{
return this._activities.asObservable();
}
// -----------------------------------------------------------------------------------------------------
// @ Public methods
// -----------------------------------------------------------------------------------------------------
/**
* Get activities
*/
getActivities(): Observable<any>
{
return this._httpClient.get<Activity[]>('api/pages/activities').pipe(
tap((response: Activity[]) => {
this._activities.next(response);
})
);
}
}