feat: update API documentation and OpenAPI integration

- Refactored API documentation generation to utilize the new `fumadocs-openapi` features, including improved error handling and output structure.
- Replaced the Authorization security scheme with x-api-key for enhanced API key authentication.
- Added new MDX files for various API endpoints, ensuring comprehensive documentation coverage.
- Updated the OpenAPI specification to reflect the latest changes in security definitions and response schemas.
- Enhanced the documentation generation script to streamline the process and ensure consistency.
This commit is contained in:
Mauricio Siu
2025-12-07 06:05:00 -06:00
parent 55b254da6d
commit baaf062975
41 changed files with 2657 additions and 408 deletions

View File

@@ -0,0 +1,19 @@
---
title: Admin
full: true
_openapi:
method: POST
toc:
- depth: 2
title: Admin setup Monitoring
url: '#admin-setup-monitoring'
structuredData:
headings:
- content: Admin setup Monitoring
id: admin-setup-monitoring
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/admin.setupMonitoring","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,58 @@
---
title: Ai
full: true
_openapi:
toc:
- depth: 2
title: Ai one
url: '#ai-one'
- depth: 2
title: Ai get Models
url: '#ai-get-models'
- depth: 2
title: Ai create
url: '#ai-create'
- depth: 2
title: Ai update
url: '#ai-update'
- depth: 2
title: Ai get All
url: '#ai-get-all'
- depth: 2
title: Ai get
url: '#ai-get'
- depth: 2
title: Ai delete
url: '#ai-delete'
- depth: 2
title: Ai suggest
url: '#ai-suggest'
- depth: 2
title: Ai deploy
url: '#ai-deploy'
structuredData:
headings:
- content: Ai one
id: ai-one
- content: Ai get Models
id: ai-get-models
- content: Ai create
id: ai-create
- content: Ai update
id: ai-update
- content: Ai get All
id: ai-get-all
- content: Ai get
id: ai-get
- content: Ai delete
id: ai-delete
- content: Ai suggest
id: ai-suggest
- content: Ai deploy
id: ai-deploy
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/ai.one","method":"get"},{"path":"/ai.getModels","method":"get"},{"path":"/ai.create","method":"post"},{"path":"/ai.update","method":"post"},{"path":"/ai.getAll","method":"get"},{"path":"/ai.get","method":"get"},{"path":"/ai.delete","method":"post"},{"path":"/ai.suggest","method":"post"},{"path":"/ai.deploy","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,148 @@
---
title: Application
full: true
_openapi:
toc:
- depth: 2
title: Application create
url: '#application-create'
- depth: 2
title: Application one
url: '#application-one'
- depth: 2
title: Application reload
url: '#application-reload'
- depth: 2
title: Application delete
url: '#application-delete'
- depth: 2
title: Application stop
url: '#application-stop'
- depth: 2
title: Application start
url: '#application-start'
- depth: 2
title: Application redeploy
url: '#application-redeploy'
- depth: 2
title: Application save Environment
url: '#application-save-environment'
- depth: 2
title: Application save Build Type
url: '#application-save-build-type'
- depth: 2
title: Application save Github Provider
url: '#application-save-github-provider'
- depth: 2
title: Application save Gitlab Provider
url: '#application-save-gitlab-provider'
- depth: 2
title: Application save Bitbucket Provider
url: '#application-save-bitbucket-provider'
- depth: 2
title: Application save Gitea Provider
url: '#application-save-gitea-provider'
- depth: 2
title: Application save Docker Provider
url: '#application-save-docker-provider'
- depth: 2
title: Application save Git Provider
url: '#application-save-git-provider'
- depth: 2
title: Application disconnect Git Provider
url: '#application-disconnect-git-provider'
- depth: 2
title: Application mark Running
url: '#application-mark-running'
- depth: 2
title: Application update
url: '#application-update'
- depth: 2
title: Application refresh Token
url: '#application-refresh-token'
- depth: 2
title: Application deploy
url: '#application-deploy'
- depth: 2
title: Application clean Queues
url: '#application-clean-queues'
- depth: 2
title: Application kill Build
url: '#application-kill-build'
- depth: 2
title: Application read Traefik Config
url: '#application-read-traefik-config'
- depth: 2
title: Application update Traefik Config
url: '#application-update-traefik-config'
- depth: 2
title: Application read App Monitoring
url: '#application-read-app-monitoring'
- depth: 2
title: Application move
url: '#application-move'
- depth: 2
title: Application cancel Deployment
url: '#application-cancel-deployment'
structuredData:
headings:
- content: Application create
id: application-create
- content: Application one
id: application-one
- content: Application reload
id: application-reload
- content: Application delete
id: application-delete
- content: Application stop
id: application-stop
- content: Application start
id: application-start
- content: Application redeploy
id: application-redeploy
- content: Application save Environment
id: application-save-environment
- content: Application save Build Type
id: application-save-build-type
- content: Application save Github Provider
id: application-save-github-provider
- content: Application save Gitlab Provider
id: application-save-gitlab-provider
- content: Application save Bitbucket Provider
id: application-save-bitbucket-provider
- content: Application save Gitea Provider
id: application-save-gitea-provider
- content: Application save Docker Provider
id: application-save-docker-provider
- content: Application save Git Provider
id: application-save-git-provider
- content: Application disconnect Git Provider
id: application-disconnect-git-provider
- content: Application mark Running
id: application-mark-running
- content: Application update
id: application-update
- content: Application refresh Token
id: application-refresh-token
- content: Application deploy
id: application-deploy
- content: Application clean Queues
id: application-clean-queues
- content: Application kill Build
id: application-kill-build
- content: Application read Traefik Config
id: application-read-traefik-config
- content: Application update Traefik Config
id: application-update-traefik-config
- content: Application read App Monitoring
id: application-read-app-monitoring
- content: Application move
id: application-move
- content: Application cancel Deployment
id: application-cancel-deployment
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/application.create","method":"post"},{"path":"/application.one","method":"get"},{"path":"/application.reload","method":"post"},{"path":"/application.delete","method":"post"},{"path":"/application.stop","method":"post"},{"path":"/application.start","method":"post"},{"path":"/application.redeploy","method":"post"},{"path":"/application.saveEnvironment","method":"post"},{"path":"/application.saveBuildType","method":"post"},{"path":"/application.saveGithubProvider","method":"post"},{"path":"/application.saveGitlabProvider","method":"post"},{"path":"/application.saveBitbucketProvider","method":"post"},{"path":"/application.saveGiteaProvider","method":"post"},{"path":"/application.saveDockerProvider","method":"post"},{"path":"/application.saveGitProvider","method":"post"},{"path":"/application.disconnectGitProvider","method":"post"},{"path":"/application.markRunning","method":"post"},{"path":"/application.update","method":"post"},{"path":"/application.refreshToken","method":"post"},{"path":"/application.deploy","method":"post"},{"path":"/application.cleanQueues","method":"post"},{"path":"/application.killBuild","method":"post"},{"path":"/application.readTraefikConfig","method":"get"},{"path":"/application.updateTraefikConfig","method":"post"},{"path":"/application.readAppMonitoring","method":"get"},{"path":"/application.move","method":"post"},{"path":"/application.cancelDeployment","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,68 @@
---
title: Backup
full: true
_openapi:
toc:
- depth: 2
title: Backup create
url: '#backup-create'
- depth: 2
title: Backup one
url: '#backup-one'
- depth: 2
title: Backup update
url: '#backup-update'
- depth: 2
title: Backup remove
url: '#backup-remove'
- depth: 2
title: Backup manual Backup Postgres
url: '#backup-manual-backup-postgres'
- depth: 2
title: Backup manual Backup My Sql
url: '#backup-manual-backup-my-sql'
- depth: 2
title: Backup manual Backup Mariadb
url: '#backup-manual-backup-mariadb'
- depth: 2
title: Backup manual Backup Compose
url: '#backup-manual-backup-compose'
- depth: 2
title: Backup manual Backup Mongo
url: '#backup-manual-backup-mongo'
- depth: 2
title: Backup manual Backup Web Server
url: '#backup-manual-backup-web-server'
- depth: 2
title: Backup list Backup Files
url: '#backup-list-backup-files'
structuredData:
headings:
- content: Backup create
id: backup-create
- content: Backup one
id: backup-one
- content: Backup update
id: backup-update
- content: Backup remove
id: backup-remove
- content: Backup manual Backup Postgres
id: backup-manual-backup-postgres
- content: Backup manual Backup My Sql
id: backup-manual-backup-my-sql
- content: Backup manual Backup Mariadb
id: backup-manual-backup-mariadb
- content: Backup manual Backup Compose
id: backup-manual-backup-compose
- content: Backup manual Backup Mongo
id: backup-manual-backup-mongo
- content: Backup manual Backup Web Server
id: backup-manual-backup-web-server
- content: Backup list Backup Files
id: backup-list-backup-files
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/backup.create","method":"post"},{"path":"/backup.one","method":"get"},{"path":"/backup.update","method":"post"},{"path":"/backup.remove","method":"post"},{"path":"/backup.manualBackupPostgres","method":"post"},{"path":"/backup.manualBackupMySql","method":"post"},{"path":"/backup.manualBackupMariadb","method":"post"},{"path":"/backup.manualBackupCompose","method":"post"},{"path":"/backup.manualBackupMongo","method":"post"},{"path":"/backup.manualBackupWebServer","method":"post"},{"path":"/backup.listBackupFiles","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,48 @@
---
title: Bitbucket
full: true
_openapi:
toc:
- depth: 2
title: Bitbucket create
url: '#bitbucket-create'
- depth: 2
title: Bitbucket one
url: '#bitbucket-one'
- depth: 2
title: Bitbucket bitbucket Providers
url: '#bitbucket-bitbucket-providers'
- depth: 2
title: Bitbucket get Bitbucket Repositories
url: '#bitbucket-get-bitbucket-repositories'
- depth: 2
title: Bitbucket get Bitbucket Branches
url: '#bitbucket-get-bitbucket-branches'
- depth: 2
title: Bitbucket test Connection
url: '#bitbucket-test-connection'
- depth: 2
title: Bitbucket update
url: '#bitbucket-update'
structuredData:
headings:
- content: Bitbucket create
id: bitbucket-create
- content: Bitbucket one
id: bitbucket-one
- content: Bitbucket bitbucket Providers
id: bitbucket-bitbucket-providers
- content: Bitbucket get Bitbucket Repositories
id: bitbucket-get-bitbucket-repositories
- content: Bitbucket get Bitbucket Branches
id: bitbucket-get-bitbucket-branches
- content: Bitbucket test Connection
id: bitbucket-test-connection
- content: Bitbucket update
id: bitbucket-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/bitbucket.create","method":"post"},{"path":"/bitbucket.one","method":"get"},{"path":"/bitbucket.bitbucketProviders","method":"get"},{"path":"/bitbucket.getBitbucketRepositories","method":"get"},{"path":"/bitbucket.getBitbucketBranches","method":"get"},{"path":"/bitbucket.testConnection","method":"post"},{"path":"/bitbucket.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,33 @@
---
title: Certificates
full: true
_openapi:
toc:
- depth: 2
title: Certificates create
url: '#certificates-create'
- depth: 2
title: Certificates one
url: '#certificates-one'
- depth: 2
title: Certificates remove
url: '#certificates-remove'
- depth: 2
title: Certificates all
url: '#certificates-all'
structuredData:
headings:
- content: Certificates create
id: certificates-create
- content: Certificates one
id: certificates-one
- content: Certificates remove
id: certificates-remove
- content: Certificates all
id: certificates-all
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/certificates.create","method":"post"},{"path":"/certificates.one","method":"get"},{"path":"/certificates.remove","method":"post"},{"path":"/certificates.all","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,33 @@
---
title: Cluster
full: true
_openapi:
toc:
- depth: 2
title: Cluster get Nodes
url: '#cluster-get-nodes'
- depth: 2
title: Cluster remove Worker
url: '#cluster-remove-worker'
- depth: 2
title: Cluster add Worker
url: '#cluster-add-worker'
- depth: 2
title: Cluster add Manager
url: '#cluster-add-manager'
structuredData:
headings:
- content: Cluster get Nodes
id: cluster-get-nodes
- content: Cluster remove Worker
id: cluster-remove-worker
- content: Cluster add Worker
id: cluster-add-worker
- content: Cluster add Manager
id: cluster-add-manager
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/cluster.getNodes","method":"get"},{"path":"/cluster.removeWorker","method":"post"},{"path":"/cluster.addWorker","method":"get"},{"path":"/cluster.addManager","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,143 @@
---
title: Compose
full: true
_openapi:
toc:
- depth: 2
title: Compose create
url: '#compose-create'
- depth: 2
title: Compose one
url: '#compose-one'
- depth: 2
title: Compose update
url: '#compose-update'
- depth: 2
title: Compose delete
url: '#compose-delete'
- depth: 2
title: Compose clean Queues
url: '#compose-clean-queues'
- depth: 2
title: Compose kill Build
url: '#compose-kill-build'
- depth: 2
title: Compose load Services
url: '#compose-load-services'
- depth: 2
title: Compose load Mounts By Service
url: '#compose-load-mounts-by-service'
- depth: 2
title: Compose fetch Source Type
url: '#compose-fetch-source-type'
- depth: 2
title: Compose randomize Compose
url: '#compose-randomize-compose'
- depth: 2
title: Compose isolated Deployment
url: '#compose-isolated-deployment'
- depth: 2
title: Compose get Converted Compose
url: '#compose-get-converted-compose'
- depth: 2
title: Compose deploy
url: '#compose-deploy'
- depth: 2
title: Compose redeploy
url: '#compose-redeploy'
- depth: 2
title: Compose stop
url: '#compose-stop'
- depth: 2
title: Compose start
url: '#compose-start'
- depth: 2
title: Compose get Default Command
url: '#compose-get-default-command'
- depth: 2
title: Compose refresh Token
url: '#compose-refresh-token'
- depth: 2
title: Compose deploy Template
url: '#compose-deploy-template'
- depth: 2
title: Compose templates
url: '#compose-templates'
- depth: 2
title: Compose get Tags
url: '#compose-get-tags'
- depth: 2
title: Compose disconnect Git Provider
url: '#compose-disconnect-git-provider'
- depth: 2
title: Compose move
url: '#compose-move'
- depth: 2
title: Compose process Template
url: '#compose-process-template'
- depth: 2
title: Compose import
url: '#compose-import'
- depth: 2
title: Compose cancel Deployment
url: '#compose-cancel-deployment'
structuredData:
headings:
- content: Compose create
id: compose-create
- content: Compose one
id: compose-one
- content: Compose update
id: compose-update
- content: Compose delete
id: compose-delete
- content: Compose clean Queues
id: compose-clean-queues
- content: Compose kill Build
id: compose-kill-build
- content: Compose load Services
id: compose-load-services
- content: Compose load Mounts By Service
id: compose-load-mounts-by-service
- content: Compose fetch Source Type
id: compose-fetch-source-type
- content: Compose randomize Compose
id: compose-randomize-compose
- content: Compose isolated Deployment
id: compose-isolated-deployment
- content: Compose get Converted Compose
id: compose-get-converted-compose
- content: Compose deploy
id: compose-deploy
- content: Compose redeploy
id: compose-redeploy
- content: Compose stop
id: compose-stop
- content: Compose start
id: compose-start
- content: Compose get Default Command
id: compose-get-default-command
- content: Compose refresh Token
id: compose-refresh-token
- content: Compose deploy Template
id: compose-deploy-template
- content: Compose templates
id: compose-templates
- content: Compose get Tags
id: compose-get-tags
- content: Compose disconnect Git Provider
id: compose-disconnect-git-provider
- content: Compose move
id: compose-move
- content: Compose process Template
id: compose-process-template
- content: Compose import
id: compose-import
- content: Compose cancel Deployment
id: compose-cancel-deployment
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/compose.create","method":"post"},{"path":"/compose.one","method":"get"},{"path":"/compose.update","method":"post"},{"path":"/compose.delete","method":"post"},{"path":"/compose.cleanQueues","method":"post"},{"path":"/compose.killBuild","method":"post"},{"path":"/compose.loadServices","method":"get"},{"path":"/compose.loadMountsByService","method":"get"},{"path":"/compose.fetchSourceType","method":"post"},{"path":"/compose.randomizeCompose","method":"post"},{"path":"/compose.isolatedDeployment","method":"post"},{"path":"/compose.getConvertedCompose","method":"get"},{"path":"/compose.deploy","method":"post"},{"path":"/compose.redeploy","method":"post"},{"path":"/compose.stop","method":"post"},{"path":"/compose.start","method":"post"},{"path":"/compose.getDefaultCommand","method":"get"},{"path":"/compose.refreshToken","method":"post"},{"path":"/compose.deployTemplate","method":"post"},{"path":"/compose.templates","method":"get"},{"path":"/compose.getTags","method":"get"},{"path":"/compose.disconnectGitProvider","method":"post"},{"path":"/compose.move","method":"post"},{"path":"/compose.processTemplate","method":"post"},{"path":"/compose.import","method":"post"},{"path":"/compose.cancelDeployment","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,38 @@
---
title: Deployment
full: true
_openapi:
toc:
- depth: 2
title: Deployment all
url: '#deployment-all'
- depth: 2
title: Deployment all By Compose
url: '#deployment-all-by-compose'
- depth: 2
title: Deployment all By Server
url: '#deployment-all-by-server'
- depth: 2
title: Deployment all By Type
url: '#deployment-all-by-type'
- depth: 2
title: Deployment kill Process
url: '#deployment-kill-process'
structuredData:
headings:
- content: Deployment all
id: deployment-all
- content: Deployment all By Compose
id: deployment-all-by-compose
- content: Deployment all By Server
id: deployment-all-by-server
- content: Deployment all By Type
id: deployment-all-by-type
- content: Deployment kill Process
id: deployment-kill-process
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/deployment.all","method":"get"},{"path":"/deployment.allByCompose","method":"get"},{"path":"/deployment.allByServer","method":"get"},{"path":"/deployment.allByType","method":"get"},{"path":"/deployment.killProcess","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Destination
full: true
_openapi:
toc:
- depth: 2
title: Destination create
url: '#destination-create'
- depth: 2
title: Destination test Connection
url: '#destination-test-connection'
- depth: 2
title: Destination one
url: '#destination-one'
- depth: 2
title: Destination all
url: '#destination-all'
- depth: 2
title: Destination remove
url: '#destination-remove'
- depth: 2
title: Destination update
url: '#destination-update'
structuredData:
headings:
- content: Destination create
id: destination-create
- content: Destination test Connection
id: destination-test-connection
- content: Destination one
id: destination-one
- content: Destination all
id: destination-all
- content: Destination remove
id: destination-remove
- content: Destination update
id: destination-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/destination.create","method":"post"},{"path":"/destination.testConnection","method":"post"},{"path":"/destination.one","method":"get"},{"path":"/destination.all","method":"get"},{"path":"/destination.remove","method":"post"},{"path":"/destination.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,48 @@
---
title: Docker
full: true
_openapi:
toc:
- depth: 2
title: Docker get Containers
url: '#docker-get-containers'
- depth: 2
title: Docker restart Container
url: '#docker-restart-container'
- depth: 2
title: Docker get Config
url: '#docker-get-config'
- depth: 2
title: Docker get Containers By App Name Match
url: '#docker-get-containers-by-app-name-match'
- depth: 2
title: Docker get Containers By App Label
url: '#docker-get-containers-by-app-label'
- depth: 2
title: Docker get Stack Containers By App Name
url: '#docker-get-stack-containers-by-app-name'
- depth: 2
title: Docker get Service Containers By App Name
url: '#docker-get-service-containers-by-app-name'
structuredData:
headings:
- content: Docker get Containers
id: docker-get-containers
- content: Docker restart Container
id: docker-restart-container
- content: Docker get Config
id: docker-get-config
- content: Docker get Containers By App Name Match
id: docker-get-containers-by-app-name-match
- content: Docker get Containers By App Label
id: docker-get-containers-by-app-label
- content: Docker get Stack Containers By App Name
id: docker-get-stack-containers-by-app-name
- content: Docker get Service Containers By App Name
id: docker-get-service-containers-by-app-name
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/docker.getContainers","method":"get"},{"path":"/docker.restartContainer","method":"post"},{"path":"/docker.getConfig","method":"get"},{"path":"/docker.getContainersByAppNameMatch","method":"get"},{"path":"/docker.getContainersByAppLabel","method":"get"},{"path":"/docker.getStackContainersByAppName","method":"get"},{"path":"/docker.getServiceContainersByAppName","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,58 @@
---
title: Domain
full: true
_openapi:
toc:
- depth: 2
title: Domain create
url: '#domain-create'
- depth: 2
title: Domain by Application Id
url: '#domain-by-application-id'
- depth: 2
title: Domain by Compose Id
url: '#domain-by-compose-id'
- depth: 2
title: Domain generate Domain
url: '#domain-generate-domain'
- depth: 2
title: Domain can Generate Traefik Me Domains
url: '#domain-can-generate-traefik-me-domains'
- depth: 2
title: Domain update
url: '#domain-update'
- depth: 2
title: Domain one
url: '#domain-one'
- depth: 2
title: Domain delete
url: '#domain-delete'
- depth: 2
title: Domain validate Domain
url: '#domain-validate-domain'
structuredData:
headings:
- content: Domain create
id: domain-create
- content: Domain by Application Id
id: domain-by-application-id
- content: Domain by Compose Id
id: domain-by-compose-id
- content: Domain generate Domain
id: domain-generate-domain
- content: Domain can Generate Traefik Me Domains
id: domain-can-generate-traefik-me-domains
- content: Domain update
id: domain-update
- content: Domain one
id: domain-one
- content: Domain delete
id: domain-delete
- content: Domain validate Domain
id: domain-validate-domain
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/domain.create","method":"post"},{"path":"/domain.byApplicationId","method":"get"},{"path":"/domain.byComposeId","method":"get"},{"path":"/domain.generateDomain","method":"post"},{"path":"/domain.canGenerateTraefikMeDomains","method":"get"},{"path":"/domain.update","method":"post"},{"path":"/domain.one","method":"get"},{"path":"/domain.delete","method":"post"},{"path":"/domain.validateDomain","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Environment
full: true
_openapi:
toc:
- depth: 2
title: Environment create
url: '#environment-create'
- depth: 2
title: Environment one
url: '#environment-one'
- depth: 2
title: Environment by Project Id
url: '#environment-by-project-id'
- depth: 2
title: Environment remove
url: '#environment-remove'
- depth: 2
title: Environment update
url: '#environment-update'
- depth: 2
title: Environment duplicate
url: '#environment-duplicate'
structuredData:
headings:
- content: Environment create
id: environment-create
- content: Environment one
id: environment-one
- content: Environment by Project Id
id: environment-by-project-id
- content: Environment remove
id: environment-remove
- content: Environment update
id: environment-update
- content: Environment duplicate
id: environment-duplicate
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/environment.create","method":"post"},{"path":"/environment.one","method":"get"},{"path":"/environment.byProjectId","method":"get"},{"path":"/environment.remove","method":"post"},{"path":"/environment.update","method":"post"},{"path":"/environment.duplicate","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,53 @@
---
title: Gitea
full: true
_openapi:
toc:
- depth: 2
title: Gitea create
url: '#gitea-create'
- depth: 2
title: Gitea one
url: '#gitea-one'
- depth: 2
title: Gitea gitea Providers
url: '#gitea-gitea-providers'
- depth: 2
title: Gitea get Gitea Repositories
url: '#gitea-get-gitea-repositories'
- depth: 2
title: Gitea get Gitea Branches
url: '#gitea-get-gitea-branches'
- depth: 2
title: Gitea test Connection
url: '#gitea-test-connection'
- depth: 2
title: Gitea update
url: '#gitea-update'
- depth: 2
title: Gitea get Gitea Url
url: '#gitea-get-gitea-url'
structuredData:
headings:
- content: Gitea create
id: gitea-create
- content: Gitea one
id: gitea-one
- content: Gitea gitea Providers
id: gitea-gitea-providers
- content: Gitea get Gitea Repositories
id: gitea-get-gitea-repositories
- content: Gitea get Gitea Branches
id: gitea-get-gitea-branches
- content: Gitea test Connection
id: gitea-test-connection
- content: Gitea update
id: gitea-update
- content: Gitea get Gitea Url
id: gitea-get-gitea-url
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/gitea.create","method":"post"},{"path":"/gitea.one","method":"get"},{"path":"/gitea.giteaProviders","method":"get"},{"path":"/gitea.getGiteaRepositories","method":"get"},{"path":"/gitea.getGiteaBranches","method":"get"},{"path":"/gitea.testConnection","method":"post"},{"path":"/gitea.update","method":"post"},{"path":"/gitea.getGiteaUrl","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Github
full: true
_openapi:
toc:
- depth: 2
title: Github one
url: '#github-one'
- depth: 2
title: Github get Github Repositories
url: '#github-get-github-repositories'
- depth: 2
title: Github get Github Branches
url: '#github-get-github-branches'
- depth: 2
title: Github github Providers
url: '#github-github-providers'
- depth: 2
title: Github test Connection
url: '#github-test-connection'
- depth: 2
title: Github update
url: '#github-update'
structuredData:
headings:
- content: Github one
id: github-one
- content: Github get Github Repositories
id: github-get-github-repositories
- content: Github get Github Branches
id: github-get-github-branches
- content: Github github Providers
id: github-github-providers
- content: Github test Connection
id: github-test-connection
- content: Github update
id: github-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/github.one","method":"get"},{"path":"/github.getGithubRepositories","method":"get"},{"path":"/github.getGithubBranches","method":"get"},{"path":"/github.githubProviders","method":"get"},{"path":"/github.testConnection","method":"post"},{"path":"/github.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,48 @@
---
title: Gitlab
full: true
_openapi:
toc:
- depth: 2
title: Gitlab create
url: '#gitlab-create'
- depth: 2
title: Gitlab one
url: '#gitlab-one'
- depth: 2
title: Gitlab gitlab Providers
url: '#gitlab-gitlab-providers'
- depth: 2
title: Gitlab get Gitlab Repositories
url: '#gitlab-get-gitlab-repositories'
- depth: 2
title: Gitlab get Gitlab Branches
url: '#gitlab-get-gitlab-branches'
- depth: 2
title: Gitlab test Connection
url: '#gitlab-test-connection'
- depth: 2
title: Gitlab update
url: '#gitlab-update'
structuredData:
headings:
- content: Gitlab create
id: gitlab-create
- content: Gitlab one
id: gitlab-one
- content: Gitlab gitlab Providers
id: gitlab-gitlab-providers
- content: Gitlab get Gitlab Repositories
id: gitlab-get-gitlab-repositories
- content: Gitlab get Gitlab Branches
id: gitlab-get-gitlab-branches
- content: Gitlab test Connection
id: gitlab-test-connection
- content: Gitlab update
id: gitlab-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/gitlab.create","method":"post"},{"path":"/gitlab.one","method":"get"},{"path":"/gitlab.gitlabProviders","method":"get"},{"path":"/gitlab.getGitlabRepositories","method":"get"},{"path":"/gitlab.getGitlabBranches","method":"get"},{"path":"/gitlab.testConnection","method":"post"},{"path":"/gitlab.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,23 @@
---
title: Git Provider
full: true
_openapi:
toc:
- depth: 2
title: Git Provider get All
url: '#git-provider-get-all'
- depth: 2
title: Git Provider remove
url: '#git-provider-remove'
structuredData:
headings:
- content: Git Provider get All
id: git-provider-get-all
- content: Git Provider remove
id: git-provider-remove
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/gitProvider.getAll","method":"get"},{"path":"/gitProvider.remove","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,78 @@
---
title: Mariadb
full: true
_openapi:
toc:
- depth: 2
title: Mariadb create
url: '#mariadb-create'
- depth: 2
title: Mariadb one
url: '#mariadb-one'
- depth: 2
title: Mariadb start
url: '#mariadb-start'
- depth: 2
title: Mariadb stop
url: '#mariadb-stop'
- depth: 2
title: Mariadb save External Port
url: '#mariadb-save-external-port'
- depth: 2
title: Mariadb deploy
url: '#mariadb-deploy'
- depth: 2
title: Mariadb change Status
url: '#mariadb-change-status'
- depth: 2
title: Mariadb remove
url: '#mariadb-remove'
- depth: 2
title: Mariadb save Environment
url: '#mariadb-save-environment'
- depth: 2
title: Mariadb reload
url: '#mariadb-reload'
- depth: 2
title: Mariadb update
url: '#mariadb-update'
- depth: 2
title: Mariadb move
url: '#mariadb-move'
- depth: 2
title: Mariadb rebuild
url: '#mariadb-rebuild'
structuredData:
headings:
- content: Mariadb create
id: mariadb-create
- content: Mariadb one
id: mariadb-one
- content: Mariadb start
id: mariadb-start
- content: Mariadb stop
id: mariadb-stop
- content: Mariadb save External Port
id: mariadb-save-external-port
- content: Mariadb deploy
id: mariadb-deploy
- content: Mariadb change Status
id: mariadb-change-status
- content: Mariadb remove
id: mariadb-remove
- content: Mariadb save Environment
id: mariadb-save-environment
- content: Mariadb reload
id: mariadb-reload
- content: Mariadb update
id: mariadb-update
- content: Mariadb move
id: mariadb-move
- content: Mariadb rebuild
id: mariadb-rebuild
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mariadb.create","method":"post"},{"path":"/mariadb.one","method":"get"},{"path":"/mariadb.start","method":"post"},{"path":"/mariadb.stop","method":"post"},{"path":"/mariadb.saveExternalPort","method":"post"},{"path":"/mariadb.deploy","method":"post"},{"path":"/mariadb.changeStatus","method":"post"},{"path":"/mariadb.remove","method":"post"},{"path":"/mariadb.saveEnvironment","method":"post"},{"path":"/mariadb.reload","method":"post"},{"path":"/mariadb.update","method":"post"},{"path":"/mariadb.move","method":"post"},{"path":"/mariadb.rebuild","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,78 @@
---
title: Mongo
full: true
_openapi:
toc:
- depth: 2
title: Mongo create
url: '#mongo-create'
- depth: 2
title: Mongo one
url: '#mongo-one'
- depth: 2
title: Mongo start
url: '#mongo-start'
- depth: 2
title: Mongo stop
url: '#mongo-stop'
- depth: 2
title: Mongo save External Port
url: '#mongo-save-external-port'
- depth: 2
title: Mongo deploy
url: '#mongo-deploy'
- depth: 2
title: Mongo change Status
url: '#mongo-change-status'
- depth: 2
title: Mongo reload
url: '#mongo-reload'
- depth: 2
title: Mongo remove
url: '#mongo-remove'
- depth: 2
title: Mongo save Environment
url: '#mongo-save-environment'
- depth: 2
title: Mongo update
url: '#mongo-update'
- depth: 2
title: Mongo move
url: '#mongo-move'
- depth: 2
title: Mongo rebuild
url: '#mongo-rebuild'
structuredData:
headings:
- content: Mongo create
id: mongo-create
- content: Mongo one
id: mongo-one
- content: Mongo start
id: mongo-start
- content: Mongo stop
id: mongo-stop
- content: Mongo save External Port
id: mongo-save-external-port
- content: Mongo deploy
id: mongo-deploy
- content: Mongo change Status
id: mongo-change-status
- content: Mongo reload
id: mongo-reload
- content: Mongo remove
id: mongo-remove
- content: Mongo save Environment
id: mongo-save-environment
- content: Mongo update
id: mongo-update
- content: Mongo move
id: mongo-move
- content: Mongo rebuild
id: mongo-rebuild
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mongo.create","method":"post"},{"path":"/mongo.one","method":"get"},{"path":"/mongo.start","method":"post"},{"path":"/mongo.stop","method":"post"},{"path":"/mongo.saveExternalPort","method":"post"},{"path":"/mongo.deploy","method":"post"},{"path":"/mongo.changeStatus","method":"post"},{"path":"/mongo.reload","method":"post"},{"path":"/mongo.remove","method":"post"},{"path":"/mongo.saveEnvironment","method":"post"},{"path":"/mongo.update","method":"post"},{"path":"/mongo.move","method":"post"},{"path":"/mongo.rebuild","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,38 @@
---
title: Mounts
full: true
_openapi:
toc:
- depth: 2
title: Mounts create
url: '#mounts-create'
- depth: 2
title: Mounts remove
url: '#mounts-remove'
- depth: 2
title: Mounts one
url: '#mounts-one'
- depth: 2
title: Mounts update
url: '#mounts-update'
- depth: 2
title: Mounts all Named By Application Id
url: '#mounts-all-named-by-application-id'
structuredData:
headings:
- content: Mounts create
id: mounts-create
- content: Mounts remove
id: mounts-remove
- content: Mounts one
id: mounts-one
- content: Mounts update
id: mounts-update
- content: Mounts all Named By Application Id
id: mounts-all-named-by-application-id
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mounts.create","method":"post"},{"path":"/mounts.remove","method":"post"},{"path":"/mounts.one","method":"get"},{"path":"/mounts.update","method":"post"},{"path":"/mounts.allNamedByApplicationId","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,78 @@
---
title: Mysql
full: true
_openapi:
toc:
- depth: 2
title: Mysql create
url: '#mysql-create'
- depth: 2
title: Mysql one
url: '#mysql-one'
- depth: 2
title: Mysql start
url: '#mysql-start'
- depth: 2
title: Mysql stop
url: '#mysql-stop'
- depth: 2
title: Mysql save External Port
url: '#mysql-save-external-port'
- depth: 2
title: Mysql deploy
url: '#mysql-deploy'
- depth: 2
title: Mysql change Status
url: '#mysql-change-status'
- depth: 2
title: Mysql reload
url: '#mysql-reload'
- depth: 2
title: Mysql remove
url: '#mysql-remove'
- depth: 2
title: Mysql save Environment
url: '#mysql-save-environment'
- depth: 2
title: Mysql update
url: '#mysql-update'
- depth: 2
title: Mysql move
url: '#mysql-move'
- depth: 2
title: Mysql rebuild
url: '#mysql-rebuild'
structuredData:
headings:
- content: Mysql create
id: mysql-create
- content: Mysql one
id: mysql-one
- content: Mysql start
id: mysql-start
- content: Mysql stop
id: mysql-stop
- content: Mysql save External Port
id: mysql-save-external-port
- content: Mysql deploy
id: mysql-deploy
- content: Mysql change Status
id: mysql-change-status
- content: Mysql reload
id: mysql-reload
- content: Mysql remove
id: mysql-remove
- content: Mysql save Environment
id: mysql-save-environment
- content: Mysql update
id: mysql-update
- content: Mysql move
id: mysql-move
- content: Mysql rebuild
id: mysql-rebuild
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/mysql.create","method":"post"},{"path":"/mysql.one","method":"get"},{"path":"/mysql.start","method":"post"},{"path":"/mysql.stop","method":"post"},{"path":"/mysql.saveExternalPort","method":"post"},{"path":"/mysql.deploy","method":"post"},{"path":"/mysql.changeStatus","method":"post"},{"path":"/mysql.reload","method":"post"},{"path":"/mysql.remove","method":"post"},{"path":"/mysql.saveEnvironment","method":"post"},{"path":"/mysql.update","method":"post"},{"path":"/mysql.move","method":"post"},{"path":"/mysql.rebuild","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,58 @@
---
title: Organization
full: true
_openapi:
toc:
- depth: 2
title: Organization create
url: '#organization-create'
- depth: 2
title: Organization all
url: '#organization-all'
- depth: 2
title: Organization one
url: '#organization-one'
- depth: 2
title: Organization update
url: '#organization-update'
- depth: 2
title: Organization delete
url: '#organization-delete'
- depth: 2
title: Organization all Invitations
url: '#organization-all-invitations'
- depth: 2
title: Organization remove Invitation
url: '#organization-remove-invitation'
- depth: 2
title: Organization update Member Role
url: '#organization-update-member-role'
- depth: 2
title: Organization set Default
url: '#organization-set-default'
structuredData:
headings:
- content: Organization create
id: organization-create
- content: Organization all
id: organization-all
- content: Organization one
id: organization-one
- content: Organization update
id: organization-update
- content: Organization delete
id: organization-delete
- content: Organization all Invitations
id: organization-all-invitations
- content: Organization remove Invitation
id: organization-remove-invitation
- content: Organization update Member Role
id: organization-update-member-role
- content: Organization set Default
id: organization-set-default
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/organization.create","method":"post"},{"path":"/organization.all","method":"get"},{"path":"/organization.one","method":"get"},{"path":"/organization.update","method":"post"},{"path":"/organization.delete","method":"post"},{"path":"/organization.allInvitations","method":"get"},{"path":"/organization.removeInvitation","method":"post"},{"path":"/organization.updateMemberRole","method":"post"},{"path":"/organization.setDefault","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,33 @@
---
title: Port
full: true
_openapi:
toc:
- depth: 2
title: Port create
url: '#port-create'
- depth: 2
title: Port one
url: '#port-one'
- depth: 2
title: Port delete
url: '#port-delete'
- depth: 2
title: Port update
url: '#port-update'
structuredData:
headings:
- content: Port create
id: port-create
- content: Port one
id: port-one
- content: Port delete
id: port-delete
- content: Port update
id: port-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/port.create","method":"post"},{"path":"/port.one","method":"get"},{"path":"/port.delete","method":"post"},{"path":"/port.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,78 @@
---
title: Postgres
full: true
_openapi:
toc:
- depth: 2
title: Postgres create
url: '#postgres-create'
- depth: 2
title: Postgres one
url: '#postgres-one'
- depth: 2
title: Postgres start
url: '#postgres-start'
- depth: 2
title: Postgres stop
url: '#postgres-stop'
- depth: 2
title: Postgres save External Port
url: '#postgres-save-external-port'
- depth: 2
title: Postgres deploy
url: '#postgres-deploy'
- depth: 2
title: Postgres change Status
url: '#postgres-change-status'
- depth: 2
title: Postgres remove
url: '#postgres-remove'
- depth: 2
title: Postgres save Environment
url: '#postgres-save-environment'
- depth: 2
title: Postgres reload
url: '#postgres-reload'
- depth: 2
title: Postgres update
url: '#postgres-update'
- depth: 2
title: Postgres move
url: '#postgres-move'
- depth: 2
title: Postgres rebuild
url: '#postgres-rebuild'
structuredData:
headings:
- content: Postgres create
id: postgres-create
- content: Postgres one
id: postgres-one
- content: Postgres start
id: postgres-start
- content: Postgres stop
id: postgres-stop
- content: Postgres save External Port
id: postgres-save-external-port
- content: Postgres deploy
id: postgres-deploy
- content: Postgres change Status
id: postgres-change-status
- content: Postgres remove
id: postgres-remove
- content: Postgres save Environment
id: postgres-save-environment
- content: Postgres reload
id: postgres-reload
- content: Postgres update
id: postgres-update
- content: Postgres move
id: postgres-move
- content: Postgres rebuild
id: postgres-rebuild
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/postgres.create","method":"post"},{"path":"/postgres.one","method":"get"},{"path":"/postgres.start","method":"post"},{"path":"/postgres.stop","method":"post"},{"path":"/postgres.saveExternalPort","method":"post"},{"path":"/postgres.deploy","method":"post"},{"path":"/postgres.changeStatus","method":"post"},{"path":"/postgres.remove","method":"post"},{"path":"/postgres.saveEnvironment","method":"post"},{"path":"/postgres.reload","method":"post"},{"path":"/postgres.update","method":"post"},{"path":"/postgres.move","method":"post"},{"path":"/postgres.rebuild","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Project
full: true
_openapi:
toc:
- depth: 2
title: Project create
url: '#project-create'
- depth: 2
title: Project one
url: '#project-one'
- depth: 2
title: Project all
url: '#project-all'
- depth: 2
title: Project remove
url: '#project-remove'
- depth: 2
title: Project update
url: '#project-update'
- depth: 2
title: Project duplicate
url: '#project-duplicate'
structuredData:
headings:
- content: Project create
id: project-create
- content: Project one
id: project-one
- content: Project all
id: project-all
- content: Project remove
id: project-remove
- content: Project update
id: project-update
- content: Project duplicate
id: project-duplicate
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/project.create","method":"post"},{"path":"/project.one","method":"get"},{"path":"/project.all","method":"get"},{"path":"/project.remove","method":"post"},{"path":"/project.update","method":"post"},{"path":"/project.duplicate","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,33 @@
---
title: Redirects
full: true
_openapi:
toc:
- depth: 2
title: Redirects create
url: '#redirects-create'
- depth: 2
title: Redirects one
url: '#redirects-one'
- depth: 2
title: Redirects delete
url: '#redirects-delete'
- depth: 2
title: Redirects update
url: '#redirects-update'
structuredData:
headings:
- content: Redirects create
id: redirects-create
- content: Redirects one
id: redirects-one
- content: Redirects delete
id: redirects-delete
- content: Redirects update
id: redirects-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/redirects.create","method":"post"},{"path":"/redirects.one","method":"get"},{"path":"/redirects.delete","method":"post"},{"path":"/redirects.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,78 @@
---
title: Redis
full: true
_openapi:
toc:
- depth: 2
title: Redis create
url: '#redis-create'
- depth: 2
title: Redis one
url: '#redis-one'
- depth: 2
title: Redis start
url: '#redis-start'
- depth: 2
title: Redis reload
url: '#redis-reload'
- depth: 2
title: Redis stop
url: '#redis-stop'
- depth: 2
title: Redis save External Port
url: '#redis-save-external-port'
- depth: 2
title: Redis deploy
url: '#redis-deploy'
- depth: 2
title: Redis change Status
url: '#redis-change-status'
- depth: 2
title: Redis remove
url: '#redis-remove'
- depth: 2
title: Redis save Environment
url: '#redis-save-environment'
- depth: 2
title: Redis update
url: '#redis-update'
- depth: 2
title: Redis move
url: '#redis-move'
- depth: 2
title: Redis rebuild
url: '#redis-rebuild'
structuredData:
headings:
- content: Redis create
id: redis-create
- content: Redis one
id: redis-one
- content: Redis start
id: redis-start
- content: Redis reload
id: redis-reload
- content: Redis stop
id: redis-stop
- content: Redis save External Port
id: redis-save-external-port
- content: Redis deploy
id: redis-deploy
- content: Redis change Status
id: redis-change-status
- content: Redis remove
id: redis-remove
- content: Redis save Environment
id: redis-save-environment
- content: Redis update
id: redis-update
- content: Redis move
id: redis-move
- content: Redis rebuild
id: redis-rebuild
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/redis.create","method":"post"},{"path":"/redis.one","method":"get"},{"path":"/redis.start","method":"post"},{"path":"/redis.reload","method":"post"},{"path":"/redis.stop","method":"post"},{"path":"/redis.saveExternalPort","method":"post"},{"path":"/redis.deploy","method":"post"},{"path":"/redis.changeStatus","method":"post"},{"path":"/redis.remove","method":"post"},{"path":"/redis.saveEnvironment","method":"post"},{"path":"/redis.update","method":"post"},{"path":"/redis.move","method":"post"},{"path":"/redis.rebuild","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Registry
full: true
_openapi:
toc:
- depth: 2
title: Registry create
url: '#registry-create'
- depth: 2
title: Registry remove
url: '#registry-remove'
- depth: 2
title: Registry update
url: '#registry-update'
- depth: 2
title: Registry all
url: '#registry-all'
- depth: 2
title: Registry one
url: '#registry-one'
- depth: 2
title: Registry test Registry
url: '#registry-test-registry'
structuredData:
headings:
- content: Registry create
id: registry-create
- content: Registry remove
id: registry-remove
- content: Registry update
id: registry-update
- content: Registry all
id: registry-all
- content: Registry one
id: registry-one
- content: Registry test Registry
id: registry-test-registry
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/registry.create","method":"post"},{"path":"/registry.remove","method":"post"},{"path":"/registry.update","method":"post"},{"path":"/registry.all","method":"get"},{"path":"/registry.one","method":"get"},{"path":"/registry.testRegistry","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,23 @@
---
title: Rollback
full: true
_openapi:
toc:
- depth: 2
title: Rollback delete
url: '#rollback-delete'
- depth: 2
title: Rollback rollback
url: '#rollback-rollback'
structuredData:
headings:
- content: Rollback delete
id: rollback-delete
- content: Rollback rollback
id: rollback-rollback
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/rollback.delete","method":"post"},{"path":"/rollback.rollback","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Schedule
full: true
_openapi:
toc:
- depth: 2
title: Schedule create
url: '#schedule-create'
- depth: 2
title: Schedule update
url: '#schedule-update'
- depth: 2
title: Schedule delete
url: '#schedule-delete'
- depth: 2
title: Schedule list
url: '#schedule-list'
- depth: 2
title: Schedule one
url: '#schedule-one'
- depth: 2
title: Schedule run Manually
url: '#schedule-run-manually'
structuredData:
headings:
- content: Schedule create
id: schedule-create
- content: Schedule update
id: schedule-update
- content: Schedule delete
id: schedule-delete
- content: Schedule list
id: schedule-list
- content: Schedule one
id: schedule-one
- content: Schedule run Manually
id: schedule-run-manually
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/schedule.create","method":"post"},{"path":"/schedule.update","method":"post"},{"path":"/schedule.delete","method":"post"},{"path":"/schedule.list","method":"get"},{"path":"/schedule.one","method":"get"},{"path":"/schedule.runManually","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,33 @@
---
title: Security
full: true
_openapi:
toc:
- depth: 2
title: Security create
url: '#security-create'
- depth: 2
title: Security one
url: '#security-one'
- depth: 2
title: Security delete
url: '#security-delete'
- depth: 2
title: Security update
url: '#security-update'
structuredData:
headings:
- content: Security create
id: security-create
- content: Security one
id: security-one
- content: Security delete
id: security-delete
- content: Security update
id: security-update
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/security.create","method":"post"},{"path":"/security.one","method":"get"},{"path":"/security.delete","method":"post"},{"path":"/security.update","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,93 @@
---
title: Server
full: true
_openapi:
toc:
- depth: 2
title: Server create
url: '#server-create'
- depth: 2
title: Server one
url: '#server-one'
- depth: 2
title: Server get Default Command
url: '#server-get-default-command'
- depth: 2
title: Server all
url: '#server-all'
- depth: 2
title: Server count
url: '#server-count'
- depth: 2
title: Server with S S H Key
url: '#server-with-s-s-h-key'
- depth: 2
title: Server build Servers
url: '#server-build-servers'
- depth: 2
title: Server setup
url: '#server-setup'
- depth: 2
title: Server validate
url: '#server-validate'
- depth: 2
title: Server security
url: '#server-security'
- depth: 2
title: Server setup Monitoring
url: '#server-setup-monitoring'
- depth: 2
title: Server remove
url: '#server-remove'
- depth: 2
title: Server update
url: '#server-update'
- depth: 2
title: Server public Ip
url: '#server-public-ip'
- depth: 2
title: Server get Server Time
url: '#server-get-server-time'
- depth: 2
title: Server get Server Metrics
url: '#server-get-server-metrics'
structuredData:
headings:
- content: Server create
id: server-create
- content: Server one
id: server-one
- content: Server get Default Command
id: server-get-default-command
- content: Server all
id: server-all
- content: Server count
id: server-count
- content: Server with S S H Key
id: server-with-s-s-h-key
- content: Server build Servers
id: server-build-servers
- content: Server setup
id: server-setup
- content: Server validate
id: server-validate
- content: Server security
id: server-security
- content: Server setup Monitoring
id: server-setup-monitoring
- content: Server remove
id: server-remove
- content: Server update
id: server-update
- content: Server public Ip
id: server-public-ip
- content: Server get Server Time
id: server-get-server-time
- content: Server get Server Metrics
id: server-get-server-metrics
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/server.create","method":"post"},{"path":"/server.one","method":"get"},{"path":"/server.getDefaultCommand","method":"get"},{"path":"/server.all","method":"get"},{"path":"/server.count","method":"get"},{"path":"/server.withSSHKey","method":"get"},{"path":"/server.buildServers","method":"get"},{"path":"/server.setup","method":"post"},{"path":"/server.validate","method":"get"},{"path":"/server.security","method":"get"},{"path":"/server.setupMonitoring","method":"post"},{"path":"/server.remove","method":"post"},{"path":"/server.update","method":"post"},{"path":"/server.publicIp","method":"get"},{"path":"/server.getServerTime","method":"get"},{"path":"/server.getServerMetrics","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,243 @@
---
title: Settings
full: true
_openapi:
toc:
- depth: 2
title: Settings reload Server
url: '#settings-reload-server'
- depth: 2
title: Settings clean Redis
url: '#settings-clean-redis'
- depth: 2
title: Settings reload Redis
url: '#settings-reload-redis'
- depth: 2
title: Settings reload Traefik
url: '#settings-reload-traefik'
- depth: 2
title: Settings toggle Dashboard
url: '#settings-toggle-dashboard'
- depth: 2
title: Settings clean Unused Images
url: '#settings-clean-unused-images'
- depth: 2
title: Settings clean Unused Volumes
url: '#settings-clean-unused-volumes'
- depth: 2
title: Settings clean Stopped Containers
url: '#settings-clean-stopped-containers'
- depth: 2
title: Settings clean Docker Builder
url: '#settings-clean-docker-builder'
- depth: 2
title: Settings clean Docker Prune
url: '#settings-clean-docker-prune'
- depth: 2
title: Settings clean All
url: '#settings-clean-all'
- depth: 2
title: Settings clean Monitoring
url: '#settings-clean-monitoring'
- depth: 2
title: Settings save S S H Private Key
url: '#settings-save-s-s-h-private-key'
- depth: 2
title: Settings assign Domain Server
url: '#settings-assign-domain-server'
- depth: 2
title: Settings clean S S H Private Key
url: '#settings-clean-s-s-h-private-key'
- depth: 2
title: Settings update Docker Cleanup
url: '#settings-update-docker-cleanup'
- depth: 2
title: Settings read Traefik Config
url: '#settings-read-traefik-config'
- depth: 2
title: Settings update Traefik Config
url: '#settings-update-traefik-config'
- depth: 2
title: Settings read Web Server Traefik Config
url: '#settings-read-web-server-traefik-config'
- depth: 2
title: Settings update Web Server Traefik Config
url: '#settings-update-web-server-traefik-config'
- depth: 2
title: Settings read Middleware Traefik Config
url: '#settings-read-middleware-traefik-config'
- depth: 2
title: Settings update Middleware Traefik Config
url: '#settings-update-middleware-traefik-config'
- depth: 2
title: Settings get Update Data
url: '#settings-get-update-data'
- depth: 2
title: Settings update Server
url: '#settings-update-server'
- depth: 2
title: Settings get Dokploy Version
url: '#settings-get-dokploy-version'
- depth: 2
title: Settings get Release Tag
url: '#settings-get-release-tag'
- depth: 2
title: Settings read Directories
url: '#settings-read-directories'
- depth: 2
title: Settings update Traefik File
url: '#settings-update-traefik-file'
- depth: 2
title: Settings read Traefik File
url: '#settings-read-traefik-file'
- depth: 2
title: Settings get Ip
url: '#settings-get-ip'
- depth: 2
title: Settings get Open Api Document
url: '#settings-get-open-api-document'
- depth: 2
title: Settings read Traefik Env
url: '#settings-read-traefik-env'
- depth: 2
title: Settings write Traefik Env
url: '#settings-write-traefik-env'
- depth: 2
title: Settings have Traefik Dashboard Port Enabled
url: '#settings-have-traefik-dashboard-port-enabled'
- depth: 2
title: Settings have Activate Requests
url: '#settings-have-activate-requests'
- depth: 2
title: Settings toggle Requests
url: '#settings-toggle-requests'
- depth: 2
title: Settings is Cloud
url: '#settings-is-cloud'
- depth: 2
title: Settings is User Subscribed
url: '#settings-is-user-subscribed'
- depth: 2
title: Settings health
url: '#settings-health'
- depth: 2
title: Settings setup G P U
url: '#settings-setup-g-p-u'
- depth: 2
title: Settings check G P U Status
url: '#settings-check-g-p-u-status'
- depth: 2
title: Settings update Traefik Ports
url: '#settings-update-traefik-ports'
- depth: 2
title: Settings get Traefik Ports
url: '#settings-get-traefik-ports'
- depth: 2
title: Settings update Log Cleanup
url: '#settings-update-log-cleanup'
- depth: 2
title: Settings get Log Cleanup Status
url: '#settings-get-log-cleanup-status'
- depth: 2
title: Settings get Dokploy Cloud Ips
url: '#settings-get-dokploy-cloud-ips'
structuredData:
headings:
- content: Settings reload Server
id: settings-reload-server
- content: Settings clean Redis
id: settings-clean-redis
- content: Settings reload Redis
id: settings-reload-redis
- content: Settings reload Traefik
id: settings-reload-traefik
- content: Settings toggle Dashboard
id: settings-toggle-dashboard
- content: Settings clean Unused Images
id: settings-clean-unused-images
- content: Settings clean Unused Volumes
id: settings-clean-unused-volumes
- content: Settings clean Stopped Containers
id: settings-clean-stopped-containers
- content: Settings clean Docker Builder
id: settings-clean-docker-builder
- content: Settings clean Docker Prune
id: settings-clean-docker-prune
- content: Settings clean All
id: settings-clean-all
- content: Settings clean Monitoring
id: settings-clean-monitoring
- content: Settings save S S H Private Key
id: settings-save-s-s-h-private-key
- content: Settings assign Domain Server
id: settings-assign-domain-server
- content: Settings clean S S H Private Key
id: settings-clean-s-s-h-private-key
- content: Settings update Docker Cleanup
id: settings-update-docker-cleanup
- content: Settings read Traefik Config
id: settings-read-traefik-config
- content: Settings update Traefik Config
id: settings-update-traefik-config
- content: Settings read Web Server Traefik Config
id: settings-read-web-server-traefik-config
- content: Settings update Web Server Traefik Config
id: settings-update-web-server-traefik-config
- content: Settings read Middleware Traefik Config
id: settings-read-middleware-traefik-config
- content: Settings update Middleware Traefik Config
id: settings-update-middleware-traefik-config
- content: Settings get Update Data
id: settings-get-update-data
- content: Settings update Server
id: settings-update-server
- content: Settings get Dokploy Version
id: settings-get-dokploy-version
- content: Settings get Release Tag
id: settings-get-release-tag
- content: Settings read Directories
id: settings-read-directories
- content: Settings update Traefik File
id: settings-update-traefik-file
- content: Settings read Traefik File
id: settings-read-traefik-file
- content: Settings get Ip
id: settings-get-ip
- content: Settings get Open Api Document
id: settings-get-open-api-document
- content: Settings read Traefik Env
id: settings-read-traefik-env
- content: Settings write Traefik Env
id: settings-write-traefik-env
- content: Settings have Traefik Dashboard Port Enabled
id: settings-have-traefik-dashboard-port-enabled
- content: Settings have Activate Requests
id: settings-have-activate-requests
- content: Settings toggle Requests
id: settings-toggle-requests
- content: Settings is Cloud
id: settings-is-cloud
- content: Settings is User Subscribed
id: settings-is-user-subscribed
- content: Settings health
id: settings-health
- content: Settings setup G P U
id: settings-setup-g-p-u
- content: Settings check G P U Status
id: settings-check-g-p-u-status
- content: Settings update Traefik Ports
id: settings-update-traefik-ports
- content: Settings get Traefik Ports
id: settings-get-traefik-ports
- content: Settings update Log Cleanup
id: settings-update-log-cleanup
- content: Settings get Log Cleanup Status
id: settings-get-log-cleanup-status
- content: Settings get Dokploy Cloud Ips
id: settings-get-dokploy-cloud-ips
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/settings.reloadServer","method":"post"},{"path":"/settings.cleanRedis","method":"post"},{"path":"/settings.reloadRedis","method":"post"},{"path":"/settings.reloadTraefik","method":"post"},{"path":"/settings.toggleDashboard","method":"post"},{"path":"/settings.cleanUnusedImages","method":"post"},{"path":"/settings.cleanUnusedVolumes","method":"post"},{"path":"/settings.cleanStoppedContainers","method":"post"},{"path":"/settings.cleanDockerBuilder","method":"post"},{"path":"/settings.cleanDockerPrune","method":"post"},{"path":"/settings.cleanAll","method":"post"},{"path":"/settings.cleanMonitoring","method":"post"},{"path":"/settings.saveSSHPrivateKey","method":"post"},{"path":"/settings.assignDomainServer","method":"post"},{"path":"/settings.cleanSSHPrivateKey","method":"post"},{"path":"/settings.updateDockerCleanup","method":"post"},{"path":"/settings.readTraefikConfig","method":"get"},{"path":"/settings.updateTraefikConfig","method":"post"},{"path":"/settings.readWebServerTraefikConfig","method":"get"},{"path":"/settings.updateWebServerTraefikConfig","method":"post"},{"path":"/settings.readMiddlewareTraefikConfig","method":"get"},{"path":"/settings.updateMiddlewareTraefikConfig","method":"post"},{"path":"/settings.getUpdateData","method":"post"},{"path":"/settings.updateServer","method":"post"},{"path":"/settings.getDokployVersion","method":"get"},{"path":"/settings.getReleaseTag","method":"get"},{"path":"/settings.readDirectories","method":"get"},{"path":"/settings.updateTraefikFile","method":"post"},{"path":"/settings.readTraefikFile","method":"get"},{"path":"/settings.getIp","method":"get"},{"path":"/settings.getOpenApiDocument","method":"get"},{"path":"/settings.readTraefikEnv","method":"get"},{"path":"/settings.writeTraefikEnv","method":"post"},{"path":"/settings.haveTraefikDashboardPortEnabled","method":"get"},{"path":"/settings.haveActivateRequests","method":"get"},{"path":"/settings.toggleRequests","method":"post"},{"path":"/settings.isCloud","method":"get"},{"path":"/settings.isUserSubscribed","method":"get"},{"path":"/settings.health","method":"get"},{"path":"/settings.setupGPU","method":"post"},{"path":"/settings.checkGPUStatus","method":"get"},{"path":"/settings.updateTraefikPorts","method":"post"},{"path":"/settings.getTraefikPorts","method":"get"},{"path":"/settings.updateLogCleanup","method":"post"},{"path":"/settings.getLogCleanupStatus","method":"get"},{"path":"/settings.getDokployCloudIps","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,13 @@
---
title: Ssh Router
full: true
_openapi:
toc: []
structuredData:
headings: []
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[]} showTitle={true} />

