Files
medusa-store/packages/admin-next/dashboard/src/lib/client/api-keys.ts
Oli Juhl 5724d80286 feat: Bring back API key sales channel management (#6976)
- Add API key sales channel management
- Add HTTP responses for API keys and sales channels
- Use HTTP responses in `dashboard` and remove now redundant types
2024-04-06 16:30:27 +00:00

60 lines
1.8 KiB
TypeScript

import { AdminApiKeyListResponse, AdminApiKeyResponse } from "@medusajs/types"
import { CreateApiKeyReq, UpdateApiKeyReq } from "../../types/api-payloads"
import { ApiKeyDeleteRes } from "../../types/api-responses"
import { deleteRequest, getRequest, postRequest } from "./common"
const retrieveApiKey = async (id: string, query?: Record<string, any>) => {
return getRequest<AdminApiKeyResponse>(`/admin/api-keys/${id}`, query)
}
const listApiKeys = async (query?: Record<string, any>) => {
return getRequest<AdminApiKeyListResponse>(`/admin/api-keys`, query)
}
const deleteApiKey = async (id: string) => {
return deleteRequest<ApiKeyDeleteRes>(`/admin/api-keys/${id}`)
}
const revokeApiKey = async (id: string) => {
return postRequest<AdminApiKeyResponse>(`/admin/api-keys/${id}/revoke`)
}
const createApiKey = async (payload: CreateApiKeyReq) => {
return postRequest<AdminApiKeyResponse>(`/admin/api-keys`, payload)
}
const updateApiKey = async (id: string, payload: UpdateApiKeyReq) => {
return postRequest<AdminApiKeyResponse>(`/admin/api-keys/${id}`, payload)
}
const batchRemoveSalesChannelsFromApiKey = async (
id: string,
payload: { sales_channel_ids: string[] }
) => {
return postRequest<AdminApiKeyResponse>(
`/admin/api-keys/${id}/sales-channels/batch/remove`,
payload
)
}
const batchAddSalesChannelsFromApiKey = async (
id: string,
payload: { sales_channel_ids: string[] }
) => {
return postRequest<AdminApiKeyResponse>(
`/admin/api-keys/${id}/sales-channels/batch/add`,
payload
)
}
export const apiKeys = {
retrieve: retrieveApiKey,
list: listApiKeys,
delete: deleteApiKey,
create: createApiKey,
update: updateApiKey,
revoke: revokeApiKey,
batchRemoveSalesChannels: batchRemoveSalesChannelsFromApiKey,
batchAddSalesChannels: batchAddSalesChannelsFromApiKey,
}