Fail to generate the queries of Camunda 7 openapi.yaml
Describe the bug I tried to generate the client with Camunda 7 openapi.yaml but it's failed via creating the queries.
To Reproduce
Run the following command with the provided openapi.yaml
openapi-rq -i ./openapi.yaml -o ./client -c axios --format prettier --debug
OpenAPI spec file openapi.yaml.zip
Expected behavior
requests and queries folder code generate successfully.
- OS: macOS
- Version 14.4.1 (23E224)
Please provide an openapi spec file or a link to one.
Please provide an openapi spec file or a link to one.
The openapi.yaml was attached in the middle of the issue - OpenAPI spec file
Describe the bug I tried to generate the client with Camunda 7 openapi.yaml but it's failed via creating the queries.
To Reproduce Run the following command with the provided openapi.yaml
openapi-rq -i ./openapi.yaml -o ./client -c axios --format prettier --debugOpenAPI spec file openapi.yaml.zip
Expected behavior
requestsandqueriesfolder code generate successfully.
- OS: macOS
- Version 14.4.1 (23E224)
Thank you, i have reproduced an the issue with the file, seems the underlying service generator @hey-api/openapi-ts is fails to handle the error descriptions.
I created a minimal OpenAPI doc to reproduce the issue.
openapi: 3.0.2
info:
title: Camunda Platform REST API
description: OpenApi Spec for Camunda Platform REST API.
version: 7.21.0
license:
name: Apache License 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
externalDocs:
description: Find out more about Camunda Rest API
url: 'https://docs.camunda.org/manual/7.21/reference/rest/overview/'
servers:
- url: 'http://{host}:{port}/{contextPath}'
description: The API server for the default process engine
variables:
host:
default: localhost
port:
default: '8080'
contextPath:
default: engine-rest
- url: 'http://{host}:{port}/{contextPath}/engine/{engineName}'
description: The API server for a named process engine
variables:
host:
default: localhost
port:
default: '8080'
contextPath:
default: engine-rest
engineName:
default: default
- url: '{url}'
description: The API server with a custom url
variables:
url:
default: ''
tags:
- name: Deployment
paths:
/deployment/count:
get:
operationId: getDeploymentsCount
tags:
- Deployment
summary: Get List Count
description: >-
Queries for the number of deployments that fulfill given parameters.
Takes the same parameters as the
[Get Deployments](https://docs.camunda.org/manual/7.21/reference/rest/deployment/get-query/)
method.
parameters:
- name: id
in: query
schema:
type: string
description: Filter by deployment id
- name: name
in: query
schema:
type: string
description: Filter by the deployment name. Exact match.
- name: nameLike
in: query
schema:
type: string
description: >-
Filter by the deployment name that the parameter is a substring of.
The parameter can include the
wildcard `%` to express like-strategy such as: starts with
(`%`name), ends with (name`%`) or contains
(`%`name`%`).
- name: source
in: query
schema:
type: string
description: Filter by the deployment source.
- name: withoutSource
in: query
schema:
default: false
type: boolean
description: Filter by the deployment source whereby source is equal to `null`.
- name: tenantIdIn
in: query
schema:
type: string
description: >-
Filter by a comma-separated list of tenant ids. A deployment must
have one of the given tenant ids.
- name: withoutTenantId
in: query
schema:
default: false
type: boolean
description: >-
Only include deployments which belong to no tenant. Value may only
be `true`, as `false` is the default
behavior.
- name: includeDeploymentsWithoutTenantId
in: query
schema:
default: false
type: boolean
description: >-
Include deployments which belong to no tenant. Can be used in
combination with `tenantIdIn`. Value may
only be `true`, as `false` is the default behavior.
- name: after
in: query
schema:
type: string
format: date-time
description: >-
Restricts to all deployments after the given date.
By
[default](https://docs.camunda.org/manual/7.21/reference/rest/overview/date-format/),
the date must have the format
`yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`.
- name: before
in: query
schema:
type: string
format: date-time
description: >-
Restricts to all deployments before the given date.
By
[default](https://docs.camunda.org/manual/7.21/reference/rest/overview/date-format/),
the date must have the format
`yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`.
responses:
'200':
content:
application/json:
schema:
type: string
description: Request successful.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionDto'
description: >-
Returned if some of the query parameters are invalid, for example,
if an invalid operator for variable
comparison is used. See the
[Introduction](https://docs.camunda.org/manual/7.21/reference/rest/overview/#error-handling)
for the error response format.
components:
schemas:
ExceptionDto:
title: ExceptionDto
type: object
properties:
type:
type: string
nullable: true
description: An exception class indicating the occurred error.
message:
type: string
nullable: true
description: A detailed message of the error.
code:
type: number
description: >-
The code allows your client application to identify the error in an
automated fashion.
You can look up the meaning of all built-in codes and learn how to
add custom codes
in the [User
Guide](https://docs.camunda.org/manual/7.21/user-guide/process-engine/error-handling/#exception-codes).
This will be fixed in #115