Versioning of generated model (namespace, base context).

This commit is contained in:
Marcin Stefaniuk 2016-05-25 11:23:11 +02:00
parent bf68801295
commit c59f2b0322
5 changed files with 14 additions and 8 deletions

View File

@ -5,6 +5,7 @@ import io.swagger.codegen.CodegenOperation;
import io.swagger.codegen.CodegenProperty; import io.swagger.codegen.CodegenProperty;
import io.swagger.codegen.CodegenType; import io.swagger.codegen.CodegenType;
import io.swagger.codegen.SupportingFile; import io.swagger.codegen.SupportingFile;
import io.swagger.models.Swagger;
import io.swagger.models.properties.Property; import io.swagger.models.properties.Property;
import io.swagger.models.properties.StringProperty; import io.swagger.models.properties.StringProperty;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -144,6 +145,12 @@ public class NancyFXServerCodegen extends AbstractCSharpCodegen {
return super.toApiFilename(name) + "Module"; return super.toApiFilename(name) + "Module";
} }
@Override
public void preprocessSwagger(Swagger swagger) {
additionalProperties.put("packageContext", sanitizeName(swagger.getBasePath()));
additionalProperties.put("baseContext", swagger.getBasePath());
}
@Override @Override
public String toEnumName(CodegenProperty property) { public String toEnumName(CodegenProperty property) {
return sanitizeName(camelize(property.name)) ; return sanitizeName(camelize(property.name)) ;

View File

@ -6,7 +6,7 @@
<ProjectGuid>{{packageGuid}}</ProjectGuid> <ProjectGuid>{{packageGuid}}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>{{packageName}}</RootNamespace> <RootNamespace>{{packageName}}.{{packageContext}}</RootNamespace>
<AssemblyName>{{packageTitle}}</AssemblyName> <AssemblyName>{{packageTitle}}</AssemblyName>
{{^supportsUWP}} {{^supportsUWP}}
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

View File

@ -3,17 +3,17 @@ using Nancy;
using Nancy.ModelBinding; using Nancy.ModelBinding;
using System.Collections.Generic; using System.Collections.Generic;
using Sharpility.Base; using Sharpility.Base;
using {{packageName}}.Models; using {{packageName}}.{{packageContext}}.Models;
using {{packageName}}.Utils; using {{packageName}}.{{packageContext}}.Utils;
using NodaTime; using NodaTime;
namespace {{packageName}}.Modules namespace {{packageName}}.{{packageContext}}.Modules
{ {{#operations}}{{#operation}}{{#allParams}}{{#isEnum}} { {{#operations}}{{#operation}}{{#allParams}}{{#isEnum}}
{{>innerApiEnum}}{{/isEnum}}{{/allParams}}{{/operation}} {{>innerApiEnum}}{{/isEnum}}{{/allParams}}{{/operation}}
public partial class {{classname}}Module : NancyModule public partial class {{classname}}Module : NancyModule
{ {
public {{classname}}Module({{classname}}Service service) : base("") public {{classname}}Module({{classname}}Service service) : base("{{baseContext}}")
{ {{#operation}} { {{#operation}}
{{httpMethod}}["{{path}}"] = parameters => {{httpMethod}}["{{path}}"] = parameters =>
{ {

View File

@ -7,7 +7,7 @@ using NodaTime;
{{#models}} {{#models}}
{{#model}} {{#model}}
namespace {{packageName}}.Models namespace {{packageName}}.{{packageContext}}.Models
{ {{#vars}}{{#isEnum}} { {{#vars}}{{#isEnum}}
{{>innerModelEnum}}{{/isEnum}}{{#items.isEnum}} {{>innerModelEnum}}{{/isEnum}}{{#items.isEnum}}
{{#items}}{{>innerModelEnum}}{{/items}}{{/items.isEnum}}{{/vars}} {{#items}}{{>innerModelEnum}}{{/items}}{{/items.isEnum}}{{/vars}}

View File

@ -1,4 +1,3 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
@ -8,7 +7,7 @@ using Sharpility.Base;
using Sharpility.Extensions; using Sharpility.Extensions;
using Sharpility.Util; using Sharpility.Util;
namespace {{packageName}}.Utils namespace {{packageName}}.{{packageContext}}.Utils
{ {
internal static class Parameters internal static class Parameters
{ {