/**
 * Generated by orval v8.23.0 🍺
 * Do not edit manually.
 * FastAPI
 * OpenAPI spec version: v2.2.0
 */
import type {
  HTTPValidationError,
  MessageResponse,
  MyDataResponse
} from '../model';

import { customInstance } from '.././client';

export type getMyDataProfileMyDataGetResponse200 = {
  data: MyDataResponse[]
  status: 200
}

export type getMyDataProfileMyDataGetResponseSuccess = (getMyDataProfileMyDataGetResponse200) & {
  headers: Headers;
};
;

export type getMyDataProfileMyDataGetResponse = (getMyDataProfileMyDataGetResponseSuccess)

export const getGetMyDataProfileMyDataGetUrl = () => {




  return `/profile/my_data`
}

/**
 * Return data that the user has submitted
 *
 * This includes MatchScoutingSubmission, MatchScoutingAnswer, TeamPit, PitScoutingAnswer end Event models created by the user
 *
 * First, get every MatchScoutingSubmission, MatchScoutingAnswer, TeamPit, PitScoutingAnswer and
 *     Event model that has a created_by session that is owned by the user
 *
 * Returns:
 *     list[MyDataResponse]: A list of data that the user has submitted
 * @summary Get My Data
 */
export const getMyDataProfileMyDataGet = async ( options?: Parameters<typeof customInstance>[1]): Promise<getMyDataProfileMyDataGetResponse> => {

  return customInstance<getMyDataProfileMyDataGetResponse>(getGetMyDataProfileMyDataGetUrl(),
  {
    ...options,
    method: 'GET'


  }
);}


export type deleteMyDataProfileDeleteTypeUuidDeleteResponse200 = {
  data: MessageResponse
  status: 200
}

export type deleteMyDataProfileDeleteTypeUuidDeleteResponse422 = {
  data: HTTPValidationError
  status: 422
}

export type deleteMyDataProfileDeleteTypeUuidDeleteResponseSuccess = (deleteMyDataProfileDeleteTypeUuidDeleteResponse200) & {
  headers: Headers;
};
export type deleteMyDataProfileDeleteTypeUuidDeleteResponseError = (deleteMyDataProfileDeleteTypeUuidDeleteResponse422) & {
  headers: Headers;
};

export type deleteMyDataProfileDeleteTypeUuidDeleteResponse = (deleteMyDataProfileDeleteTypeUuidDeleteResponseSuccess | deleteMyDataProfileDeleteTypeUuidDeleteResponseError)

export const getDeleteMyDataProfileDeleteTypeUuidDeleteUrl = (type: 'match_scouting_submission' | 'match_scouting_answer' | 'team_pit' | 'pit_scouting_answer' | 'event',
    uuid: string,) => {




  return `/profile/delete/${type}/${uuid}`
}

/**
 * Given type and uuid, delete the data that the user has submitted
 *
 * Ensure that the user has created the data before deleting it
 *
 * Parameters:
 *     type (MyDataTypes): The type of data to delete
 *     uuid (UUID): The uuid of the data to delete
 *
 * Returns:
 *     MessageResponse: A message indicating that the data was deleted
 * @summary Delete My Data
 */
export const deleteMyDataProfileDeleteTypeUuidDelete = async (type: 'match_scouting_submission' | 'match_scouting_answer' | 'team_pit' | 'pit_scouting_answer' | 'event',
    uuid: string, options?: Parameters<typeof customInstance>[1]): Promise<deleteMyDataProfileDeleteTypeUuidDeleteResponse> => {

  return customInstance<deleteMyDataProfileDeleteTypeUuidDeleteResponse>(getDeleteMyDataProfileDeleteTypeUuidDeleteUrl(type,uuid),
  {
    ...options,
    method: 'DELETE'


  }
);}


