export async function createBranchFunc()

in operations/codeup/branches.ts [27:60]


export async function createBranchFunc(
    organizationId: string,
    repositoryId: string,
    branch: string,
    ref: string = "master"
): Promise<z.infer<typeof CodeupBranchSchema>>{
  // Automatically handle unencoded slashes in repositoryId
  if (repositoryId.includes("/")) {
    // Found unencoded slash, automatically URL encode it
    const parts = repositoryId.split("/", 2);
    if (parts.length === 2) {
      const encodedRepoName = encodeURIComponent(parts[1]);
      // Remove + signs from encoding (spaces are encoded as +, but we need %20)
      const formattedEncodedName = encodedRepoName.replace(/\+/g, "%20");
      repositoryId = `${parts[0]}%2F${formattedEncodedName}`;
    }
  }

  const baseUrl = `/oapi/v1/codeup/organizations/${organizationId}/repositories/${repositoryId}/branches`;

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

  const url = buildUrl(baseUrl, queryParams);
  console.error("createBranchFunc url:" + url);

  const response = await yunxiaoRequest(url, {
    method: "POST",
  });
  return CodeupBranchSchema.parse(response);
}