import apiClient from "./api/client" export type IssueStatus = "OPEN" | "IN_PROGRESS" | "RESOLVED" | "CLOSED" export type IssueReporterType = "USER" | "SYSTEM_USER" export interface SupportIssue { id: string title: string description: string status: IssueStatus reporterType: IssueReporterType reporterEmail: string reporterUserId?: string priority: "LOW" | "MEDIUM" | "HIGH" createdAt: string updatedAt?: string } export interface IssueFilters { page?: number limit?: number status?: IssueStatus search?: string } export interface PaginatedIssues { data: SupportIssue[] total: number page: number limit: number totalPages: number } class IssueService { async list(filters: IssueFilters = {}): Promise { const response = await apiClient.get("/admin/issues", { params: filters, }) return response.data } async create(data: { title: string description: string priority?: SupportIssue["priority"] }): Promise { const response = await apiClient.post("/admin/issues", data) return response.data } async updateStatus( id: string, status: IssueStatus, ): Promise { const response = await apiClient.patch( `/admin/issues/${id}`, { status }, ) return response.data } } export const issueService = new IssueService()