View File

@@ -0,0 +1,28 @@
---
title: Swarm
full: true
_openapi:
toc:
- depth: 2
title: Swarm get Nodes
url: '#swarm-get-nodes'
- depth: 2
title: Swarm get Node Info
url: '#swarm-get-node-info'
- depth: 2
title: Swarm get Node Apps
url: '#swarm-get-node-apps'
structuredData:
headings:
- content: Swarm get Nodes
id: swarm-get-nodes
- content: Swarm get Node Info
id: swarm-get-node-info
- content: Swarm get Node Apps
id: swarm-get-node-apps
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/swarm.getNodes","method":"get"},{"path":"/swarm.getNodeInfo","method":"get"},{"path":"/swarm.getNodeApps","method":"get"}]} showTitle={true} />

View File

@@ -0,0 +1,103 @@
---
title: User
full: true
_openapi:
toc:
- depth: 2
title: User all
url: '#user-all'
- depth: 2
title: User one
url: '#user-one'
- depth: 2
title: User get
url: '#user-get'
- depth: 2
title: User have Root Access
url: '#user-have-root-access'
- depth: 2
title: User get Backups
url: '#user-get-backups'
- depth: 2
title: User get Server Metrics
url: '#user-get-server-metrics'
- depth: 2
title: User update
url: '#user-update'
- depth: 2
title: User get User By Token
url: '#user-get-user-by-token'
- depth: 2
title: User get Metrics Token
url: '#user-get-metrics-token'
- depth: 2
title: User remove
url: '#user-remove'
- depth: 2
title: User assign Permissions
url: '#user-assign-permissions'
- depth: 2
title: User get Invitations
url: '#user-get-invitations'
- depth: 2
title: User get Container Metrics
url: '#user-get-container-metrics'
- depth: 2
title: User generate Token
url: '#user-generate-token'
- depth: 2
title: User delete Api Key
url: '#user-delete-api-key'
- depth: 2
title: User create Api Key
url: '#user-create-api-key'
- depth: 2
title: User check User Organizations
url: '#user-check-user-organizations'
- depth: 2
title: User send Invitation
url: '#user-send-invitation'
structuredData:
headings:
- content: User all
id: user-all
- content: User one
id: user-one
- content: User get
id: user-get
- content: User have Root Access
id: user-have-root-access
- content: User get Backups
id: user-get-backups
- content: User get Server Metrics
id: user-get-server-metrics
- content: User update
id: user-update
- content: User get User By Token
id: user-get-user-by-token
- content: User get Metrics Token
id: user-get-metrics-token
- content: User remove
id: user-remove
- content: User assign Permissions
id: user-assign-permissions
- content: User get Invitations
id: user-get-invitations
- content: User get Container Metrics
id: user-get-container-metrics
- content: User generate Token
id: user-generate-token
- content: User delete Api Key
id: user-delete-api-key
- content: User create Api Key
id: user-create-api-key
- content: User check User Organizations
id: user-check-user-organizations
- content: User send Invitation
id: user-send-invitation
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/user.all","method":"get"},{"path":"/user.one","method":"get"},{"path":"/user.get","method":"get"},{"path":"/user.haveRootAccess","method":"get"},{"path":"/user.getBackups","method":"get"},{"path":"/user.getServerMetrics","method":"get"},{"path":"/user.update","method":"post"},{"path":"/user.getUserByToken","method":"get"},{"path":"/user.getMetricsToken","method":"get"},{"path":"/user.remove","method":"post"},{"path":"/user.assignPermissions","method":"post"},{"path":"/user.getInvitations","method":"get"},{"path":"/user.getContainerMetrics","method":"get"},{"path":"/user.generateToken","method":"post"},{"path":"/user.deleteApiKey","method":"post"},{"path":"/user.createApiKey","method":"post"},{"path":"/user.checkUserOrganizations","method":"get"},{"path":"/user.sendInvitation","method":"post"}]} showTitle={true} />

