/** * @copyright 2026 NHCarrigan * @license Naomi's Public License * @author Naomi Carrigan */ import { Injectable, inject } from '@angular/core'; import { Observable } from 'rxjs'; import { ApiService } from './api.service'; import { Game, CreateGameDto, UpdateGameDto } from '@library/shared-types'; @Injectable({ providedIn: 'root' }) export class GamesService { private api = inject(ApiService); getAllGames(): Observable { return this.api.get('/games'); } getGameById(id: string): Observable { return this.api.get(`/games/${id}`); } createGame(game: CreateGameDto): Observable { return this.api.post('/games', game); } updateGame(id: string, game: UpdateGameDto): Observable { return this.api.put(`/games/${id}`, game); } deleteGame(id: string): Observable<{ success: boolean }> { return this.api.delete<{ success: boolean }>(`/games/${id}`); } }