// ============================================================================ // Projects API (Target Channels) // ============================================================================ import { api } from "./client"; import type { Project, PaginatedResponse, PaginationParams } from "@/lib/types/api"; export interface UpdateProjectInviteLinkTypeRequest { purchase_invite_type_default: "public" | "approval"; } export const projectsApi = { /** * Get list of projects for workspace * Projects are created via Telegram bot (add/remove channel) */ list: (workspaceId: string, params?: PaginationParams & { include_archived?: boolean }) => api.get>( `/workspaces/${workspaceId}/projects`, { params } ), /** * Update project invite link type default */ updateInviteLinkType: ( workspaceId: string, projectId: string, data: UpdateProjectInviteLinkTypeRequest ) => api.patch( `/workspaces/${workspaceId}/projects/${projectId}/invite-link-type`, data ), /** * Archive project */ archive: (workspaceId: string, projectId: string) => api.post( `/workspaces/${workspaceId}/projects/${projectId}/archive` ), /** * Delete project (soft delete) */ delete: (workspaceId: string, projectId: string) => api.delete(`/workspaces/${workspaceId}/projects/${projectId}`), };