Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
/**
* Property annotation for providing a description of a schema model property
*/
@Target(AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(DescriptionProcessor::class)
annotation class Description(val value: String)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.number.floating.clamp
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(FClampProcessor::class)
@ValidatorAnnotation(FClampProcessor::class)
annotation class FClamp(val min: Double, val max: Double, val errorMessage: String = "")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.number.floating.max
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(FMaxProcessor::class)
@ValidatorAnnotation(FMaxProcessor::class)
annotation class FMax(val value: Double, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.number.floating.min
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(FMinProcessor::class)
@ValidatorAnnotation(FMinProcessor::class)
annotation class FMin(val value: Double, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.number.integer.clamp
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(ClampProcessor::class)
@ValidatorAnnotation(ClampProcessor::class)
annotation class Clamp(val min: Long, val max: Long, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.number.integer.max
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(MaxProcessor::class)
@ValidatorAnnotation(MaxProcessor::class)
annotation class Max(val value: Long, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.number.integer.min
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(MinProcessor::class)
@ValidatorAnnotation(MinProcessor::class)
annotation class Min(val value: Long, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import kotlin.reflect.KClass
/**
* Careful, no type checking done if you give the wrong provider
*/
@Target(AnnotationTarget.CLASS, AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.CLASS, AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(ExampleProcessor::class)
annotation class WithExample(val provider: KClass<out ExampleProvider<*>> = NoExampleProvider::class)

Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
/**
* Provide examples for a String property
*/
@Target(AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(StringExampleProcessor::class)
annotation class StringExample(vararg val examples: String)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.string.length
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(LengthProcessor::class)
@ValidatorAnnotation(LengthProcessor::class)
annotation class Length(val min: Int, val max: Int, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.string.length
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(MaxLengthProcessor::class)
@ValidatorAnnotation(MaxLengthProcessor::class)
annotation class MaxLength(val value: Int, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.string.length
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(MinLengthProcessor::class)
@ValidatorAnnotation(MinLengthProcessor::class)
annotation class MinLength(val value: Int, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.papsign.ktor.openapigen.annotations.type.string.pattern
import com.papsign.ktor.openapigen.schema.processor.SchemaProcessorAnnotation
import com.papsign.ktor.openapigen.validation.ValidatorAnnotation

@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY)
@Target(AnnotationTarget.TYPE, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
@SchemaProcessorAnnotation(RegularExpressionProcessor::class)
@ValidatorAnnotation(RegularExpressionProcessor::class)
annotation class RegularExpression(@org.intellij.lang.annotations.Language("RegExp") val pattern: String, val errorMessage: String = "")
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class ModularParameterHandler<T>(val parsers: Map<KParameter, Builder<*>>, val c
!param.type.isMarkedNullable
).also {
@Suppress("UNCHECKED_CAST")
it.schema = schemaBuilder.build(param.type.withNullability(false)) as SchemaModel<Any>
it.schema = schemaBuilder.build(param.type.withNullability(false), param.annotations) as SchemaModel<Any>
config(it)
}
}
Expand Down