// This file is auto-generated by @hey-api/openapi-ts

import { oc } from '@orpc/contract'
import * as z from 'zod'

import {
  zGetDataSourceIntegratesByBindingIdByActionPath,
  zGetDataSourceIntegratesByBindingIdByActionResponse,
  zGetDataSourceIntegratesResponse,
  zPatchDataSourceIntegratesByBindingIdByActionPath,
  zPatchDataSourceIntegratesByBindingIdByActionResponse,
  zPatchDataSourceIntegratesResponse,
} from './zod.gen'

/**
 * Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
 *
 * @deprecated
 */
export const get = oc
  .route({
    deprecated: true,
    description:
      'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
    inputStructure: 'detailed',
    method: 'GET',
    operationId: 'getDataSourceIntegratesByBindingIdByAction',
    path: '/data-source/integrates/{binding_id}/{action}',
    tags: ['console'],
  })
  .input(z.object({ params: zGetDataSourceIntegratesByBindingIdByActionPath }))
  .output(zGetDataSourceIntegratesByBindingIdByActionResponse)

export const patch = oc
  .route({
    inputStructure: 'detailed',
    method: 'PATCH',
    operationId: 'patchDataSourceIntegratesByBindingIdByAction',
    path: '/data-source/integrates/{binding_id}/{action}',
    tags: ['console'],
  })
  .input(z.object({ params: zPatchDataSourceIntegratesByBindingIdByActionPath }))
  .output(zPatchDataSourceIntegratesByBindingIdByActionResponse)

export const byAction = {
  get,
  patch,
}

export const byBindingId = {
  byAction,
}

/**
 * Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
 *
 * @deprecated
 */
export const get2 = oc
  .route({
    deprecated: true,
    description:
      'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
    inputStructure: 'detailed',
    method: 'GET',
    operationId: 'getDataSourceIntegrates',
    path: '/data-source/integrates',
    tags: ['console'],
  })
  .output(zGetDataSourceIntegratesResponse)

export const patch2 = oc
  .route({
    inputStructure: 'detailed',
    method: 'PATCH',
    operationId: 'patchDataSourceIntegrates',
    path: '/data-source/integrates',
    tags: ['console'],
  })
  .output(zPatchDataSourceIntegratesResponse)

export const integrates = {
  get: get2,
  patch: patch2,
  byBindingId,
}

export const dataSource = {
  integrates,
}

export const contract = {
  dataSource,
}
