group.ts 1.2 KB
import type {
  GroupGetListQuery,
  GroupListItemDto,
  GroupUpsertInput,
} from './account-types';
import type { FlPagedResult } from './types';

import { requestClient } from '#/api/request';

const PATH = '/group';

export function groupList(params?: GroupGetListQuery) {
  return requestClient.get<FlPagedResult<GroupListItemDto>>(PATH, {
    params,
    errorMessageMode: 'message',
  });
}

export function groupInfo(id: string) {
  return requestClient.get<GroupListItemDto>(
    `${PATH}/${encodeURIComponent(id)}`,
    { errorMessageMode: 'message' },
  );
}

export function groupAdd(data: GroupUpsertInput) {
  return requestClient.postWithMsg<GroupListItemDto>(PATH, {
    groupName: data.groupName.trim(),
    partnerId: data.partnerId.trim(),
    state: data.state ?? true,
  });
}

export function groupUpdate(id: string, data: GroupUpsertInput) {
  return requestClient.putWithMsg<GroupListItemDto>(
    `${PATH}/${encodeURIComponent(id)}`,
    {
      groupName: data.groupName.trim(),
      partnerId: data.partnerId.trim(),
      state: data.state ?? true,
    },
  );
}

export function groupRemove(id: string) {
  return requestClient.deleteWithMsg<void>(
    `${PATH}/${encodeURIComponent(id)}`,
  );
}