{{>licenseInfo}}
package {{package}}

{{#imports}}
import {{import}}
{{/imports}}
import {{invokerPackage}}.ApiModel

{{#models}}
{{#model}}
case class {{classname}} (
  {{#vars}}
  {{#description}}
  /* {{{.}}} */
  {{/description}}
  {{{name}}}: {{^required}}Option[{{/required}}{{^isEnum}}{{dataType}}{{/isEnum}}{{#isEnum}}{{classname}}Enums.{{datatypeWithEnum}}{{/isEnum}}{{^required}}] = None{{/required}}{{^-last}},{{/-last}}
  {{/vars}}
) extends ApiModel

{{#hasEnums}}
object {{classname}}Enums {

  {{#vars}}
  {{#isEnum}}
  type {{datatypeWithEnum}} = {{datatypeWithEnum}}.Value
  {{/isEnum}}
  {{/vars}}
  {{#vars}}
  {{#isEnum}}
  object {{datatypeWithEnum}} extends Enumeration {
{{#_enum}}
    val {{#fnEnumEntry}}{{.}}{{/fnEnumEntry}} = Value("{{.}}")
{{/_enum}}
  }

  {{/isEnum}}
  {{/vars}}
}
{{/hasEnums}}
{{/model}}
{{/models}}
