import request from './request'
import type {
  Country,
  CreateCountryRequest,
  UpdateCountryRequest,
  CountryFilter,
  PaginatedResult,
} from '@/types'

export const countriesApi = {
  // Get countries list
  getCountriesList: (params: CountryFilter) => {
    return request.get<any, PaginatedResult<Country>>('/countries', { params })
  },

  // Get country by id
  getCountryById: (id: string) => {
    return request.get<any, Country>(`/countries/${id}`)
  },

  // Create country
  createCountry: (data: CreateCountryRequest) => {
    return request.post<any, Country>('/countries', data)
  },

  // Update country
  updateCountry: (id: string, data: UpdateCountryRequest) => {
    return request.patch<any, Country>(`/countries/${id}`, data)
  },

  // Delete country
  deleteCountry: (id: string) => {
    return request.delete(`/countries/${id}`)
  },
}