import type { MemberItem } from "@new-api-key-usage/core"; import { adminHttp } from "../http.ts"; export type MemberWithToken = { member: MemberItem; token: string; }; export async function fetchMembers(): Promise { const { data } = await adminHttp.get("/members"); return data; } /** 开户:响应含令牌明文(仅此一次) */ export async function createMember(body: { name: string; remark?: string; }): Promise { const { data } = await adminHttp.post("/members", body); return data; } export async function patchMember( id: number, body: { name?: string; remark?: string; status?: "active" | "disabled"; }, ): Promise { const { data } = await adminHttp.patch(`/members/${id}`, body); return data; } /** 空壳删除:仅 key_count = 0 */ export async function deleteMember(id: number): Promise { await adminHttp.delete(`/members/${id}`); } /** 重发:旧令牌即刻失效,明文仅此一次 */ export async function issueMemberToken(id: number): Promise<{ token: string }> { const { data } = await adminHttp.post<{ token: string }>(`/members/${id}/token`); return data; }