import { apiRequest } from './api' import type { Card } from '../types' /** A vuedraggable @change payload -- shared by every column that can be a * drag source/target (a project's kanban columns, the sidebar's inbox). */ export type ColumnChange = { added?: { element: Card; newIndex: number } removed?: { element: Card; oldIndex: number } moved?: { element: Card; oldIndex: number; newIndex: number } } /** * Set the contents and order of one column -- the inbox (both null) or a * project's status (both set). Shared by the sidebar's inbox list and a * project's kanban columns, since either can be a drag source or target for * the other (dragging a card in re-parents it; its old column is re-packed * server-side). */ export async function reorderColumn( projectId: number | null, statusId: number | null, cardIds: number[], ): Promise<{ cards: Card[] }> { return apiRequest<{ cards: Card[] }>('/cards/order', { method: 'PUT', auth: true, body: { project_id: projectId, status_id: statusId, card_ids: cardIds }, }) }