View File

@@ -0,0 +1,43 @@
---
title: Volume Backups
full: true
_openapi:
toc:
- depth: 2
title: Volume Backups list
url: '#volume-backups-list'
- depth: 2
title: Volume Backups create
url: '#volume-backups-create'
- depth: 2
title: Volume Backups one
url: '#volume-backups-one'
- depth: 2
title: Volume Backups delete
url: '#volume-backups-delete'
- depth: 2
title: Volume Backups update
url: '#volume-backups-update'
- depth: 2
title: Volume Backups run Manually
url: '#volume-backups-run-manually'
structuredData:
headings:
- content: Volume Backups list
id: volume-backups-list
- content: Volume Backups create
id: volume-backups-create
- content: Volume Backups one
id: volume-backups-one
- content: Volume Backups delete
id: volume-backups-delete
- content: Volume Backups update
id: volume-backups-update
- content: Volume Backups run Manually
id: volume-backups-run-manually
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
<APIPage document={"./public/openapi.json"} webhooks={[]} operations={[{"path":"/volumeBackups.list","method":"get"},{"path":"/volumeBackups.create","method":"post"},{"path":"/volumeBackups.one","method":"get"},{"path":"/volumeBackups.delete","method":"post"},{"path":"/volumeBackups.update","method":"post"},{"path":"/volumeBackups.runManually","method":"post"}]} showTitle={true} />

