diff --git a/.github/workflows/frontend-admin-tests.yml b/.github/workflows/frontend-admin-tests.yml index b67812eac..544f801b3 100644 --- a/.github/workflows/frontend-admin-tests.yml +++ b/.github/workflows/frontend-admin-tests.yml @@ -68,16 +68,6 @@ jobs: name: Disable import/export rate limiting run: | sed -e '/^ *"importExportRateLimiting":/,/^ *\}/ s/"max":.*/"max": 100000000/' -i settings.json - - name: Verify admin OpenAPI schema is up to date - working-directory: admin - run: | - pnpm gen:api - if ! git diff --exit-code src/api/schema.d.ts src/api/version.ts; then - echo "" - echo "::error::admin/src/api/schema.d.ts or version.ts is out of date." - echo "Run \`pnpm --filter admin gen:api\` and commit the result." - exit 1 - fi - name: Build admin frontend working-directory: admin run: | diff --git a/.gitignore b/.gitignore index 098074ad2..c38ed72cc 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,8 @@ stage/ prime/ .craft/ *.snap + +# Generated by `pnpm --filter admin gen:api` from src/node/hooks/express/openapi.ts. +# Regenerated by build/test/dev scripts; not committed. +/admin/src/api/schema.d.ts +/admin/src/api/version.ts diff --git a/admin/README.md b/admin/README.md index 51b7a9703..6d069bba4 100644 --- a/admin/README.md +++ b/admin/README.md @@ -8,11 +8,11 @@ endpoints are added to the OpenAPI spec) over a typed REST client. | Script | What it does | | -------------------- | -------------------------------------------------------- | -| `pnpm dev` | Vite dev server. Expects an etherpad backend on :9001. | -| `pnpm gen:api` | Regenerates `src/api/schema.d.ts` from the OpenAPI spec. | +| `pnpm dev` | `gen:api` + Vite dev server (expects backend on :9001). | +| `pnpm gen:api` | Regenerates `src/api/{schema.d.ts,version.ts}` from the OpenAPI spec. | | `pnpm build` | `gen:api` + `tsc` + `vite build`. | | `pnpm build-copy` | Same, but writes into `../src/templates/admin`. | -| `pnpm test` | Smoke tests for the API client wiring. | +| `pnpm test` | `gen:api` + smoke tests for the API client wiring. | | `pnpm lint` | ESLint. | ## Typed API client @@ -25,32 +25,31 @@ The admin uses [`openapi-typescript`] to generate types from [`openapi-fetch`]: https://github.com/openapi-ts/openapi-typescript/tree/main/packages/openapi-fetch [`openapi-react-query`]: https://github.com/openapi-ts/openapi-typescript/tree/main/packages/openapi-react-query -### Regenerating the schema +### Generated files + +`admin/src/api/schema.d.ts` and `admin/src/api/version.ts` are generated by +`gen:api` and gitignored — never commit them. They are produced by: ```sh pnpm --filter admin gen:api ``` -This runs `admin/scripts/gen-api.mjs`, which loads -`src/node/hooks/express/openapi.ts`, calls `generateDefinitionForVersion` for -the latest API version, pipes the JSON through `openapi-typescript`, and -writes the result to `admin/src/api/schema.d.ts`. The latest API version -read from the spec is also emitted to `admin/src/api/version.ts` so -`client.ts` can build the right `/api//` baseUrl. Both generated -files are checked in. +`admin/scripts/gen-api.mjs` loads `src/node/hooks/express/openapi.ts`, calls +`generateDefinitionForVersion` for the latest API version, pipes the JSON +through `openapi-typescript` to produce `schema.d.ts`, and emits a runtime +constant `LATEST_API_VERSION` (read from `info.version` in the spec) to +`version.ts` so `client.ts` can build the right `/api//` baseUrl. -Run `gen:api` after any change to: +`gen:api` runs as the first step of `dev`, `build`, `build-copy`, and +`test`, so a fresh checkout produces the generated files automatically when +any of those scripts is invoked. After modifying any of the following, the +next `pnpm ` will refresh the generated files; you can also +run `gen:api` directly: - `src/node/hooks/express/openapi.ts` - `src/node/handler/APIHandler.ts` (changes to `latestApiVersion`) - the resource definitions referenced by `openapi.ts` -### CI freshness check - -`.github/workflows/frontend-admin-tests.yml` runs `pnpm gen:api` and fails the -build if `admin/src/api/schema.d.ts` is out of date. If you see the failure -locally, run `pnpm --filter admin gen:api` and commit the regenerated file. - ### Using the client ```tsx diff --git a/admin/package.json b/admin/package.json index 34d946d93..4a3fba1e1 100644 --- a/admin/package.json +++ b/admin/package.json @@ -4,13 +4,13 @@ "version": "2.7.3", "type": "module", "scripts": { - "dev": "vite", + "dev": "pnpm gen:api && vite", "gen:api": "node scripts/gen-api.mjs", "build": "pnpm gen:api && tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "build-copy": "pnpm gen:api && tsc && vite build --outDir ../src/templates/admin --emptyOutDir", "preview": "vite preview", - "test": "tsx --test src/api/__tests__/client.test.ts" + "test": "pnpm gen:api && tsx --test src/api/__tests__/client.test.ts" }, "dependencies": { "@radix-ui/react-switch": "^1.2.6", diff --git a/admin/src/api/schema.d.ts b/admin/src/api/schema.d.ts deleted file mode 100644 index b4c0cb7c5..000000000 --- a/admin/src/api/schema.d.ts +++ /dev/null @@ -1,3567 +0,0 @@ -// GENERATED — do not edit. Run `pnpm --filter admin gen:api` to regenerate. -// Source: src/node/hooks/express/openapi.ts (#7638) - -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -export interface paths { - "/createGroup": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** creates a new group */ - get: operations["createGroupUsingGET"]; - put?: never; - /** creates a new group */ - post: operations["createGroupUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createGroupIfNotExistsFor": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** this functions helps you to map your application group ids to Etherpad group ids */ - get: operations["createGroupIfNotExistsForUsingGET"]; - put?: never; - /** this functions helps you to map your application group ids to Etherpad group ids */ - post: operations["createGroupIfNotExistsForUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/deleteGroup": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** deletes a group */ - get: operations["deleteGroupUsingGET"]; - put?: never; - /** deletes a group */ - post: operations["deleteGroupUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listPads": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns all pads of this group */ - get: operations["listPadsUsingGET"]; - put?: never; - /** returns all pads of this group */ - post: operations["listPadsUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createPad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** @description creates a new (non-group) pad. Note that if you need to create a group Pad, you should call createGroupPad */ - get: operations["createPadUsingGET"]; - put?: never; - /** @description creates a new (non-group) pad. Note that if you need to create a group Pad, you should call createGroupPad */ - post: operations["createPadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createGroupPad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** creates a new pad in this group */ - get: operations["createGroupPadUsingGET"]; - put?: never; - /** creates a new pad in this group */ - post: operations["createGroupPadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createAuthor": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** creates a new author */ - get: operations["createAuthorUsingGET"]; - put?: never; - /** creates a new author */ - post: operations["createAuthorUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createAuthorIfNotExistsFor": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** this functions helps you to map your application author ids to Etherpad author ids */ - get: operations["createAuthorIfNotExistsForUsingGET"]; - put?: never; - /** this functions helps you to map your application author ids to Etherpad author ids */ - post: operations["createAuthorIfNotExistsForUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listPadsOfAuthor": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns an array of all pads this author contributed to */ - get: operations["listPadsOfAuthorUsingGET"]; - put?: never; - /** returns an array of all pads this author contributed to */ - post: operations["listPadsOfAuthorUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createSession": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** creates a new session. validUntil is an unix timestamp in seconds */ - get: operations["createSessionUsingGET"]; - put?: never; - /** creates a new session. validUntil is an unix timestamp in seconds */ - post: operations["createSessionUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/deleteSession": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** deletes a session */ - get: operations["deleteSessionUsingGET"]; - put?: never; - /** deletes a session */ - post: operations["deleteSessionUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getSessionInfo": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns information about a session */ - get: operations["getSessionInfoUsingGET"]; - put?: never; - /** returns information about a session */ - post: operations["getSessionInfoUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listSessionsOfGroup": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["listSessionsOfGroupUsingGET"]; - put?: never; - post: operations["listSessionsOfGroupUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listSessionsOfAuthor": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns all sessions of an author */ - get: operations["listSessionsOfAuthorUsingGET"]; - put?: never; - /** returns all sessions of an author */ - post: operations["listSessionsOfAuthorUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getText": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the text of a pad */ - get: operations["getTextUsingGET"]; - put?: never; - /** returns the text of a pad */ - post: operations["getTextUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/setText": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** sets the text of a pad */ - get: operations["setTextUsingGET"]; - put?: never; - /** sets the text of a pad */ - post: operations["setTextUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getHTML": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the text of a pad formatted as HTML */ - get: operations["getHTMLUsingGET"]; - put?: never; - /** returns the text of a pad formatted as HTML */ - post: operations["getHTMLUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/setHTML": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** sets the text of a pad with HTML */ - get: operations["setHTMLUsingGET"]; - put?: never; - /** sets the text of a pad with HTML */ - post: operations["setHTMLUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getRevisionsCount": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the number of revisions of this pad */ - get: operations["getRevisionsCountUsingGET"]; - put?: never; - /** returns the number of revisions of this pad */ - post: operations["getRevisionsCountUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getLastEdited": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the timestamp of the last revision of the pad */ - get: operations["getLastEditedUsingGET"]; - put?: never; - /** returns the timestamp of the last revision of the pad */ - post: operations["getLastEditedUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/deletePad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** deletes a pad */ - get: operations["deletePadUsingGET"]; - put?: never; - /** deletes a pad */ - post: operations["deletePadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getReadOnlyID": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the read only link of a pad */ - get: operations["getReadOnlyIDUsingGET"]; - put?: never; - /** returns the read only link of a pad */ - post: operations["getReadOnlyIDUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/setPublicStatus": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** sets a boolean for the public status of a pad */ - get: operations["setPublicStatusUsingGET"]; - put?: never; - /** sets a boolean for the public status of a pad */ - post: operations["setPublicStatusUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getPublicStatus": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** return true of false */ - get: operations["getPublicStatusUsingGET"]; - put?: never; - /** return true of false */ - post: operations["getPublicStatusUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listAuthorsOfPad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns an array of authors who contributed to this pad */ - get: operations["listAuthorsOfPadUsingGET"]; - put?: never; - /** returns an array of authors who contributed to this pad */ - post: operations["listAuthorsOfPadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/padUsersCount": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the number of user that are currently editing this pad */ - get: operations["padUsersCountUsingGET"]; - put?: never; - /** returns the number of user that are currently editing this pad */ - post: operations["padUsersCountUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getAuthorName": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Returns the Author Name of the author */ - get: operations["getAuthorNameUsingGET"]; - put?: never; - /** Returns the Author Name of the author */ - post: operations["getAuthorNameUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/padUsers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the list of users that are currently editing this pad */ - get: operations["padUsersUsingGET"]; - put?: never; - /** returns the list of users that are currently editing this pad */ - post: operations["padUsersUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sendClientsMessage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** sends a custom message of type msg to the pad */ - get: operations["sendClientsMessageUsingGET"]; - put?: never; - /** sends a custom message of type msg to the pad */ - post: operations["sendClientsMessageUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listAllGroups": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["listAllGroupsUsingGET"]; - put?: never; - post: operations["listAllGroupsUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/checkToken": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns ok when the current api token is valid */ - get: operations["checkTokenUsingGET"]; - put?: never; - /** returns ok when the current api token is valid */ - post: operations["checkTokenUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listAllPads": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** list all the pads */ - get: operations["listAllPadsUsingGET"]; - put?: never; - /** list all the pads */ - post: operations["listAllPadsUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/createDiffHTML": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["createDiffHTMLUsingGET"]; - put?: never; - post: operations["createDiffHTMLUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getChatHistory": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the chat history */ - get: operations["getChatHistoryUsingGET"]; - put?: never; - /** returns the chat history */ - post: operations["getChatHistoryUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getChatHead": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** returns the chatHead (chat-message) of the pad */ - get: operations["getChatHeadUsingGET"]; - put?: never; - /** returns the chatHead (chat-message) of the pad */ - post: operations["getChatHeadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getAttributePool": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["getAttributePoolUsingGET"]; - put?: never; - post: operations["getAttributePoolUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getRevisionChangeset": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["getRevisionChangesetUsingGET"]; - put?: never; - post: operations["getRevisionChangesetUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/copyPad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["copyPadUsingGET"]; - put?: never; - post: operations["copyPadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/movePad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["movePadUsingGET"]; - put?: never; - post: operations["movePadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getPadID": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["getPadIDUsingGET"]; - put?: never; - post: operations["getPadIDUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getSavedRevisionsCount": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["getSavedRevisionsCountUsingGET"]; - put?: never; - post: operations["getSavedRevisionsCountUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/listSavedRevisions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["listSavedRevisionsUsingGET"]; - put?: never; - post: operations["listSavedRevisionsUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/saveRevision": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["saveRevisionUsingGET"]; - put?: never; - post: operations["saveRevisionUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/restoreRevision": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["restoreRevisionUsingGET"]; - put?: never; - post: operations["restoreRevisionUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/appendChatMessage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** appends a chat message */ - get: operations["appendChatMessageUsingGET"]; - put?: never; - /** appends a chat message */ - post: operations["appendChatMessageUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/appendText": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["appendTextUsingGET"]; - put?: never; - post: operations["appendTextUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/getStats": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["getStatsUsingGET"]; - put?: never; - post: operations["getStatsUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/copyPadWithoutHistory": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["copyPadWithoutHistoryUsingGET"]; - put?: never; - post: operations["copyPadWithoutHistoryUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/compactPad": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["compactPadUsingGET"]; - put?: never; - post: operations["compactPadUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/anonymizeAuthor": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["anonymizeAuthorUsingGET"]; - put?: never; - post: operations["anonymizeAuthorUsingPOST"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; -} -export type webhooks = Record; -export interface components { - schemas: { - SessionInfo: { - id?: string; - authorID?: string; - groupID?: string; - validUntil?: number; - }; - UserInfo: { - id?: string; - colorId?: string; - name?: string; - timestamp?: number; - }; - Message: { - text?: string; - userId?: string; - userName?: string; - time?: number; - }; - }; - responses: { - /** @description ok (code 0) */ - Success: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - /** @example null */ - data?: Record; - }; - }; - }; - /** @description generic api error (code 1) */ - ApiError: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 1 */ - code?: number; - /** @example error message */ - message?: string; - /** @example null */ - data?: Record; - }; - }; - }; - /** @description internal api error (code 2) */ - InternalError: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 2 */ - code?: number; - /** @example internal error */ - message?: string; - /** @example null */ - data?: Record; - }; - }; - }; - /** @description no such function (code 4) */ - NotFound: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 3 */ - code?: number; - /** @example no such function */ - message?: string; - /** @example null */ - data?: Record; - }; - }; - }; - /** @description no or wrong API key (code 4) */ - Unauthorized: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 4 */ - code?: number; - /** @example no or wrong API key */ - message?: string; - /** @example null */ - data?: Record; - }; - }; - }; - }; - parameters: { - groupMapper: string; - groupID: string; - padID: string; - text: string; - authorId: string; - padName: string; - name: string; - authorMapper: string; - authorID: string; - validUntil: string; - sessionID: string; - rev: string; - html: string; - deletionToken: string; - publicStatus: string; - msg: string; - startRev: string; - endRev: string; - start: string; - end: string; - sourceID: string; - destinationID: string; - force: string; - roID: string; - time: string; - keepRevisions: string; - }; - requestBodies: never; - headers: never; - pathItems: never; -} -export type $defs = Record; -export interface operations { - createGroupUsingGET: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - groupID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createGroupUsingPOST: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - groupID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createGroupIfNotExistsForUsingGET: { - parameters: { - query?: { - groupMapper?: components["parameters"]["groupMapper"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - groupID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createGroupIfNotExistsForUsingPOST: { - parameters: { - query?: { - groupMapper?: components["parameters"]["groupMapper"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - groupID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - deleteGroupUsingGET: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - deleteGroupUsingPOST: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listPadsUsingGET: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listPadsUsingPOST: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createPadUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createPadUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createGroupPadUsingGET: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - padName?: components["parameters"]["padName"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createGroupPadUsingPOST: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - padName?: components["parameters"]["padName"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createAuthorUsingGET: { - parameters: { - query?: { - name?: components["parameters"]["name"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - authorID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createAuthorUsingPOST: { - parameters: { - query?: { - name?: components["parameters"]["name"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - authorID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createAuthorIfNotExistsForUsingGET: { - parameters: { - query?: { - authorMapper?: components["parameters"]["authorMapper"]; - name?: components["parameters"]["name"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - authorID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createAuthorIfNotExistsForUsingPOST: { - parameters: { - query?: { - authorMapper?: components["parameters"]["authorMapper"]; - name?: components["parameters"]["name"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - authorID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listPadsOfAuthorUsingGET: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listPadsOfAuthorUsingPOST: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createSessionUsingGET: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - authorID?: components["parameters"]["authorID"]; - validUntil?: components["parameters"]["validUntil"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - sessionID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createSessionUsingPOST: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - authorID?: components["parameters"]["authorID"]; - validUntil?: components["parameters"]["validUntil"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - sessionID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - deleteSessionUsingGET: { - parameters: { - query?: { - sessionID?: components["parameters"]["sessionID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - deleteSessionUsingPOST: { - parameters: { - query?: { - sessionID?: components["parameters"]["sessionID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getSessionInfoUsingGET: { - parameters: { - query?: { - sessionID?: components["parameters"]["sessionID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - info?: components["schemas"]["SessionInfo"]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getSessionInfoUsingPOST: { - parameters: { - query?: { - sessionID?: components["parameters"]["sessionID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - info?: components["schemas"]["SessionInfo"]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listSessionsOfGroupUsingGET: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - sessions?: components["schemas"]["SessionInfo"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listSessionsOfGroupUsingPOST: { - parameters: { - query?: { - groupID?: components["parameters"]["groupID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - sessions?: components["schemas"]["SessionInfo"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listSessionsOfAuthorUsingGET: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - sessions?: components["schemas"]["SessionInfo"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listSessionsOfAuthorUsingPOST: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - sessions?: components["schemas"]["SessionInfo"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getTextUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - text?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getTextUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - text?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - setTextUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - setTextUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getHTMLUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - html?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getHTMLUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - html?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - setHTMLUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - html?: components["parameters"]["html"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - setHTMLUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - html?: components["parameters"]["html"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getRevisionsCountUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - revisions?: number; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getRevisionsCountUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - revisions?: number; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getLastEditedUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - lastEdited?: number; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getLastEditedUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - lastEdited?: number; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - deletePadUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - deletionToken?: components["parameters"]["deletionToken"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - deletePadUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - deletionToken?: components["parameters"]["deletionToken"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getReadOnlyIDUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - readOnlyID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getReadOnlyIDUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - readOnlyID?: string; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - setPublicStatusUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - publicStatus?: components["parameters"]["publicStatus"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - setPublicStatusUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - publicStatus?: components["parameters"]["publicStatus"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getPublicStatusUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - publicStatus?: boolean; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getPublicStatusUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - publicStatus?: boolean; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listAuthorsOfPadUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - authorIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listAuthorsOfPadUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - authorIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - padUsersCountUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padUsersCount?: number; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - padUsersCountUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padUsersCount?: number; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getAuthorNameUsingGET: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - info?: components["schemas"]["UserInfo"]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getAuthorNameUsingPOST: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - info?: components["schemas"]["UserInfo"]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - padUsersUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padUsers?: components["schemas"]["UserInfo"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - padUsersUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padUsers?: components["schemas"]["UserInfo"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - sendClientsMessageUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - msg?: components["parameters"]["msg"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - sendClientsMessageUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - msg?: components["parameters"]["msg"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listAllGroupsUsingGET: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - groupIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listAllGroupsUsingPOST: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - groupIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - checkTokenUsingGET: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - checkTokenUsingPOST: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listAllPadsUsingGET: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listAllPadsUsingPOST: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - padIDs?: string[]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createDiffHTMLUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - startRev?: components["parameters"]["startRev"]; - endRev?: components["parameters"]["endRev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: Record; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - createDiffHTMLUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - startRev?: components["parameters"]["startRev"]; - endRev?: components["parameters"]["endRev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: Record; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getChatHistoryUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - start?: components["parameters"]["start"]; - end?: components["parameters"]["end"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - messages?: components["schemas"]["Message"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getChatHistoryUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - start?: components["parameters"]["start"]; - end?: components["parameters"]["end"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - messages?: components["schemas"]["Message"][]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getChatHeadUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - chatHead?: components["schemas"]["Message"]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getChatHeadUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description ok (code 0) */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 0 */ - code?: number; - /** @example ok */ - message?: string; - data?: { - chatHead?: components["schemas"]["Message"]; - }; - }; - }; - }; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getAttributePoolUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getAttributePoolUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getRevisionChangesetUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getRevisionChangesetUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - copyPadUsingGET: { - parameters: { - query?: { - sourceID?: components["parameters"]["sourceID"]; - destinationID?: components["parameters"]["destinationID"]; - force?: components["parameters"]["force"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - copyPadUsingPOST: { - parameters: { - query?: { - sourceID?: components["parameters"]["sourceID"]; - destinationID?: components["parameters"]["destinationID"]; - force?: components["parameters"]["force"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - movePadUsingGET: { - parameters: { - query?: { - sourceID?: components["parameters"]["sourceID"]; - destinationID?: components["parameters"]["destinationID"]; - force?: components["parameters"]["force"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - movePadUsingPOST: { - parameters: { - query?: { - sourceID?: components["parameters"]["sourceID"]; - destinationID?: components["parameters"]["destinationID"]; - force?: components["parameters"]["force"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getPadIDUsingGET: { - parameters: { - query?: { - roID?: components["parameters"]["roID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getPadIDUsingPOST: { - parameters: { - query?: { - roID?: components["parameters"]["roID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getSavedRevisionsCountUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getSavedRevisionsCountUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listSavedRevisionsUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - listSavedRevisionsUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - saveRevisionUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - saveRevisionUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - restoreRevisionUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - restoreRevisionUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - rev?: components["parameters"]["rev"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - appendChatMessageUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorID?: components["parameters"]["authorID"]; - time?: components["parameters"]["time"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - appendChatMessageUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorID?: components["parameters"]["authorID"]; - time?: components["parameters"]["time"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - appendTextUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - appendTextUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - text?: components["parameters"]["text"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getStatsUsingGET: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - getStatsUsingPOST: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - copyPadWithoutHistoryUsingGET: { - parameters: { - query?: { - sourceID?: components["parameters"]["sourceID"]; - destinationID?: components["parameters"]["destinationID"]; - force?: components["parameters"]["force"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - copyPadWithoutHistoryUsingPOST: { - parameters: { - query?: { - sourceID?: components["parameters"]["sourceID"]; - destinationID?: components["parameters"]["destinationID"]; - force?: components["parameters"]["force"]; - authorId?: components["parameters"]["authorId"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - compactPadUsingGET: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - keepRevisions?: components["parameters"]["keepRevisions"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - compactPadUsingPOST: { - parameters: { - query?: { - padID?: components["parameters"]["padID"]; - keepRevisions?: components["parameters"]["keepRevisions"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - anonymizeAuthorUsingGET: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; - anonymizeAuthorUsingPOST: { - parameters: { - query?: { - authorID?: components["parameters"]["authorID"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Success"]; - 400: components["responses"]["ApiError"]; - 401: components["responses"]["Unauthorized"]; - 500: components["responses"]["InternalError"]; - }; - }; -} diff --git a/admin/src/api/version.ts b/admin/src/api/version.ts deleted file mode 100644 index 8e5a03f14..000000000 --- a/admin/src/api/version.ts +++ /dev/null @@ -1,5 +0,0 @@ -// GENERATED — do not edit. Run `pnpm --filter admin gen:api` to regenerate. -// Source: src/node/hooks/express/openapi.ts (#7638) - -export const LATEST_API_VERSION = "1.3.1"; -export const API_BASE_URL = `/api/${LATEST_API_VERSION}`;