add name mapping features to lua client generator (#16511)

This commit is contained in:
William Cheng 2023-09-05 20:03:27 +08:00 committed by GitHub
parent a9301a6c16
commit 8608103c9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 2 deletions

View File

@ -4,3 +4,5 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/lua
additionalProperties:
packageName: petstore
nameMappings:
phone: mobile

View File

@ -239,6 +239,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig {
@Override
public String toVarName(String name) {
// obtain the name from nameMapping directly if provided
if (nameMapping.containsKey(name)) {
return nameMapping.get(name);
}
// replace - with _ e.g. created-at => created_at
name = sanitizeName(name.replaceAll("-", "_"));
@ -263,6 +268,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig {
@Override
public String toParamName(String name) {
// obtain the name from parameterNameMapping directly if provided
if (parameterNameMapping.containsKey(name)) {
return parameterNameMapping.get(name);
}
return toVarName(name);
}
@ -273,6 +283,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig {
@Override
public String toModelFilename(String name) {
// obtain the name from modelNameMapping directly if provided
if (modelNameMapping.containsKey(name)) {
return modelNameMapping.get(name);
}
if (!StringUtils.isEmpty(modelNamePrefix)) {
name = modelNamePrefix + "_" + name;
}

View File

@ -19,7 +19,7 @@ local function cast_user(t)
return setmetatable(t, user_mt)
end
local function new_user(id, username, first_name, last_name, email, password, phone, user_status)
local function new_user(id, username, first_name, last_name, email, password, mobile, user_status)
return cast_user({
["id"] = id;
["username"] = username;
@ -27,7 +27,7 @@ local function new_user(id, username, first_name, last_name, email, password, ph
["lastName"] = last_name;
["email"] = email;
["password"] = password;
["phone"] = phone;
["phone"] = mobile;
["userStatus"] = user_status;
})
end