import { rpc } from '../rpcClient' import type { Group, Consultant, ConsultantImportRow, ConsultantImportResult, HardDeleteConsultantResult, ConsultantDetail, } from '../types' export type { ConsultantImportRow, ConsultantImportResult, HardDeleteConsultantResult, ConsultantDetail, } export const listGroups = (): Promise => rpc('consultants', 'listGroups') export const getGroup = (id: number): Promise => rpc('consultants', 'getGroup', id) export const addGroup = (group: Omit): Promise => rpc('consultants', 'addGroup', group) export const updateGroup = (id: number, patch: Partial): Promise => rpc('consultants', 'updateGroup', id, patch) export const deleteGroup = ( id: number, ): Promise<{ ok: true } | { ok: false; reason: string; memberCount: number }> => rpc('consultants', 'deleteGroup', id) export const listConsultants = (): Promise => rpc('consultants', 'listConsultants') export const listActiveConsultants = (): Promise => rpc('consultants', 'listActiveConsultants') export const listArchivedConsultants = (): Promise => rpc('consultants', 'listArchivedConsultants') export const getConsultant = (id: number): Promise => rpc('consultants', 'getConsultant', id) export const getConsultantsByIds = (ids: number[]): Promise => rpc('consultants', 'getConsultantsByIds', ids) export const findConsultantByEmail = (email: string): Promise => rpc('consultants', 'findConsultantByEmail', email) export const addConsultant = (consultant: Omit): Promise => rpc('consultants', 'addConsultant', consultant) export const updateConsultant = (id: number, patch: Partial): Promise => rpc('consultants', 'updateConsultant', id, patch) export const archiveConsultant = (id: number): Promise => rpc('consultants', 'archiveConsultant', id) export const unarchiveConsultant = (id: number): Promise => rpc('consultants', 'unarchiveConsultant', id) export const hardDeleteConsultant = (id: number): Promise => rpc('consultants', 'hardDeleteConsultant', id) export const deleteConsultant = (id: number): Promise => rpc('consultants', 'deleteConsultant', id) export const importConsultantsToGroup = ( groupId: number, rows: ConsultantImportRow[], moveIfDifferentGroup?: boolean, ): Promise => rpc('consultants', 'importConsultantsToGroup', groupId, rows, moveIfDifferentGroup) export const getConsultantDetail = (id: number): Promise => rpc('consultants', 'getConsultantDetail', id)