53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
// ============================================================================
|
|
// External Channels API
|
|
// ============================================================================
|
|
|
|
import { api } from "./client";
|
|
import type {
|
|
ExternalChannel,
|
|
ExternalChannelsListResponse,
|
|
ExternalChannelCreateRequest,
|
|
ExternalChannelUpdateRequest,
|
|
ExternalChannelLinksUpdateRequest,
|
|
SuccessResponse,
|
|
} from "@/lib/types/api";
|
|
|
|
export const externalChannelsApi = {
|
|
/**
|
|
* Get list of external channels for target channel
|
|
* GET /api/v1/external_channels/target/{target_channel_id}
|
|
*/
|
|
list: (targetChannelId: string) =>
|
|
api.get<ExternalChannelsListResponse>(
|
|
`/external_channels/target/${targetChannelId}`
|
|
),
|
|
|
|
/**
|
|
* Create new external channel
|
|
* POST /api/v1/external_channels
|
|
*/
|
|
create: (data: ExternalChannelCreateRequest) =>
|
|
api.post<ExternalChannel>("/external_channels", data),
|
|
|
|
/**
|
|
* Update external channel
|
|
* PATCH /api/v1/external_channels/{channel_id}
|
|
*/
|
|
update: (id: string, data: ExternalChannelUpdateRequest) =>
|
|
api.patch<ExternalChannel>(`/external_channels/${id}`, data),
|
|
|
|
/**
|
|
* Update external channel links
|
|
* PATCH /api/v1/external_channels/{channel_id}/links
|
|
*/
|
|
updateLinks: (id: string, data: ExternalChannelLinksUpdateRequest) =>
|
|
api.patch<ExternalChannel>(`/external_channels/${id}/links`, data),
|
|
|
|
/**
|
|
* Delete external channel
|
|
* DELETE /api/v1/external_channels/{channel_id}
|
|
*/
|
|
delete: (id: string) =>
|
|
api.delete<SuccessResponse>(`/external_channels/${id}`),
|
|
};
|