import type { PartnerDto, PartnerGetListQuery, PartnerUpsertInput, } from './account-types'; import type { FlPagedResult } from './types'; import { requestClient } from '#/api/request'; const PATH = '/partner'; function trimOrNull(v: string | null | undefined): string | null { const t = (v ?? '').trim(); return t || null; } function buildPartnerBody(input: PartnerUpsertInput) { return { partnerName: input.partnerName.trim(), contactEmail: trimOrNull(input.contactEmail ?? undefined), phoneNumber: trimOrNull(input.phoneNumber ?? undefined), state: input.state ?? true, street: trimOrNull(input.street ?? undefined), city: trimOrNull(input.city ?? undefined), stateCode: trimOrNull(input.stateCode ?? undefined), country: trimOrNull(input.country ?? undefined), zipCode: trimOrNull(input.zipCode ?? undefined), }; } export function partnerList(params?: PartnerGetListQuery) { return requestClient.get>(PATH, { params, errorMessageMode: 'message', }); } export function partnerInfo(id: string) { return requestClient.get(`${PATH}/${encodeURIComponent(id)}`, { errorMessageMode: 'message', }); } export function partnerAdd(data: PartnerUpsertInput) { return requestClient.postWithMsg(PATH, buildPartnerBody(data)); } export function partnerUpdate(id: string, data: PartnerUpsertInput) { return requestClient.putWithMsg( `${PATH}/${encodeURIComponent(id)}`, buildPartnerBody(data), ); } export function partnerRemove(id: string) { return requestClient.deleteWithMsg( `${PATH}/${encodeURIComponent(id)}`, ); }