openapi: 3.0.3 info: title: apidoc-generator-attributes version: 0.1.0-SNAPSHOT description: This specified additional options that can be specified when using Movio's scala generators components: schemas: MovioApidocGeneratorAttributesV0ModelsScalaModelProps: description: Additional code generation information for case classes type: object properties: extends: description: A list of Scala/Java classes that this model extends example: '[com.github.BaseClass1, com.github.BaseClass2]' type: array items: type: string MovioApidocGeneratorAttributesV0ModelsScalaFieldProps: description: Additional code generation information for case class fields type: object properties: class: description: The fully qualified Scala/Java class to use during implementation. Note that this class must have a json formatter defined in the generator code. Currenly only org.joda.time.LocalDate and org.joda.time.LocalDateTime are implemented. In the future this maybe a defined list of supported classes example: org.joda.time.LocalDate type: string default: description: Used as the default in a case class. type: string example: description: Used in documentation and as a default implementation when creating example implementation's of case classes type: string MovioApidocGeneratorAttributesV0ModelsKafkaProps: description: Information needed for generating Kafka wrappers, consumers and producers. type: object required: - data_type - topic - message_generate_key properties: data_type: description: This is the name of the model that this kafka wrapper encapsulated. Model name is the same as defined in the models section example: person_address type: string topic: description: '[scala] This is a scala snippet that returns a string with the topic name for kafka. The generator creates a function on the kafka topic object `def topic(tenant: String) = `' type: string message_generate_key: description: '[scala] This is a scala snippet that creates a string used as the message ID. The message ID is used as the kafka message ID. The generator creates a function on the case class `def generateKey(tenant: String) = `' default: java.util.UUID.randomUUID().toString type: string MovioApidocGeneratorAttributesV0ModelsFieldValidation: description: Additional validation options not currently in the standard apidoc spec type: object properties: regex: description: Regex string to validate the field with. The field must be a `string` or `[string]`. If the field is a `[string]` all elements in the array will be validated example: ^[A-Za-z]+$ type: string maximum: description: This applies only to `[string]`, `[integer]` and `[long]`. The current apidoc spec includes maximum however for an array this the maxium size of the array. This validates the max length or number of each element of the array. The field must be a `[string]`, `[integer]` or `[long]`. All elements in the array will be validated as per standard apidoc specs type: integer format: int64 minimum: description: This applies only to `[string]`, `[integer]` and `[long]`. The current apidoc spec includes minimum however for an array this the minimum size of the array. This validates the minimum length or number of each element of the array. The field must be a `[string]`, `[integer]` or `[long]`. All elements in the array will be validated as per standard apidoc specs type: integer format: int64