40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
// ============================================================================
|
|
// Workspace Members API
|
|
// ============================================================================
|
|
|
|
import { api } from "./client";
|
|
import type {
|
|
WorkspaceMember,
|
|
UpdatePermissionsRequest,
|
|
PaginatedResponse,
|
|
PaginationParams,
|
|
} from "@/lib/types/api";
|
|
|
|
export const membersApi = {
|
|
/**
|
|
* Get list of workspace members
|
|
*/
|
|
list: (workspaceId: string, params?: PaginationParams) =>
|
|
api.get<PaginatedResponse<WorkspaceMember>>(
|
|
`/workspaces/${workspaceId}/members`,
|
|
{ params }
|
|
),
|
|
|
|
/**
|
|
* Update member permissions
|
|
* @param workspaceId - workspace id
|
|
* @param workspaceUserId - workspace_user.id (not user.id!)
|
|
* @param data - permissions to update
|
|
*/
|
|
updatePermissions: (
|
|
workspaceId: string,
|
|
workspaceUserId: string,
|
|
data: UpdatePermissionsRequest
|
|
) =>
|
|
api.put<WorkspaceMember>(
|
|
`/workspaces/${workspaceId}/members/${workspaceUserId}/permissions`,
|
|
data
|
|
),
|
|
};
|
|
|