docs/generators/ktorm-schema.md
| Property | Value | Notes |
|---|---|---|
| generator name | ktorm-schema | pass this to the generate command after -g |
| generator stability | BETA | |
| generator type | SCHEMA | |
| generator language | Ktorm | |
| generator default templating engine | mustache | |
| helpTxt | Generates a kotlin-ktorm schema (beta) |
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
| Option | Description | Values | Default |
|---|---|---|---|
| addSurrogateKey | Adds the surrogate key for all models that don't already have a primary key (named by the above convention) | false | |
| additionalModelTypeAnnotations | Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows) | null | |
| artifactId | Generated artifact id (name of jar). | ktorm | |
| artifactVersion | Generated artifact's package version. | 1.0.0 | |
| defaultDatabaseName | Default database name for all queries | sqlite.db | |
| enumPropertyNaming | Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' | original | |
| groupId | Generated artifact package's organization (i.e. maven groupId). | org.openapitools | |
| identifierNamingConvention | Naming convention of Ktorm identifiers(table names and column names). This is not related to database name which is defined by defaultDatabaseName option | <dl><dt>original</dt><dd>Do not transform original names</dd><dt>snake_case</dt><dd>Use snake_case names</dd></dl> | original |
| implicitHeaders | Skip header parameters in the generated API methods. | false | |
| importModelPackageName | Package name of the imported models | org.openapitools.database.models | |
| modelMutable | Create mutable models | false | |
| packageName | Generated artifact package name. | org.openapitools.database | |
| primaryKeyConvention | Primary key naming convention | id | |
| sortModelPropertiesByRequiredFlag | Sort model properties to place required parameters before optional parameters. | null | |
| sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. | null | |
| sourceFolder | source folder for generated code | src/main/kotlin |
| Type/Alias | Imports |
|---|---|
| BigDecimal | java.math.BigDecimal |
| Date | java.time.LocalDate |
| DateTime | java.time.OffsetDateTime |
| File | java.io.File |
| LocalDate | java.time.LocalDate |
| LocalDateTime | java.time.LocalDateTime |
| LocalTime | java.time.LocalTime |
| Timestamp | java.sql.Timestamp |
| URI | java.net.URI |
| UUID | java.util.UUID |
| Type/Alias | Instantiated By |
|---|---|
| array | kotlin.collections.ArrayList |
| list | kotlin.collections.ArrayList |
| map | kotlin.collections.HashMap |
| Name | Supported | Defined By |
|---|---|---|
| BasePath | ✗ | ToolingExtension |
| Authorizations | ✗ | ToolingExtension |
| UserAgent | ✗ | ToolingExtension |
| MockServer | ✗ | ToolingExtension |
| Name | Supported | Defined By |
|---|---|---|
| Custom | ✗ | OAS2,OAS3 |
| Int32 | ✓ | OAS2,OAS3 |
| Int64 | ✓ | OAS2,OAS3 |
| Float | ✓ | OAS2,OAS3 |
| Double | ✓ | OAS2,OAS3 |
| Decimal | ✓ | ToolingExtension |
| String | ✓ | OAS2,OAS3 |
| Byte | ✓ | OAS2,OAS3 |
| Binary | ✓ | OAS2,OAS3 |
| Boolean | ✓ | OAS2,OAS3 |
| Date | ✓ | OAS2,OAS3 |
| DateTime | ✓ | OAS2,OAS3 |
| Password | ✓ | OAS2,OAS3 |
| File | ✓ | OAS2 |
| Uuid | ✗ | |
| Array | ✓ | OAS2,OAS3 |
| Null | ✗ | OAS3 |
| AnyType | ✗ | OAS2,OAS3 |
| Object | ✓ | OAS2,OAS3 |
| Maps | ✓ | ToolingExtension |
| CollectionFormat | ✓ | OAS2 |
| CollectionFormatMulti | ✓ | OAS2 |
| Enum | ✓ | OAS2,OAS3 |
| ArrayOfEnum | ✓ | ToolingExtension |
| ArrayOfModel | ✓ | ToolingExtension |
| ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension |
| ArrayOfCollectionOfModel | ✓ | ToolingExtension |
| ArrayOfCollectionOfEnum | ✓ | ToolingExtension |
| MapOfEnum | ✓ | ToolingExtension |
| MapOfModel | ✓ | ToolingExtension |
| MapOfCollectionOfPrimitives | ✓ | ToolingExtension |
| MapOfCollectionOfModel | ✓ | ToolingExtension |
| MapOfCollectionOfEnum | ✓ | ToolingExtension |
| Name | Supported | Defined By |
|---|---|---|
| Readme | ✓ | ToolingExtension |
| Model | ✓ | ToolingExtension |
| Api | ✓ | ToolingExtension |
| Name | Supported | Defined By |
|---|---|---|
| Host | ✓ | OAS2,OAS3 |
| BasePath | ✓ | OAS2,OAS3 |
| Info | ✓ | OAS2,OAS3 |
| Schemes | ✗ | OAS2,OAS3 |
| PartialSchemes | ✓ | OAS2,OAS3 |
| Consumes | ✓ | OAS2 |
| Produces | ✓ | OAS2 |
| ExternalDocumentation | ✓ | OAS2,OAS3 |
| Examples | ✓ | OAS2,OAS3 |
| XMLStructureDefinitions | ✗ | OAS2,OAS3 |
| MultiServer | ✗ | OAS3 |
| ParameterizedServer | ✗ | OAS3 |
| ParameterStyling | ✗ | OAS3 |
| Callbacks | ✗ | OAS3 |
| LinkObjects | ✗ | OAS3 |
| Name | Supported | Defined By |
|---|---|---|
| Path | ✓ | OAS2,OAS3 |
| Query | ✓ | OAS2,OAS3 |
| Header | ✓ | OAS2,OAS3 |
| Body | ✓ | OAS2 |
| FormUnencoded | ✓ | OAS2 |
| FormMultipart | ✓ | OAS2 |
| Cookie | ✓ | OAS3 |
| Name | Supported | Defined By |
|---|---|---|
| Simple | ✓ | OAS2,OAS3 |
| Composite | ✓ | OAS2,OAS3 |
| Polymorphism | ✗ | OAS2,OAS3 |
| Union | ✗ | OAS3 |
| allOf | ✗ | OAS2,OAS3 |
| anyOf | ✗ | OAS3 |
| oneOf | ✗ | OAS3 |
| not | ✗ | OAS3 |
| Name | Supported | Defined By |
|---|---|---|
| BasicAuth | ✗ | OAS2,OAS3 |
| ApiKey | ✗ | OAS2,OAS3 |
| OpenIDConnect | ✗ | OAS3 |
| BearerToken | ✗ | OAS3 |
| OAuth2_Implicit | ✗ | OAS2,OAS3 |
| OAuth2_Password | ✗ | OAS2,OAS3 |
| OAuth2_ClientCredentials | ✗ | OAS2,OAS3 |
| OAuth2_AuthorizationCode | ✗ | OAS2,OAS3 |
| SignatureAuth | ✗ | OAS3 |
| AWSV4Signature | ✗ | ToolingExtension |
| Name | Supported | Defined By |
|---|---|---|
| JSON | ✗ | OAS2,OAS3 |
| XML | ✗ | OAS2,OAS3 |
| PROTOBUF | ✗ | ToolingExtension |
| Custom | ✗ | OAS2,OAS3 |