import { inject, Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { lastValueFrom, map } from 'rxjs'; import { HttpResponse } from '@/core/models/response.interface'; import { Live } from './live.models'; @Injectable() export class LiveService { private http = inject(HttpClient); private route = `schedule`; getAllLiveEvents() { return this.http.get>(this.route).pipe(map(({ data }) => data)); } getLiveEvent(idx = 0) { return this.getAllLiveEvents().pipe(map((events) => events[idx])); } getCurrentEvent() { return this.http .get>(`${this.route}/current`) .pipe(map(({ data }) => data)); } saveSessionTime() { return lastValueFrom(this.http.post('schedule/time_session', {})); } saveTimeSession(_session_id: number) { return this.saveSessionTime(); } } export const injectLiveService = () => inject(LiveService);