export async function listSprintsFunc()

in operations/projex/sprint.ts [22:61]


export async function listSprintsFunc(
  organizationId: string,
  id: string,
  status?: string,
  page?: number,
  perPage?: number
): Promise<z.infer<typeof SprintInfoSchema>[]> {
  const baseUrl = `/oapi/v1/projex/organizations/${organizationId}/projects/${id}/sprints`;

  // Build query parameters
  const queryParams: Record<string, string | number | undefined> = {};

  // Add optional parameters
  if (status !== undefined) {
    queryParams.status = status;
  }

  if (page !== undefined) {
    queryParams.page = page;
  }

  if (perPage !== undefined) {
    queryParams.perPage = perPage;
  }

  // Use buildUrl function to construct URL with query parameters
  const url = buildUrl(baseUrl, queryParams);

  const response = await yunxiaoRequest(url, {
    method: "GET",
  });

  // Ensure response is an array
  if (!Array.isArray(response)) {
    return [];
  }

  // Parse each sprint object
  return response.map(sprint => SprintInfoSchema.parse(sprint));
}