import { apiRequest } from '@/shared/api/client' import type { AvailableInboundDto, ConfigLinkDto, GetMyConfigsResult, MySubscriptionDto, VpnConfigDto, } from '@/shared/api/types' export function listAvailableInbounds() { return apiRequest('/inbounds/available') } export function getMyConfigs() { return apiRequest('/configs') } export function createConfig(inboundId: string, label: string | undefined, deviceLimit: number | undefined) { return apiRequest('/configs', { method: 'POST', body: { inboundId, label: label ?? null, deviceLimit: deviceLimit ?? null }, }) } export function editConfig(id: string, label: string | undefined, deviceLimit: number | undefined) { return apiRequest(`/configs/${id}`, { method: 'PATCH', body: { label: label ?? null, deviceLimit: deviceLimit ?? null }, }) } export function rotateConfig(id: string) { return apiRequest(`/configs/${id}/rotate`, { method: 'POST' }) } export function revokeConfig(id: string) { return apiRequest(`/configs/${id}`, { method: 'DELETE' }) } export function getConfigLink(id: string) { return apiRequest(`/configs/${id}/link`) } export function getMySubscription() { return apiRequest('/subscription') }