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

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

import {
  zDeleteAuthPluginDatasourceByProviderIdCustomClientPath,
  zDeleteAuthPluginDatasourceByProviderIdCustomClientResponse,
  zGetAuthPluginDatasourceByProviderIdPath,
  zGetAuthPluginDatasourceByProviderIdResponse,
  zGetAuthPluginDatasourceDefaultListResponse,
  zGetAuthPluginDatasourceListResponse,
  zPostAuthPluginDatasourceByProviderIdBody,
  zPostAuthPluginDatasourceByProviderIdCustomClientBody,
  zPostAuthPluginDatasourceByProviderIdCustomClientPath,
  zPostAuthPluginDatasourceByProviderIdCustomClientResponse,
  zPostAuthPluginDatasourceByProviderIdDefaultBody,
  zPostAuthPluginDatasourceByProviderIdDefaultPath,
  zPostAuthPluginDatasourceByProviderIdDefaultResponse,
  zPostAuthPluginDatasourceByProviderIdDeleteBody,
  zPostAuthPluginDatasourceByProviderIdDeletePath,
  zPostAuthPluginDatasourceByProviderIdDeleteResponse,
  zPostAuthPluginDatasourceByProviderIdPath,
  zPostAuthPluginDatasourceByProviderIdResponse,
  zPostAuthPluginDatasourceByProviderIdUpdateBody,
  zPostAuthPluginDatasourceByProviderIdUpdateNameBody,
  zPostAuthPluginDatasourceByProviderIdUpdateNamePath,
  zPostAuthPluginDatasourceByProviderIdUpdateNameResponse,
  zPostAuthPluginDatasourceByProviderIdUpdatePath,
  zPostAuthPluginDatasourceByProviderIdUpdateResponse,
} 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: 'getAuthPluginDatasourceDefaultList',
    path: '/auth/plugin/datasource/default-list',
    tags: ['console'],
  })
  .output(zGetAuthPluginDatasourceDefaultListResponse)

export const defaultList = {
  get,
}

/**
 * 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: 'getAuthPluginDatasourceList',
    path: '/auth/plugin/datasource/list',
    tags: ['console'],
  })
  .output(zGetAuthPluginDatasourceListResponse)

export const list = {
  get: get2,
}

export const delete_ = oc
  .route({
    inputStructure: 'detailed',
    method: 'DELETE',
    operationId: 'deleteAuthPluginDatasourceByProviderIdCustomClient',
    path: '/auth/plugin/datasource/{provider_id}/custom-client',
    tags: ['console'],
  })
  .input(z.object({ params: zDeleteAuthPluginDatasourceByProviderIdCustomClientPath }))
  .output(zDeleteAuthPluginDatasourceByProviderIdCustomClientResponse)

/**
 * 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 post = 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: 'POST',
    operationId: 'postAuthPluginDatasourceByProviderIdCustomClient',
    path: '/auth/plugin/datasource/{provider_id}/custom-client',
    tags: ['console'],
  })
  .input(
    z.object({
      body: zPostAuthPluginDatasourceByProviderIdCustomClientBody,
      params: zPostAuthPluginDatasourceByProviderIdCustomClientPath,
    }),
  )
  .output(zPostAuthPluginDatasourceByProviderIdCustomClientResponse)

export const customClient = {
  delete: delete_,
  post,
}

export const post2 = oc
  .route({
    inputStructure: 'detailed',
    method: 'POST',
    operationId: 'postAuthPluginDatasourceByProviderIdDefault',
    path: '/auth/plugin/datasource/{provider_id}/default',
    tags: ['console'],
  })
  .input(
    z.object({
      body: zPostAuthPluginDatasourceByProviderIdDefaultBody,
      params: zPostAuthPluginDatasourceByProviderIdDefaultPath,
    }),
  )
  .output(zPostAuthPluginDatasourceByProviderIdDefaultResponse)

export const default_ = {
  post: post2,
}

export const post3 = oc
  .route({
    inputStructure: 'detailed',
    method: 'POST',
    operationId: 'postAuthPluginDatasourceByProviderIdDelete',
    path: '/auth/plugin/datasource/{provider_id}/delete',
    tags: ['console'],
  })
  .input(
    z.object({
      body: zPostAuthPluginDatasourceByProviderIdDeleteBody,
      params: zPostAuthPluginDatasourceByProviderIdDeletePath,
    }),
  )
  .output(zPostAuthPluginDatasourceByProviderIdDeleteResponse)

export const delete2 = {
  post: post3,
}

/**
 * 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 post4 = 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: 'POST',
    operationId: 'postAuthPluginDatasourceByProviderIdUpdate',
    path: '/auth/plugin/datasource/{provider_id}/update',
    tags: ['console'],
  })
  .input(
    z.object({
      body: zPostAuthPluginDatasourceByProviderIdUpdateBody,
      params: zPostAuthPluginDatasourceByProviderIdUpdatePath,
    }),
  )
  .output(zPostAuthPluginDatasourceByProviderIdUpdateResponse)

export const update = {
  post: post4,
}

export const post5 = oc
  .route({
    inputStructure: 'detailed',
    method: 'POST',
    operationId: 'postAuthPluginDatasourceByProviderIdUpdateName',
    path: '/auth/plugin/datasource/{provider_id}/update-name',
    tags: ['console'],
  })
  .input(
    z.object({
      body: zPostAuthPluginDatasourceByProviderIdUpdateNameBody,
      params: zPostAuthPluginDatasourceByProviderIdUpdateNamePath,
    }),
  )
  .output(zPostAuthPluginDatasourceByProviderIdUpdateNameResponse)

export const updateName = {
  post: post5,
}

/**
 * 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 get3 = 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: 'getAuthPluginDatasourceByProviderId',
    path: '/auth/plugin/datasource/{provider_id}',
    tags: ['console'],
  })
  .input(z.object({ params: zGetAuthPluginDatasourceByProviderIdPath }))
  .output(zGetAuthPluginDatasourceByProviderIdResponse)

/**
 * 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 post6 = 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: 'POST',
    operationId: 'postAuthPluginDatasourceByProviderId',
    path: '/auth/plugin/datasource/{provider_id}',
    tags: ['console'],
  })
  .input(
    z.object({
      body: zPostAuthPluginDatasourceByProviderIdBody,
      params: zPostAuthPluginDatasourceByProviderIdPath,
    }),
  )
  .output(zPostAuthPluginDatasourceByProviderIdResponse)

export const byProviderId = {
  get: get3,
  post: post6,
  customClient,
  default: default_,
  delete: delete2,
  update,
  updateName,
}

export const datasource = {
  defaultList,
  list,
  byProviderId,
}

export const plugin = {
  datasource,
}

export const auth = {
  plugin,
}

export const contract = {
  auth,
}
