import { Injectable, inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { AdminUser } from '../interfaces/admin-user'; import { getAppConfig } from './app-config.service'; export interface CreateAdminPayload { email: string; display_name: string; password: string; } export interface UpdateAdminPayload { display_name?: string; } @Injectable({ providedIn: 'root', }) export class AdminUserService { private http = inject(HttpClient); private baseUrl = `${getAppConfig().apiBaseUrl}/api/admin/users`; getAdminUsers(): Observable { return this.http.get(this.baseUrl); } createAdminUser(payload: CreateAdminPayload): Observable { return this.http.post(this.baseUrl, payload); } updateAdminUser(id: number, payload: UpdateAdminPayload): Observable { return this.http.put(`${this.baseUrl}/${id}`, payload); } deleteAdminUser(id: number): Observable { return this.http.delete(`${this.baseUrl}/${id}`); } }