client use enums

This commit is contained in:
Niclas Thobaben 2021-10-06 20:26:43 +02:00
parent 757367762f
commit f6ca33326e
2 changed files with 12 additions and 12 deletions

View file

@ -15,7 +15,7 @@ module.exports = (service) => {
service.pascalcase = utils.pascalcase(service.name)
service.configName = `${utils.pascalcase(service.name)}ApiClientConfig`
service.package = service.namespace
const resources = javaClient.mapResources(service.resources, service.namespace)
const resources = javaClient.mapResources(service.resources, service.namespace, service)
service.headers = service.headers.map(header => {
header.type = javaType.mapJavaType(header.type, service.namespace)

View file

@ -18,27 +18,27 @@ function formatOperationName(operation) {
}
function mapParameter(parameter, namespace, operation) {
function mapParameter(parameter, namespace, operation, service) {
parameter.label = utils.camelcase(parameter.name)
parameter.type = javaType.mapJavaType(parameter.type, namespace)
parameter.type = javaType.mapJavaType(parameter.type, namespace, '', service)
parameter.op = operation
parameter.isPath = parameter.location === 'Path'
parameter.default = javaType.mapDefaultValue(parameter.type, parameter.default)
return parameter
}
function mapOperation(operation, namespace) {
function mapOperation(operation, namespace, service) {
operation.headers = operation.parameters
.filter(param => param.location === 'Header')
.map(param => mapParameter(param, namespace, operation))
.map(param => mapParameter(param, namespace, operation, service))
operation.query = operation.parameters
.filter(param => param.location === 'Query')
.map(param => mapParameter(param, namespace, operation))
.map(param => mapParameter(param, namespace, operation, service))
operation.parameters = operation.parameters
.filter(param => param.location === 'Path')
.map(param => mapParameter(param, namespace, operation))
.map(param => mapParameter(param, namespace, operation, service))
operation.name = formatOperationName(operation)
operation.camelcase = utils.camelcase(operation.name)
@ -59,7 +59,7 @@ function mapOperation(operation, namespace) {
}
})
operation.responses = operation.responses.map(resp => {
let type = javaType.mapJavaType(resp.type, namespace)
let type = javaType.mapJavaType(resp.type, namespac, service)
if(resp.type !== 'unit') {
resp.label = `${utils.camelcase(type.baseType || 'result')}${resp.code.integer.value}`
}
@ -75,7 +75,7 @@ function mapOperation(operation, namespace) {
label: bodyName,
required: true,
location: 'Body',
type: javaType.mapJavaType(operation.body.type, namespace)
type: javaType.mapJavaType(operation.body.type, namespace, service)
}
]
operation.body.name = bodyName
@ -91,11 +91,11 @@ function mapOperation(operation, namespace) {
}
module.exports = {
mapResources: (resources, namespace) => {
mapResources: (resources, namespace, service) => {
return resources.map(resource => {
resource.type = javaType.mapJavaType(resource.type, namespace)
resource.type = javaType.mapJavaType(resource.type, namespace, '', service)
resource.name = `${utils.pascalcase(resource.plural)}Resource`
resource.operations = resource.operations.map(op => mapOperation(op, namespace))
resource.operations = resource.operations.map(op => mapOperation(op, namespace, service))
resource.package = `${namespace}.client`
resource.dir = resource.package.replace(/\./g, '/')