SwaggerSchema.java
package fr.avenirsesr.portfolio.shared.infrastructure.adapter.openapi;
import fr.avenirsesr.portfolio.shared.domain.model.enums.EDurationUnit;
import fr.avenirsesr.portfolio.shared.domain.model.enums.EErrorCode;
import fr.avenirsesr.portfolio.shared.domain.model.enums.ELanguage;
import fr.avenirsesr.portfolio.shared.domain.model.enums.EPortfolioType;
import fr.avenirsesr.portfolio.shared.domain.model.enums.ESortField;
import fr.avenirsesr.portfolio.shared.domain.model.enums.ESortOrder;
import io.swagger.v3.oas.models.media.Schema;
import io.swagger.v3.oas.models.media.StringSchema;
import java.util.Arrays;
public interface SwaggerSchema {
Schema<String> sharedDurationUnitSchema =
new StringSchema()
.name("EDurationUnit")
._enum(Arrays.stream(EDurationUnit.values()).map(Enum::name).toList())
.description("Enum for duration units");
Schema<String> sharedErrorCodeSchema =
new StringSchema()
.name("EErrorCode")
._enum(Arrays.stream(EErrorCode.values()).map(Enum::name).toList())
.description("Enum for error codes");
Schema<String> sharedLanguageSchema =
new StringSchema()
.name("ELanguage")
._enum(Arrays.stream(ELanguage.values()).map(Enum::name).toList())
.description("Enum for languages");
Schema<String> sharedPortfolioTypeSchema =
new StringSchema()
.name("EPortfolioType")
._enum(Arrays.stream(EPortfolioType.values()).map(Enum::name).toList())
.description("Enum for portfolio types");
Schema<String> sharedSortFieldSchema =
new StringSchema()
.name("ESortField")
._enum(Arrays.stream(ESortField.values()).map(Enum::name).toList())
.description("Enum for sort fields");
Schema<String> sharedSortOrderSchema =
new StringSchema()
.name("ESortOrder")
._enum(Arrays.stream(ESortOrder.values()).map(Enum::name).toList())
.description("Enum for sort orders");
}