From b77df882c7e46b7754ffb47263549a2b9b9c9c9e Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 10:29:28 +0300 Subject: [PATCH 1/7] feat(jaeger): add it, do not used spring boot starter --- server/app/build.gradle.kts | 2 ++ .../application/ApplicationConfiguration.kt | 2 ++ .../application/muse/TracingConfiguration.kt | 20 +++++++++++++++++++ .../src/main/resources/application.properties | 2 ++ tools/docker/docker-compose.yml | 14 +++++++++++++ tools/docker/env/dev.env | 8 +++++++- tools/docker/env/local.env | 5 +++++ tools/docker/env/prod.env | 5 +++++ tools/docker/env/staging.env | 8 +++++++- 9 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 server/app/src/main/kotlin/mu/muse/application/muse/TracingConfiguration.kt diff --git a/server/app/build.gradle.kts b/server/app/build.gradle.kts index dc4c3bc0..2e2db6a1 100644 --- a/server/app/build.gradle.kts +++ b/server/app/build.gradle.kts @@ -68,6 +68,8 @@ dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jdbc") implementation("org.jooq:jooq:3.19.11") jooqGenerator("org.jooq:jooq-meta-extensions:3.19.11") + implementation("io.micrometer:micrometer-tracing-bridge-otel") + implementation("io.opentelemetry:opentelemetry-exporter-otlp") } tasks.named("test") { diff --git a/server/app/src/main/kotlin/mu/muse/application/ApplicationConfiguration.kt b/server/app/src/main/kotlin/mu/muse/application/ApplicationConfiguration.kt index eeebdec4..eb713c7d 100644 --- a/server/app/src/main/kotlin/mu/muse/application/ApplicationConfiguration.kt +++ b/server/app/src/main/kotlin/mu/muse/application/ApplicationConfiguration.kt @@ -3,6 +3,7 @@ package mu.muse.application import mu.muse.application.muse.PersistenceConfiguration import mu.muse.application.muse.RestConfiguration import mu.muse.application.muse.SecurityConfiguration +import mu.muse.application.muse.TracingConfiguration import mu.muse.application.muse.UseCaseConfiguration import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Import @@ -14,5 +15,6 @@ import org.springframework.context.annotation.Import RestConfiguration::class, SecurityConfiguration::class, MvcConfiguration::class, + TracingConfiguration::class, ) class ApplicationConfiguration diff --git a/server/app/src/main/kotlin/mu/muse/application/muse/TracingConfiguration.kt b/server/app/src/main/kotlin/mu/muse/application/muse/TracingConfiguration.kt new file mode 100644 index 00000000..1f95ab47 --- /dev/null +++ b/server/app/src/main/kotlin/mu/muse/application/muse/TracingConfiguration.kt @@ -0,0 +1,20 @@ +package mu.muse.application.muse + +import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter +import org.springframework.beans.factory.annotation.Value +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration + +@Configuration +class TracingConfiguration( + @Value("\${tracing.url}") private val tracingUrl: String, +) { + + @Bean + fun otlpHttpSpanExporter(): OtlpGrpcSpanExporter { + return OtlpGrpcSpanExporter + .builder() + .setEndpoint(tracingUrl) + .build() + } +} diff --git a/server/app/src/main/resources/application.properties b/server/app/src/main/resources/application.properties index bc180d60..232419b9 100644 --- a/server/app/src/main/resources/application.properties +++ b/server/app/src/main/resources/application.properties @@ -21,3 +21,5 @@ spring.sql.init.mode=always spring.sql.init.schema-locations=classpath:db/schema.sql spring.sql.init.data-locations=classpath:db/data.sql +management.tracing.sampling.probability=1.0 +tracing.url=${OPEN_TELEMETERY_URL} diff --git a/tools/docker/docker-compose.yml b/tools/docker/docker-compose.yml index e74eeb4d..6055a16b 100644 --- a/tools/docker/docker-compose.yml +++ b/tools/docker/docker-compose.yml @@ -88,6 +88,20 @@ services: - muse profiles: - local + + muse-jaeger: + image: jaegertracing/all-in-one:1.60 + ports: + - "${OPEN_TELEMETERY_COLLECTOR_PORT}:4317" + - "${JAEGER_UI_PORT}:16686" + networks: + - muse + profiles: + - local + - dev + - staging + - prod + ## portainer: # image: portainer/portainer-ce:linux-amd64-2.20.3-alpine # container_name: portainer diff --git a/tools/docker/env/dev.env b/tools/docker/env/dev.env index 4d18de87..20eb1581 100644 --- a/tools/docker/env/dev.env +++ b/tools/docker/env/dev.env @@ -12,4 +12,10 @@ POSTGRES_PORT=50009 POSTGRES_USER=muse POSTGRES_PASSWORD=muse POSTGRES_DB=muse -POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default postgresql port due to bridge driver \ No newline at end of file +POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default postgresql port due to bridge driver + +OPEN_TELEMETERY_COLLECTOR_PORT=50023 +OPEN_TELEMETERY_URL=http://muse-jaeger:4317 + +JAEGER_UI_PORT=16686 + diff --git a/tools/docker/env/local.env b/tools/docker/env/local.env index 2d3ccdb6..86931d52 100644 --- a/tools/docker/env/local.env +++ b/tools/docker/env/local.env @@ -13,3 +13,8 @@ POSTGRES_USER=muse POSTGRES_PASSWORD=muse POSTGRES_DB=muse POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default postgresql port due to bridge driver + +OPEN_TELEMETERY_COLLECTOR_PORT=50021 +OPEN_TELEMETERY_URL=http://muse-jaeger:4317 + +JAEGER_UI_PORT=16686 diff --git a/tools/docker/env/prod.env b/tools/docker/env/prod.env index b99db774..f5eadf21 100644 --- a/tools/docker/env/prod.env +++ b/tools/docker/env/prod.env @@ -13,3 +13,8 @@ POSTGRES_USER=muse POSTGRES_PASSWORD=muse POSTGRES_DB=muse POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default postgresql port due to bridge driver + +OPEN_TELEMETERY_COLLECTOR_PORT=50024 +OPEN_TELEMETERY_URL=http://muse-jaeger:4317 + +JAEGER_UI_PORT=16686 diff --git a/tools/docker/env/staging.env b/tools/docker/env/staging.env index b9dee641..d7b7dc43 100644 --- a/tools/docker/env/staging.env +++ b/tools/docker/env/staging.env @@ -12,4 +12,10 @@ POSTGRES_PORT=50015 POSTGRES_USER=muse POSTGRES_PASSWORD=muse POSTGRES_DB=muse -POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default postgresql port due to bridge driver \ No newline at end of file +POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default postgresql port due to bridge driver + +OPEN_TELEMETERY_COLLECTOR_PORT=50022 +OPEN_TELEMETERY_URL=http://muse-jaeger:4317 + +JAEGER_UI_PORT=16686 + From 84b0b586dec5488d62f600a031be75df28e88266 Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 10:32:15 +0300 Subject: [PATCH 2/7] chore(jaeger): comment muse-client to test `Jaeger` --- tools/docker/docker-compose.yml | 68 ++++++++++++++++----------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/tools/docker/docker-compose.yml b/tools/docker/docker-compose.yml index 6055a16b..f4ab1491 100644 --- a/tools/docker/docker-compose.yml +++ b/tools/docker/docker-compose.yml @@ -59,13 +59,41 @@ services: labels: - io.portainer.accesscontrol.public - muse-client: - image: "${DOCKER_REPOSITORY}/muse-client:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" - container_name: "muse-client-${MUSE_STAGE}" +# muse-client: +# image: "${DOCKER_REPOSITORY}/muse-client:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" +# container_name: "muse-client-${MUSE_STAGE}" +# ports: +# - ${CLIENT_PORT}:80 +# environment: +# - SERVER_API_URL +# networks: +# - muse +# profiles: +# - local +# - dev +# - staging +# - prod +# labels: +# - io.portainer.accesscontrol.public +# +# muse-client-dev: +# image: "${DOCKER_REPOSITORY}/muse-client-dev:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" +# container_name: "muse-client-dev-${MUSE_STAGE}" +# ports: +# - ${CLIENT_DEV_PORT}:3000 +# volumes: +# - ./../../client:/muse-client-dev +# - ./node-modules:/muse-client-dev/node-modules +# networks: +# - muse +# profiles: +# - local + + muse-jaeger: + image: jaegertracing/all-in-one:1.60 ports: - - ${CLIENT_PORT}:80 - environment: - - SERVER_API_URL + - "${OPEN_TELEMETERY_COLLECTOR_PORT}:4317" + - "${JAEGER_UI_PORT}:16686" networks: - muse profiles: @@ -73,34 +101,6 @@ services: - dev - staging - prod - labels: - - io.portainer.accesscontrol.public - - muse-client-dev: - image: "${DOCKER_REPOSITORY}/muse-client-dev:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" - container_name: "muse-client-dev-${MUSE_STAGE}" - ports: - - ${CLIENT_DEV_PORT}:3000 - volumes: - - ./../../client:/muse-client-dev - - ./node-modules:/muse-client-dev/node-modules - networks: - - muse - profiles: - - local - - muse-jaeger: - image: jaegertracing/all-in-one:1.60 - ports: - - "${OPEN_TELEMETERY_COLLECTOR_PORT}:4317" - - "${JAEGER_UI_PORT}:16686" - networks: - - muse - profiles: - - local - - dev - - staging - - prod ## portainer: # image: portainer/portainer-ce:linux-amd64-2.20.3-alpine From c5dfb6a23dab6e17daf02ceb7987af0eb81b636f Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 10:35:24 +0300 Subject: [PATCH 3/7] chore(jaeger): add telemetery URL --- .../kotlin/mu/muse/rest/api/AddFavoriteApi.kt | 45 ------------ .../main/kotlin/mu/muse/rest/api/ApiUtil.kt | 19 ----- .../kotlin/mu/muse/rest/api/BasicLoginApi.kt | 45 ------------ .../mu/muse/rest/api/CreateInstrumentApi.kt | 45 ------------ .../muse/rest/api/DeleteInstrumentByIdApi.kt | 43 ------------ .../mu/muse/rest/api/EditInstrumentApi.kt | 45 ------------ .../mu/muse/rest/api/GetCountriesApi.kt | 44 ------------ .../api/GetInstrumentBasicMaterialsApi.kt | 44 ------------ .../mu/muse/rest/api/GetInstrumentByIdApi.kt | 44 ------------ .../mu/muse/rest/api/GetInstrumentPhotoApi.kt | 44 ------------ .../mu/muse/rest/api/GetInstrumentTypesApi.kt | 44 ------------ .../rest/api/GetInstrumentsByCriteriaApi.kt | 46 ------------ .../GetInstrumentsByCriteriaPaginatedApi.kt | 46 ------------ .../mu/muse/rest/api/GetManufacturersApi.kt | 44 ------------ .../mu/muse/rest/api/GetUserProfileApi.kt | 43 ------------ .../mu/muse/rest/api/ListFavoriteApi.kt | 44 ------------ .../main/kotlin/mu/muse/rest/api/LogoutApi.kt | 42 ----------- .../mu/muse/rest/api/RemoveFavoriteApi.kt | 45 ------------ .../mu/muse/rest/api/UserRegistrationApi.kt | 44 ------------ .../kotlin/mu/muse/rest/dto/BasicMaterial.kt | 28 -------- .../kotlin/mu/muse/rest/dto/ClientError.kt | 28 -------- .../main/kotlin/mu/muse/rest/dto/Country.kt | 28 -------- .../rest/dto/CreateInstrumentRequestBody.kt | 32 --------- .../rest/dto/EditInstrumentRequestBody.kt | 32 --------- .../mu/muse/rest/dto/GetCountriesResponse.kt | 27 ------- .../GetInstrumentBasicMaterialsResponse.kt | 27 ------- .../GetInstrumentByCriteriaPageResponse.kt | 42 ----------- .../rest/dto/GetInstrumentTypesResponse.kt | 27 ------- .../GetInstrumentsByCriteriaRequestBody.kt | 70 ------------------- .../dto/GetInstrumentsByCriteriaResponse.kt | 27 ------- .../muse/rest/dto/GetManufacturersResponse.kt | 27 ------- .../mu/muse/rest/dto/InstrumentDetail.kt | 62 ---------------- .../rest/dto/InstrumentDetailWithoutId.kt | 57 --------------- .../kotlin/mu/muse/rest/dto/InstrumentId.kt | 25 ------- .../kotlin/mu/muse/rest/dto/InstrumentName.kt | 25 ------- .../mu/muse/rest/dto/InstrumentPhoto.kt | 25 ------- .../kotlin/mu/muse/rest/dto/InstrumentType.kt | 28 -------- .../kotlin/mu/muse/rest/dto/JwtResponse.kt | 25 ------- .../mu/muse/rest/dto/ListFavoriteResponse.kt | 27 ------- .../mu/muse/rest/dto/ManufactureDate.kt | 26 ------- .../mu/muse/rest/dto/ManufactureType.kt | 28 -------- .../kotlin/mu/muse/rest/dto/ProfileDetails.kt | 31 -------- .../mu/muse/rest/dto/RegistrationRequest.kt | 31 -------- .../kotlin/mu/muse/rest/dto/ReleaseDate.kt | 26 ------- .../kotlin/mu/muse/rest/dto/ServerError.kt | 28 -------- .../dto/UsernameAndPasswordRequestBody.kt | 28 -------- tools/docker/docker-compose.yml | 1 + 47 files changed, 1 insertion(+), 1683 deletions(-) delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt delete mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt deleted file mode 100644 index 4322f006..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt +++ /dev/null @@ -1,45 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.InstrumentId -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface AddFavoriteApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/favorite/add"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun addFavorite( @Valid @RequestBody instrumentId: InstrumentId): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt deleted file mode 100644 index f288b748..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt +++ /dev/null @@ -1,19 +0,0 @@ -package mu.muse.rest.api - -import org.springframework.web.context.request.NativeWebRequest - -import jakarta.servlet.http.HttpServletResponse -import java.io.IOException - -object ApiUtil { - fun setExampleResponse(req: NativeWebRequest, contentType: String, example: String) { - try { - val res = req.getNativeResponse(HttpServletResponse::class.java) - res?.characterEncoding = "UTF-8" - res?.addHeader("Content-Type", contentType) - res?.writer?.print(example) - } catch (e: IOException) { - throw RuntimeException(e) - } - } -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt deleted file mode 100644 index 277c8a33..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt +++ /dev/null @@ -1,45 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.JwtResponse -import mu.muse.rest.dto.ServerError -import mu.muse.rest.dto.UsernameAndPasswordRequestBody -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface BasicLoginApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/auth/login"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun basicLogin( @Valid @RequestBody usernameAndPasswordRequestBody: UsernameAndPasswordRequestBody): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt deleted file mode 100644 index c1b4ec6e..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt +++ /dev/null @@ -1,45 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.CreateInstrumentRequestBody -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface CreateInstrumentApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/instrument/create"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun createInstrument( @Valid @RequestBody createInstrumentRequestBody: CreateInstrumentRequestBody): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt deleted file mode 100644 index 40a18bad..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt +++ /dev/null @@ -1,43 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface DeleteInstrumentByIdApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/instrument/{instrumentId}/delete"], - produces = ["application/json"] - ) - fun deleteInstrumentById( @PathVariable("instrumentId") instrumentId: kotlin.Long): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt deleted file mode 100644 index 4b3c2687..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt +++ /dev/null @@ -1,45 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.EditInstrumentRequestBody -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface EditInstrumentApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/instrument/edit"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun editInstrument( @Valid @RequestBody editInstrumentRequestBody: EditInstrumentRequestBody): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt deleted file mode 100644 index d1ca6fc5..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.GetCountriesResponse -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetCountriesApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/countries"], - produces = ["application/json"] - ) - fun getCountries(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt deleted file mode 100644 index 26c6970b..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.GetInstrumentBasicMaterialsResponse -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetInstrumentBasicMaterialsApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/instrument/materials"], - produces = ["application/json"] - ) - fun getInstrumentBasicMaterials(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt deleted file mode 100644 index 23bc016d..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.InstrumentDetail -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetInstrumentByIdApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/instrument/{instrumentId}"], - produces = ["application/json"] - ) - fun getInstrumentById( @PathVariable("instrumentId") instrumentId: kotlin.Long): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt deleted file mode 100644 index 7a8d3c61..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.InstrumentPhoto -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetInstrumentPhotoApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/instrument/photo/{instrumentId}"], - produces = ["image/*", "application/json"] - ) - fun getInstrumentPhoto( @PathVariable("instrumentId") instrumentId: kotlin.Long): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt deleted file mode 100644 index a0ce59b8..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.GetInstrumentTypesResponse -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetInstrumentTypesApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/instrument/types"], - produces = ["application/json"] - ) - fun getInstrumentTypes(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt deleted file mode 100644 index f18fe70e..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt +++ /dev/null @@ -1,46 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.GetInstrumentsByCriteriaRequestBody -import mu.muse.rest.dto.GetInstrumentsByCriteriaResponse -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetInstrumentsByCriteriaApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/instruments"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun getInstrumentsByCriteria( @Valid @RequestBody getInstrumentsByCriteriaRequestBody: GetInstrumentsByCriteriaRequestBody): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt deleted file mode 100644 index 9b1130c5..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt +++ /dev/null @@ -1,46 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.GetInstrumentByCriteriaPageResponse -import mu.muse.rest.dto.GetInstrumentsByCriteriaRequestBody -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetInstrumentsByCriteriaPaginatedApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/instruments/paginated"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun getInstrumentsByCriteriaPaginated(@NotNull @Valid @RequestParam(value = "page_size", required = true) pageSize: kotlin.Int,@NotNull @Valid @RequestParam(value = "page_number", required = true) pageNumber: kotlin.Int, @Valid @RequestBody getInstrumentsByCriteriaRequestBody: GetInstrumentsByCriteriaRequestBody): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt deleted file mode 100644 index 871fce63..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.GetManufacturersResponse -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetManufacturersApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/manufacturer"], - produces = ["application/json"] - ) - fun getManufacturers(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt deleted file mode 100644 index b676cb06..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt +++ /dev/null @@ -1,43 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ProfileDetails -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface GetUserProfileApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/profile"], - produces = ["application/json"] - ) - fun getProfile(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt deleted file mode 100644 index de90f7e7..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.ListFavoriteResponse -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface ListFavoriteApi { - - - @RequestMapping( - method = [RequestMethod.GET], - value = ["/api/favorite/list"], - produces = ["application/json"] - ) - fun listFavorite(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt deleted file mode 100644 index 4a9ce587..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt +++ /dev/null @@ -1,42 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface LogoutApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/auth/logout"], - produces = ["application/json"] - ) - fun logout(): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt deleted file mode 100644 index 5163e2f7..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt +++ /dev/null @@ -1,45 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.ClientError -import mu.muse.rest.dto.InstrumentId -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface RemoveFavoriteApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/favorite/remove"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun removeFavorite( @Valid @RequestBody instrumentId: InstrumentId): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt deleted file mode 100644 index a7e9d16a..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt +++ /dev/null @@ -1,44 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). - * https://openapi-generator.tech - * Do not edit the class manually. -*/ -package mu.muse.rest.api - -import mu.muse.rest.dto.RegistrationRequest -import mu.muse.rest.dto.ServerError -import org.springframework.http.HttpStatus -import org.springframework.http.MediaType -import org.springframework.http.ResponseEntity - -import org.springframework.web.bind.annotation.* -import org.springframework.validation.annotation.Validated -import org.springframework.web.context.request.NativeWebRequest -import org.springframework.beans.factory.annotation.Autowired - -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -import kotlin.collections.List -import kotlin.collections.Map - -@RestController -@Validated -interface UserRegistrationApi { - - - @RequestMapping( - method = [RequestMethod.POST], - value = ["/api/registration"], - produces = ["application/json"], - consumes = ["application/json"] - ) - fun userRegistration( @Valid @RequestBody registrationRequest: RegistrationRequest): ResponseEntity -} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt deleted file mode 100644 index 606e7f45..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param i18nCode - * @param localizedText - */ -data class BasicMaterial( - - @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, - - @get:JsonProperty("localized_text") val localizedText: kotlin.String? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt deleted file mode 100644 index bc2f0e86..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param message Error description - * @param cause Exception stack trace - */ -data class ClientError( - - @get:JsonProperty("message", required = true) val message: kotlin.String, - - @get:JsonProperty("cause") val cause: kotlin.String? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt deleted file mode 100644 index 0021f428..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param i18nCode - * @param localizedText - */ -data class Country( - - @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, - - @get:JsonProperty("localized_text") val localizedText: kotlin.String? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt deleted file mode 100644 index 2ac68b03..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt +++ /dev/null @@ -1,32 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.InstrumentDetailWithoutId -import mu.muse.rest.dto.InstrumentPhoto -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentDetail - * @param instrumentPhoto - */ -data class CreateInstrumentRequestBody( - - @field:Valid - @get:JsonProperty("instrument_detail", required = true) val instrumentDetail: InstrumentDetailWithoutId, - - @field:Valid - @get:JsonProperty("instrument_photo", required = true) val instrumentPhoto: InstrumentPhoto - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt deleted file mode 100644 index c767b3d7..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt +++ /dev/null @@ -1,32 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.InstrumentDetail -import mu.muse.rest.dto.InstrumentPhoto -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentDetail - * @param instrumentPhoto - */ -data class EditInstrumentRequestBody( - - @field:Valid - @get:JsonProperty("instrument_detail", required = true) val instrumentDetail: InstrumentDetail, - - @field:Valid - @get:JsonProperty("instrument_photo", required = true) val instrumentPhoto: InstrumentPhoto - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt deleted file mode 100644 index a93f13ae..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt +++ /dev/null @@ -1,27 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.Country -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - */ -data class GetCountriesResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt deleted file mode 100644 index a4614262..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt +++ /dev/null @@ -1,27 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.BasicMaterial -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - */ -data class GetInstrumentBasicMaterialsResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt deleted file mode 100644 index 06b24f4d..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt +++ /dev/null @@ -1,42 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.InstrumentDetail -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - * @param contentSize The number of items in the content. - * @param pageSize The number of items per page. - * @param pageNumber The current page number (0-based index). - * @param totalElements The total number of elements across all pages. - * @param totalPages The total number of pages. - */ -data class GetInstrumentByCriteriaPageResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List, - - @get:JsonProperty("content_size", required = true) val contentSize: kotlin.Long, - - @get:JsonProperty("page_size", required = true) val pageSize: kotlin.Long, - - @get:JsonProperty("page_number", required = true) val pageNumber: kotlin.Long, - - @get:JsonProperty("total_elements", required = true) val totalElements: kotlin.Long, - - @get:JsonProperty("total_pages", required = true) val totalPages: kotlin.Long - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt deleted file mode 100644 index 2cb9b5d2..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt +++ /dev/null @@ -1,27 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.InstrumentType -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - */ -data class GetInstrumentTypesResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt deleted file mode 100644 index 77788d6e..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt +++ /dev/null @@ -1,70 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.BasicMaterial -import mu.muse.rest.dto.Country -import mu.muse.rest.dto.InstrumentId -import mu.muse.rest.dto.InstrumentName -import mu.muse.rest.dto.InstrumentType -import mu.muse.rest.dto.ManufactureDate -import mu.muse.rest.dto.ManufactureType -import mu.muse.rest.dto.ReleaseDate -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentName - * @param instrumentTypes - * @param manufacturerTypes - * @param manufactureDateFrom - * @param manufactureDateTo - * @param releaseDateFrom - * @param releaseDateTo - * @param countries - * @param materials - * @param instrumentIds - */ -data class GetInstrumentsByCriteriaRequestBody( - - @field:Valid - @get:JsonProperty("instrument_name") val instrumentName: InstrumentName? = null, - - @field:Valid - @get:JsonProperty("instrument_types") val instrumentTypes: kotlin.collections.List? = null, - - @field:Valid - @get:JsonProperty("manufacturer_types") val manufacturerTypes: kotlin.collections.List? = null, - - @field:Valid - @get:JsonProperty("manufacture_date_from") val manufactureDateFrom: ManufactureDate? = null, - - @field:Valid - @get:JsonProperty("manufacture_date_to") val manufactureDateTo: ManufactureDate? = null, - - @field:Valid - @get:JsonProperty("release_date_from") val releaseDateFrom: ReleaseDate? = null, - - @field:Valid - @get:JsonProperty("release_date_to") val releaseDateTo: ReleaseDate? = null, - - @field:Valid - @get:JsonProperty("countries") val countries: kotlin.collections.List? = null, - - @field:Valid - @get:JsonProperty("materials") val materials: kotlin.collections.List? = null, - - @field:Valid - @get:JsonProperty("instrument_ids") val instrumentIds: kotlin.collections.List? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt deleted file mode 100644 index 213fac08..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt +++ /dev/null @@ -1,27 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.InstrumentDetail -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - */ -data class GetInstrumentsByCriteriaResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt deleted file mode 100644 index f9472004..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt +++ /dev/null @@ -1,27 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.ManufactureType -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - */ -data class GetManufacturersResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt deleted file mode 100644 index 5f3ff6e9..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt +++ /dev/null @@ -1,62 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.BasicMaterial -import mu.muse.rest.dto.Country -import mu.muse.rest.dto.InstrumentId -import mu.muse.rest.dto.InstrumentName -import mu.muse.rest.dto.InstrumentType -import mu.muse.rest.dto.ManufactureDate -import mu.muse.rest.dto.ManufactureType -import mu.muse.rest.dto.ReleaseDate -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentId - * @param instrumentName - * @param instrumentType - * @param manufacturerType - * @param manufacturerDate - * @param releaseDate - * @param country - * @param basicMaterials - */ -data class InstrumentDetail( - - @field:Valid - @get:JsonProperty("instrument_id", required = true) val instrumentId: InstrumentId, - - @field:Valid - @get:JsonProperty("instrument_name", required = true) val instrumentName: InstrumentName, - - @field:Valid - @get:JsonProperty("instrument_type", required = true) val instrumentType: InstrumentType, - - @field:Valid - @get:JsonProperty("manufacturer_type", required = true) val manufacturerType: ManufactureType, - - @field:Valid - @get:JsonProperty("manufacturer_date", required = true) val manufacturerDate: ManufactureDate, - - @field:Valid - @get:JsonProperty("release_date", required = true) val releaseDate: ReleaseDate, - - @field:Valid - @get:JsonProperty("country", required = true) val country: Country, - - @field:Valid - @get:JsonProperty("basic_materials", required = true) val basicMaterials: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt deleted file mode 100644 index 00f70daa..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt +++ /dev/null @@ -1,57 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.BasicMaterial -import mu.muse.rest.dto.Country -import mu.muse.rest.dto.InstrumentName -import mu.muse.rest.dto.InstrumentType -import mu.muse.rest.dto.ManufactureDate -import mu.muse.rest.dto.ManufactureType -import mu.muse.rest.dto.ReleaseDate -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentName - * @param instrumentType - * @param manufacturerType - * @param manufacturerDate - * @param releaseDate - * @param country - * @param basicMaterials - */ -data class InstrumentDetailWithoutId( - - @field:Valid - @get:JsonProperty("instrument_name", required = true) val instrumentName: InstrumentName, - - @field:Valid - @get:JsonProperty("instrument_type", required = true) val instrumentType: InstrumentType, - - @field:Valid - @get:JsonProperty("manufacturer_type", required = true) val manufacturerType: ManufactureType, - - @field:Valid - @get:JsonProperty("manufacturer_date", required = true) val manufacturerDate: ManufactureDate, - - @field:Valid - @get:JsonProperty("release_date", required = true) val releaseDate: ReleaseDate, - - @field:Valid - @get:JsonProperty("country", required = true) val country: Country, - - @field:Valid - @get:JsonProperty("basic_materials", required = true) val basicMaterials: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt deleted file mode 100644 index 2f3b6933..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt +++ /dev/null @@ -1,25 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentId - */ -data class InstrumentId( - - @get:JsonProperty("instrument_id", required = true) val instrumentId: kotlin.Long - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt deleted file mode 100644 index a5ed63e3..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt +++ /dev/null @@ -1,25 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param instrumentName - */ -data class InstrumentName( - - @get:JsonProperty("instrument_name", required = true) val instrumentName: kotlin.String - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt deleted file mode 100644 index 2e20c9af..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt +++ /dev/null @@ -1,25 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param photo - */ -data class InstrumentPhoto( - - @get:JsonProperty("photo", required = true) val photo: kotlin.String - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt deleted file mode 100644 index b9d3ee30..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param i18nCode - * @param localizedText - */ -data class InstrumentType( - - @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, - - @get:JsonProperty("localized_text") val localizedText: kotlin.String? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt deleted file mode 100644 index dc6fd35d..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt +++ /dev/null @@ -1,25 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param jwt - */ -data class JwtResponse( - - @get:JsonProperty("jwt", required = true) val jwt: kotlin.String - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt deleted file mode 100644 index be1c35cd..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt +++ /dev/null @@ -1,27 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import mu.muse.rest.dto.InstrumentDetail -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param content - */ -data class ListFavoriteResponse( - - @field:Valid - @get:JsonProperty("content", required = true) val content: kotlin.collections.List - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt deleted file mode 100644 index 70a22bcb..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt +++ /dev/null @@ -1,26 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param manufactureDate - */ -data class ManufactureDate( - - @field:Valid - @get:JsonProperty("manufacture_date", required = true) val manufactureDate: java.time.LocalDate - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt deleted file mode 100644 index 44a74f4e..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param i18nCode - * @param localizedMessage - */ -data class ManufactureType( - - @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, - - @get:JsonProperty("localized_message") val localizedMessage: kotlin.String? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt deleted file mode 100644 index 84864b75..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt +++ /dev/null @@ -1,31 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param username - * @param role - * @param fullName - */ -data class ProfileDetails( - - @get:JsonProperty("username", required = true) val username: kotlin.String, - - @get:JsonProperty("role", required = true) val role: kotlin.String, - - @get:JsonProperty("full_name", required = true) val fullName: kotlin.String - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt deleted file mode 100644 index 1c1e084d..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt +++ /dev/null @@ -1,31 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param fullName - * @param login - * @param password - */ -data class RegistrationRequest( - - @get:JsonProperty("full_name", required = true) val fullName: kotlin.String, - - @get:JsonProperty("login", required = true) val login: kotlin.String, - - @get:JsonProperty("password", required = true) val password: kotlin.String - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt deleted file mode 100644 index 2b114c68..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt +++ /dev/null @@ -1,26 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param releaseDate - */ -data class ReleaseDate( - - @field:Valid - @get:JsonProperty("release_date", required = true) val releaseDate: java.time.LocalDate - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt deleted file mode 100644 index 298c619e..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param message A description of the error - * @param cause Exception stack trace - */ -data class ServerError( - - @get:JsonProperty("message") val message: kotlin.String? = null, - - @get:JsonProperty("cause") val cause: kotlin.String? = null - ) { - -} - diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt deleted file mode 100644 index 2374de55..00000000 --- a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt +++ /dev/null @@ -1,28 +0,0 @@ -package mu.muse.rest.dto - -import java.util.Objects -import com.fasterxml.jackson.annotation.JsonProperty -import jakarta.validation.constraints.DecimalMax -import jakarta.validation.constraints.DecimalMin -import jakarta.validation.constraints.Email -import jakarta.validation.constraints.Max -import jakarta.validation.constraints.Min -import jakarta.validation.constraints.NotNull -import jakarta.validation.constraints.Pattern -import jakarta.validation.constraints.Size -import jakarta.validation.Valid - -/** - * - * @param username - * @param password - */ -data class UsernameAndPasswordRequestBody( - - @get:JsonProperty("username", required = true) val username: kotlin.String, - - @get:JsonProperty("password", required = true) val password: kotlin.String - ) { - -} - diff --git a/tools/docker/docker-compose.yml b/tools/docker/docker-compose.yml index f4ab1491..cb9cb6d2 100644 --- a/tools/docker/docker-compose.yml +++ b/tools/docker/docker-compose.yml @@ -46,6 +46,7 @@ services: - POSTGRES_DB - POSTGRES_DSN - CLIENT_PORT + - OPEN_TELEMETERY_URL networks: - muse profiles: From cb4e5a520653bf65db2f1c9a8624e5d6c1e1c73a Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 10:37:44 +0300 Subject: [PATCH 4/7] chore(jaeger): uncomment client part --- tools/docker/docker-compose.yml | 59 +++++++++++++++++---------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/tools/docker/docker-compose.yml b/tools/docker/docker-compose.yml index cb9cb6d2..223b3a22 100644 --- a/tools/docker/docker-compose.yml +++ b/tools/docker/docker-compose.yml @@ -60,38 +60,39 @@ services: labels: - io.portainer.accesscontrol.public -# muse-client: -# image: "${DOCKER_REPOSITORY}/muse-client:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" -# container_name: "muse-client-${MUSE_STAGE}" -# ports: -# - ${CLIENT_PORT}:80 -# environment: -# - SERVER_API_URL -# networks: -# - muse -# profiles: -# - local -# - dev -# - staging -# - prod -# labels: -# - io.portainer.accesscontrol.public -# -# muse-client-dev: -# image: "${DOCKER_REPOSITORY}/muse-client-dev:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" -# container_name: "muse-client-dev-${MUSE_STAGE}" -# ports: -# - ${CLIENT_DEV_PORT}:3000 -# volumes: -# - ./../../client:/muse-client-dev -# - ./node-modules:/muse-client-dev/node-modules -# networks: -# - muse -# profiles: -# - local + muse-client: + image: "${DOCKER_REPOSITORY}/muse-client:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" + container_name: "muse-client-${MUSE_STAGE}" + ports: + - ${CLIENT_PORT}:80 + environment: + - SERVER_API_URL + networks: + - muse + profiles: + - local + - dev + - staging + - prod + labels: + - io.portainer.accesscontrol.public + + muse-client-dev: + image: "${DOCKER_REPOSITORY}/muse-client-dev:${MUSE_STAGE}-${MUSE_GIT_COMMIT_HASH}" + container_name: "muse-client-dev-${MUSE_STAGE}" + ports: + - ${CLIENT_DEV_PORT}:3000 + volumes: + - ./../../client:/muse-client-dev + - ./node-modules:/muse-client-dev/node-modules + networks: + - muse + profiles: + - local muse-jaeger: image: jaegertracing/all-in-one:1.60 + container_name: "muse-jaeger" ports: - "${OPEN_TELEMETERY_COLLECTOR_PORT}:4317" - "${JAEGER_UI_PORT}:16686" From b50d63e3ccee5b19d4e6e1edd0005e92dcc8756a Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 13:47:37 +0300 Subject: [PATCH 5/7] feat(jaeger): add `Jooq` query listener, that wrap every SQL query to `Jaeger` span --- server/app/build.gradle.kts | 1 + .../application/muse/JaegerDbSpanCreator.kt | 33 +++++++++++++++++++ .../muse/PersistenceConfiguration.kt | 13 +++++++- .../src/main/resources/application.properties | 2 +- tools/docker/docker-compose.yml | 2 ++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 server/app/src/main/kotlin/mu/muse/application/muse/JaegerDbSpanCreator.kt diff --git a/server/app/build.gradle.kts b/server/app/build.gradle.kts index 2e2db6a1..82848755 100644 --- a/server/app/build.gradle.kts +++ b/server/app/build.gradle.kts @@ -109,6 +109,7 @@ sourceSets { main { kotlin { srcDir(layout.buildDirectory.dir("openapi/src/main").get().toString()) + srcDir(layout.buildDirectory.dir("generated-src/jooq/main").get().toString()) } } } diff --git a/server/app/src/main/kotlin/mu/muse/application/muse/JaegerDbSpanCreator.kt b/server/app/src/main/kotlin/mu/muse/application/muse/JaegerDbSpanCreator.kt new file mode 100644 index 00000000..ce9e0db6 --- /dev/null +++ b/server/app/src/main/kotlin/mu/muse/application/muse/JaegerDbSpanCreator.kt @@ -0,0 +1,33 @@ +package mu.muse.application.muse + +import io.opentelemetry.api.trace.Span +import io.opentelemetry.api.trace.Tracer +import org.jooq.ExecuteContext +import org.jooq.ExecuteListener +import java.util.concurrent.ConcurrentHashMap + +class JaegerDbSpanCreator( + private val tracer: Tracer, +) : ExecuteListener { + + companion object { + const val CONTEXT_KEY_SPAN_ID = "spanId" + } + + private val spanIdToSpan = ConcurrentHashMap() + + override fun start(ctx: ExecuteContext) { + val span = tracer.spanBuilder("PostgreSQL Query").startSpan() + span.setAttribute("sql", ctx.query().toString()) + val spanId = span.spanContext.spanId + spanIdToSpan[spanId] = span + ctx.data(CONTEXT_KEY_SPAN_ID, spanId) + } + + override fun end(ctx: ExecuteContext) { + val spanId = ctx.data(CONTEXT_KEY_SPAN_ID) + val span = spanIdToSpan.remove(spanId) + ?: throw RuntimeException("No span for Span ID=`${spanId}`") // fail-fast in case of breaking invariant + span.end() + } +} diff --git a/server/app/src/main/kotlin/mu/muse/application/muse/PersistenceConfiguration.kt b/server/app/src/main/kotlin/mu/muse/application/muse/PersistenceConfiguration.kt index 847289f2..21ced79c 100644 --- a/server/app/src/main/kotlin/mu/muse/application/muse/PersistenceConfiguration.kt +++ b/server/app/src/main/kotlin/mu/muse/application/muse/PersistenceConfiguration.kt @@ -2,6 +2,7 @@ package mu.muse.application.muse import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.HikariDataSource +import io.opentelemetry.api.trace.Tracer import mu.muse.persistence.instrument.jooq.JooqPostgresInstrumentIdGenerator import mu.muse.persistence.instrument.jooq.JooqPostgresInstrumentRepository import mu.muse.persistence.user.jooq.JooqPostgresUserIdGenerator @@ -9,6 +10,7 @@ import mu.muse.persistence.user.jooq.JooqPostgresUserRepository import org.jooq.DSLContext import org.jooq.SQLDialect import org.jooq.impl.DSL +import org.jooq.impl.DefaultConfiguration import org.springframework.beans.factory.annotation.Value import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -47,7 +49,16 @@ class PersistenceConfiguration { } @Bean - fun dslContext(dataSource: DataSource): DSLContext = DSL.using(dataSource, SQLDialect.POSTGRES) + fun jooqConfiguration(dataSource: DataSource, otelTracer: Tracer) = + with(DefaultConfiguration()) { + set(dataSource) + set(SQLDialect.POSTGRES) + set(JaegerDbSpanCreator(otelTracer)) + this + } + + @Bean + fun dslContext(jooqConfiguration: org.jooq.Configuration) = DSL.using(jooqConfiguration) @Bean fun userIdGenerator(dslContext: DSLContext) = JooqPostgresUserIdGenerator(dslContext) diff --git a/server/app/src/main/resources/application.properties b/server/app/src/main/resources/application.properties index 232419b9..03fde98e 100644 --- a/server/app/src/main/resources/application.properties +++ b/server/app/src/main/resources/application.properties @@ -22,4 +22,4 @@ spring.sql.init.schema-locations=classpath:db/schema.sql spring.sql.init.data-locations=classpath:db/data.sql management.tracing.sampling.probability=1.0 -tracing.url=${OPEN_TELEMETERY_URL} +tracing.url=${OPEN_TELEMETERY_URL} # there is no autoconfiguration for default exporter, so it requires to set up it explicitly diff --git a/tools/docker/docker-compose.yml b/tools/docker/docker-compose.yml index 223b3a22..603920b2 100644 --- a/tools/docker/docker-compose.yml +++ b/tools/docker/docker-compose.yml @@ -96,6 +96,8 @@ services: ports: - "${OPEN_TELEMETERY_COLLECTOR_PORT}:4317" - "${JAEGER_UI_PORT}:16686" + environment: + - COLLECTOR_OTLP_ENABLED=true networks: - muse profiles: From 174acf108fd9b55fed5b3cd82ef8a0e77a93216c Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 13:48:56 +0300 Subject: [PATCH 6/7] chore(jaeger): open jaeger admin panel to web --- tools/docker/env/dev.env | 2 +- tools/docker/env/local.env | 2 +- tools/docker/env/prod.env | 2 +- tools/docker/env/staging.env | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/docker/env/dev.env b/tools/docker/env/dev.env index 20eb1581..1a3c129c 100644 --- a/tools/docker/env/dev.env +++ b/tools/docker/env/dev.env @@ -17,5 +17,5 @@ POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default OPEN_TELEMETERY_COLLECTOR_PORT=50023 OPEN_TELEMETERY_URL=http://muse-jaeger:4317 -JAEGER_UI_PORT=16686 +JAEGER_UI_PORT=50028 diff --git a/tools/docker/env/local.env b/tools/docker/env/local.env index 86931d52..cecfc8a6 100644 --- a/tools/docker/env/local.env +++ b/tools/docker/env/local.env @@ -17,4 +17,4 @@ POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default OPEN_TELEMETERY_COLLECTOR_PORT=50021 OPEN_TELEMETERY_URL=http://muse-jaeger:4317 -JAEGER_UI_PORT=16686 +JAEGER_UI_PORT=50026 diff --git a/tools/docker/env/prod.env b/tools/docker/env/prod.env index f5eadf21..c1e14b16 100644 --- a/tools/docker/env/prod.env +++ b/tools/docker/env/prod.env @@ -17,4 +17,4 @@ POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default OPEN_TELEMETERY_COLLECTOR_PORT=50024 OPEN_TELEMETERY_URL=http://muse-jaeger:4317 -JAEGER_UI_PORT=16686 +JAEGER_UI_PORT=50025 diff --git a/tools/docker/env/staging.env b/tools/docker/env/staging.env index d7b7dc43..53e6b252 100644 --- a/tools/docker/env/staging.env +++ b/tools/docker/env/staging.env @@ -17,5 +17,5 @@ POSTGRES_DSN=jdbc:postgresql://muse-postgres:5432/${POSTGRES_DB} # used default OPEN_TELEMETERY_COLLECTOR_PORT=50022 OPEN_TELEMETERY_URL=http://muse-jaeger:4317 -JAEGER_UI_PORT=16686 +JAEGER_UI_PORT=50027 From b293f3a4c2f3ee404d4d49c34b430fc2218523e1 Mon Sep 17 00:00:00 2001 From: skywalker Date: Tue, 3 Sep 2024 13:58:32 +0300 Subject: [PATCH 7/7] fix(codegen): return codegen --- .../kotlin/mu/muse/rest/api/AddFavoriteApi.kt | 45 ++++++++++++ .../main/kotlin/mu/muse/rest/api/ApiUtil.kt | 19 +++++ .../kotlin/mu/muse/rest/api/BasicLoginApi.kt | 45 ++++++++++++ .../mu/muse/rest/api/CreateInstrumentApi.kt | 45 ++++++++++++ .../muse/rest/api/DeleteInstrumentByIdApi.kt | 43 ++++++++++++ .../mu/muse/rest/api/EditInstrumentApi.kt | 45 ++++++++++++ .../mu/muse/rest/api/GetCountriesApi.kt | 44 ++++++++++++ .../api/GetInstrumentBasicMaterialsApi.kt | 44 ++++++++++++ .../mu/muse/rest/api/GetInstrumentByIdApi.kt | 44 ++++++++++++ .../mu/muse/rest/api/GetInstrumentPhotoApi.kt | 44 ++++++++++++ .../mu/muse/rest/api/GetInstrumentTypesApi.kt | 44 ++++++++++++ .../rest/api/GetInstrumentsByCriteriaApi.kt | 46 ++++++++++++ .../GetInstrumentsByCriteriaPaginatedApi.kt | 46 ++++++++++++ .../mu/muse/rest/api/GetManufacturersApi.kt | 44 ++++++++++++ .../mu/muse/rest/api/GetUserProfileApi.kt | 43 ++++++++++++ .../mu/muse/rest/api/ListFavoriteApi.kt | 44 ++++++++++++ .../main/kotlin/mu/muse/rest/api/LogoutApi.kt | 42 +++++++++++ .../mu/muse/rest/api/RemoveFavoriteApi.kt | 45 ++++++++++++ .../mu/muse/rest/api/UserRegistrationApi.kt | 44 ++++++++++++ .../kotlin/mu/muse/rest/dto/BasicMaterial.kt | 28 ++++++++ .../kotlin/mu/muse/rest/dto/ClientError.kt | 28 ++++++++ .../main/kotlin/mu/muse/rest/dto/Country.kt | 28 ++++++++ .../rest/dto/CreateInstrumentRequestBody.kt | 32 +++++++++ .../rest/dto/EditInstrumentRequestBody.kt | 32 +++++++++ .../mu/muse/rest/dto/GetCountriesResponse.kt | 27 +++++++ .../GetInstrumentBasicMaterialsResponse.kt | 27 +++++++ .../GetInstrumentByCriteriaPageResponse.kt | 42 +++++++++++ .../rest/dto/GetInstrumentTypesResponse.kt | 27 +++++++ .../GetInstrumentsByCriteriaRequestBody.kt | 70 +++++++++++++++++++ .../dto/GetInstrumentsByCriteriaResponse.kt | 27 +++++++ .../muse/rest/dto/GetManufacturersResponse.kt | 27 +++++++ .../mu/muse/rest/dto/InstrumentDetail.kt | 62 ++++++++++++++++ .../rest/dto/InstrumentDetailWithoutId.kt | 57 +++++++++++++++ .../kotlin/mu/muse/rest/dto/InstrumentId.kt | 25 +++++++ .../kotlin/mu/muse/rest/dto/InstrumentName.kt | 25 +++++++ .../mu/muse/rest/dto/InstrumentPhoto.kt | 25 +++++++ .../kotlin/mu/muse/rest/dto/InstrumentType.kt | 28 ++++++++ .../kotlin/mu/muse/rest/dto/JwtResponse.kt | 25 +++++++ .../mu/muse/rest/dto/ListFavoriteResponse.kt | 27 +++++++ .../mu/muse/rest/dto/ManufactureDate.kt | 26 +++++++ .../mu/muse/rest/dto/ManufactureType.kt | 28 ++++++++ .../kotlin/mu/muse/rest/dto/ProfileDetails.kt | 31 ++++++++ .../mu/muse/rest/dto/RegistrationRequest.kt | 31 ++++++++ .../kotlin/mu/muse/rest/dto/ReleaseDate.kt | 26 +++++++ .../kotlin/mu/muse/rest/dto/ServerError.kt | 28 ++++++++ .../dto/UsernameAndPasswordRequestBody.kt | 28 ++++++++ 46 files changed, 1683 insertions(+) create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt create mode 100644 server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt new file mode 100644 index 00000000..4322f006 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/AddFavoriteApi.kt @@ -0,0 +1,45 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.InstrumentId +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface AddFavoriteApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/favorite/add"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun addFavorite( @Valid @RequestBody instrumentId: InstrumentId): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt new file mode 100644 index 00000000..f288b748 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ApiUtil.kt @@ -0,0 +1,19 @@ +package mu.muse.rest.api + +import org.springframework.web.context.request.NativeWebRequest + +import jakarta.servlet.http.HttpServletResponse +import java.io.IOException + +object ApiUtil { + fun setExampleResponse(req: NativeWebRequest, contentType: String, example: String) { + try { + val res = req.getNativeResponse(HttpServletResponse::class.java) + res?.characterEncoding = "UTF-8" + res?.addHeader("Content-Type", contentType) + res?.writer?.print(example) + } catch (e: IOException) { + throw RuntimeException(e) + } + } +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt new file mode 100644 index 00000000..277c8a33 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/BasicLoginApi.kt @@ -0,0 +1,45 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.JwtResponse +import mu.muse.rest.dto.ServerError +import mu.muse.rest.dto.UsernameAndPasswordRequestBody +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface BasicLoginApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/auth/login"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun basicLogin( @Valid @RequestBody usernameAndPasswordRequestBody: UsernameAndPasswordRequestBody): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt new file mode 100644 index 00000000..c1b4ec6e --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/CreateInstrumentApi.kt @@ -0,0 +1,45 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.CreateInstrumentRequestBody +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface CreateInstrumentApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/instrument/create"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun createInstrument( @Valid @RequestBody createInstrumentRequestBody: CreateInstrumentRequestBody): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt new file mode 100644 index 00000000..40a18bad --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/DeleteInstrumentByIdApi.kt @@ -0,0 +1,43 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface DeleteInstrumentByIdApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/instrument/{instrumentId}/delete"], + produces = ["application/json"] + ) + fun deleteInstrumentById( @PathVariable("instrumentId") instrumentId: kotlin.Long): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt new file mode 100644 index 00000000..4b3c2687 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/EditInstrumentApi.kt @@ -0,0 +1,45 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.EditInstrumentRequestBody +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface EditInstrumentApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/instrument/edit"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun editInstrument( @Valid @RequestBody editInstrumentRequestBody: EditInstrumentRequestBody): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt new file mode 100644 index 00000000..d1ca6fc5 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetCountriesApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.GetCountriesResponse +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetCountriesApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/countries"], + produces = ["application/json"] + ) + fun getCountries(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt new file mode 100644 index 00000000..26c6970b --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentBasicMaterialsApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.GetInstrumentBasicMaterialsResponse +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetInstrumentBasicMaterialsApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/instrument/materials"], + produces = ["application/json"] + ) + fun getInstrumentBasicMaterials(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt new file mode 100644 index 00000000..23bc016d --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentByIdApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.InstrumentDetail +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetInstrumentByIdApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/instrument/{instrumentId}"], + produces = ["application/json"] + ) + fun getInstrumentById( @PathVariable("instrumentId") instrumentId: kotlin.Long): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt new file mode 100644 index 00000000..7a8d3c61 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentPhotoApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.InstrumentPhoto +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetInstrumentPhotoApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/instrument/photo/{instrumentId}"], + produces = ["image/*", "application/json"] + ) + fun getInstrumentPhoto( @PathVariable("instrumentId") instrumentId: kotlin.Long): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt new file mode 100644 index 00000000..a0ce59b8 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentTypesApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.GetInstrumentTypesResponse +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetInstrumentTypesApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/instrument/types"], + produces = ["application/json"] + ) + fun getInstrumentTypes(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt new file mode 100644 index 00000000..f18fe70e --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaApi.kt @@ -0,0 +1,46 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.GetInstrumentsByCriteriaRequestBody +import mu.muse.rest.dto.GetInstrumentsByCriteriaResponse +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetInstrumentsByCriteriaApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/instruments"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun getInstrumentsByCriteria( @Valid @RequestBody getInstrumentsByCriteriaRequestBody: GetInstrumentsByCriteriaRequestBody): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt new file mode 100644 index 00000000..9b1130c5 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetInstrumentsByCriteriaPaginatedApi.kt @@ -0,0 +1,46 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.GetInstrumentByCriteriaPageResponse +import mu.muse.rest.dto.GetInstrumentsByCriteriaRequestBody +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetInstrumentsByCriteriaPaginatedApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/instruments/paginated"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun getInstrumentsByCriteriaPaginated(@NotNull @Valid @RequestParam(value = "page_size", required = true) pageSize: kotlin.Int,@NotNull @Valid @RequestParam(value = "page_number", required = true) pageNumber: kotlin.Int, @Valid @RequestBody getInstrumentsByCriteriaRequestBody: GetInstrumentsByCriteriaRequestBody): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt new file mode 100644 index 00000000..871fce63 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetManufacturersApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.GetManufacturersResponse +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetManufacturersApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/manufacturer"], + produces = ["application/json"] + ) + fun getManufacturers(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt new file mode 100644 index 00000000..b676cb06 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/GetUserProfileApi.kt @@ -0,0 +1,43 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ProfileDetails +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface GetUserProfileApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/profile"], + produces = ["application/json"] + ) + fun getProfile(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt new file mode 100644 index 00000000..de90f7e7 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/ListFavoriteApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.ListFavoriteResponse +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface ListFavoriteApi { + + + @RequestMapping( + method = [RequestMethod.GET], + value = ["/api/favorite/list"], + produces = ["application/json"] + ) + fun listFavorite(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt new file mode 100644 index 00000000..4a9ce587 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/LogoutApi.kt @@ -0,0 +1,42 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface LogoutApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/auth/logout"], + produces = ["application/json"] + ) + fun logout(): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt new file mode 100644 index 00000000..5163e2f7 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/RemoveFavoriteApi.kt @@ -0,0 +1,45 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.ClientError +import mu.muse.rest.dto.InstrumentId +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface RemoveFavoriteApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/favorite/remove"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun removeFavorite( @Valid @RequestBody instrumentId: InstrumentId): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt new file mode 100644 index 00000000..a7e9d16a --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/api/UserRegistrationApi.kt @@ -0,0 +1,44 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.8.0). + * https://openapi-generator.tech + * Do not edit the class manually. +*/ +package mu.muse.rest.api + +import mu.muse.rest.dto.RegistrationRequest +import mu.muse.rest.dto.ServerError +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity + +import org.springframework.web.bind.annotation.* +import org.springframework.validation.annotation.Validated +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +import kotlin.collections.List +import kotlin.collections.Map + +@RestController +@Validated +interface UserRegistrationApi { + + + @RequestMapping( + method = [RequestMethod.POST], + value = ["/api/registration"], + produces = ["application/json"], + consumes = ["application/json"] + ) + fun userRegistration( @Valid @RequestBody registrationRequest: RegistrationRequest): ResponseEntity +} diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt new file mode 100644 index 00000000..606e7f45 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/BasicMaterial.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param i18nCode + * @param localizedText + */ +data class BasicMaterial( + + @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, + + @get:JsonProperty("localized_text") val localizedText: kotlin.String? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt new file mode 100644 index 00000000..bc2f0e86 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ClientError.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param message Error description + * @param cause Exception stack trace + */ +data class ClientError( + + @get:JsonProperty("message", required = true) val message: kotlin.String, + + @get:JsonProperty("cause") val cause: kotlin.String? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt new file mode 100644 index 00000000..0021f428 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/Country.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param i18nCode + * @param localizedText + */ +data class Country( + + @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, + + @get:JsonProperty("localized_text") val localizedText: kotlin.String? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt new file mode 100644 index 00000000..2ac68b03 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/CreateInstrumentRequestBody.kt @@ -0,0 +1,32 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.InstrumentDetailWithoutId +import mu.muse.rest.dto.InstrumentPhoto +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentDetail + * @param instrumentPhoto + */ +data class CreateInstrumentRequestBody( + + @field:Valid + @get:JsonProperty("instrument_detail", required = true) val instrumentDetail: InstrumentDetailWithoutId, + + @field:Valid + @get:JsonProperty("instrument_photo", required = true) val instrumentPhoto: InstrumentPhoto + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt new file mode 100644 index 00000000..c767b3d7 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/EditInstrumentRequestBody.kt @@ -0,0 +1,32 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.InstrumentDetail +import mu.muse.rest.dto.InstrumentPhoto +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentDetail + * @param instrumentPhoto + */ +data class EditInstrumentRequestBody( + + @field:Valid + @get:JsonProperty("instrument_detail", required = true) val instrumentDetail: InstrumentDetail, + + @field:Valid + @get:JsonProperty("instrument_photo", required = true) val instrumentPhoto: InstrumentPhoto + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt new file mode 100644 index 00000000..a93f13ae --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetCountriesResponse.kt @@ -0,0 +1,27 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.Country +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + */ +data class GetCountriesResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt new file mode 100644 index 00000000..a4614262 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentBasicMaterialsResponse.kt @@ -0,0 +1,27 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.BasicMaterial +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + */ +data class GetInstrumentBasicMaterialsResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt new file mode 100644 index 00000000..06b24f4d --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentByCriteriaPageResponse.kt @@ -0,0 +1,42 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.InstrumentDetail +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + * @param contentSize The number of items in the content. + * @param pageSize The number of items per page. + * @param pageNumber The current page number (0-based index). + * @param totalElements The total number of elements across all pages. + * @param totalPages The total number of pages. + */ +data class GetInstrumentByCriteriaPageResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List, + + @get:JsonProperty("content_size", required = true) val contentSize: kotlin.Long, + + @get:JsonProperty("page_size", required = true) val pageSize: kotlin.Long, + + @get:JsonProperty("page_number", required = true) val pageNumber: kotlin.Long, + + @get:JsonProperty("total_elements", required = true) val totalElements: kotlin.Long, + + @get:JsonProperty("total_pages", required = true) val totalPages: kotlin.Long + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt new file mode 100644 index 00000000..2cb9b5d2 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentTypesResponse.kt @@ -0,0 +1,27 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.InstrumentType +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + */ +data class GetInstrumentTypesResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt new file mode 100644 index 00000000..77788d6e --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaRequestBody.kt @@ -0,0 +1,70 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.BasicMaterial +import mu.muse.rest.dto.Country +import mu.muse.rest.dto.InstrumentId +import mu.muse.rest.dto.InstrumentName +import mu.muse.rest.dto.InstrumentType +import mu.muse.rest.dto.ManufactureDate +import mu.muse.rest.dto.ManufactureType +import mu.muse.rest.dto.ReleaseDate +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentName + * @param instrumentTypes + * @param manufacturerTypes + * @param manufactureDateFrom + * @param manufactureDateTo + * @param releaseDateFrom + * @param releaseDateTo + * @param countries + * @param materials + * @param instrumentIds + */ +data class GetInstrumentsByCriteriaRequestBody( + + @field:Valid + @get:JsonProperty("instrument_name") val instrumentName: InstrumentName? = null, + + @field:Valid + @get:JsonProperty("instrument_types") val instrumentTypes: kotlin.collections.List? = null, + + @field:Valid + @get:JsonProperty("manufacturer_types") val manufacturerTypes: kotlin.collections.List? = null, + + @field:Valid + @get:JsonProperty("manufacture_date_from") val manufactureDateFrom: ManufactureDate? = null, + + @field:Valid + @get:JsonProperty("manufacture_date_to") val manufactureDateTo: ManufactureDate? = null, + + @field:Valid + @get:JsonProperty("release_date_from") val releaseDateFrom: ReleaseDate? = null, + + @field:Valid + @get:JsonProperty("release_date_to") val releaseDateTo: ReleaseDate? = null, + + @field:Valid + @get:JsonProperty("countries") val countries: kotlin.collections.List? = null, + + @field:Valid + @get:JsonProperty("materials") val materials: kotlin.collections.List? = null, + + @field:Valid + @get:JsonProperty("instrument_ids") val instrumentIds: kotlin.collections.List? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt new file mode 100644 index 00000000..213fac08 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetInstrumentsByCriteriaResponse.kt @@ -0,0 +1,27 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.InstrumentDetail +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + */ +data class GetInstrumentsByCriteriaResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt new file mode 100644 index 00000000..f9472004 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/GetManufacturersResponse.kt @@ -0,0 +1,27 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.ManufactureType +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + */ +data class GetManufacturersResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt new file mode 100644 index 00000000..5f3ff6e9 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetail.kt @@ -0,0 +1,62 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.BasicMaterial +import mu.muse.rest.dto.Country +import mu.muse.rest.dto.InstrumentId +import mu.muse.rest.dto.InstrumentName +import mu.muse.rest.dto.InstrumentType +import mu.muse.rest.dto.ManufactureDate +import mu.muse.rest.dto.ManufactureType +import mu.muse.rest.dto.ReleaseDate +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentId + * @param instrumentName + * @param instrumentType + * @param manufacturerType + * @param manufacturerDate + * @param releaseDate + * @param country + * @param basicMaterials + */ +data class InstrumentDetail( + + @field:Valid + @get:JsonProperty("instrument_id", required = true) val instrumentId: InstrumentId, + + @field:Valid + @get:JsonProperty("instrument_name", required = true) val instrumentName: InstrumentName, + + @field:Valid + @get:JsonProperty("instrument_type", required = true) val instrumentType: InstrumentType, + + @field:Valid + @get:JsonProperty("manufacturer_type", required = true) val manufacturerType: ManufactureType, + + @field:Valid + @get:JsonProperty("manufacturer_date", required = true) val manufacturerDate: ManufactureDate, + + @field:Valid + @get:JsonProperty("release_date", required = true) val releaseDate: ReleaseDate, + + @field:Valid + @get:JsonProperty("country", required = true) val country: Country, + + @field:Valid + @get:JsonProperty("basic_materials", required = true) val basicMaterials: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt new file mode 100644 index 00000000..00f70daa --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentDetailWithoutId.kt @@ -0,0 +1,57 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.BasicMaterial +import mu.muse.rest.dto.Country +import mu.muse.rest.dto.InstrumentName +import mu.muse.rest.dto.InstrumentType +import mu.muse.rest.dto.ManufactureDate +import mu.muse.rest.dto.ManufactureType +import mu.muse.rest.dto.ReleaseDate +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentName + * @param instrumentType + * @param manufacturerType + * @param manufacturerDate + * @param releaseDate + * @param country + * @param basicMaterials + */ +data class InstrumentDetailWithoutId( + + @field:Valid + @get:JsonProperty("instrument_name", required = true) val instrumentName: InstrumentName, + + @field:Valid + @get:JsonProperty("instrument_type", required = true) val instrumentType: InstrumentType, + + @field:Valid + @get:JsonProperty("manufacturer_type", required = true) val manufacturerType: ManufactureType, + + @field:Valid + @get:JsonProperty("manufacturer_date", required = true) val manufacturerDate: ManufactureDate, + + @field:Valid + @get:JsonProperty("release_date", required = true) val releaseDate: ReleaseDate, + + @field:Valid + @get:JsonProperty("country", required = true) val country: Country, + + @field:Valid + @get:JsonProperty("basic_materials", required = true) val basicMaterials: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt new file mode 100644 index 00000000..2f3b6933 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentId.kt @@ -0,0 +1,25 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentId + */ +data class InstrumentId( + + @get:JsonProperty("instrument_id", required = true) val instrumentId: kotlin.Long + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt new file mode 100644 index 00000000..a5ed63e3 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentName.kt @@ -0,0 +1,25 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param instrumentName + */ +data class InstrumentName( + + @get:JsonProperty("instrument_name", required = true) val instrumentName: kotlin.String + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt new file mode 100644 index 00000000..2e20c9af --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentPhoto.kt @@ -0,0 +1,25 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param photo + */ +data class InstrumentPhoto( + + @get:JsonProperty("photo", required = true) val photo: kotlin.String + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt new file mode 100644 index 00000000..b9d3ee30 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/InstrumentType.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param i18nCode + * @param localizedText + */ +data class InstrumentType( + + @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, + + @get:JsonProperty("localized_text") val localizedText: kotlin.String? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt new file mode 100644 index 00000000..dc6fd35d --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/JwtResponse.kt @@ -0,0 +1,25 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param jwt + */ +data class JwtResponse( + + @get:JsonProperty("jwt", required = true) val jwt: kotlin.String + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt new file mode 100644 index 00000000..be1c35cd --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ListFavoriteResponse.kt @@ -0,0 +1,27 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import mu.muse.rest.dto.InstrumentDetail +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param content + */ +data class ListFavoriteResponse( + + @field:Valid + @get:JsonProperty("content", required = true) val content: kotlin.collections.List + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt new file mode 100644 index 00000000..70a22bcb --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureDate.kt @@ -0,0 +1,26 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param manufactureDate + */ +data class ManufactureDate( + + @field:Valid + @get:JsonProperty("manufacture_date", required = true) val manufactureDate: java.time.LocalDate + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt new file mode 100644 index 00000000..44a74f4e --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ManufactureType.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param i18nCode + * @param localizedMessage + */ +data class ManufactureType( + + @get:JsonProperty("i18n_code", required = true) val i18nCode: kotlin.String, + + @get:JsonProperty("localized_message") val localizedMessage: kotlin.String? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt new file mode 100644 index 00000000..84864b75 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ProfileDetails.kt @@ -0,0 +1,31 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param username + * @param role + * @param fullName + */ +data class ProfileDetails( + + @get:JsonProperty("username", required = true) val username: kotlin.String, + + @get:JsonProperty("role", required = true) val role: kotlin.String, + + @get:JsonProperty("full_name", required = true) val fullName: kotlin.String + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt new file mode 100644 index 00000000..1c1e084d --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/RegistrationRequest.kt @@ -0,0 +1,31 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param fullName + * @param login + * @param password + */ +data class RegistrationRequest( + + @get:JsonProperty("full_name", required = true) val fullName: kotlin.String, + + @get:JsonProperty("login", required = true) val login: kotlin.String, + + @get:JsonProperty("password", required = true) val password: kotlin.String + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt new file mode 100644 index 00000000..2b114c68 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ReleaseDate.kt @@ -0,0 +1,26 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param releaseDate + */ +data class ReleaseDate( + + @field:Valid + @get:JsonProperty("release_date", required = true) val releaseDate: java.time.LocalDate + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt new file mode 100644 index 00000000..298c619e --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/ServerError.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param message A description of the error + * @param cause Exception stack trace + */ +data class ServerError( + + @get:JsonProperty("message") val message: kotlin.String? = null, + + @get:JsonProperty("cause") val cause: kotlin.String? = null + ) { + +} + diff --git a/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt new file mode 100644 index 00000000..2374de55 --- /dev/null +++ b/server/app/build/openapi/src/main/kotlin/mu/muse/rest/dto/UsernameAndPasswordRequestBody.kt @@ -0,0 +1,28 @@ +package mu.muse.rest.dto + +import java.util.Objects +import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.constraints.DecimalMax +import jakarta.validation.constraints.DecimalMin +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size +import jakarta.validation.Valid + +/** + * + * @param username + * @param password + */ +data class UsernameAndPasswordRequestBody( + + @get:JsonProperty("username", required = true) val username: kotlin.String, + + @get:JsonProperty("password", required = true) val password: kotlin.String + ) { + +} +