/**
 * Generated by orval v8.23.0 🍺
 * Do not edit manually.
 * FastAPI
 * OpenAPI spec version: v2.2.0
 */
import * as zod from 'zod';


/**
 * Get all game pieces on the server
 *
 * Returns:
 *     list[GamepieceResponse]: A list of all game pieces
 * @summary Get Gamepieces
 */
export const GetGamepiecesGamepiecesGetResponseItem = zod.object({
  "uuid": zod.uuid(),
  "season": zod.uuid(),
  "name": zod.string(),
  "created_at": zod.iso.datetime({"offset":true})
})
export const GetGamepiecesGamepiecesGetResponse = zod.array(GetGamepiecesGamepiecesGetResponseItem)

/**
 * Create a new game piece
 *
 * Requires superuser access
 *
 * Parameters:
 *     data (GamepieceRequest): The data to create the game piece
 *
 * Returns:
 *     `GamepieceResponse`: The created game piece
 * @summary Create Gamepiece
 */
export const CreateGamepieceGamepiecesCreatePostBody = zod.object({
  "season_uuid": zod.uuid(),
  "name": zod.string()
})

export const CreateGamepieceGamepiecesCreatePostResponse = zod.object({
  "uuid": zod.uuid(),
  "season": zod.uuid(),
  "name": zod.string(),
  "created_at": zod.iso.datetime({"offset":true})
})

/**
 * Get all game pieces for a season
 *
 * Parameters:
 *     season_uuid (`UUID`): The UUID of the season to get game pieces for
 *
 * Returns:
 *     list[GamepieceResponse]: A list of all game pieces for the season
 * @summary Get Season Gamepieces
 */
export const GetSeasonGamepiecesGamepiecesSeasonSeasonUuidGetParams = zod.object({
  "season_uuid": zod.uuid()
})

export const GetSeasonGamepiecesGamepiecesSeasonSeasonUuidGetResponseItem = zod.object({
  "uuid": zod.uuid(),
  "season": zod.uuid(),
  "name": zod.string(),
  "created_at": zod.iso.datetime({"offset":true})
})
export const GetSeasonGamepiecesGamepiecesSeasonSeasonUuidGetResponse = zod.array(GetSeasonGamepiecesGamepiecesSeasonSeasonUuidGetResponseItem)

/**
 * Delete a game piece
 *
 * Requires superuser access
 *
 * Parameters:
 *     gamepiece_uuid (`UUID`): The UUID of the game piece to delete
 *
 * Returns:
 *     `MessageResponse`: A message indicating that the game piece was deleted
 * @summary Delete Gamepiece
 */
export const DeleteGamepieceGamepiecesDeleteGamepieceUuidDeleteParams = zod.object({
  "gamepiece_uuid": zod.string()
})

export const DeleteGamepieceGamepiecesDeleteGamepieceUuidDeleteResponse = zod.object({
  "message": zod.string()
})

