import request from './request'
import type {
  Position,
  CreatePositionRequest,
  UpdatePositionRequest,
  PositionFilter,
  PaginatedResult,
} from '@/types'

export const positionsApi = {
  // Get positions list
  getPositionsList: (params: PositionFilter) => {
    return request.get<any, PaginatedResult<Position>>('/positions', { params })
  },

  // Get position by id
  getPositionById: (id: string) => {
    return request.get<any, Position>(`/positions/${id}`)
  },

  // Create position
  createPosition: (data: CreatePositionRequest) => {
    return request.post<any, Position>('/positions', data)
  },

  // Update position
  updatePosition: (id: string, data: UpdatePositionRequest) => {
    return request.patch<any, Position>(`/positions/${id}`, data)
  },

  // Delete position
  deletePosition: (id: string) => {
    return request.delete(`/positions/${id}`)
  },
}