generate proxy bug fixes

pull/3192/head
Arkat Erol 6 years ago
parent fe99094144
commit 9dcf495c38

@ -139,7 +139,7 @@ namespace Volo.Abp.Cli.Commands
var name = (string)parameter["name"]; var name = (string)parameter["name"];
var typeSimple = (string)parameter["typeSimple"]; var typeSimple = (string)parameter["typeSimple"];
var typeArray = ((string)parameter["type"]).Split("."); var typeArray = ((string)parameter["type"]).Split(".");
var type = typeArray[typeArray.Length - 1]; var type = (typeArray[typeArray.Length - 1]).TrimEnd('>');
var isOptional = (bool)parameter["isOptional"]; var isOptional = (bool)parameter["isOptional"];
var defaultValue = (string)parameter["defaultValue"]; var defaultValue = (string)parameter["defaultValue"];
@ -209,6 +209,13 @@ namespace Volo.Abp.Cli.Commands
{ {
foreach (var parameterItem in parameterModel.OrderBy(p => p.DisplayOrder)) foreach (var parameterItem in parameterModel.OrderBy(p => p.DisplayOrder))
{ {
var parameterItemModelName = parameterItem.Type.PascalToKebabCase() + ".ts";
var parameterItemModelPath = $"src/app/{rootPath}/shared/models/{parameterItemModelName}";
if (parameterItem.BindingSourceId == "body" && !File.Exists(parameterItemModelPath))
{
parameterItem.Type = "any";
}
parametersIndex++; parametersIndex++;
if (parametersIndex > 1) if (parametersIndex > 1)
@ -222,7 +229,7 @@ namespace Volo.Abp.Cli.Commands
{ {
modelBindingExtraList.Add(parameterItem.Name); modelBindingExtraList.Add(parameterItem.Name);
} }
else if (parameterItem.BindingSourceId == "body") else if (parameterItem.BindingSourceId == "body" && File.Exists(parameterItemModelPath))
{ {
secondTypeList.Add(parameterItem.Type); secondTypeList.Add(parameterItem.Type);
} }
@ -239,6 +246,13 @@ namespace Volo.Abp.Cli.Commands
var secondTypeArray = returnValueType.Split("<")[1].Split("."); var secondTypeArray = returnValueType.Split("<")[1].Split(".");
var secondType = secondTypeArray[secondTypeArray.Length - 1].TrimEnd('>'); var secondType = secondTypeArray[secondTypeArray.Length - 1].TrimEnd('>');
var secondTypeModelName = secondType.PascalToKebabCase() + ".ts";
var secondTypeModelPath = $"src/app/{rootPath}/shared/models/{secondTypeModelName}";
if (firstType == "List" && !File.Exists(secondTypeModelPath))
{
secondType = "any";
}
serviceFileText.AppendLine( serviceFileText.AppendLine(
firstType == "List" firstType == "List"
? $" {actionName}({parametersText}): Observable<{secondType}[]> {{" ? $" {actionName}({parametersText}): Observable<{secondType}[]> {{"
@ -248,7 +262,11 @@ namespace Volo.Abp.Cli.Commands
{ {
firstTypeList.Add(firstType); firstTypeList.Add(firstType);
} }
secondTypeList.Add(secondType);
if (secondType != "any")
{
secondTypeList.Add(secondType);
}
} }
else else
{ {
@ -286,7 +304,7 @@ namespace Volo.Abp.Cli.Commands
modelBindingExtra = ", params: { " + string.Join(", ", modelBindingExtraList.ToArray()) + " }"; modelBindingExtra = ", params: { " + string.Join(", ", modelBindingExtraList.ToArray()) + " }";
} }
var url = (((string)action["url"]).Replace("/{", "/${")).ToLower(); var url = ((string)action["url"]).Replace("/{", "/${");
var httpMethod = (string)action["httpMethod"]; var httpMethod = (string)action["httpMethod"];
serviceFileText.AppendLine( serviceFileText.AppendLine(
@ -347,6 +365,8 @@ namespace Volo.Abp.Cli.Commands
File.WriteAllText($"src/app/{rootPath}/shared/models/index.ts", modelIndexFileText.ToString()); File.WriteAllText($"src/app/{rootPath}/shared/models/index.ts", modelIndexFileText.ToString());
} }
Logger.LogInformation("Completed!");
} }
private Dictionary<string, string> GetCombinedModules(JToken data, string module) private Dictionary<string, string> GetCombinedModules(JToken data, string module)
@ -390,6 +410,7 @@ namespace Volo.Abp.Cli.Commands
|| returnValueType.StartsWith("System.Collections") || returnValueType.StartsWith("System.Collections")
|| returnValueType == "System.String" || returnValueType == "System.String"
|| returnValueType == "System.Void" || returnValueType == "System.Void"
|| returnValueType.Contains("System.Net.HttpStatusCode?")
|| returnValueType.Contains("IActionResult") || returnValueType.Contains("IActionResult")
|| returnValueType.Contains("ActionResult") || returnValueType.Contains("ActionResult")
|| returnValueType.Contains("IStringValueType") || returnValueType.Contains("IStringValueType")
@ -402,7 +423,12 @@ namespace Volo.Abp.Cli.Commands
var typeNameSplit = returnValueType.Split("."); var typeNameSplit = returnValueType.Split(".");
var typeName = typeNameSplit[typeNameSplit.Length - 1]; var typeName = typeNameSplit[typeNameSplit.Length - 1];
var typeModelName = typeName.Replace("<", "").Replace(">", "").PascalToKebabCase() + ".ts"; if (typeName.Contains("HttpStatusCode"))
{
}
var typeModelName = typeName.Replace("<", "").Replace(">", "").Replace("?","").PascalToKebabCase() + ".ts";
var path = $"src/app/{rootPath}/shared/models/{typeModelName}"; var path = $"src/app/{rootPath}/shared/models/{typeModelName}";

@ -1,8 +1,7 @@
{ {
"profiles": { "profiles": {
"Volo.Abp.Cli": { "Volo.Abp.Cli": {
"commandName": "Project", "commandName": "Project"
"commandLineArgs": "generate-proxy -u angular -m all"
} }
} }
} }
Loading…
Cancel
Save