/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v3";

export type GetDeploymentFileContentsRequest = {
  /**
   * The unique deployment identifier
   */
  id: string;
  /**
   * The unique file identifier
   */
  fileId: string;
  /**
   * Path to the file to fetch (only for Git deployments)
   */
  path?: string | undefined;
  /**
   * The Team identifier to perform the request on behalf of.
   */
  teamId?: string | undefined;
  /**
   * The Team slug to perform the request on behalf of.
   */
  slug?: string | undefined;
};

/** @internal */
export type GetDeploymentFileContentsRequest$Outbound = {
  id: string;
  fileId: string;
  path?: string | undefined;
  teamId?: string | undefined;
  slug?: string | undefined;
};

/** @internal */
export const GetDeploymentFileContentsRequest$outboundSchema: z.ZodType<
  GetDeploymentFileContentsRequest$Outbound,
  z.ZodTypeDef,
  GetDeploymentFileContentsRequest
> = z.object({
  id: z.string(),
  fileId: z.string(),
  path: z.string().optional(),
  teamId: z.string().optional(),
  slug: z.string().optional(),
});

export function getDeploymentFileContentsRequestToJSON(
  getDeploymentFileContentsRequest: GetDeploymentFileContentsRequest,
): string {
  return JSON.stringify(
    GetDeploymentFileContentsRequest$outboundSchema.parse(
      getDeploymentFileContentsRequest,
    ),
  );
}
