feat: ui updates
This commit is contained in:
@@ -5,15 +5,46 @@
|
||||
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) =>
|
||||
list: (workspaceId: string, params?: PaginationParams & { include_archived?: boolean }) =>
|
||||
api.get<PaginatedResponse<Project>>(
|
||||
`/workspaces/${workspaceId}/projects`,
|
||||
{ params }
|
||||
),
|
||||
|
||||
/**
|
||||
* Update project invite link type default
|
||||
*/
|
||||
updateInviteLinkType: (
|
||||
workspaceId: string,
|
||||
projectId: string,
|
||||
data: UpdateProjectInviteLinkTypeRequest
|
||||
) =>
|
||||
api.patch<Project>(
|
||||
`/workspaces/${workspaceId}/projects/${projectId}/invite-link-type`,
|
||||
data
|
||||
),
|
||||
|
||||
/**
|
||||
* Archive project
|
||||
*/
|
||||
archive: (workspaceId: string, projectId: string) =>
|
||||
api.post<Project>(
|
||||
`/workspaces/${workspaceId}/projects/${projectId}/archive`
|
||||
),
|
||||
|
||||
/**
|
||||
* Delete project (soft delete)
|
||||
*/
|
||||
delete: (workspaceId: string, projectId: string) =>
|
||||
api.delete(`/workspaces/${workspaceId}/projects/${projectId}`),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user