View File

@@ -1,18 +1,19 @@
import { generateFiles } from "fumadocs-openapi";
import { createOpenAPI } from "fumadocs-openapi/server";
const openapi = createOpenAPI({
input: ["./public/openapi.json"],
});
try {
void generateFiles({
input: ["./public/openapi.json"],
output: "./content/docs/api/generated",
await generateFiles({
input: openapi,
output: "./content/docs/api",
per: "tag",
name: (tag, name) => {
console.log(tag, name);
return `reference-${name}`;
},
includeDescription: true,
});
console.log("Done");
console.log("✓ Generated API documentation files");
} catch (error) {
console.error(error);
console.error("Error generating docs:", error.message);
process.exit(1);
}
// united.com/customer-care

View File

@@ -15,10 +15,7 @@ export const openapi = createOpenAPI({
input: ['./public/openapi.json'],
});
export const APIPage = createAPIPage(openapi, {
// options
});
export const APIPage = createAPIPage(openapi);
export function getPageImage(page: InferPageType<typeof source>) {
const segments = [...page.slugs, 'image.png'];

File diff suppressed because it is too large Load Diff

View File

@@ -11,23 +11,64 @@ try {
let fixed = 0;
let securityFixed = false;
// Fix missing Authorization security scheme
// Remove Authorization security scheme and add x-api-key
if (!openapi.components) {
openapi.components = {};
}
if (!openapi.components.securitySchemes) {
openapi.components.securitySchemes = {};
}
if (!openapi.components.securitySchemes.Authorization) {
openapi.components.securitySchemes.Authorization = {
// Remove old Authorization scheme
if (openapi.components.securitySchemes['Authorization']) {
delete openapi.components.securitySchemes['Authorization'];
securityFixed = true;
}
// Add x-api-key scheme
if (!openapi.components.securitySchemes['x-api-key']) {
openapi.components.securitySchemes['x-api-key'] = {
type: 'apiKey',
in: 'header',
name: 'Authorization',
description: 'API key authentication using Authorization header'
name: 'x-api-key',
description: 'API key authentication. Use YOUR-GENERATED-API-KEY'
};
securityFixed = true;
}
// Replace global security from Authorization to x-api-key
if (openapi.security) {
openapi.security = openapi.security.filter(
sec => !sec['Authorization']
);
} else {
openapi.security = [];
}
const hasApiKeySecurity = openapi.security.some(
sec => sec['x-api-key']
);
if (!hasApiKeySecurity) {
openapi.security.push({ 'x-api-key': [] });
securityFixed = true;
}
// Replace Authorization with x-api-key in all operation security
for (const [path, pathItem] of Object.entries(openapi.paths || {})) {
for (const [method, operation] of Object.entries(pathItem)) {
if (operation && operation.security) {
// Replace Authorization with x-api-key
operation.security = operation.security.map(sec => {
if (sec['Authorization'] !== undefined) {
securityFixed = true;
return { 'x-api-key': [] };
}
return sec;
});
}
}
}
// Fix empty response schemas
for (const [path, pathItem] of Object.entries(openapi.paths || {})) {
for (const [method, operation] of Object.entries(pathItem)) {
@@ -54,7 +95,7 @@ try {
if (fixed > 0 || securityFixed) {
writeFileSync(openapiPath, JSON.stringify(openapi, null, 2));
if (fixed > 0) console.log(`✓ Fixed ${fixed} empty response schemas`);
if (securityFixed) console.log(`✓ Added missing Authorization security scheme`);
if (securityFixed) console.log("✓ Added x-api-key security scheme");
} else {
console.log('✓ No fixes needed');
}