import type { TmsRecordDetail, TmsRecordPageQuery } from '#/views/x/tms/record/types';

import { defHttp } from '#/api/request';
import {
  mockArchiveRecords,
  mockDeleteRecords,
  mockGetRecordDetail,
  mockQueryRecords,
  mockUpdateRecord,
} from '#/views/x/tms/record/mock';

/** 后端未就绪前走 mock；联调后改为 false */
const USE_MOCK = true;
const prefix = '/api/tms/record';

export function getTmsRecordList(params: TmsRecordPageQuery) {
  if (USE_MOCK) return mockQueryRecords(params);
  return defHttp.get({ url: `${prefix}/list`, params });
}

export function getTmsRecordDetail(id: string) {
  if (USE_MOCK) return mockGetRecordDetail(id);
  return defHttp.get<TmsRecordDetail>({ url: `${prefix}/${id}` });
}

export function updateTmsRecord(id: string, data: Record<string, any>) {
  if (USE_MOCK) return mockUpdateRecord(id, data);
  return defHttp.put({ url: `${prefix}/${id}`, data });
}

export function archiveTmsRecords(ids: string[]) {
  if (USE_MOCK) return mockArchiveRecords(ids);
  return defHttp.post({ url: `${prefix}/archive`, data: { ids } });
}

export function deleteTmsRecords(ids: string[]) {
  if (USE_MOCK) return mockDeleteRecords(ids);
  return defHttp.delete({ url: `${prefix}`, data: { ids } });
}
