/** * @copyright 2026 NHCarrigan * @license Naomi's Public License * @author Naomi Carrigan */ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { ApiService } from './api.service'; import { Music, CreateMusicDto, UpdateMusicDto } from '@library/shared-types'; @Injectable({ providedIn: 'root' }) export class MusicService { constructor(private api: ApiService) {} getAllMusic(): Observable { return this.api.get('/music'); } getMusicById(id: string): Observable { return this.api.get(`/music/${id}`); } createMusic(music: CreateMusicDto): Observable { return this.api.post('/music', music); } updateMusic(id: string, music: UpdateMusicDto): Observable { return this.api.put(`/music/${id}`, music); } deleteMusic(id: string): Observable<{ success: boolean }> { return this.api.delete<{ success: boolean }>(`/music/${id}`); } }