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


/**
 * Submit a match scouting form
 *
 * Will create a MatchScoutingSubmission for each submission, and then create a MatchScoutingAnswer for each field answer
 *
 * Parameters:
 *     data (MatchScoutingRequest): The data to submit the match scouting form
 *
 * Returns:
 *     `MatchScoutingSubmission`: The submitted match scouting form
 * @summary Submit Match Scouting
 */
export const SubmitMatchScoutingScoutingSubmitPostBody = zod.object({
  "submission_uuid": zod.uuid(),
  "fields": zod.record(zod.string(), zod.unknown()),
  "user_uuid": zod.union([zod.uuid(),zod.string()]),
  "year": zod.int(),
  "team_number": zod.int(),
  "match_number": zod.int(),
  "match_type": zod.string(),
  "event_code": zod.string(),
  "event_name": zod.string(),
  "event_type": zod.string(),
  "event_city": zod.string(),
  "event_country": zod.string(),
  "event_start_date": zod.string(),
  "event_end_date": zod.string()
})

export const SubmitMatchScoutingScoutingSubmitPostResponse = zod.object({
  "uuid": zod.uuid(),
  "user": zod.union([zod.uuid(),zod.null()]),
  "event": zod.uuid(),
  "team_number": zod.int(),
  "match_number": zod.int(),
  "match_type": zod.string(),
  "created_at": zod.iso.datetime({"offset":true})
})

/**
 * Get all match scouting submissions
 *
 * Requires superuser access
 *
 * Returns:
 *     list[SubmissionResponse]: A list of all match scouting submissions
 * @summary Get Match Scouting Submissions
 */
export const GetMatchScoutingSubmissionsScoutingSubmissionsGetResponseItem = zod.object({
  "uuid": zod.uuid(),
  "event_name": zod.string(),
  "event_code": zod.string(),
  "team_number": zod.int(),
  "match_number": zod.int(),
  "match_type": zod.string(),
  "answers": zod.int(),
  "created_at": zod.iso.datetime({"offset":true})
})
export const GetMatchScoutingSubmissionsScoutingSubmissionsGetResponse = zod.array(GetMatchScoutingSubmissionsScoutingSubmissionsGetResponseItem)

/**
 * Delete a match scouting submission
 *
 * Requires superuser access
 *
 * Parameters:
 *     submission_uuid (`UUID`): The UUID of the submission to delete
 *
 * Returns:
 *     MessageResponse: A message indicating that the submission was deleted
 * @summary Delete Match Scouting Submission
 */
export const DeleteMatchScoutingSubmissionScoutingSubmissionsDeleteSubmissionUuidDeleteParams = zod.object({
  "submission_uuid": zod.uuid()
})

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

