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

import { oc } from '@orpc/contract'
import { zGetSystemFeaturesLicenseResponse, zGetSystemFeaturesResponse } from './zod.gen'

/**
 * Get full license detail (status, expiry, workspace/seat usage)
 *
 * Get license status and usage detail
 * Authenticated counterpart to the license *status* exposed on the public
 * system-features endpoint.
 */
export const get = oc
  .route({
    description:
      'Get license status and usage detail\nAuthenticated counterpart to the license *status* exposed on the public\nsystem-features endpoint.',
    inputStructure: 'detailed',
    method: 'GET',
    operationId: 'getSystemFeaturesLicense',
    path: '/system-features/license',
    summary: 'Get full license detail (status, expiry, workspace/seat usage)',
    tags: ['console'],
  })
  .output(zGetSystemFeaturesLicenseResponse)

export const license = {
  get,
}

/**
 * Get the non-sensitive bootstrap snapshot exposed before authentication
 *
 * Get the non-sensitive bootstrap snapshot exposed before Console or Web authentication. This is not a general feature registry.
 * Authentication configuration must be available before the authentication flow can be selected.
 * Authenticated license detail is served separately by SystemFeatureLicenseApi.
 */
export const get2 = oc
  .route({
    description:
      'Get the non-sensitive bootstrap snapshot exposed before Console or Web authentication. This is not a general feature registry.\nAuthentication configuration must be available before the authentication flow can be selected.\nAuthenticated license detail is served separately by SystemFeatureLicenseApi.',
    inputStructure: 'detailed',
    method: 'GET',
    operationId: 'getSystemFeatures',
    path: '/system-features',
    summary: 'Get the non-sensitive bootstrap snapshot exposed before authentication',
    tags: ['console'],
  })
  .output(zGetSystemFeaturesResponse)

export const systemFeatures = {
  get: get2,
  license,
}

export const contract = {
  systemFeatures,
}
