added Java enums

This commit is contained in:
Niclas Thobaben 2021-07-17 15:50:58 +02:00
parent 2f11022c90
commit a4f1227c0d
2 changed files with 55 additions and 5 deletions

View file

@ -23,5 +23,19 @@ module.exports = {
return model return model
}) })
},
mapJavaEnums: (enums, namespace) => {
return enums.map(e => {
e['values'][ e['values'].length - 1 ].last = true;
e.name = utils.pascalcase(e.name)
e.package = `${namespace}.models`
e.values = e.values.map(value => {
value.value = value.value || value.name
value.name = value.name.toUpperCase()
return value
})
return e
})
} }
} }

View file

@ -60,12 +60,48 @@ const service = {
"interfaces": [], "interfaces": [],
"description": "A user defined by an id and an username." "description": "A user defined by an id and an username."
} }
],
enums: [
{
"name": "userStatus",
"plural": "userStatuses",
"values": [
{
"name": "active",
"attributes": [],
"description": "User is active and has access to the system."
},
{
"name": "inactive",
"attributes": [],
"description": "User is not active and has no access to the system."
},
{
"name": "created",
"attributes": [],
"description": "User is created but not has not yet access to the system."
},
{
"name": "deleted",
"attributes": [],
"description": "User is deleted and can not access the system. Deleted user will stay in the system for a while, before completely removed."
}
],
"attributes": [],
"description": "Status of a given user or user role."
}
] ]
} }
const mapped = mapper.mapJavaModels(service.models, service.namespace) const mappedModel = mapper.mapJavaModels(service.models, service.namespace)
console.log(mapped) console.log('Model:', mappedModel, '\n--------\n')
console.log(mapped[0].fields) console.log('Fields: ', mappedModel[0].fields, '\n--------\n')
console.log(mapped[0].fields[0]) console.log('Single Field 1: ', mappedModel[0].fields[0], '\n--------\n')
console.log(mapped[0].fields[3]) console.log('Single Field 2: ', mappedModel[0].fields[3], '\n--------\n')
const mappedEnum = mapper.mapJavaEnums(service.enums, service.namespace)
console.log('Enum: ', mappedEnum, '\n--------\n')
console.log('Enum values: ', mappedEnum[0].values, '\n--------\n')