Files
periodic-table/frontend/src/services/requirementStatusService.ts
2025-12-02 11:47:45 -03:00

40 lines
995 B
TypeScript

import type { RequirementStatus } from '@/types'
const API_BASE_URL = '/api'
class RequirementStatusService {
/**
* Get all requirement lifecycle statuses.
*/
async getStatuses(): Promise<RequirementStatus[]> {
try {
const response = await fetch(`${API_BASE_URL}/requirement-statuses`, {
method: 'GET',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
},
})
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`)
}
const statuses: RequirementStatus[] = await response.json()
return statuses
} catch (error) {
console.error('Failed to fetch requirement statuses:', error)
throw error
}
}
/**
* Check if a requirement is in draft status.
*/
isDraft(status: RequirementStatus | null): boolean {
return status?.status_code === 'DRAFT'
}
}
export const requirementStatusService = new RequirementStatusService()